Add support for uid:gid format for Kubernetes executor options
What does this MR do?
In merge request !5469 (merged), we implemented support for Kubernetes executor options in gitlab-ci.yml
files. However, unlike the Docker executor options, the current implementation doesn't support the uid:gid
format for specifying both user and group IDs.
This MR extends the Kubernetes executor options to support the uid:gid
format, ensuring consistency between Docker and Kubernetes executor configurations.
Why was this MR needed?
Bring consistency between Docker and Kubernetes executor options
What's the best way to test this MR?
❯ go test -tags integration,kubernetes -timeout=60m -run "^TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup*" -v gitlab.com/gitlab-org/gitlab-runner/executors/kubernetes
=== RUN TestRunIntegrationTestsWithFeatureFlag
=== PAUSE TestRunIntegrationTestsWithFeatureFlag
=== CONT TestRunIntegrationTestsWithFeatureFlag
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup
=== PAUSE TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup
=== CONT TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on
=== PAUSE TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off
=== PAUSE TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off
=== CONT TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on
=== CONT TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/no_user_set
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/no_user_set
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/user_set_to_1002
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/user_set_to_1002
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/uid_set_to_1002_and_gid_set_to_1002
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/uid_set_to_1002_and_gid_set_to_1002
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/user_set_to_1002_in_gitlab-ci_and_1003_in_config.toml
=== RUN TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/user_set_to_1002_in_gitlab-ci_and_1003_in_config.toml
--- PASS: TestRunIntegrationTestsWithFeatureFlag (0.00s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup (0.00s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on (55.25s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/no_user_set (9.31s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/user_set_to_1002 (15.21s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/uid_set_to_1002_and_gid_set_to_1002 (15.14s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:on/user_set_to_1002_in_gitlab-ci_and_1003_in_config.toml (15.23s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off (58.20s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/no_user_set (9.33s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/user_set_to_1002 (18.27s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/uid_set_to_1002_and_gid_set_to_1002 (15.18s)
--- PASS: TestRunIntegrationTestsWithFeatureFlag/testKubernetesOptionsUserAndGroup/FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY:off/user_set_to_1002_in_gitlab-ci_and_1003_in_config.toml (15.06s)
PASS
ok gitlab.com/gitlab-org/gitlab-runner/executors/kubernetes 59.135s