Description of problem: When using the release manifests to install kubevirt components we do not provide a configmap that enables the DataVolumes feature gate. As a result, users will not be able to create VirtualMachine objects that contain datavolume template sections. Version-Release number of selected component (if applicable): v1.3.0 How reproducible: always Steps to Reproduce: 1. Install kubevirt using kubevirt-manifests rpm 2. Create virtual machine with datavolume template oc create -f https://raw.githubusercontent.com/kubevirt/kubevirt/master/cluster/examples/vm-alpine-datavolume.yaml Actual results: The kubevirt apiserver rejects the virtual machine Expected results: The virtual machine should be created successfully Additional info:
Assigning to Piotr as agreed in IRC.
Thanks Adam but this is an issue in module maintained by install team. Assigning to Ryan.
https://github.com/kubevirt/kubevirt-ansible/pull/448
The patch was merged yesterday. Anything else missing?
Backport: https://github.com/kubevirt/kubevirt-ansible/pull/451 Then will pull downstream
https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=798617 brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/cnv-tech-preview/kubevirt-apb:v3.11-1
I think that this bug is about kubevirt-manifests rpm, and fix which was created is about adding kubevirt-configmap into APB - not into kubevirt-manifests I see that kubevirt-manifests rpm contains kubevirt-configmap, but it is under testing directory ... and enables even more than just datavolumes. [lbednar@lbednar kubevirt]$ cat ./manifests/testing/kubevirt-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: kubevirt-config namespace: kube-system labels: kubevirt.io: "" data: feature-gates: "DataVolumes, CPUManager, LiveMigration" That seems to me quite confusing, and I feel little bit uncomfortable to move this bug to verified. Ryan what do you think about it ?
I think the apb side is done. It will deploy the config file: /etc/ansible/roles/kubevirt-ansible/roles/kubevirt/templates/kubevirt-config.yaml where I only enabled the DataVolume feature gate. I think for future releases, it makes sense to add this to the kubevirt rpm. The apb is setup to consume the configmap from the manifests rpm already, so there isn't anything hacky here.
@Shiyang, can you please verify?
$ oc get configmap -n kube-system kubevirt-config -o yaml apiVersion: v1 data: feature-gates: DataVolumes kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"feature-gates":"DataVolumes"},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"kubevirt.io":""},"name":"kubevirt-config","namespace":"kube-system"}} creationTimestamp: 2018-11-25T16:55:31Z labels: kubevirt.io: "" name: kubevirt-config namespace: kube-system resourceVersion: "6444" selfLink: /api/v1/namespaces/kube-system/configmaps/kubevirt-config uid: eb050111-f0d2-11e8-b81b-fa163e10cd8e
ignore previous. There is a mention to the following being enabled feature-gates: "DataVolumes, CPUManager, LiveMigration" but in D/S i only see DataVolumes, while I would also expect to see CPUManager $ oc get configmap -n kube-system kubevirt-config -o yaml apiVersion: v1 data: feature-gates: DataVolumes kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"feature-gates":"DataVolumes"},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"kubevirt.io":""},"name":"kubevirt-config","namespace":"kube-system"}} creationTimestamp: 2018-11-25T16:55:31Z labels: kubevirt.io: "" name: kubevirt-config namespace: kube-system resourceVersion: "6444" selfLink: /api/v1/namespaces/kube-system/configmaps/kubevirt-config uid: eb050111-f0d2-11e8-b81b-fa163e10cd8e looking at master & 0.9.2 release https://github.com/kubevirt/kubevirt-ansible/blob/v0.9.2/roles/kubevirt/templates/kubevirt-config.yaml
For 1.3 we went with only enabling the DataVolumes feature-gate in order to avoid validation of CPU Manager and live migration. Those additional feature gates will be opened once the features land in a release.
Like Fabian said, we only expect the DataVolumes feature-gate.
agreed.