Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#321: Update sample: externals mount point #334

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

developerdino
Copy link

Add new mount point to the example GithubActionRunner runner-pool kustomization to allow docker container (dind) access to the action runners externals directory in the runner container. This is required to stop the docker container from failing at actions/checkout with the error

OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12/bin/node\": stat /__e/node12/bin/node: no such file or directory": unknown

Refs: #321

…tomization to allow docker container (dind) access to the action runners `externals` directory in the runner container. This is required to stop the docker container from failing at actions/checkout with the error

```
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12/bin/node\": stat /__e/node12/bin/node: no such file or directory": unknown
```

Signed-off-by: Dean Tedesco <dean@verified.com.au>
@davidkarlsen
Copy link
Collaborator

but won't this shadow/mount over the existing contents which is needed?

docker run -ti --entrypoint /bin/bash --rm quay.io/evryfs/github-actions-runner:latest
Unable to find image 'quay.io/evryfs/github-actions-runner:latest' locally
latest: Pulling from evryfs/github-actions-runner
f3ef4ff62e0d: Already exists 
cf3b9f168331: Already exists 
1c06cc119757: Pull complete 
57c1d741cc99: Pull complete 
45015c714ab1: Pull complete 
580a1b3afedd: Pull complete 
be6058bda048: Pull complete 
16d600f7bbaa: Pull complete 
c91b3db68014: Pull complete 
973e0c628549: Pull complete 
Digest: sha256:d4a5985612c1b658c789a1d1def49a8319d4f8b4cb3dcca2d249fbb2dffdd874
Status: Downloaded newer image for quay.io/evryfs/github-actions-runner:latest
runner@301ef2a3c44f:~$ ls /home/runner/externals
node12  node12_alpine

@developerdino
Copy link
Author

I think you may be correct, however, I'm currently not seeing this due to the GitHub action-runner self updating functionality updating the version straight away once initialised. So yes it is currently working for me in my environment but in the scenario where the action-runner is already up to date then this may fail.

@davidkarlsen any other ideas how we can get the DinD container to have a copy of the files mounted in the runner container without wiping out the original files in the runner and being able to keep these synchronised?

P.S. I also seem to be having the same issue with an action that is using /tmp directory to store build artefacts. Very annoying as it is not configurable. Not sure why they have to use another non-standard runner work dir but I suspect they aren't the only action to do so.

@developerdino
Copy link
Author

I've verified that your assumption is correct, so our fix currently is to run the initialisation script every time regardless of version to make sure even though the /home/runner/externals directory is clobbered by the mount point it is reinstated by install-runner each time.

ATM this is the best/easiest work around we could come up with. If you/anyone else has a better solution I'm all ears.

@davidkarlsen
Copy link
Collaborator

davidkarlsen commented Nov 11, 2021

I've verified that your assumption is correct, so our fix currently is to run the initialisation script every time regardless of version to make sure even though the /home/runner/externals directory is clobbered by the mount point it is reinstated by install-runner each time.

ATM this is the best/easiest work around we could come up with. If you/anyone else has a better solution I'm all ears.

Init container is maybe the best yes, we're currently investigating using another base-image, so I haven't forgotten this case - we just need to look around a bit.

Moving this issue to https://github.com/evryfs/github-actions-runner where it really belongs.

GitHub
Contribute to evryfs/github-actions-runner development by creating an account on GitHub.

@developerdino
Copy link
Author

Great, let me know if I can be of any assistance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants