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
Add experimental support for VirtIO-FS #3493
Conversation
|
/hold |
|
/cc @fabiand |
57d7539
to
4b6741a
Compare
|
/retest |
|
@jean-edouard mind giving this a review? |
|
@vladikr in the end it's probably worth to have a release note ,) |
tests/storage_test.go
Outdated
| }) | ||
| It("should start a VMI with virtiofs", func() { | ||
| hugepageSize := "2Mi" | ||
| memory := "64Mi" |
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.
64 is to small, requires at least 512...
|
In order to make the tests pass on kubevirtci, the kernel needs to be updated to 4.18.0-193 and the node should have at least 512Mi of 2m hugepages available I wonder how to go around this. Should I follow kubevirt/kubevirtci#344 and increase the number of huge pages or should I create a new lane? |
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 looks sane, example VM(s) would be nice to have too if possible.
Don't we need a libvirt bump? https://virtio-fs.gitlab.io/ seems to say it's available starting from v6.2.0.
What is the plan for SELinux, do we want to create a new type?
What's the plan for CI? Since the kernel in Centos 8 is too old, do we need a new lane?
| vmi.Spec.Domain.Resources.Requests = k8sv1.ResourceList{ | ||
| k8sv1.ResourceMemory: resource.MustParse("64Mi"), | ||
| } | ||
| vmi.Spec.Domain.Memory = &v1.Memory{Guest: &guestMemory} |
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.
Duplicate line?
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.
Done
tests/storage_test.go
Outdated
|
|
||
| By("Checking that virtio-fs is mounted") | ||
| _, err = expecter.ExpectBatch([]expect.Batcher{ | ||
| &expect.BSnd{S: "ls -l %s/*disk* | wc -l\n"}, |
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.
What does %s refer to here? Nit: maybe use ls -1?
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.
@jean-edouard any chance you could see what did I do wrong here? This fails with the new expecter.
| @@ -1,6 +1,6 @@ | |||
| /* | |||
| * This file is part of the KubeVirt project | |||
| * | |||
| * | |||
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.
To clean
Yeah, libvirt is already updated to 6.0 (as part of #3268 ) - our kubevirt/libvirt already have that virtiofs support it in |
Working on it :) |
We just need to update the kernel in this image. virtiofs also needs more hugepages, I'm not sure what's the best route. |
7e83baf
to
05f5ec2
Compare
|
@vladikr: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. |
05f5ec2
to
c19b324
Compare
|
@rmohr @davidvossel could one of you please give this a look? |
| @@ -372,6 +372,9 @@ type Devices struct { | |||
| //Whether to attach a GPU device to the vmi. | |||
| // +optional | |||
| GPUs []GPU `json:"gpus,omitempty"` | |||
| // Filesystems describes filesystem which is connected to the vmi. | |||
| // +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.
add // +listType=set or // +listType=atomic here
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!
81ca9d2
to
95be26c
Compare
|
/retest |
2 similar comments
|
/retest |
|
/retest |
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
…label Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
Signed-off-by: Vladik Romanovsky <vromanso@redhat.com>
95be26c
to
e072af2
Compare
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
/approve
|
|
||
| volume := volumes[fs.Name] | ||
| if volume == nil { | ||
| return fmt.Errorf("No matching volume with name %s found", fs.Name) |
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 it's fine to keep this check here. It would be good to add this to the validation webhook as well though so we can catch this condition earlier.
i don't think the PR necesssarily needs to be blocked for that though. it can come in a follow up pr
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: davidvossel The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
/retest |
|
@vladikr: The following tests 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 |
1 similar comment
|
/retest |
What this PR does / why we need it:
This PR will add experimental support for virtio-fs.
Users will be able to provide a Filesystem based volume and passthrough filesystem to the guest.
depends on #3268
Special notes for your reviewer:
Release note: