Skip to content

Label docker networks in the same way as containers

Lyubomir Raykov requested to merge docker-networks-labels into master

What does this MR do?

Adds labels to docker networks created per build. It reuses the logic from container labelling with slight refactoring:

  • adds a Labeler interface which has the logic for constructing labels
  • adds it as a dependency to places where it's used

Example docker network inspect:

 ~  >> docker network inspect eedcfb0f7cb7
[
    {
        "Name": "runner-r4BEA2my-project-17304257-concurrent-0-job-473035577-network",
        "Id": "eedcfb0f7cb7d342f0234be557614b27948f6860080afd2fbd4534cca91495c0",
        "Created": "2020-03-16T11:42:17.7871228Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.21.0.0/16",
                    "Gateway": "172.21.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "f6111a9bbb20819cd9f524fa6c1c926f146c800317ecc9f125192c068633dd3a": {
                "Name": "runner-r4BEA2my-project-17304257-concurrent-0-predefined-5",
                "EndpointID": "d71cd6f3a1cec45a09874783f9c5b0e59a9ec358e05e80462dae8ea13ba00ecc",
                "MacAddress": "02:42:ac:15:00:02",
                "IPv4Address": "172.21.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.gitlab.gitlab-runner.job.before_sha": "0000000000000000000000000000000000000000",
            "com.gitlab.gitlab-runner.job.id": "473035577",
            "com.gitlab.gitlab-runner.job.ref": "master",
            "com.gitlab.gitlab-runner.job.sha": "96085a5f5c5bcf7818dec93b3a2b1e47f3039520",
            "com.gitlab.gitlab-runner.pipeline.id": "126651403",
            "com.gitlab.gitlab-runner.project.id": "17304257",
            "com.gitlab.gitlab-runner.runner.id": "r4BEA2my",
            "com.gitlab.gitlab-runner.runner.local_id": "0"
        }
    }
]

Why was this MR needed?

As a follow-up to !1569 (merged)

Are there points in the code the reviewer needs to double check?

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Added tests for this feature/bug
  • In case of conflicts with master - branch was rebased

What are the relevant issue numbers?

Fixes: #10120 (closed)

Edited by Lyubomir Raykov

Merge request reports