mirror of
https://github.com/actions/actions-runner-controller.git
synced 2025-12-11 03:57:01 +00:00
Revert docker.sock path to /var/run/docker.sock (#2536)
Starting ARC v0.27.2, we've changed the `docker.sock` path from `/var/run/docker.sock` to `/var/run/docker/docker.sock`. That resulted in breaking some container-based actions due to the hard-coded `docker.sock` path in various places. Even `actions/runner` seem to use `/var/run/docker.sock` for building container-based actions and for service containers? Anyway, this fixes that by moving the sock file back to the previous location. Once this gets merged, users stuck at ARC v0.27.1, previously upgraded to 0.27.2 or 0.27.3 and reverted back to v0.27.1 due to #2519, should be able to upgrade to the upcoming v0.27.4. Resolves #2519 Resolves #2538
This commit is contained in:
@@ -31,13 +31,8 @@ var (
|
||||
// https://cert-manager.io/docs/installation/supported-releases/
|
||||
certManagerVersion = "v1.8.2"
|
||||
|
||||
images = []testing.ContainerImage{
|
||||
testing.Img("docker", "dind"),
|
||||
testing.Img("quay.io/brancz/kube-rbac-proxy", "v0.10.0"),
|
||||
testing.Img("quay.io/jetstack/cert-manager-controller", certManagerVersion),
|
||||
testing.Img("quay.io/jetstack/cert-manager-cainjector", certManagerVersion),
|
||||
testing.Img("quay.io/jetstack/cert-manager-webhook", certManagerVersion),
|
||||
}
|
||||
arcStableImageRepo = "summerwind/actions-runner-controller"
|
||||
arcStableImageTag = "v0.25.2"
|
||||
|
||||
testResultCMNamePrefix = "test-result-"
|
||||
|
||||
@@ -105,8 +100,8 @@ func TestE2E(t *testing.T) {
|
||||
}{
|
||||
{
|
||||
label: "stable",
|
||||
controller: "summerwind/actions-runner-controller",
|
||||
controllerVer: "v0.25.2",
|
||||
controller: arcStableImageRepo,
|
||||
controllerVer: arcStableImageTag,
|
||||
chart: "actions-runner-controller/actions-runner-controller",
|
||||
// 0.20.2 accidentally added support for runner-status-update which isn't supported by ARC 0.25.2.
|
||||
// With some chart values, the controller end up with crashlooping with `flag provided but not defined: -runner-status-update-hook`.
|
||||
@@ -423,6 +418,7 @@ type env struct {
|
||||
admissionWebhooksTimeout string
|
||||
imagePullSecretName string
|
||||
imagePullPolicy string
|
||||
dindSidecarRepositoryAndTag string
|
||||
watchNamespace string
|
||||
|
||||
vars vars
|
||||
@@ -436,6 +432,8 @@ type vars struct {
|
||||
runnerDindImageRepo string
|
||||
runnerRootlessDindImageRepo string
|
||||
|
||||
dindSidecarImageRepo, dindSidecarImageTag string
|
||||
|
||||
prebuildImages []testing.ContainerImage
|
||||
builds []testing.DockerBuild
|
||||
|
||||
@@ -458,6 +456,10 @@ func buildVars(repo, ubuntuVer string) vars {
|
||||
runnerImage = testing.Img(runnerImageRepo, runnerImageTag)
|
||||
runnerDindImage = testing.Img(runnerDindImageRepo, runnerImageTag)
|
||||
runnerRootlessDindImage = testing.Img(runnerRootlessDindImageRepo, runnerImageTag)
|
||||
|
||||
dindSidecarImageRepo = "docker"
|
||||
dindSidecarImageTag = "20.10.23-dind"
|
||||
dindSidecarImage = testing.Img(dindSidecarImageRepo, dindSidecarImageTag)
|
||||
)
|
||||
|
||||
var vs vars
|
||||
@@ -467,6 +469,9 @@ func buildVars(repo, ubuntuVer string) vars {
|
||||
vs.runnerRootlessDindImageRepo = runnerRootlessDindImageRepo
|
||||
vs.runnerImageRepo = runnerImageRepo
|
||||
|
||||
vs.dindSidecarImageRepo = dindSidecarImageRepo
|
||||
vs.dindSidecarImageTag = dindSidecarImageTag
|
||||
|
||||
// vs.controllerImage, vs.controllerImageTag
|
||||
|
||||
vs.prebuildImages = []testing.ContainerImage{
|
||||
@@ -474,6 +479,7 @@ func buildVars(repo, ubuntuVer string) vars {
|
||||
runnerImage,
|
||||
runnerDindImage,
|
||||
runnerRootlessDindImage,
|
||||
dindSidecarImage,
|
||||
}
|
||||
|
||||
vs.builds = []testing.DockerBuild{
|
||||
@@ -558,6 +564,8 @@ func initTestEnv(t *testing.T, k8sMinorVer string, vars vars) *env {
|
||||
e.remoteKubeconfig = testing.Getenv(t, "ARC_E2E_REMOTE_KUBECONFIG", "")
|
||||
e.admissionWebhooksTimeout = testing.Getenv(t, "ARC_E2E_ADMISSION_WEBHOOKS_TIMEOUT", "")
|
||||
e.imagePullSecretName = testing.Getenv(t, "ARC_E2E_IMAGE_PULL_SECRET_NAME", "")
|
||||
// This should be the default for Ubuntu 20.04 based runner images
|
||||
e.dindSidecarRepositoryAndTag = vars.dindSidecarImageRepo + ":" + vars.dindSidecarImageTag
|
||||
e.vars = vars
|
||||
|
||||
if e.remoteKubeconfig != "" {
|
||||
@@ -569,6 +577,17 @@ func initTestEnv(t *testing.T, k8sMinorVer string, vars vars) *env {
|
||||
e.watchNamespace = testing.Getenv(t, "TEST_WATCH_NAMESPACE", "")
|
||||
|
||||
if e.remoteKubeconfig == "" {
|
||||
images := []testing.ContainerImage{
|
||||
testing.Img(vars.dindSidecarImageRepo, vars.dindSidecarImageTag),
|
||||
testing.Img("quay.io/brancz/kube-rbac-proxy", "v0.10.0"),
|
||||
testing.Img("quay.io/jetstack/cert-manager-controller", certManagerVersion),
|
||||
testing.Img("quay.io/jetstack/cert-manager-cainjector", certManagerVersion),
|
||||
testing.Img("quay.io/jetstack/cert-manager-webhook", certManagerVersion),
|
||||
// Otherwise kubelet would fail to pull images from DockerHub due too rate limit:
|
||||
// Warning Failed 19s kubelet Failed to pull image "summerwind/actions-runner-controller:v0.25.2": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/summerwind/actions-runner-controller:v0.25.2": failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/summerwind/actions-runner-controller/manifests/sha256:92faf7e9f7f09a6240cdb5eb82eaf448852bdddf2fb77d0a5669fd8e5062b97b: 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
|
||||
testing.Img(arcStableImageRepo, arcStableImageTag),
|
||||
}
|
||||
|
||||
e.Kind = testing.StartKind(t, k8sMinorVer, testing.Preload(images...))
|
||||
e.Env.Kubeconfig = e.Kind.Kubeconfig()
|
||||
} else {
|
||||
@@ -750,6 +769,7 @@ func (e *env) installActionsRunnerController(t *testing.T, repo, tag, testID, ch
|
||||
"ADMISSION_WEBHOOKS_TIMEOUT=" + e.admissionWebhooksTimeout,
|
||||
"IMAGE_PULL_SECRET=" + e.imagePullSecretName,
|
||||
"IMAGE_PULL_POLICY=" + e.imagePullPolicy,
|
||||
"DIND_SIDECAR_REPOSITORY_AND_TAG=" + e.dindSidecarRepositoryAndTag,
|
||||
"WATCH_NAMESPACE=" + e.watchNamespace,
|
||||
}
|
||||
|
||||
@@ -1156,10 +1176,21 @@ func installActionsWorkflow(t *testing.T, testName, runnerLabel, testResultCMNam
|
||||
With: setupBuildXActionWith,
|
||||
},
|
||||
testing.Step{
|
||||
Run: "docker buildx build --platform=linux/amd64 " +
|
||||
Run: "docker buildx build --platform=linux/amd64 -t test1 --load " +
|
||||
dockerBuildCache +
|
||||
fmt.Sprintf("-f %s .", dockerfile),
|
||||
},
|
||||
testing.Step{
|
||||
Run: "docker run --rm test1",
|
||||
},
|
||||
testing.Step{
|
||||
Uses: "addnab/docker-run-action@v3",
|
||||
With: &testing.With{
|
||||
Image: "test1",
|
||||
Run: "hello",
|
||||
Shell: "sh",
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
if useSudo {
|
||||
|
||||
Reference in New Issue
Block a user