-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
rpm: Update virtualization packages #7277
Conversation
@alicefr the libguestfs dependencies have changed significantly in the latest package. I have tested the scenarios described in |
4b85d76
to
c26aced
Compare
At least some of the failures look legit. One is caused by netcat being missing from the image - libvirt used to drag this in, but it no longer does. We could add it back manually, but maybe the test case could be reworked so that doing that is not necessary? Perhaps there are other uses of netcat outside of the testsuite. I'm unable to reproduce one of the failures locally because
I'm unclear on what I need to do here, advice would be appreciated :) I'll look into the whole thing more tomorrow. |
@andreabolognani I'll have a try but generally if you succeed with the examples, then it is what we expect to work with the setup.
You are missing the storage class that support block storage. In this case ceph, you need to set |
Some of the missing packages are:
I'll try to find out in which cases libguestfs uses gdisk and genisoimage EDIT: they are listed in the package list for the appliance so I guess they are used there. The new image size has also reduced from 457MB to 392MB :) |
c26aced
to
aa1172e
Compare
@alicefr thanks, I've tried this and it worked as expected. Did you find this documented anywhere, or is it tribal knowledge? Either way, I couldn't reproduce the failure locally so I'm going to assume it was a fluke until proven otherwise.
So you think that findutils, gdisk and genisoimage should all be added back to the guestfs image? If they're used by libguestfs at runtime even when working with a pre-generated appliance, isn't it a packaging bug that they're not dragged in explicitly? We should discuss this with Rich. For the time being, I believe I have fixed one of the test failures. More to come next week :) |
@andreabolognani I think we should only add findutils as standard tool but gdisk and genisoimage no. I don't think we have a good split for using a fixed appliance in centos 8. About the env variable, yes I don't think that is documented :/. This script uses some of the variables in KubeVirt CI: https://github.com/kubevirt/kubevirt/blob/main/automation/test.sh |
aa1172e
to
a592b89
Compare
Done.
AFAICT CentOS Stream 8 and 9 both have the changes we need.
|
a592b89
to
3883bff
Compare
Shouldn't be an issue since a couple of tests are still failing, but just to be on the safe side /hold |
3883bff
to
cf49d1c
Compare
I'm still investigating the issue with booting the Alpine Linux 3.7 image using the RHEL 8.6 machine type, but in the meantime I've brought all images into the current decade :) /hold cancel |
cf49d1c
to
b3e47ca
Compare
Updated to fix a couple of tests that were relying on the exact amount of memory used by CirrOS, which has changed when moving to the latest version. I'm still seeing failures for |
Most of the failures are probably caused by the ongoing CI cluster upgrade, I assume. @rmohr @vladikr can you please take a look? I think this should be ready to be merged now :) |
Probably. It looks weird. /retest |
/retest-required |
Specifically: Alpine Linux x86_64 3.7.0 -> 3.15.0 aarch64 3.11.5 -> 3.15.0 CirrOS x86_64 0.4.0 -> 0.5.2 aarch64 0.5.0 -> 0.5.2 In the case of the Alpine Linux and CirrOS images for x86_64, we're replacing releases dating back to 2017 with their modern equivalents. The versions are also consistent across all architectures now. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Depending on the scenario, SeaBIOS might use escape sequences or omit them. Make sure we can detect the fact that iPXE has produced output in both cases. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
@AlonaKaplan does the diff below look reasonable to you? I'm preparing a rebase and I can just squash it in. diff --git a/tests/network/vmi_networking.go b/tests/network/vmi_networking.go
index ebac17309..1b0f30e25 100644
--- a/tests/network/vmi_networking.go
+++ b/tests/network/vmi_networking.go
@@ -300,12 +300,13 @@ var _ = SIGDescribe("[rfe_id:694][crit:medium][vendor:cnv-qe@redhat.com][level:c
Context("VirtualMachineInstance with default settings", func() {
It("[test_id:1542]should be able to reach the internet", func() {
+ libnet.SkipWhenClusterNotSupportIpv4(virtClient)
outboundVMI := libvmi.NewCirros(
libvmi.WithInterface(libvmi.InterfaceDeviceWithMasqueradeBinding()),
libvmi.WithNetwork(v1.DefaultPodNetwork()),
)
outboundVMI = runVMI(outboundVMI)
- Expect(libnet.WithIPv6(console.LoginToCirros)(outboundVMI)).To(Succeed())
+ tests.WaitUntilVMIReady(outboundVMI, console.LoginToCirros)
By("checking the VirtualMachineInstance can fetch via HTTP")
err := console.SafeExpectBatch(outboundVMI, []expect.Batcher{ |
Yes. And the VM should have bridge binding as the original test had.
Sorry again for my previous misleading request. |
The other tests in this group are all concerned with inter-cluster connectivity, so it makes sense to separate this one. It also makes the original test function a bit simpler because it no longer has to accomodate for two different use cases. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
It doesn't make sense to have this in the top-level directory. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
The netcat package is not included in the handlerbase images. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Specifically: QEMU 6.0.0-33 -> 6.2.0-5 libvirt 7.6.0-6 -> 8.0.0-2 libguestfs 1.44.0-3 -> 1.44.0-5 SeaBIOS 1.14.0-1 -> 1.15.0-1 EDKII 20210527-1 -> 20220126-2 Since the freshest packages can now be installed directly from the AppStream repository, we no longer need the to configure and use the advancedvirt repository. The latest libguestfs package has dropped a significant number of dependencies: these are only used when dynamically generating an appliance at runtime, and they're not needed in our case since we use a pre-created appliance instead. As a result, the guestfs container image is going to be smaller. We have, however, to explicitly include tar (which is used by the guestfs container's entrypoint.sh script) as well as file (which is used internally by libguestfs, and whose absence from its dependencies is a packaging issues that's in the process of being addressed) now to keep things working. We also have to include netcat in the launcher image explicitly because libvirt no longer drags it in but one of the tests uses it. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
To match the updated RPM package. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
c840a67
to
fedd8ed
Compare
No worries, thank you for looking into it and helping out :) |
/lgtm |
/retest |
@andreabolognani: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
/retest-required |
/test pull-kubevirt-e2e-kind-1.22-sriov |
What this PR does / why we need it:
Updates virtualization packages. Specifically:
The
libvirt.org/go/libvirt
Go package is also updated to match.Release note: