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

v1.8 backports 2021-01-29 #14797

Merged
merged 8 commits into from
Feb 3, 2021
Merged

v1.8 backports 2021-01-29 #14797

merged 8 commits into from
Feb 3, 2021

Conversation

pchaigno
Copy link
Member

@pchaigno pchaigno commented Jan 29, 2021

Once this PR is merged, you can update the PR labels via:

$ for pr in 13527 13983 13953 13934 13958; do contrib/backporting/set-labels.py $pr done 1.8; done

[ upstream commit 626a23f ]

The well-known 'interrupted system call' errors started popping up in
the test VMs as well. These are caused by newer Go versions being more
strigent with slow system calls through the rsync shared directory.
Using NFS proved to be a good way to avoid these errors in the dev. VMs.

This commit fixes the NFS setup in test VMs to allow for the same
workaround.

Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit acb2daa ]

The new K8sVerifier test compiles some Cilium binaries inside the VM,
which can lead to 'interrupted system call' errors. Using NFS should fix
it by speeding up the filesystem accesses.

This commit switches the test VMs to use NFS by default, thereby
enabling NFS in our CI.

NFS remains disabled in the CI's Runtime tests because it leads to
permission errors [1].

1 - https://jenkins.cilium.io/job/Cilium-PR-Runtime-4.9/2739/consoleFull
Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit 30e90ab ]

Commit 6ae59f1 fixed verifier-test.sh, used in K8sVerifier, for bpf-next
kernels. We can therefore enable K8sVerifier on our net-next pipeline.

To enable K8sVerifier on our 4.19 pipeline, we also need to remove
global data sections from the object files loaded with bpftool.
Otherwise, since bpftool relies on libbpf, it complains with:

    libbpf: kernel doesn't support global data

This is achieved by using llvm-objcopy, now included in the
cilium-builder image.

Signed-off-by: Paul Chaignon <paul@cilium.io>
@pchaigno pchaigno requested a review from a team as a code owner January 29, 2021 15:16
@pchaigno pchaigno added backport/1.8 kind/backports This PR provides functionality previously merged into master. labels Jan 29, 2021
@pchaigno pchaigno requested review from a team and christarazi and removed request for a team January 29, 2021 15:16
@christarazi
Copy link
Member

CI failures seem to be legitimate--pointing to verifier issues

[ upstream commit 68772ba ]

Because we don't define CALLS_MAP for several programs, the binaries end
up with 'CALLS_MAP' as the actual map name:

    $ for f in $(ls bpf/*.o); do ( readelf -s $f | grep -q CALLS_MAP ) && echo $f; done
    bpf/bpf_alignchecker.o
    bpf/bpf_network.o
    bpf/bpf_overlay.o
    bpf/bpf_xdp.o

That can lead to warnings when trying to load the programs with
test/bpf/verifier-test.sh. This commit fixes it.

    $ for f in $(ls bpf/*.o); do ( readelf -s $f | grep -q CALLS_MAP ) && echo $f; done
    bpf/bpf_alignchecker.o

Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit 94aafd4 ]

Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit 188b16d ]

Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit a629120 ]

The llvm-objcopy binary is retrieved from the cilium-llvm image which now
compiles it. This binary is required to remove sections from object
files loaded with bpftool in the K8sVerifier test.

Signed-off-by: Paul Chaignon <paul@cilium.io>
[ upstream commit a15a50d ]

Signed-off-by: Paul Chaignon <paul@cilium.io>
@pchaigno
Copy link
Member Author

pchaigno commented Feb 3, 2021

test-backport-1.8

@pchaigno
Copy link
Member Author

pchaigno commented Feb 3, 2021

Lots of timeouts in Cilium-PR-Ginkgo-Tests-K8s :-/

test-missed-k8s

@pchaigno pchaigno marked this pull request as ready for review February 3, 2021 12:56
@pchaigno
Copy link
Member Author

pchaigno commented Feb 3, 2021

Cilium-Ginkgo-Test-k8s has the usual timeout issues on k8s-all. Other builds are green. I think this is ready to merge.

@pchaigno pchaigno added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Feb 3, 2021
@tklauser tklauser merged commit 3a07cd0 into v1.8 Feb 3, 2021
@tklauser tklauser deleted the pr/v1.8-backport-2021-01-29 branch February 3, 2021 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/backports This PR provides functionality previously merged into master. ready-to-merge This PR has passed all tests and received consensus from code owners to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants