-
Notifications
You must be signed in to change notification settings - Fork 149
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
enable loopback adapter in hermetic unshare namespace #1469
Conversation
Have you verified that this does not mess with the network isolation? |
I did. I added debugging statements to ensure that during my testing only the 'lo' adapter was present (to ensure both commands were running in the unshare env) and I also included things in the Dockerfile which should fail in hermetic mode, and they did. |
I assume e2e tests are failing because the newest buildah-task image still doesn't container the 'ip' binary. Added hold label because I need to manually test even after that is fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be good to make this optional, not all builds require the lo adapter enabled in a hermetic build.
it doesn't hurt anything to enable lo adapter and it still doesn't permit any actual network connectivity, so why complicate things by making it optional? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, would still appreciate a comment in the code about why it's needed
Btw, why the |
/retest |
I had added the hold label to make sure that the buildah-task landed and this was retested with it. |
I cannot see why the e2e tests are failing - I don't seem to have rights to view the test logs. |
Pretty much the only way to find the logs after the pod has been garbage collected is kubectl tekton -n konflux-ci logs pipelinerun build-definitions-pull-request-hrhv4 Relevant part of the log:
|
#1478 needs to go first |
/retest |
/retest |
Now it's this:
|
/retest |
1 similar comment
/retest |
It's failing in CI because it's breaking the non-hermetic scenarios. Notice the difference of
|
I reproduced that error locally and fixed it. I can run test pipelines in both hermetic and non-hermetic mode, but the e2e tests are still failing. |
/retest |
Bazel uses a client server architecture to execute even when performing network isolated builds.It works fine as long as there is any adapter, even a loopback addapter. The default unshare env has a loopback device [lo] but it is DOWN by default. This PR brings lo UP in the unshare environment so that hermetic Bazel builds will work.
Bazel uses a client server architecture to execute even when performing network isolated builds.It works fine as long as there is any adapter, even a loopback addapter. The default unshare env has a loopback device [lo] but it is DOWN by default. This PR brings lo UP in the unshare environment so that hermetic Bazel builds will work.
It is dependent on the 'ip' command being present in the buildah image so another PR is open for that:
konflux-ci/buildah-container#90