-
Notifications
You must be signed in to change notification settings - Fork 92
qemu-virtiofs: Update to qemu 5.0 + virtiofs + dax #1097
qemu-virtiofs: Update to qemu 5.0 + virtiofs + dax #1097
Conversation
Update to qemu 5.0.x with support for virtiofs + dax. Depends-on: github.com/kata-containers/packaging#1097 Fixes: #1 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
ADD qemu/patches/ /root/kata_qemu_patches | ||
# Apply virtiofs specific patches | ||
RUN \ | ||
for patch in $(find /root/kata_qemu_patches/virtiofsd/${QEMU_VIRTIOFS_TAG}/ -name '*.patch'); do\ |
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.
This doesn't look reliable - I think we need to sort the patches before applying as on #1005.
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.
Agree with @jodh-intel. We need a more robust approach here.
@jcvenegas Can you explain how you are applying the patches and whats changed.
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.
Also -- I'm not sure if we need to carry any of the virtiofs patches, at least for 5.0.
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.
@jodh-intel done now is using sort to apply as you suggested
@amshinde @egernst the patches are applied in the following order
- First look and apply patches specific to the tag for virtiofsd (this is in case we need to fix something before a tag is generated by virtios folks) : Today there is not additional patches
- Look for patches specific to the qemu branch is based and apply them
@jcvenegas Since we are moving to 5.0 for the virtiofs kernel, we will also need to disable Instead of checking for the version, you can add that flag for CI running on x86 architecture. cc @devimc |
Update to qemu 5.0.x with support for virtiofs + dax. Depends-on: github.com/kata-containers/packaging#1097 Depends-on: github.com/kata-containers/tests#2737 Fixes: kata-containers#2848 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
experimental QEMU will be updated to qemu 5.0, now CI fails with: ``` failed to set MSR 0x48b to 0x1582e00000000 qemu-virtiofs-system-x86_64: /root/qemu-virtiofs/target/i386/kvm.c:2695: kvm_buf_set_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.: unknown. ``` Depends-on: github.com/kata-containers/packaging#1097 Depends-on: github.com/kata-containers/runtime#2840 Fixes: kata-containers#2736 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
3054d4a
to
55d282b
Compare
/test |
Experimental QEMU will be updated to qemu 5.0, not needed to check for qemu version and disable in all the time. Depends-on: github.com/kata-containers/packaging#1097 Depends-on: github.com/kata-containers/runtime#2840 Fixes: kata-containers#2736 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
fb5a0d4
to
b9f4af0
Compare
git apply "$patch"; \ | ||
done | ||
|
||
RUN PREFIX="${PREFIX}" /root/configure-hypervisor.sh -s kata-qemu | sed -e 's|--disable-seccomp||g' | xargs ./configure \ |
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.
I think we should just drop this flag from configure-hypervisor itself. It makes sense to have seccomp at this point.
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.
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.
Thanks I think that should be fixed in a separete PR for all places we use it.
RUN \ | ||
cat VERSION; \ | ||
stable_branch=$(cat VERSION | awk 'BEGIN{FS=OFS="."}{print $1 "." $2 ".x"}');\ | ||
for patch in $(find /root/kata_qemu_patches/${stable_branch}/ -name '*.patch'); do\ |
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.
As soon as you start doing a for loop in a Dockerfile, you know you've gone too far man!
I'll see if I can provide a better suggestion in a bit, but this shouldn't live in the Dockerfile.
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.
:) yeah does not look nice, I have tried to change to way to do it, please take a look or suggest any other approach
Update to qemu 5.0.x with support for virtiofs + dax. Depends-on: github.com/kata-containers/packaging#1097 Depends-on: github.com/kata-containers/tests#2737 Fixes: kata-containers#2848 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
b9d6ca8
to
8b22ec1
Compare
Update build scripts for qemu-virtiofs. - virtiofs-0.3 patches are not needed - Sync build on how vanilla qemu is built - Apply patches for virtiofsd if any (none today) - Apply patches that are used for the qemu vanilla - Apply patches in order Depends-on: github.com/kata-containers/runtime#2840 Depends-on: github.com/kata-containers/tests#2737 Fixes: github.com/kata-containers/runtime#2848 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
8b22ec1
to
e1e8577
Compare
/test |
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.
Thanks @jcvenegas.
sudo docker build -t "${docker_image}" "${script_dir}" | ||
DOCKER_CLI="docker" | ||
|
||
if ! command -v docker && command -v podman; then |
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.
Nit: You might want to add &>/dev/null
to both the command
calls (here and below) to avoid the paths appearing in build logs?
DOCKER_CLI="docker" | ||
|
||
if ! command -v docker && command -v podman; then | ||
DOCKER_CLI="podman" |
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.
Why podman..for Fedora?
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.
yes :)
Build clh with Podman, allow build the vmm in the Podman CI Virtiofs qemu has to be build as this is requried by clh. Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
e1e8577
to
4e1b572
Compare
/test |
/AzurePipelines run |
Azure Pipelines successfully started running 2 pipeline(s). |
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. This PR is required as the dependent PR of kata-containers/runtime#2840.
Update build scripts for qemu-virtiofs
Depends-on: github.com/kata-containers/runtime#2840
Depends-on: github.com/kata-containers/tests#2737
Fixes: github.com/kata-containers/runtime#2848
Signed-off-by: Jose Carlos Venegas Munoz [email protected]