-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Upgrade to Cloud Hypervisor v37.0 (LTS) #8695
base: main
Are you sure you want to change the base?
Upgrade to Cloud Hypervisor v37.0 (LTS) #8695
Conversation
Given it is a LTS release, please let me know if you want me to back-port to our stable branch. Thanks. |
/test |
@likebreath Unless there are some critical security fixes that have gone in as well, I would not backport a version update to a past release. If you feel there are some security fixes that are worth backporting, then let us know. |
We would very much also like this back-ported to 3.2.x as we are already in-process to do this in our own tree and intending to follow the LTS release. |
I believe there are some unrelated failures (say clh/qemu-tracing/metrics, etc), while the error from worker
I could be related to cloud-hypervisor/cloud-hypervisor#5924, which changed the behavior of using a named tap device with Cloud Hypervisor. For example, with Will such behavior change from Cloud Hypervisor cause the test failure above? |
@likebreath Thats the failure seen with the rust runtime. Looks like tests are failing with the go runtime as well: https://github.com/kata-containers/kata-containers/actions/runs/7252876624/job/19796037426?pr=8695
With the go runtime, we open the the tap interface and pass the file descriptor to clh as seen here: |
Thank you for the context. For the case where a
No, Cloud Hypervisor won't create another tap device if the given tap device already exists based on the input tap device name see code here [1]. Does kata create the tap device and configure its MAC for runtime-rs? If that's the case, runtime-rs should not see any behavior change from Cloud Hypervisor either.. |
Yes, Kata creates the tap device as seen here: It then configures the mac address as seen here: I ran the CI again to see if this was a one-off error due to a race condition, but the CI seems to fail consistently on not being able to find the mac address. SO maybe clh is updating the mac address at some point. |
Agree. Would you please help setup an environment to reproduce the error locally so that we can look into it in details? Thanks a lot. @amshinde |
852a70f
to
71dd40d
Compare
71dd40d
to
9ff0206
Compare
/test |
For future references, @amshinde and myself have been following this issue recently, and here is a summary of this long standing PR. There are essentially two different issues involved:
With that, this PR is ready for review and to be landed. Note that the following CI failures (non-required jobs) are not related to the changes here:
|
@GabyCT @amshinde Looks like it is a matter of availability of the underlining aarch64 system that was back locked. I guess it just need that much time to pick up the job and run it. |
We've been using this in our kata release since December. Would suggest bumping this to 37.1 though for a few fixes. |
That's the plan, but we will upgrade to the latest release v38.0 (instead of v37.1). I will follow-up with another PR for that. |
9ff0206
to
039d966
Compare
Rebased the PR to have newly added tests on runtime-rs + CH: #9525 /cc @jodh-intel /test |
Details of this release can be found in ourroadmap project as iteration v37.0: https://github.com/orgs/cloud-hypervisor/projects/6. Fixes: kata-containers#8694 Signed-off-by: Bo Chen <chen.bo@intel.com>
This patch re-generates the client code for Cloud Hypervisor v37.0. Note: The client code of cloud-hypervisor's OpenAPI is automatically generated by openapi-generator. Fixes: kata-containers#8694 Signed-off-by: Bo Chen <chen.bo@intel.com>
039d966
to
01652a5
Compare
Rebased to include #9562 for fixing unrelated CI worker failures. |
/test |
This release has been tracked in our roadmap project as iteration
v37.0. The following user visible changes have been made:
Long Term Support (LTS) Release
This release is a LTS release. Point releases for bug fixes will be made
for the next 18 months; live migration and live upgrade will be
supported between the point releases of the LTS.
Multiple PCI segments Support for 32-bit VFIO Devices
Now VFIO devices with 32-bit memory BARs can be attached to non-zero PCI
segments on the guest, allowing users to have more 32-bit devices and
assign such devices to appropriate NUMA nodes for better performance.
Configurable Named TAP Devices
Named TAP devices now accepts IP configuration from users, such as IP
and MAC address, as long as the named TAP device is created by Cloud
Hypervisor (e.g. not existing TAP devices).
TTY Output from Both Serial Device and Virtio Console
Now legacy serial device and virtio console can be set as TTY mode as
the same time. This allows users to capture early boot logs with the
legacy serial device without losing performance benefits of using
virtio-console, when appropriate kernel configuration is used (such as
using kernel command-line
console=hvc0 earlyprintk=ttyS0
on x86).Faster VM Restoration from Snapshots
The speed of VM restoration from snapshots is improved with a better
implementation of deserializing JSON files.
Notable Bug Fixes
disabled
Fixes: #8694