diff --git a/deploy/cluster_role.yaml b/deploy/cluster_role.yaml index ab0a2af58c..8368d571aa 100644 --- a/deploy/cluster_role.yaml +++ b/deploy/cluster_role.yaml @@ -1186,6 +1186,7 @@ rules: - create - delete - get + - update - apiGroups: - "" resources: @@ -1459,6 +1460,7 @@ rules: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1474,9 +1476,15 @@ rules: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update +- apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1489,6 +1497,12 @@ rules: - virtualmachines/memorydump verbs: - update +- apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1521,6 +1535,32 @@ rules: - list - watch - deletecollection +- apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection +- apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection - apiGroups: - instancetype.kubevirt.io resources: @@ -1564,6 +1604,7 @@ rules: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1579,9 +1620,15 @@ rules: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update +- apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1594,6 +1641,12 @@ rules: - virtualmachines/memorydump verbs: - update +- apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1624,6 +1677,30 @@ rules: - patch - list - watch +- apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch +- apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: @@ -1669,11 +1746,18 @@ rules: - apiGroups: - subresources.kubevirt.io resources: + - virtualmachines/expand-spec - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist verbs: - get +- apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1696,6 +1780,22 @@ rules: - get - list - watch +- apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - list + - watch +- apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: diff --git a/deploy/images.csv b/deploy/images.csv index c6265cf276..725d7ffa58 100644 --- a/deploy/images.csv +++ b/deploy/images.csv @@ -1,13 +1,13 @@ image_var,name,tag,digest -KUBEVIRT_OPERATOR_IMAGE,quay.io/kubevirt/virt-operator,KUBEVIRT_VERSION,6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 -KUBEVIRT_API_IMAGE,quay.io/kubevirt/virt-api,KUBEVIRT_VERSION,6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 -KUBEVIRT_CONTROLLER_IMAGE,quay.io/kubevirt/virt-controller,KUBEVIRT_VERSION,b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac -KUBEVIRT_LAUNCHER_IMAGE,quay.io/kubevirt/virt-launcher,KUBEVIRT_VERSION,f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd -KUBEVIRT_HANDLER_IMAGE,quay.io/kubevirt/virt-handler,KUBEVIRT_VERSION,9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 +KUBEVIRT_OPERATOR_IMAGE,quay.io/kubevirt/virt-operator,KUBEVIRT_VERSION,e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 +KUBEVIRT_API_IMAGE,quay.io/kubevirt/virt-api,KUBEVIRT_VERSION,9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f +KUBEVIRT_CONTROLLER_IMAGE,quay.io/kubevirt/virt-controller,KUBEVIRT_VERSION,09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a +KUBEVIRT_LAUNCHER_IMAGE,quay.io/kubevirt/virt-launcher,KUBEVIRT_VERSION,106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 +KUBEVIRT_HANDLER_IMAGE,quay.io/kubevirt/virt-handler,KUBEVIRT_VERSION,21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a KUBEVIRT_VIRTIO_IMAGE,quay.io/kubevirt/virtio-container-disk,KUBEVIRT_VERSION,3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 -KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE,quay.io/kubevirt/libguestfs-tools,KUBEVIRT_VERSION,f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 -KUBEVIRT_EXPORTPROXY_IMAGE,quay.io/kubevirt/virt-exportproxy,KUBEVIRT_VERSION,5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c -KUBEVIRT_EXPORSERVER_IMAGE,quay.io/kubevirt/virt-exportserver,KUBEVIRT_VERSION,3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 +KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE,quay.io/kubevirt/libguestfs-tools,KUBEVIRT_VERSION,0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a +KUBEVIRT_EXPORTPROXY_IMAGE,quay.io/kubevirt/virt-exportproxy,KUBEVIRT_VERSION,0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 +KUBEVIRT_EXPORSERVER_IMAGE,quay.io/kubevirt/virt-exportserver,KUBEVIRT_VERSION,436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 CNA_OPERATOR_IMAGE,quay.io/kubevirt/cluster-network-addons-operator,NETWORK_ADDONS_VERSION,d5d41f0ca135a08696ab9b0d02c1ea5a1670908e243172a0151d5bf84a70379e SSP_OPERATOR_IMAGE,quay.io/kubevirt/ssp-operator,SSP_VERSION,d94f38087856d98f847010cfa0b5f4ef80de64ef1098dd27d4998595e10fe1c1 CDI_OPERATOR_IMAGE,quay.io/kubevirt/cdi-operator,CDI_VERSION,8a1846b34ffd8e7ab550519a8bf505f92ae50c30a1d1c8b1369560254e3f9bbd diff --git a/deploy/images.env b/deploy/images.env index 9d289e0531..f44ace7aea 100755 --- a/deploy/images.env +++ b/deploy/images.env @@ -1,12 +1,12 @@ -KUBEVIRT_OPERATOR_IMAGE=quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 -KUBEVIRT_API_IMAGE=quay.io/kubevirt/virt-api@sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 -KUBEVIRT_CONTROLLER_IMAGE=quay.io/kubevirt/virt-controller@sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac -KUBEVIRT_LAUNCHER_IMAGE=quay.io/kubevirt/virt-launcher@sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd -KUBEVIRT_HANDLER_IMAGE=quay.io/kubevirt/virt-handler@sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 +KUBEVIRT_OPERATOR_IMAGE=quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 +KUBEVIRT_API_IMAGE=quay.io/kubevirt/virt-api@sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f +KUBEVIRT_CONTROLLER_IMAGE=quay.io/kubevirt/virt-controller@sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a +KUBEVIRT_LAUNCHER_IMAGE=quay.io/kubevirt/virt-launcher@sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 +KUBEVIRT_HANDLER_IMAGE=quay.io/kubevirt/virt-handler@sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a KUBEVIRT_VIRTIO_IMAGE=quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 -KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE=quay.io/kubevirt/libguestfs-tools@sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 -KUBEVIRT_EXPORTPROXY_IMAGE=quay.io/kubevirt/virt-exportproxy@sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c -KUBEVIRT_EXPORSERVER_IMAGE=quay.io/kubevirt/virt-exportserver@sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 +KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE=quay.io/kubevirt/libguestfs-tools@sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a +KUBEVIRT_EXPORTPROXY_IMAGE=quay.io/kubevirt/virt-exportproxy@sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 +KUBEVIRT_EXPORSERVER_IMAGE=quay.io/kubevirt/virt-exportserver@sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 CNA_OPERATOR_IMAGE=quay.io/kubevirt/cluster-network-addons-operator@sha256:d5d41f0ca135a08696ab9b0d02c1ea5a1670908e243172a0151d5bf84a70379e SSP_OPERATOR_IMAGE=quay.io/kubevirt/ssp-operator@sha256:d94f38087856d98f847010cfa0b5f4ef80de64ef1098dd27d4998595e10fe1c1 CDI_OPERATOR_IMAGE=quay.io/kubevirt/cdi-operator@sha256:8a1846b34ffd8e7ab550519a8bf505f92ae50c30a1d1c8b1369560254e3f9bbd @@ -26,15 +26,15 @@ CSI_SNAPSHOT_IMAGE=k8s.gcr.io/sig-storage/csi-snapshotter@sha256:818f35653f2e214 CSI_SIG_STORAGE_PROVISIONER_IMAGE=k8s.gcr.io/sig-storage/csi-provisioner@sha256:4e74c0492bceddc598de1c90cc5bc14dcda94cb49fa9c5bad9d117c4834b5e08 KUBE_RBAC_PROXY_IMAGE=quay.io/openshift/origin-kube-rbac-proxy@sha256:baedb268ac66456018fb30af395bb3d69af5fff3252ff5d549f0231b1ebb6901 KUBEVIRT_CONSOLE_PLUGIN_IMAGE=quay.io/kubevirt-ui/kubevirt-plugin@sha256:253cb213f052faec5b41e56860133ebb7508715f6abe691b2609c9e36dec62ab -DIGEST_LIST="quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-api@sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-controller@sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-launcher@sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-handler@sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506" +DIGEST_LIST="quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-api@sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-controller@sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-launcher@sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-handler@sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/libguestfs-tools@sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportproxy@sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c" -DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportserver@sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/libguestfs-tools@sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportproxy@sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportserver@sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/cluster-network-addons-operator@sha256:d5d41f0ca135a08696ab9b0d02c1ea5a1670908e243172a0151d5bf84a70379e" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/ssp-operator@sha256:d94f38087856d98f847010cfa0b5f4ef80de64ef1098dd27d4998595e10fe1c1" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/cdi-operator@sha256:8a1846b34ffd8e7ab550519a8bf505f92ae50c30a1d1c8b1369560254e3f9bbd" diff --git a/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml b/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml index 72d68840fd..bb29efd755 100644 --- a/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml +++ b/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml @@ -948,6 +948,7 @@ spec: - create - delete - get + - update - apiGroups: - "" resources: @@ -1221,6 +1222,7 @@ spec: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1236,9 +1238,15 @@ spec: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1251,6 +1259,12 @@ spec: - virtualmachines/memorydump verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1283,6 +1297,32 @@ spec: - list - watch - deletecollection + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection - apiGroups: - instancetype.kubevirt.io resources: @@ -1326,6 +1366,7 @@ spec: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1341,9 +1382,15 @@ spec: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1356,6 +1403,12 @@ spec: - virtualmachines/memorydump verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1386,6 +1439,30 @@ spec: - patch - list - watch + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: @@ -1431,11 +1508,18 @@ spec: - apiGroups: - subresources.kubevirt.io resources: + - virtualmachines/expand-spec - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist verbs: - get + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1458,6 +1542,22 @@ spec: - get - list - watch + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - list + - watch + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: @@ -2547,7 +2647,7 @@ spec: - name: HCO_KV_IO_VERSION value: 1.8.0 - name: KUBEVIRT_VERSION - value: v0.58.0 + value: v0.58.1 - name: CDI_VERSION value: v1.55.2 - name: NETWORK_ADDONS_VERSION @@ -2865,29 +2965,29 @@ spec: command: - virt-operator env: - - name: OPERATOR_IMAGE - value: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + - name: VIRT_OPERATOR_IMAGE + value: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: KUBEVIRT_VERSION - value: v0.58.0 - name: VIRT_API_SHASUM - value: sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 + value: sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f - name: VIRT_CONTROLLER_SHASUM - value: sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac + value: sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a - name: VIRT_HANDLER_SHASUM - value: sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 + value: sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a - name: VIRT_LAUNCHER_SHASUM - value: sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd + value: sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 - name: VIRT_EXPORTPROXY_SHASUM - value: sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c + value: sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 - name: VIRT_EXPORTSERVER_SHASUM - value: sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 + value: sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 - name: GS_SHASUM - value: sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 - image: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + value: sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a + - name: KUBEVIRT_VERSION + value: v0.58.1 + image: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 imagePullPolicy: IfNotPresent name: virt-operator ports: @@ -2907,7 +3007,7 @@ spec: resources: requests: cpu: 10m - memory: 250Mi + memory: 400Mi securityContext: allowPrivilegeEscalation: false capabilities: @@ -3702,7 +3802,7 @@ spec: name: kubemacpool - image: quay.io/kubevirt-ui/kubevirt-plugin@sha256:253cb213f052faec5b41e56860133ebb7508715f6abe691b2609c9e36dec62ab name: kubevirt-plugin - - image: quay.io/kubevirt/libguestfs-tools@sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 + - image: quay.io/kubevirt/libguestfs-tools@sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a name: libguestfs-tools - image: k8s.gcr.io/sig-storage/livenessprobe@sha256:1b7c978a792a8fa4e96244e8059bd71bb49b07e2e5a897fb0c867bdc6db20d5d name: livenessprobe @@ -3718,19 +3818,19 @@ spec: name: ssp-operator - image: quay.io/kubevirt/tekton-tasks-operator@sha256:a1693a2c6676095c00203a4a938b7d2730ec3080aa9c802c496c60de70626507 name: tekton-tasks-operator - - image: quay.io/kubevirt/virt-api@sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 + - image: quay.io/kubevirt/virt-api@sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f name: virt-api - - image: quay.io/kubevirt/virt-controller@sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac + - image: quay.io/kubevirt/virt-controller@sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a name: virt-controller - - image: quay.io/kubevirt/virt-exportproxy@sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c + - image: quay.io/kubevirt/virt-exportproxy@sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 name: virt-exportproxy - - image: quay.io/kubevirt/virt-exportserver@sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 + - image: quay.io/kubevirt/virt-exportserver@sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 name: virt-exportserver - - image: quay.io/kubevirt/virt-handler@sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 + - image: quay.io/kubevirt/virt-handler@sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a name: virt-handler - - image: quay.io/kubevirt/virt-launcher@sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd + - image: quay.io/kubevirt/virt-launcher@sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 name: virt-launcher - - image: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + - image: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 name: virt-operator - image: quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 name: virtio-container-disk diff --git a/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml b/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml index 811894a57e..9aa701ece8 100644 --- a/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml +++ b/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml @@ -9,7 +9,7 @@ metadata: certified: "false" console.openshift.io/disable-operand-delete: "true" containerImage: quay.io/kubevirt/hyperconverged-cluster-operator:1.8.0-unstable - createdAt: "2022-12-15 11:16:47" + createdAt: "2023-02-11 05:13:49" description: A unified operator deploying and controlling KubeVirt and its supporting operators with opinionated defaults operatorframework.io/initialization-resource: '{"apiVersion":"hco.kubevirt.io/v1beta1","kind":"HyperConverged","metadata":{"annotations":{"deployOVS":"false"},"name":"kubevirt-hyperconverged","namespace":"kubevirt-hyperconverged"},"spec":{}}' @@ -948,6 +948,7 @@ spec: - create - delete - get + - update - apiGroups: - "" resources: @@ -1221,6 +1222,7 @@ spec: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1236,9 +1238,15 @@ spec: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1251,6 +1259,12 @@ spec: - virtualmachines/memorydump verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1283,6 +1297,32 @@ spec: - list - watch - deletecollection + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection - apiGroups: - instancetype.kubevirt.io resources: @@ -1326,6 +1366,7 @@ spec: - virtualmachineinstances/console - virtualmachineinstances/vnc - virtualmachineinstances/vnc/screenshot + - virtualmachineinstances/portforward - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist @@ -1341,9 +1382,15 @@ spec: - virtualmachineinstances/freeze - virtualmachineinstances/unfreeze - virtualmachineinstances/softreboot - - virtualmachineinstances/portforward verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachines/expand-spec + - virtualmachines/portforward + verbs: + - get - apiGroups: - subresources.kubevirt.io resources: @@ -1356,6 +1403,12 @@ spec: - virtualmachines/memorydump verbs: - update + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1386,6 +1439,30 @@ spec: - patch - list - watch + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - delete + - create + - update + - patch + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: @@ -1431,11 +1508,18 @@ spec: - apiGroups: - subresources.kubevirt.io resources: + - virtualmachines/expand-spec - virtualmachineinstances/guestosinfo - virtualmachineinstances/filesystemlist - virtualmachineinstances/userlist verbs: - get + - apiGroups: + - subresources.kubevirt.io + resources: + - expand-vm-spec + verbs: + - update - apiGroups: - kubevirt.io resources: @@ -1458,6 +1542,22 @@ spec: - get - list - watch + - apiGroups: + - export.kubevirt.io + resources: + - virtualmachineexports + verbs: + - get + - list + - watch + - apiGroups: + - clone.kubevirt.io + resources: + - virtualmachineclones + verbs: + - get + - list + - watch - apiGroups: - instancetype.kubevirt.io resources: @@ -2547,7 +2647,7 @@ spec: - name: HCO_KV_IO_VERSION value: 1.8.0 - name: KUBEVIRT_VERSION - value: v0.58.0 + value: v0.58.1 - name: CDI_VERSION value: v1.55.2 - name: NETWORK_ADDONS_VERSION @@ -2865,29 +2965,29 @@ spec: command: - virt-operator env: - - name: OPERATOR_IMAGE - value: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + - name: VIRT_OPERATOR_IMAGE + value: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: KUBEVIRT_VERSION - value: v0.58.0 - name: VIRT_API_SHASUM - value: sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 + value: sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f - name: VIRT_CONTROLLER_SHASUM - value: sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac + value: sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a - name: VIRT_HANDLER_SHASUM - value: sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 + value: sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a - name: VIRT_LAUNCHER_SHASUM - value: sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd + value: sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 - name: VIRT_EXPORTPROXY_SHASUM - value: sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c + value: sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 - name: VIRT_EXPORTSERVER_SHASUM - value: sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 + value: sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 - name: GS_SHASUM - value: sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 - image: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + value: sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a + - name: KUBEVIRT_VERSION + value: v0.58.1 + image: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 imagePullPolicy: IfNotPresent name: virt-operator ports: @@ -2907,7 +3007,7 @@ spec: resources: requests: cpu: 10m - memory: 250Mi + memory: 400Mi securityContext: allowPrivilegeEscalation: false capabilities: @@ -3702,7 +3802,7 @@ spec: name: kubemacpool - image: quay.io/kubevirt-ui/kubevirt-plugin@sha256:253cb213f052faec5b41e56860133ebb7508715f6abe691b2609c9e36dec62ab name: kubevirt-plugin - - image: quay.io/kubevirt/libguestfs-tools@sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 + - image: quay.io/kubevirt/libguestfs-tools@sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a name: libguestfs-tools - image: k8s.gcr.io/sig-storage/livenessprobe@sha256:1b7c978a792a8fa4e96244e8059bd71bb49b07e2e5a897fb0c867bdc6db20d5d name: livenessprobe @@ -3718,19 +3818,19 @@ spec: name: ssp-operator - image: quay.io/kubevirt/tekton-tasks-operator@sha256:a1693a2c6676095c00203a4a938b7d2730ec3080aa9c802c496c60de70626507 name: tekton-tasks-operator - - image: quay.io/kubevirt/virt-api@sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 + - image: quay.io/kubevirt/virt-api@sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f name: virt-api - - image: quay.io/kubevirt/virt-controller@sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac + - image: quay.io/kubevirt/virt-controller@sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a name: virt-controller - - image: quay.io/kubevirt/virt-exportproxy@sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c + - image: quay.io/kubevirt/virt-exportproxy@sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 name: virt-exportproxy - - image: quay.io/kubevirt/virt-exportserver@sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 + - image: quay.io/kubevirt/virt-exportserver@sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 name: virt-exportserver - - image: quay.io/kubevirt/virt-handler@sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 + - image: quay.io/kubevirt/virt-handler@sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a name: virt-handler - - image: quay.io/kubevirt/virt-launcher@sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd + - image: quay.io/kubevirt/virt-launcher@sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 name: virt-launcher - - image: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + - image: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 name: virt-operator - image: quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 name: virtio-container-disk diff --git a/deploy/operator.yaml b/deploy/operator.yaml index 9723526435..522a37933b 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -54,7 +54,7 @@ spec: - name: HCO_KV_IO_VERSION value: 1.8.0 - name: KUBEVIRT_VERSION - value: v0.58.0 + value: v0.58.1 - name: CDI_VERSION value: v1.55.2 - name: NETWORK_ADDONS_VERSION @@ -393,29 +393,29 @@ spec: command: - virt-operator env: - - name: OPERATOR_IMAGE - value: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + - name: VIRT_OPERATOR_IMAGE + value: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - - name: KUBEVIRT_VERSION - value: v0.58.0 - name: VIRT_API_SHASUM - value: sha256:6ebe0108f752f17338b80d3d526cf607d264780ea4424833b7b5d204d06245d2 + value: sha256:9cd0fd3f4add25f45b24d0beb2e8648c782986008256197265daae41f77b840f - name: VIRT_CONTROLLER_SHASUM - value: sha256:b26b1e0b70c9378ed1e3de0bec028149c9e28fa36de0922bd6baa618b75d7cac + value: sha256:09cf50c17ac2ec6f4166487d6c1d8732daca9977fa3d0cd90183ba88b928681a - name: VIRT_HANDLER_SHASUM - value: sha256:9ffe3df609ca3403dae4f567698b6eabd101a12d281d0a1dab23c71cdf5eb506 + value: sha256:21b5d164571f5d20ce568954f1181a72b67085fd7c62fdb6ed3136ee752a3e0a - name: VIRT_LAUNCHER_SHASUM - value: sha256:f62c7cd142056282afd0d7233e9a87ce6ea35e3c475615fae9326d1697abdefd + value: sha256:106321b782bf30a0689f4daabb4045af04f02b30e28c8e67f03b1d1ecad7d346 - name: VIRT_EXPORTPROXY_SHASUM - value: sha256:5e80c8ef631d9a916bb12d27f45e87b9cef9270a8b7223aa07a4a24c6c10207c + value: sha256:0c463141c2bca7b68ca84d0fa66034a84327ce8d0bf9c8e190d2a352c2b9d720 - name: VIRT_EXPORTSERVER_SHASUM - value: sha256:3485a65b1c56c4b330d7f2d49701d9c0b414d569bcaff81d95ae2dd881bea6b4 + value: sha256:436d9c200eed442bb510e0b608269128cfb4289fce0050d8ff9cab90698eae95 - name: GS_SHASUM - value: sha256:f36d2c6518bdf9ca7e03b8690fc9bf11f4a5a841c94725b48feca1bc2d533292 - image: quay.io/kubevirt/virt-operator@sha256:6058fec404282087f415456820fd067bbb06a63955e3110be270b940bf379a09 + value: sha256:0b35e72b5a53aea24be0c1b1b2247e65e5c57ed342bca936491c544b5b8ff70a + - name: KUBEVIRT_VERSION + value: v0.58.1 + image: quay.io/kubevirt/virt-operator@sha256:e2fafa41787d3f312015e021d16cba9be06e1fa55a10c92ddbc072becda5c9e2 imagePullPolicy: IfNotPresent name: virt-operator ports: @@ -435,7 +435,7 @@ spec: resources: requests: cpu: 10m - memory: 250Mi + memory: 400Mi securityContext: allowPrivilegeEscalation: false capabilities: diff --git a/go.mod b/go.mod index c31f9ec204..2eea7a5906 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( k8s.io/client-go v12.0.0+incompatible k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 - kubevirt.io/api v0.58.0 + kubevirt.io/api v0.58.1 kubevirt.io/containerized-data-importer-api v1.55.2 kubevirt.io/controller-lifecycle-operator-sdk/api v0.2.4 kubevirt.io/ssp-operator/api v0.16.2 diff --git a/go.sum b/go.sum index bbc199a4c7..a8a74ecc68 100644 --- a/go.sum +++ b/go.sum @@ -1344,8 +1344,8 @@ k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/ k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73 h1:H9TCJUUx+2VA0ZiD9lvtaX8fthFsMoD+Izn93E/hm8U= k8s.io/utils v0.0.0-20220823124924-e9cbc92d1a73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -kubevirt.io/api v0.58.0 h1:qeNeRtD6AIJ5WVJuRXajmmXtnrO5dYchy+hpCm6QwhE= -kubevirt.io/api v0.58.0/go.mod h1:U0CQlZR0JoJCaC+Va0wz4dMOtYDdVywJ98OT1KmOkzI= +kubevirt.io/api v0.58.1 h1:+b9fydWSMD4SCOr1VHTEgXOmy5JzYU62ddSuQSWggys= +kubevirt.io/api v0.58.1/go.mod h1:U0CQlZR0JoJCaC+Va0wz4dMOtYDdVywJ98OT1KmOkzI= kubevirt.io/containerized-data-importer-api v1.55.2 h1:AzYnKIUFkKwO6c0uCQZYlAIxfzbiPkJXP29hFhauaQ8= kubevirt.io/containerized-data-importer-api v1.55.2/go.mod h1:92HiQEyzPoeMiCbgfG5Qe10JQVbtWMZOXucy56dKdGg= kubevirt.io/controller-lifecycle-operator-sdk v0.2.3 h1:auv8LrA7gnLfQREnlGVPwgJpTxOEgnw4+mzXlUqKTxY= diff --git a/hack/config b/hack/config index d58503f5d7..4baa9b237b 100644 --- a/hack/config +++ b/hack/config @@ -1,6 +1,6 @@ #!/bin/bash -KUBEVIRT_VERSION="v0.58.0" +KUBEVIRT_VERSION="v0.58.1" CDI_VERSION="v1.55.2" NETWORK_ADDONS_VERSION="v0.79.1" SSP_VERSION="v0.16.2" diff --git a/tests/go.mod b/tests/go.mod index 9e8d6ca7e6..667601a095 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -14,9 +14,9 @@ require ( k8s.io/api v0.24.2 k8s.io/apimachinery v0.24.2 k8s.io/client-go v12.0.0+incompatible - kubevirt.io/api v0.58.0 - kubevirt.io/client-go v0.58.0 - kubevirt.io/kubevirt v0.58.0 + kubevirt.io/api v0.58.1 + kubevirt.io/client-go v0.58.1 + kubevirt.io/kubevirt v0.58.1 kubevirt.io/qe-tools v0.1.8 ) @@ -173,8 +173,8 @@ replace ( github.com/kubevirt/cluster-network-addons-operator/pkg/apis => github.com/kubevirt/cluster-network-addons-operator/pkg/apis v0.79.1 github.com/openshift/machine-api-operator => github.com/openshift/machine-api-operator v0.2.1-0.20191025120018-fb3724fc7bdf go.mongodb.org/mongo-driver => go.mongodb.org/mongo-driver v1.5.1 - kubevirt.io/api => kubevirt.io/api v0.58.0 - kubevirt.io/client-go => kubevirt.io/client-go v0.58.0 + kubevirt.io/api => kubevirt.io/api v0.58.1 + kubevirt.io/client-go => kubevirt.io/client-go v0.58.1 kubevirt.io/containerized-data-importer-api => kubevirt.io/containerized-data-importer-api v1.55.2 ) diff --git a/tests/go.sum b/tests/go.sum index 572708d1d0..14aa48d635 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -110,6 +110,7 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= @@ -214,6 +215,7 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= +github.com/emicklei/go-restful-openapi v1.2.0 h1:ohRZ1yEZERGzqaozBgxa3A0lt6c6KF14xhs3IL9ECwg= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -274,10 +276,12 @@ github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpR github.com/go-openapi/analysis v0.17.2/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/analysis v0.20.0 h1:UN09o0kNhleunxW7LR+KnltD0YrJ8FF03pSqvAN3Vro= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.9 h1:9SnKdGhiPZHF3ttwFMiCBEb8jQ4IDdrK+5+a0oTygA4= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.17.2/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= @@ -297,10 +301,12 @@ github.com/go-openapi/loads v0.17.2/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= +github.com/go-openapi/loads v0.20.2 h1:z5p5Xf5wujMxS1y8aP+vxwW5qYT2zdJBbXKmQUG3lcc= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.18.0/go.mod h1:uI6pHuxWYTy94zZxgcwJkUWa9wbIlhteGfloI10GD4U= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= +github.com/go-openapi/runtime v0.19.24 h1:TqagMVlRAOTwllE/7hNKx6rQ10O6T8ZzeJdMjSTKaD4= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= @@ -312,6 +318,7 @@ github.com/go-openapi/strfmt v0.17.2/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pL github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/strfmt v0.20.0 h1:l2omNtmNbMc39IGptl9BuXBEKcZfS8zjrTsPKTiJiDM= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= @@ -323,6 +330,7 @@ github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/e github.com/go-openapi/validate v0.17.2/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= +github.com/go-openapi/validate v0.20.2 h1:AhqDegYV3J3iQkMPJSXkvzymHKMTw0BST3RK3hTT4ts= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -645,6 +653,7 @@ github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452/go.mod h1: github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= @@ -904,6 +913,7 @@ go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lL go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.5.1 h1:9nOVLGDfOaZ9R0tBumx/BcuqkbFpyTCU2r/Po7A2azI= go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1477,17 +1487,17 @@ k8s.io/utils v0.0.0-20191114200735-6ca3b61696b6/go.mod h1:sZAwmy6armz5eXlNoLmJcl k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -kubevirt.io/api v0.58.0 h1:qeNeRtD6AIJ5WVJuRXajmmXtnrO5dYchy+hpCm6QwhE= -kubevirt.io/api v0.58.0/go.mod h1:U0CQlZR0JoJCaC+Va0wz4dMOtYDdVywJ98OT1KmOkzI= -kubevirt.io/client-go v0.58.0 h1:O7d0Tvd1pCmP02eTjIWgmmeRXkOpiH7gQvlhcHX9ssQ= -kubevirt.io/client-go v0.58.0/go.mod h1:ub/ysUi/FiuLLh6cv97Q0D9TVby/B4JpRJP0Dj9EAsw= +kubevirt.io/api v0.58.1 h1:+b9fydWSMD4SCOr1VHTEgXOmy5JzYU62ddSuQSWggys= +kubevirt.io/api v0.58.1/go.mod h1:U0CQlZR0JoJCaC+Va0wz4dMOtYDdVywJ98OT1KmOkzI= +kubevirt.io/client-go v0.58.1 h1:iEGoPhZdh80aabqB8kaKVraDyEitmxqSSf/q6BmWxcY= +kubevirt.io/client-go v0.58.1/go.mod h1:XdcGbifkJyTODrama9fiRPG5odbOXRZvgujHySFRoy0= kubevirt.io/containerized-data-importer v1.41.0 h1:iGsYrf/L/x2gh/6VRMxpllWp8vImY8t7ORh73bJABhY= kubevirt.io/containerized-data-importer-api v1.55.2 h1:AzYnKIUFkKwO6c0uCQZYlAIxfzbiPkJXP29hFhauaQ8= kubevirt.io/containerized-data-importer-api v1.55.2/go.mod h1:92HiQEyzPoeMiCbgfG5Qe10JQVbtWMZOXucy56dKdGg= kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 h1:QMrd0nKP0BGbnxTqakhDZAUhGKxPiPiN5gSDqKUmGGc= kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90/go.mod h1:018lASpFYBsYN6XwmA2TIrPCx6e0gviTd/ZNtSitKgc= -kubevirt.io/kubevirt v0.58.0 h1:T/+sJL+OQAygR+NLp5IuklceRPS+I8g/6SDiqMu4aeE= -kubevirt.io/kubevirt v0.58.0/go.mod h1:A/fzMcF7TL4YGU2ORe2NIlOfLahjzN7bEjm794g5Y5g= +kubevirt.io/kubevirt v0.58.1 h1:ypaNuriU5dV862iVcw5f0wf3SZEC6kNF4fgAQYu4or8= +kubevirt.io/kubevirt v0.58.1/go.mod h1:A/fzMcF7TL4YGU2ORe2NIlOfLahjzN7bEjm794g5Y5g= kubevirt.io/qe-tools v0.1.8 h1:Ar7qicmzHdd+Ia+6rjHDg3D7GReIyq7QFXoC4F7TjhQ= kubevirt.io/qe-tools v0.1.8/go.mod h1:+Tr/WZGHIDQa/4pQgzM7+4J6YeVbUWAXESXtL2/zxqc= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/tests/vendor/kubevirt.io/api/clone/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/clone/v1alpha1/deepcopy_generated.go index 6739a180d1..95c33e16d9 100644 --- a/tests/vendor/kubevirt.io/api/clone/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/clone/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go index 756302f911..89f2cef2ee 100644 --- a/tests/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/core/v1/types.go b/tests/vendor/kubevirt.io/api/core/v1/types.go index 2621e64267..b6a51b625e 100644 --- a/tests/vendor/kubevirt.io/api/core/v1/types.go +++ b/tests/vendor/kubevirt.io/api/core/v1/types.go @@ -475,6 +475,8 @@ const ( VirtualMachineInstanceReasonSEVNotMigratable = "SEVNotLiveMigratable" // Reason means that VMI is not live migratable because it uses HyperV Reenlightenment while TSC Frequency is not available VirtualMachineInstanceReasonNoTSCFrequencyMigratable = "NoTSCFrequencyNotLiveMigratable" + // Reason means that VMI is not live migratable because it uses dedicated CPU and emulator thread isolation + VirtualMachineInstanceReasonDedicatedCPU = "DedicatedCPUNotLiveMigratable" ) const ( @@ -723,6 +725,10 @@ const ( // Used by functional tests to simulate virt-launcher crash looping FuncTestLauncherFailFastAnnotation string = "kubevirt.io/func-test-virt-launcher-fail-fast" + + // Used by functional tests to ignore backoff applied to migrations + FuncTestForceIgnoreMigrationBackoffAnnotation string = "kubevirt.io/func-test-ignore-migration-backoff" + // This label is used to match virtual machine instance IDs with pods. // Similar to kubevirt.io/domain. Used on Pod. // Internal use only. diff --git a/tests/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go b/tests/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go index b3f65406b1..08972aea23 100644 --- a/tests/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go +++ b/tests/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/export/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/export/v1alpha1/deepcopy_generated.go index 67df9256e4..43a7f6fbc8 100644 --- a/tests/vendor/kubevirt.io/api/export/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/export/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ limitations under the License. package v1alpha1 import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -166,6 +167,11 @@ func (in *VirtualMachineExportSpec) DeepCopyInto(out *VirtualMachineExportSpec) *out = new(string) **out = **in } + if in.TTLDuration != nil { + in, out := &in.TTLDuration, &out.TTLDuration + *out = new(v1.Duration) + **out = **in + } return } @@ -192,6 +198,10 @@ func (in *VirtualMachineExportStatus) DeepCopyInto(out *VirtualMachineExportStat *out = new(string) **out = **in } + if in.TTLExpirationTime != nil { + in, out := &in.TTLExpirationTime, &out.TTLExpirationTime + *out = (*in).DeepCopy() + } if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions *out = make([]Condition, len(*in)) diff --git a/tests/vendor/kubevirt.io/api/export/v1alpha1/types.go b/tests/vendor/kubevirt.io/api/export/v1alpha1/types.go index d311059fab..0ebcc1744e 100644 --- a/tests/vendor/kubevirt.io/api/export/v1alpha1/types.go +++ b/tests/vendor/kubevirt.io/api/export/v1alpha1/types.go @@ -20,12 +20,15 @@ package v1alpha1 import ( + "time" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) const ( - App = "virt-exporter" + App = "virt-exporter" + DefaultDurationTTL = 2 * time.Hour ) // VirtualMachineExport defines the operation of exporting a VM source @@ -57,6 +60,13 @@ type VirtualMachineExportSpec struct { // +optional // TokenSecretRef is the name of the custom-defined secret that contains the token used by the export server pod TokenSecretRef *string `json:"tokenSecretRef,omitempty"` + + // ttlDuration limits the lifetime of an export + // If this field is set, after this duration has passed from counting from CreationTimestamp, + // the export is eligible to be automatically deleted. + // If this field is omitted, a reasonable default is applied. + // +optional + TTLDuration *metav1.Duration `json:"ttlDuration,omitempty"` } // VirtualMachineExportPhase is the current phase of the VirtualMachineExport @@ -85,6 +95,10 @@ type VirtualMachineExportStatus struct { // TokenSecretRef is the name of the secret that contains the token used by the export server pod TokenSecretRef *string `json:"tokenSecretRef,omitempty"` + // The time at which the VM Export will be completely removed according to specified TTL + // Formula is CreationTimestamp + TTL + TTLExpirationTime *metav1.Time `json:"ttlExpirationTime,omitempty"` + // +optional // ServiceName is the name of the service created associated with the Virtual Machine export. It will be used to // create the internal URLs for downloading the images diff --git a/tests/vendor/kubevirt.io/api/export/v1alpha1/types_swagger_generated.go b/tests/vendor/kubevirt.io/api/export/v1alpha1/types_swagger_generated.go index 50f75128df..c0c93b37f3 100644 --- a/tests/vendor/kubevirt.io/api/export/v1alpha1/types_swagger_generated.go +++ b/tests/vendor/kubevirt.io/api/export/v1alpha1/types_swagger_generated.go @@ -20,17 +20,19 @@ func (VirtualMachineExportSpec) SwaggerDoc() map[string]string { return map[string]string{ "": "VirtualMachineExportSpec is the spec for a VirtualMachineExport resource", "tokenSecretRef": "+optional\nTokenSecretRef is the name of the custom-defined secret that contains the token used by the export server pod", + "ttlDuration": "ttlDuration limits the lifetime of an export\nIf this field is set, after this duration has passed from counting from CreationTimestamp,\nthe export is eligible to be automatically deleted.\nIf this field is omitted, a reasonable default is applied.\n+optional", } } func (VirtualMachineExportStatus) SwaggerDoc() map[string]string { return map[string]string{ - "": "VirtualMachineExportStatus is the status for a VirtualMachineExport resource", - "phase": "+optional", - "links": "+optional", - "tokenSecretRef": "+optional\nTokenSecretRef is the name of the secret that contains the token used by the export server pod", - "serviceName": "+optional\nServiceName is the name of the service created associated with the Virtual Machine export. It will be used to\ncreate the internal URLs for downloading the images", - "conditions": "+optional\n+listType=atomic", + "": "VirtualMachineExportStatus is the status for a VirtualMachineExport resource", + "phase": "+optional", + "links": "+optional", + "tokenSecretRef": "+optional\nTokenSecretRef is the name of the secret that contains the token used by the export server pod", + "ttlExpirationTime": "The time at which the VM Export will be completely removed according to specified TTL\nFormula is CreationTimestamp + TTL", + "serviceName": "+optional\nServiceName is the name of the service created associated with the Virtual Machine export. It will be used to\ncreate the internal URLs for downloading the images", + "conditions": "+optional\n+listType=atomic", } } diff --git a/tests/vendor/kubevirt.io/api/instancetype/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/instancetype/v1alpha1/deepcopy_generated.go index 15c29272fd..c5f6231598 100644 --- a/tests/vendor/kubevirt.io/api/instancetype/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/instancetype/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/instancetype/v1alpha2/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/instancetype/v1alpha2/deepcopy_generated.go index 0c35cf1618..7dd6ae4bea 100644 --- a/tests/vendor/kubevirt.io/api/instancetype/v1alpha2/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/instancetype/v1alpha2/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/migrations/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/migrations/v1alpha1/deepcopy_generated.go index 154cc7264c..c869631c57 100644 --- a/tests/vendor/kubevirt.io/api/migrations/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/migrations/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/pool/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/pool/v1alpha1/deepcopy_generated.go index a9a29615bc..c627ef0abc 100644 --- a/tests/vendor/kubevirt.io/api/pool/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/pool/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/api/snapshot/v1alpha1/deepcopy_generated.go b/tests/vendor/kubevirt.io/api/snapshot/v1alpha1/deepcopy_generated.go index beb22e629a..7c33f8e9ae 100644 --- a/tests/vendor/kubevirt.io/api/snapshot/v1alpha1/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/api/snapshot/v1alpha1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/clientset.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/clientset.go index b097a9e45c..65ea0045b7 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/clientset.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/doc.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/doc.go index 755a91d8b8..39547110c2 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/doc.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/doc.go index e6c48e24db..88f948648e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/register.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/register.go index 47c51f45e2..8e8d5211ff 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/register.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdi.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdi.go index 6cf975896e..d5877f4fbd 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdi.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdi.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdiconfig.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdiconfig.go index a4d7d6f6da..5b6172a078 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdiconfig.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/cdiconfig.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/core_client.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/core_client.go index df66b148d6..324370e1aa 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/core_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/core_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/dataimportcron.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/dataimportcron.go index 8c370ffba4..bf93687394 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/dataimportcron.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/dataimportcron.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datasource.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datasource.go index 752ce67c86..d25d9cb971 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datasource.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datasource.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datavolume.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datavolume.go index 4b5aa1936e..d4f15491dc 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datavolume.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/datavolume.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/doc.go index 4326722ede..70872b0d8f 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/generated_expansion.go index dd8847c3b5..d51d134eee 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/objecttransfer.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/objecttransfer.go index e4dcfa9f54..330dcb38c9 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/objecttransfer.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/objecttransfer.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/storageprofile.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/storageprofile.go index 773d2a50b0..6b2a37bd6a 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/storageprofile.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/core/v1beta1/storageprofile.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/doc.go index 4326722ede..70872b0d8f 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/generated_expansion.go index 7fea39eca4..d15f267bb8 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/upload_client.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/upload_client.go index 0c3ae13e15..45b11c45f5 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/upload_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/upload_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/uploadtokenrequest.go b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/uploadtokenrequest.go index 6cf255be1a..ac480b931c 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/uploadtokenrequest.go +++ b/tests/vendor/kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/typed/upload/v1beta1/uploadtokenrequest.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/clientset.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/clientset.go index b692fe2251..df6cee13b4 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/clientset.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/doc.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/doc.go index 755a91d8b8..39547110c2 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/doc.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/doc.go index e6c48e24db..88f948648e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/register.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/register.go index 2ebb94bf72..1ee08a8052 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/register.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/doc.go index 948c7fb38c..cb4804d9ae 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/generated_expansion.go index a4d87ac524..0d4cfa87c3 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot.go index a4f5741cb4..b83466b8b6 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot_client.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot_client.go index ab69571665..51d233868b 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshot_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotclass.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotclass.go index 37ea4c6c44..6bacc51d96 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotclass.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotclass.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotcontent.go b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotcontent.go index 112be3cf77..5ef925ff3a 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotcontent.go +++ b/tests/vendor/kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/volumesnapshotcontent.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/clientset.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/clientset.go index c4f4f84107..608c99bd5d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/clientset.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/doc.go index 755a91d8b8..39547110c2 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/doc.go index e6c48e24db..88f948648e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/register.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/register.go index 18cbcfeb79..619f404338 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/register.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/clone_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/clone_client.go index 4d2fcf67f1..f61dac57e4 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/clone_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/clone_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/generated_expansion.go index f39a6ab18d..e0f650b11d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/virtualmachineclone.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/virtualmachineclone.go index fa1e29c33c..8b9aab7efc 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/virtualmachineclone.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/clone/v1alpha1/virtualmachineclone.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/export_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/export_client.go index 16b907f7b2..ab29e18988 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/export_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/export_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/generated_expansion.go index 2427e4f981..1e415c31b8 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/virtualmachineexport.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/virtualmachineexport.go index 9d80d40a13..3fbfb0c68b 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/virtualmachineexport.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/export/v1alpha1/virtualmachineexport.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/generated_expansion.go index 2708cae7d6..88cde83847 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/instancetype_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/instancetype_client.go index dbaa902f2a..92b669a642 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/instancetype_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/instancetype_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterinstancetype.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterinstancetype.go index d8ed2573bc..173c5e55ef 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterinstancetype.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterinstancetype.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterpreference.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterpreference.go index 3c62417aab..00826906ae 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterpreference.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineclusterpreference.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineinstancetype.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineinstancetype.go index 0af08af717..33932dd4d0 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineinstancetype.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachineinstancetype.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachinepreference.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachinepreference.go index ed768b9839..a60cdcefad 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachinepreference.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha1/virtualmachinepreference.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/doc.go index d5e2df6f33..e14c1248f7 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/generated_expansion.go index 23c2656009..d13236c072 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/instancetype_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/instancetype_client.go index 25ad390b4a..c110d6d4a6 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/instancetype_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/instancetype_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterinstancetype.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterinstancetype.go index ad1a344dcc..448a8f59d6 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterinstancetype.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterinstancetype.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterpreference.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterpreference.go index ea5b2a19b4..24ab93896c 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterpreference.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineclusterpreference.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineinstancetype.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineinstancetype.go index b9bf77fff2..8d1240c7fc 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineinstancetype.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachineinstancetype.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachinepreference.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachinepreference.go index 33dca53ac5..cf5f3d278f 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachinepreference.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/instancetype/v1alpha2/virtualmachinepreference.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/generated_expansion.go index 9cf08e074b..8bea6d067b 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrationpolicy.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrationpolicy.go index 17091bfabd..92d31e1a64 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrationpolicy.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrationpolicy.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrations_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrations_client.go index c6390d8adb..432ca5e986 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrations_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/migrations/v1alpha1/migrations_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/generated_expansion.go index 5bb6fc32de..8895428d8f 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/pool_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/pool_client.go index 2e5189c190..ebf3f63269 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/pool_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/pool_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/virtualmachinepool.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/virtualmachinepool.go index 70b0bee93d..ac5c105823 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/virtualmachinepool.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/pool/v1alpha1/virtualmachinepool.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/doc.go index 5e11a467be..544d6b3a8d 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/generated_expansion.go index 07ae9a3459..dc5a4ba6fe 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/snapshot_client.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/snapshot_client.go index 73bc25f370..5b81b95d23 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/snapshot_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/snapshot_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinerestore.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinerestore.go index 8de22b39e6..e1ccaf1c65 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinerestore.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinerestore.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshot.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshot.go index bc6297fed2..34e233ab57 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshot.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshot.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshotcontent.go b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshotcontent.go index 7e04720370..066ff5ad10 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshotcontent.go +++ b/tests/vendor/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/typed/snapshot/v1alpha1/virtualmachinesnapshotcontent.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/clientset.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/clientset.go index 4c30564eb5..d502b81363 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/clientset.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/doc.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/doc.go index 755a91d8b8..39547110c2 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/doc.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/doc.go index e6c48e24db..88f948648e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/register.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/register.go index 38fc70eb91..55d18b2f86 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/register.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/doc.go index 948c7fb38c..cb4804d9ae 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/generated_expansion.go index f687268246..cf3bf6bf82 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/k8s.cni.cncf.io_client.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/k8s.cni.cncf.io_client.go index b7a9dc4ce2..644c2175fd 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/k8s.cni.cncf.io_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/k8s.cni.cncf.io_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/networkattachmentdefinition.go b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/networkattachmentdefinition.go index 89a2bc8ea5..6e0271e5d9 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/networkattachmentdefinition.go +++ b/tests/vendor/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/typed/k8s.cni.cncf.io/v1/networkattachmentdefinition.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/clientset.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/clientset.go index 0b236ae00d..0595492791 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/clientset.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/doc.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/doc.go index 755a91d8b8..39547110c2 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/doc.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/doc.go index e6c48e24db..88f948648e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/register.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/register.go index bc062a9f0e..7f9bc164c4 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/register.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/alertmanager.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/alertmanager.go index 17a15da1d4..61c7ff9f67 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/alertmanager.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/alertmanager.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/doc.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/doc.go index 948c7fb38c..cb4804d9ae 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/doc.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/generated_expansion.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/generated_expansion.go index 41959fbff1..21a171faf7 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/generated_expansion.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/monitoring_client.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/monitoring_client.go index a04b63a9c5..9b96ca8834 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/monitoring_client.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/monitoring_client.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/podmonitor.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/podmonitor.go index e99a67003c..2038624b1e 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/podmonitor.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/podmonitor.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheus.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheus.go index 95d637bcb4..18a0ecacf9 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheus.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheus.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheusrule.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheusrule.go index 842fa7b478..073227f83f 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheusrule.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/prometheusrule.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/servicemonitor.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/servicemonitor.go index 13f7903dbc..5251a042f1 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/servicemonitor.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/servicemonitor.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/thanosruler.go b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/thanosruler.go index 07ece2e9d1..f864a9b742 100644 --- a/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/thanosruler.go +++ b/tests/vendor/kubevirt.io/client-go/generated/prometheus-operator/clientset/versioned/typed/monitoring/v1/thanosruler.go @@ -1,5 +1,5 @@ /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/vendor/kubevirt.io/client-go/kubecli/generated_mock_kubevirt.go b/tests/vendor/kubevirt.io/client-go/kubecli/generated_mock_kubevirt.go index 98923e254b..b076fe6900 100644 --- a/tests/vendor/kubevirt.io/client-go/kubecli/generated_mock_kubevirt.go +++ b/tests/vendor/kubevirt.io/client-go/kubecli/generated_mock_kubevirt.go @@ -259,14 +259,14 @@ func (_mr *_MockKubevirtClientRecorder) MigrationPolicy() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "MigrationPolicy") } -func (_m *MockKubevirtClient) ExpandSpec() *ExpandSpec { - ret := _m.ctrl.Call(_m, "ExpandSpec") - ret0, _ := ret[0].(*ExpandSpec) +func (_m *MockKubevirtClient) ExpandSpec(namespace string) ExpandSpecInterface { + ret := _m.ctrl.Call(_m, "ExpandSpec", namespace) + ret0, _ := ret[0].(ExpandSpecInterface) return ret0 } -func (_mr *_MockKubevirtClientRecorder) ExpandSpec() *gomock.Call { - return _mr.mock.ctrl.RecordCall(_mr.mock, "ExpandSpec") +func (_mr *_MockKubevirtClientRecorder) ExpandSpec(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "ExpandSpec", arg0) } func (_m *MockKubevirtClient) ServerVersion() ServerVersionInterface { @@ -1918,3 +1918,35 @@ func (_m *MockServerVersionInterface) Get() (*version.Info, error) { func (_mr *_MockServerVersionInterfaceRecorder) Get() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "Get") } + +// Mock of ExpandSpecInterface interface +type MockExpandSpecInterface struct { + ctrl *gomock.Controller + recorder *_MockExpandSpecInterfaceRecorder +} + +// Recorder for MockExpandSpecInterface (not exported) +type _MockExpandSpecInterfaceRecorder struct { + mock *MockExpandSpecInterface +} + +func NewMockExpandSpecInterface(ctrl *gomock.Controller) *MockExpandSpecInterface { + mock := &MockExpandSpecInterface{ctrl: ctrl} + mock.recorder = &_MockExpandSpecInterfaceRecorder{mock} + return mock +} + +func (_m *MockExpandSpecInterface) EXPECT() *_MockExpandSpecInterfaceRecorder { + return _m.recorder +} + +func (_m *MockExpandSpecInterface) ForVirtualMachine(vm *v120.VirtualMachine) (*v120.VirtualMachine, error) { + ret := _m.ctrl.Call(_m, "ForVirtualMachine", vm) + ret0, _ := ret[0].(*v120.VirtualMachine) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockExpandSpecInterfaceRecorder) ForVirtualMachine(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "ForVirtualMachine", arg0) +} diff --git a/tests/vendor/kubevirt.io/client-go/kubecli/handler.go b/tests/vendor/kubevirt.io/client-go/kubecli/handler.go index d6d26ed319..30d6e44885 100644 --- a/tests/vendor/kubevirt.io/client-go/kubecli/handler.go +++ b/tests/vendor/kubevirt.io/client-go/kubecli/handler.go @@ -2,12 +2,9 @@ package kubecli import ( "context" - "crypto/tls" "fmt" "io" - "io/ioutil" "net/http" - "time" v1 "k8s.io/api/core/v1" k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -34,9 +31,10 @@ const ( filesystemListTemplateURI = "https://%s:%v/v1/namespaces/%s/virtualmachineinstances/%s/filesystemlist" ) -func NewVirtHandlerClient(client KubevirtClient) VirtHandlerClient { +func NewVirtHandlerClient(virtCli KubevirtClient, httpCli *http.Client) VirtHandlerClient { return &virtHandler{ - client: client, + virtCli: virtCli, + httpCli: httpCli, virtHandlerPort: 0, namespace: "", } @@ -59,23 +57,25 @@ type VirtHandlerConn interface { UnfreezeURI(vmi *virtv1.VirtualMachineInstance) (string, error) SoftRebootURI(vmi *virtv1.VirtualMachineInstance) (string, error) Pod() (pod *v1.Pod, err error) - Put(url string, tlsConfig *tls.Config, body io.ReadCloser) error - Get(url string, tlsConfig *tls.Config) (string, error) + Put(url string, body io.ReadCloser) error + Get(url string) (string, error) GuestInfoURI(vmi *virtv1.VirtualMachineInstance) (string, error) UserListURI(vmi *virtv1.VirtualMachineInstance) (string, error) FilesystemListURI(vmi *virtv1.VirtualMachineInstance) (string, error) } type virtHandler struct { - client KubevirtClient + virtCli KubevirtClient + httpCli *http.Client virtHandlerPort int namespace string } type virtHandlerConn struct { - pod *v1.Pod - err error - port int + pod *v1.Pod + err error + port int + httpClient *http.Client } func (v *virtHandler) Namespace(namespace string) VirtHandlerClient { @@ -88,8 +88,12 @@ func (v *virtHandler) Port(port int) VirtHandlerClient { return v } func (v *virtHandler) ForNode(nodeName string) VirtHandlerConn { - conn := &virtHandlerConn{} var err error + + conn := &virtHandlerConn{ + httpClient: v.httpCli, + } + namespace := v.namespace if namespace == "" { namespace, err = util.GetNamespace() @@ -118,7 +122,7 @@ func (v *virtHandler) getVirtHandler(nodeName string, namespace string) (*v1.Pod return nil, false, err } - pods, err := v.client.CoreV1().Pods(namespace).List(context.Background(), + pods, err := v.virtCli.CoreV1().Pods(namespace).List(context.Background(), k8smetav1.ListOptions{ FieldSelector: handlerNodeSelector.String(), LabelSelector: labelSelector.String()}) @@ -200,65 +204,52 @@ func (v *virtHandlerConn) Pod() (pod *v1.Pod, err error) { return v.pod, err } -func (v *virtHandlerConn) Put(url string, tlsConfig *tls.Config, body io.ReadCloser) error { +func (v *virtHandlerConn) doRequest(req *http.Request) (response string, err error) { + resp, err := v.httpClient.Do(req) + if err != nil { + return + } + defer resp.Body.Close() - client := http.Client{ - Transport: &http.Transport{ - TLSClientConfig: tlsConfig, - }, - Timeout: 10 * time.Second, + if resp.StatusCode < 200 || resp.StatusCode > 299 { + return "", fmt.Errorf("unexpected return code %d (%s)", resp.StatusCode, resp.Status) } - req, err := http.NewRequest(http.MethodPut, url, body) + responseBytes, err := io.ReadAll(resp.Body) if err != nil { - return err + return "", fmt.Errorf("cannot read response body %v", err) } - resp, err := client.Do(req) + return string(responseBytes), nil +} + +func (v *virtHandlerConn) Put(url string, body io.ReadCloser) error { + req, err := http.NewRequest(http.MethodPut, url, body) if err != nil { return err } - if resp.StatusCode < 200 || resp.StatusCode > 299 { - return fmt.Errorf("unexpected return code %s", resp.Status) + _, err = v.doRequest(req) + if err != nil { + return err } return nil } -func (v *virtHandlerConn) Get(url string, tlsConfig *tls.Config) (string, error) { - - client := http.Client{ - Transport: &http.Transport{ - TLSClientConfig: tlsConfig, - }, - Timeout: 10 * time.Second, - } - +func (v *virtHandlerConn) Get(url string) (string, error) { req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { return "", err } req.Header.Add("Accept", "application/json") - resp, err := client.Do(req) + response, err := v.doRequest(req) if err != nil { return "", err } - if resp.StatusCode < 200 || resp.StatusCode > 299 { - return "", fmt.Errorf("unexpected return code %s", resp.Status) - } - - defer resp.Body.Close() - responseData, err := ioutil.ReadAll(resp.Body) - if err != nil { - return "", fmt.Errorf("cannot read get body %s", resp.Status) - } - - responseString := string(responseData) - - return responseString, nil + return response, nil } func (v *virtHandlerConn) GuestInfoURI(vmi *virtv1.VirtualMachineInstance) (string, error) { diff --git a/tests/vendor/kubevirt.io/client-go/kubecli/instancetype.go b/tests/vendor/kubevirt.io/client-go/kubecli/instancetype.go index b7ea29115d..711282301e 100644 --- a/tests/vendor/kubevirt.io/client-go/kubecli/instancetype.go +++ b/tests/vendor/kubevirt.io/client-go/kubecli/instancetype.go @@ -9,18 +9,22 @@ import ( v1 "kubevirt.io/api/core/v1" ) -func (k *kubevirt) ExpandSpec() *ExpandSpec { - return &ExpandSpec{ +func (k *kubevirt) ExpandSpec(namespace string) ExpandSpecInterface { + return &expandSpec{ restClient: k.restClient, + namespace: namespace, + resource: "expand-vm-spec", } } -type ExpandSpec struct { +type expandSpec struct { restClient *rest.RESTClient + namespace string + resource string } -func (e *ExpandSpec) ForVirtualMachine(vm *v1.VirtualMachine) (*v1.VirtualMachine, error) { - uri := fmt.Sprintf("/apis/"+v1.SubresourceGroupName+"/%s/expand-spec", v1.ApiStorageVersion) +func (e *expandSpec) ForVirtualMachine(vm *v1.VirtualMachine) (*v1.VirtualMachine, error) { + uri := fmt.Sprintf("/apis/"+v1.SubresourceGroupName+"/%s/namespaces/%s/%s", v1.ApiStorageVersion, e.namespace, e.resource) expandedVm := &v1.VirtualMachine{} err := e.restClient.Put(). RequestURI(uri). diff --git a/tests/vendor/kubevirt.io/client-go/kubecli/kubevirt.go b/tests/vendor/kubevirt.io/client-go/kubecli/kubevirt.go index 2feb471edd..f40bc893d0 100644 --- a/tests/vendor/kubevirt.io/client-go/kubecli/kubevirt.go +++ b/tests/vendor/kubevirt.io/client-go/kubecli/kubevirt.go @@ -76,7 +76,7 @@ type KubevirtClient interface { VirtualMachinePreference(namespace string) instancetypev1alpha2.VirtualMachinePreferenceInterface VirtualMachineClusterPreference() instancetypev1alpha2.VirtualMachineClusterPreferenceInterface MigrationPolicy() migrationsv1.MigrationPolicyInterface - ExpandSpec() *ExpandSpec + ExpandSpec(namespace string) ExpandSpecInterface ServerVersion() ServerVersionInterface VirtualMachineClone(namespace string) clonev1alpha1.VirtualMachineCloneInterface ClusterProfiler() *ClusterProfiler @@ -324,3 +324,7 @@ type KubeVirtInterface interface { type ServerVersionInterface interface { Get() (*version.Info, error) } + +type ExpandSpecInterface interface { + ForVirtualMachine(vm *v1.VirtualMachine) (*v1.VirtualMachine, error) +} diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/certificates/triple/cert/cert.go b/tests/vendor/kubevirt.io/kubevirt/pkg/certificates/triple/cert/cert.go index 2aba73379f..77daaed178 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/certificates/triple/cert/cert.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/certificates/triple/cert/cert.go @@ -36,10 +36,11 @@ const ( // Config contains the basic fields required for creating a certificate type Config struct { - CommonName string - Organization []string - AltNames AltNames - Usages []x509.ExtKeyUsage + CommonName string + Organization []string + AltNames AltNames + Usages []x509.ExtKeyUsage + NotBefore, NotAfter *time.Time } // AltNames contains the domain names and IP addresses that will be added @@ -56,12 +57,7 @@ func NewPrivateKey() (*rsa.PrivateKey, error) { } // NewSelfSignedCACert creates a CA certificate -func NewSelfSignedCACert(cfg Config, key crypto.Signer, duration time.Duration, altNames ...string) (*x509.Certificate, error) { - return NewSelfSignedCACertWithAltNames(cfg, key, duration) -} - -// NewSelfSignedCACertWithAltNames creates a CA certificate that allows alternative names -func NewSelfSignedCACertWithAltNames(cfg Config, key crypto.Signer, duration time.Duration, altNames ...string) (*x509.Certificate, error) { +func NewSelfSignedCACert(cfg Config, key crypto.Signer, duration time.Duration) (*x509.Certificate, error) { now := time.Now() tmpl := x509.Certificate{ SerialNumber: new(big.Int).SetInt64(randomSerialNumber()), @@ -74,7 +70,13 @@ func NewSelfSignedCACertWithAltNames(cfg Config, key crypto.Signer, duration tim KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, BasicConstraintsValid: true, IsCA: true, - DNSNames: altNames, + DNSNames: cfg.AltNames.DNSNames, + } + if cfg.NotBefore != nil { + tmpl.NotBefore = *cfg.NotBefore + } + if cfg.NotAfter != nil { + tmpl.NotAfter = *cfg.NotAfter } certDERBytes, err := x509.CreateCertificate(cryptorand.Reader, &tmpl, &tmpl, key.Public(), key) @@ -110,6 +112,12 @@ func NewSignedCert(cfg Config, key crypto.Signer, caCert *x509.Certificate, caKe KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, ExtKeyUsage: cfg.Usages, } + if cfg.NotBefore != nil { + certTmpl.NotBefore = *cfg.NotBefore + } + if cfg.NotAfter != nil { + certTmpl.NotAfter = *cfg.NotAfter + } certDERBytes, err := x509.CreateCertificate(cryptorand.Reader, &certTmpl, caCert, key.Public(), caKey) if err != nil { return nil, err diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go b/tests/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go index 35b8a01b23..7cf6d295a1 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go @@ -161,9 +161,6 @@ type KubeInformerFactory interface { // Watches for ControllerRevision objects ControllerRevision() cache.SharedIndexInformer - // Watches for LimitRange objects - LimitRanges() cache.SharedIndexInformer - // Watches for CDI DataVolume objects DataVolume() cache.SharedIndexInformer @@ -807,14 +804,6 @@ func (f *kubeInformerFactory) PersistentVolumeClaim() cache.SharedIndexInformer }) } -func (f *kubeInformerFactory) LimitRanges() cache.SharedIndexInformer { - return f.getInformer("limitrangeInformer", func() cache.SharedIndexInformer { - restClient := f.clientSet.CoreV1().RESTClient() - lw := cache.NewListWatchFromClient(restClient, "limitranges", k8sv1.NamespaceAll, fields.Everything()) - return cache.NewSharedIndexInformer(lw, &k8sv1.LimitRange{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) - }) -} - func GetControllerRevisionInformerIndexers() cache.Indexers { return cache.Indexers{ "vm": func(obj interface{}) ([]string, error) { diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/BUILD.bazel index a84e0518f0..282c6f6f8d 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/BUILD.bazel @@ -9,6 +9,7 @@ go_library( importpath = "kubevirt.io/kubevirt/pkg/instancetype", visibility = ["//visibility:public"], deps = [ + "//pkg/util:go_default_library", "//pkg/util/types:go_default_library", "//staging/src/kubevirt.io/api/core/v1:go_default_library", "//staging/src/kubevirt.io/api/instancetype:go_default_library", diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/instancetype.go b/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/instancetype.go index e06310c32b..ad3f3f3276 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/instancetype.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/instancetype/instancetype.go @@ -23,6 +23,7 @@ import ( "kubevirt.io/client-go/kubecli" "kubevirt.io/client-go/log" + utils "kubevirt.io/kubevirt/pkg/util" utiltypes "kubevirt.io/kubevirt/pkg/util/types" ) @@ -60,17 +61,15 @@ func GetRevisionName(vmName, resourceName string, resourceUID types.UID, resourc } func CreateControllerRevision(vm *virtv1.VirtualMachine, object runtime.Object) (*appsv1.ControllerRevision, error) { - objCopy := object.DeepCopyObject() - - // TypeMeta may be missing, so set it here. - gvks, _, err := generatedscheme.Scheme.ObjectKinds(objCopy) + obj, err := utils.GenerateKubeVirtGroupVersionKind(object) if err != nil { - // This is a programmer's error and should not happen. - return nil, fmt.Errorf("could not get GroupVersionKind for object: %w", err) + return nil, err + } + metaObj, ok := obj.(metav1.Object) + if !ok { + return nil, fmt.Errorf("Unexpected object format returned from GenerateKubeVirtGroupVersionKind") } - objCopy.GetObjectKind().SetGroupVersionKind(gvks[0]) - metaObj := objCopy.(metav1.Object) revisionName := GetRevisionName(vm.Name, metaObj.GetName(), metaObj.GetUID(), metaObj.GetGeneration()) // Removing unnecessary metadata @@ -87,7 +86,7 @@ func CreateControllerRevision(vm *virtv1.VirtualMachine, object runtime.Object) OwnerReferences: []metav1.OwnerReference{*metav1.NewControllerRef(vm, virtv1.VirtualMachineGroupVersionKind)}, }, Data: runtime.RawExtension{ - Object: objCopy, + Object: obj, }, }, nil } diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/util/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/pkg/util/BUILD.bazel index 91fce18fe7..baea80ecd1 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/util/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/util/BUILD.bazel @@ -10,7 +10,9 @@ go_library( visibility = ["//visibility:public"], deps = [ "//staging/src/kubevirt.io/api/core/v1:go_default_library", + "//staging/src/kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme:go_default_library", "//staging/src/kubevirt.io/client-go/log:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", ], ) diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/util/util.go b/tests/vendor/kubevirt.io/kubevirt/pkg/util/util.go index f3af31c6da..115d3afc51 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/util/util.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/util/util.go @@ -9,8 +9,10 @@ import ( "strings" "k8s.io/apimachinery/pkg/api/resource" + "k8s.io/apimachinery/pkg/runtime" v1 "kubevirt.io/api/core/v1" + generatedscheme "kubevirt.io/client-go/generated/kubevirt/clientset/versioned/scheme" "kubevirt.io/client-go/log" ) @@ -87,6 +89,16 @@ func IsVFIOVMI(vmi *v1.VirtualMachineInstance) bool { return false } +// Check if the VMI includes passt network interface(s) +func IsPasstVMI(vmi *v1.VirtualMachineInstance) bool { + for _, net := range vmi.Spec.Domain.Devices.Interfaces { + if net.Passt != nil { + return true + } + } + return false +} + // Check if a VMI spec requests AMD SEV func IsSEVVMI(vmi *v1.VirtualMachineInstance) bool { return vmi.Spec.Domain.LaunchSecurity != nil && vmi.Spec.Domain.LaunchSecurity.SEV != nil @@ -244,3 +256,17 @@ func GenerateSecureRandomString(n int) (string, error) { return string(ret), nil } + +// GenerateKubeVirtGroupVersionKind ensures a provided object registered with KubeVirts generated schema +// has GVK set correctly. This is required as client-go continues to return objects without +// TypeMeta set as set out in the following issue: https://github.com/kubernetes/client-go/issues/413 +func GenerateKubeVirtGroupVersionKind(obj runtime.Object) (runtime.Object, error) { + objCopy := obj.DeepCopyObject() + gvks, _, err := generatedscheme.Scheme.ObjectKinds(objCopy) + if err != nil { + return nil, fmt.Errorf("could not get GroupVersionKind for object: %w", err) + } + objCopy.GetObjectKind().SetGroupVersionKind(gvks[0]) + + return objCopy, nil +} diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-config/virt-config.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-config/virt-config.go index b9a4b3ea4c..343b1227ad 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-config/virt-config.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-config/virt-config.go @@ -62,7 +62,7 @@ const ( SmbiosConfigDefaultManufacturer = "KubeVirt" SmbiosConfigDefaultProduct = "None" DefaultPermitBridgeInterfaceOnPodNetwork = true - DefaultSELinuxLauncherType = "virt_launcher.process" + DefaultSELinuxLauncherType = "" SupportedGuestAgentVersions = "2.*,3.*,4.*,5.*" DefaultARCHOVMFPath = "/usr/share/OVMF" DefaultAARCH64OVMFPath = "/usr/share/AAVMF" diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/BUILD.bazel index ecefd7d522..8d89bfb9f9 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/BUILD.bazel @@ -67,6 +67,7 @@ go_test( "//pkg/testutils:go_default_library", "//pkg/util:go_default_library", "//pkg/virt-config:go_default_library", + "//pkg/virt-controller/watch/topology:go_default_library", "//staging/src/kubevirt.io/api/core/v1:go_default_library", "//staging/src/kubevirt.io/client-go/api:go_default_library", "//staging/src/kubevirt.io/client-go/generated/network-attachment-definition-client/clientset/versioned/fake:go_default_library", @@ -86,5 +87,6 @@ go_test( "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation:go_default_library", "//vendor/k8s.io/client-go/tools/cache:go_default_library", + "//vendor/k8s.io/utils/pointer:go_default_library", ], ) diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/nodeselectorrenderer.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/nodeselectorrenderer.go index 026877fd27..3e8a4cfe43 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/nodeselectorrenderer.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/nodeselectorrenderer.go @@ -134,7 +134,7 @@ func hypervNodeSelectors(vmiFeatures *v1.Features) map[string]string { } } - if vmiFeatures.Hyperv.EVMCS != nil { + if vmiFeatures.Hyperv.EVMCS != nil && (vmiFeatures.Hyperv.EVMCS.Enabled == nil || (*vmiFeatures.Hyperv.EVMCS.Enabled) == true) { nodeSelectors[v1.CPUModelVendorLabel+IntelVendorName] = "true" } diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/renderresources.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/renderresources.go index cab979b6e7..883d1293fd 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/renderresources.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/renderresources.go @@ -524,3 +524,31 @@ func initContainerMinimalRequests() k8sv1.ResourceList { k8sv1.ResourceMemory: resource.MustParse("1M"), } } + +func hotplugContainerResourceRequirementsForVMI(vmi *v1.VirtualMachineInstance) k8sv1.ResourceRequirements { + if vmi.IsCPUDedicated() || vmi.WantsToHaveQOSGuaranteed() { + return k8sv1.ResourceRequirements{ + Limits: hotplugContainerMinimalLimits(), + Requests: hotplugContainerMinimalLimits(), + } + } else { + return k8sv1.ResourceRequirements{ + Limits: hotplugContainerMinimalLimits(), + Requests: hotplugContainerMinimalRequests(), + } + } +} + +func hotplugContainerMinimalLimits() k8sv1.ResourceList { + return k8sv1.ResourceList{ + k8sv1.ResourceCPU: resource.MustParse("100m"), + k8sv1.ResourceMemory: resource.MustParse("80M"), + } +} + +func hotplugContainerMinimalRequests() k8sv1.ResourceList { + return k8sv1.ResourceList{ + k8sv1.ResourceCPU: resource.MustParse("10m"), + k8sv1.ResourceMemory: resource.MustParse("2M"), + } +} diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go index ef2e3bf427..0625140598 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go @@ -25,7 +25,10 @@ import ( "strconv" "strings" + "kubevirt.io/kubevirt/pkg/virt-controller/watch/topology" + "k8s.io/kubectl/pkg/cmd/util/podcmd" + "k8s.io/utils/pointer" k8sv1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" @@ -119,11 +122,13 @@ const ephemeralStorageOverheadSize = "50M" const ( VirtLauncherMonitorOverhead = "25Mi" // The `ps` RSS for virt-launcher-monitor VirtLauncherOverhead = "100Mi" // The `ps` RSS for the virt-launcher process - VirtlogdOverhead = "18Mi" // The `ps` RSS for virtlogd + VirtlogdOverhead = "20Mi" // The `ps` RSS for virtlogd LibvirtdOverhead = "35Mi" // The `ps` RSS for libvirtd QemuOverhead = "30Mi" // The `ps` RSS for qemu, minus the RAM of its (stressed) guest, minus the virtual page table ) +const customSELinuxType = "virt_launcher.process" + type TemplateService interface { RenderMigrationManifest(vmi *v1.VirtualMachineInstance, sourcePod *k8sv1.Pod) (*k8sv1.Pod, error) RenderLaunchManifest(vmi *v1.VirtualMachineInstance) (*k8sv1.Pod, error) @@ -492,11 +497,7 @@ func (t *templateService) renderLaunchManifest(vmi *v1.VirtualMachineInstance, i pod.Spec.SecurityContext.RunAsNonRoot = &nonRoot } - // If an SELinux type was specified, use that--otherwise don't set an SELinux type - selinuxType := t.clusterConfig.GetSELinuxLauncherType() - if selinuxType != "" { - alignPodMultiCategorySecurity(&pod, selinuxType, t.clusterConfig.DockerSELinuxMCSWorkaroundEnabled()) - } + alignPodMultiCategorySecurity(&pod, vmi, t.clusterConfig.GetSELinuxLauncherType(), t.clusterConfig.DockerSELinuxMCSWorkaroundEnabled()) // If we have a runtime class specified, use it, otherwise don't set a runtimeClassName runtimeClassName := t.clusterConfig.GetDefaultRuntimeClass() @@ -546,7 +547,7 @@ func (t *templateService) newNodeSelectorRenderer(vmi *v1.VirtualMachineInstance ) } - if vmi.Status.TopologyHints != nil && vmi.Status.TopologyHints.TSCFrequency != nil { + if topology.IsManualTSCFrequencyRequired(vmi) { opts = append(opts, WithTSCTimer(vmi.Status.TopologyHints.TSCFrequency)) } @@ -719,19 +720,10 @@ func (t *templateService) RenderHotplugAttachmentPodTemplate(volumes []*v1.Volum Spec: k8sv1.PodSpec{ Containers: []k8sv1.Container{ { - Name: hotplugDisk, - Image: t.launcherImage, - Command: command, - Resources: k8sv1.ResourceRequirements{ //Took the request and limits from containerDisk init container. - Limits: map[k8sv1.ResourceName]resource.Quantity{ - k8sv1.ResourceCPU: resource.MustParse("100m"), - k8sv1.ResourceMemory: resource.MustParse("80M"), - }, - Requests: map[k8sv1.ResourceName]resource.Quantity{ - k8sv1.ResourceCPU: resource.MustParse("10m"), - k8sv1.ResourceMemory: resource.MustParse("2M"), - }, - }, + Name: hotplugDisk, + Image: t.launcherImage, + Command: command, + Resources: hotplugContainerResourceRequirementsForVMI(vmi), SecurityContext: &k8sv1.SecurityContext{ SELinuxOptions: &k8sv1.SELinuxOptions{ // FIXME: Forcing an SELinux level without categories is a security risk @@ -744,7 +736,6 @@ func (t *templateService) RenderHotplugAttachmentPodTemplate(volumes []*v1.Volum // enter the mount namespace of virt-launcher and check the level of any file/directory. // We need a way to ask virt-handler to do that. Level: "s0", - Type: t.clusterConfig.GetSELinuxLauncherType(), }, }, VolumeMounts: []k8sv1.VolumeMount{ @@ -825,7 +816,7 @@ func (t *templateService) RenderHotplugAttachmentPodTemplate(volumes []*v1.Volum return pod, nil } -func (t *templateService) RenderHotplugAttachmentTriggerPodTemplate(volume *v1.Volume, ownerPod *k8sv1.Pod, _ *v1.VirtualMachineInstance, pvcName string, isBlock bool, tempPod bool) (*k8sv1.Pod, error) { +func (t *templateService) RenderHotplugAttachmentTriggerPodTemplate(volume *v1.Volume, ownerPod *k8sv1.Pod, vmi *v1.VirtualMachineInstance, pvcName string, isBlock bool, tempPod bool) (*k8sv1.Pod, error) { zero := int64(0) sharedMount := k8sv1.MountPropagationHostToContainer var command []string @@ -861,22 +852,12 @@ func (t *templateService) RenderHotplugAttachmentTriggerPodTemplate(volume *v1.V Spec: k8sv1.PodSpec{ Containers: []k8sv1.Container{ { - Name: hotplugDisk, - Image: t.launcherImage, - Command: command, - Resources: k8sv1.ResourceRequirements{ //Took the request and limits from containerDisk init container. - Limits: map[k8sv1.ResourceName]resource.Quantity{ - k8sv1.ResourceCPU: resource.MustParse("100m"), - k8sv1.ResourceMemory: resource.MustParse("80M"), - }, - Requests: map[k8sv1.ResourceName]resource.Quantity{ - k8sv1.ResourceCPU: resource.MustParse("10m"), - k8sv1.ResourceMemory: resource.MustParse("2M"), - }, - }, + Name: hotplugDisk, + Image: t.launcherImage, + Command: command, + Resources: hotplugContainerResourceRequirementsForVMI(vmi), SecurityContext: &k8sv1.SecurityContext{ SELinuxOptions: &k8sv1.SELinuxOptions{ - Type: t.clusterConfig.GetSELinuxLauncherType(), Level: "s0", }, }, @@ -969,6 +950,10 @@ func (t *templateService) RenderExporterManifest(vmExport *exportv1.VirtualMachi }, }, }, + SecurityContext: &k8sv1.SecurityContext{ + AllowPrivilegeEscalation: pointer.Bool(false), + Capabilities: &k8sv1.Capabilities{Drop: []k8sv1.Capability{"ALL"}}, + }, }, }, }, @@ -1115,7 +1100,20 @@ func wrapGuestAgentPingWithVirtProbe(vmi *v1.VirtualMachineInstance, probe *k8sv return } -func alignPodMultiCategorySecurity(pod *k8sv1.Pod, selinuxType string, dockerSELinuxMCSWorkaround bool) { +func alignPodMultiCategorySecurity(pod *k8sv1.Pod, vmi *v1.VirtualMachineInstance, selinuxType string, dockerSELinuxMCSWorkaround bool) { + if selinuxType == "" { + if util.HasHugePages(vmi) || util.IsVMIVirtiofsEnabled(vmi) || util.IsPasstVMI(vmi) { + // If no SELinux type was specified, use our custom type for VMIs that need it + selinuxType = customSELinuxType + } else { + // If no SELinux type was specified and the VMI can run as container_t, do nothing + return + } + } + + if pod.Spec.SecurityContext == nil { + pod.Spec.SecurityContext = &k8sv1.PodSecurityContext{} + } pod.Spec.SecurityContext.SELinuxOptions = &k8sv1.SELinuxOptions{Type: selinuxType} // more info on https://github.com/kubernetes/kubernetes/issues/90759 // Since the compute container needs to be able to communicate with the diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/generated_mock_hinter.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/generated_mock_hinter.go index 2e152c8619..4fc6f37794 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/generated_mock_hinter.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/generated_mock_hinter.go @@ -41,14 +41,14 @@ func (_mr *_MockHinterRecorder) TopologyHintsForVMI(arg0 interface{}) *gomock.Ca return _mr.mock.ctrl.RecordCall(_mr.mock, "TopologyHintsForVMI", arg0) } -func (_m *MockHinter) IsTscFrequencyRequiredForBoot(vmi *v1.VirtualMachineInstance) bool { - ret := _m.ctrl.Call(_m, "IsTscFrequencyRequiredForBoot", vmi) +func (_m *MockHinter) IsTscFrequencyRequired(vmi *v1.VirtualMachineInstance) bool { + ret := _m.ctrl.Call(_m, "IsTscFrequencyRequired", vmi) ret0, _ := ret[0].(bool) return ret0 } -func (_mr *_MockHinterRecorder) IsTscFrequencyRequiredForBoot(arg0 interface{}) *gomock.Call { - return _mr.mock.ctrl.RecordCall(_mr.mock, "IsTscFrequencyRequiredForBoot", arg0) +func (_mr *_MockHinterRecorder) IsTscFrequencyRequired(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "IsTscFrequencyRequired", arg0) } func (_m *MockHinter) TSCFrequenciesInUse() []int64 { diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/hinter.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/hinter.go index b686d3c8c1..ab52a1a275 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/hinter.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/hinter.go @@ -15,7 +15,7 @@ import ( type Hinter interface { TopologyHintsForVMI(vmi *k6tv1.VirtualMachineInstance) (hints *k6tv1.TopologyHints, requirement TscFrequencyRequirementType, err error) - IsTscFrequencyRequiredForBoot(vmi *k6tv1.VirtualMachineInstance) bool + IsTscFrequencyRequired(vmi *k6tv1.VirtualMachineInstance) bool TSCFrequenciesInUse() []int64 LowestTSCFrequencyOnCluster() (int64, error) } @@ -27,8 +27,8 @@ type topologyHinter struct { arch string } -func (t *topologyHinter) IsTscFrequencyRequiredForBoot(vmi *k6tv1.VirtualMachineInstance) bool { - return t.arch == "amd64" && GetTscFrequencyRequirement(vmi).Type == RequiredForBoot +func (t *topologyHinter) IsTscFrequencyRequired(vmi *k6tv1.VirtualMachineInstance) bool { + return t.arch == "amd64" && GetTscFrequencyRequirement(vmi).Type != NotRequired } func (t *topologyHinter) TopologyHintsForVMI(vmi *k6tv1.VirtualMachineInstance) (hints *k6tv1.TopologyHints, requirement TscFrequencyRequirementType, err error) { @@ -59,9 +59,6 @@ func (t *topologyHinter) LowestTSCFrequencyOnCluster() (int64, error) { HasInvTSCFrequency, ) freq := LowestTSCFrequency(nodes) - if freq == 0 { - return 0, fmt.Errorf("no schedulable node exposes a tsc-frequency") - } return freq, nil } @@ -69,7 +66,7 @@ func (t *topologyHinter) TSCFrequenciesInUse() []int64 { frequencyMap := map[int64]struct{}{} for _, obj := range t.vmiStore.List() { vmi := obj.(*k6tv1.VirtualMachineInstance) - if vmi.Status.TopologyHints != nil && vmi.Status.TopologyHints.TSCFrequency != nil { + if AreTSCFrequencyTopologyHintsDefined(vmi) { frequencyMap[*vmi.Status.TopologyHints.TSCFrequency] = struct{}{} } } diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/tsc.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/tsc.go index 376796eb1a..ebde09aa63 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/tsc.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/topology/tsc.go @@ -123,11 +123,18 @@ func ToTSCSchedulableLabel(frequency int64) string { } func AreTSCFrequencyTopologyHintsDefined(vmi *k6tv1.VirtualMachineInstance) bool { - return vmi != nil && vmi.Status.TopologyHints != nil && vmi.Status.TopologyHints.TSCFrequency != nil + if vmi == nil { + return false + } + + topologyHints := vmi.Status.TopologyHints + return topologyHints != nil && topologyHints.TSCFrequency != nil && *topologyHints.TSCFrequency > 0 } func IsManualTSCFrequencyRequired(vmi *k6tv1.VirtualMachineInstance) bool { - return GetTscFrequencyRequirement(vmi).Type != NotRequired + return vmi != nil && + GetTscFrequencyRequirement(vmi).Type != NotRequired && + AreTSCFrequencyTopologyHintsDefined(vmi) } func GetTscFrequencyRequirement(vmi *k6tv1.VirtualMachineInstance) TscFrequencyRequirement { diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go index d8c2169cf2..ae9b498630 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -330,11 +330,6 @@ func (in *CPUTune) DeepCopyInto(out *CPUTune) { *out = new(CPUEmulatorPin) **out = **in } - if in.VCPUScheduler != nil { - in, out := &in.VCPUScheduler, &out.VCPUScheduler - *out = new(VCPUScheduler) - **out = **in - } return } @@ -3016,22 +3011,6 @@ func (in *VCPU) DeepCopy() *VCPU { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VCPUScheduler) DeepCopyInto(out *VCPUScheduler) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUScheduler. -func (in *VCPUScheduler) DeepCopy() *VCPUScheduler { - if in == nil { - return nil - } - out := new(VCPUScheduler) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Video) DeepCopyInto(out *Video) { *out = *in diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go index 8cfbe44f4c..871b3fd0df 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go @@ -203,10 +203,9 @@ type DomainSpec struct { } type CPUTune struct { - VCPUPin []CPUTuneVCPUPin `xml:"vcpupin"` - IOThreadPin []CPUTuneIOThreadPin `xml:"iothreadpin,omitempty"` - EmulatorPin *CPUEmulatorPin `xml:"emulatorpin"` - VCPUScheduler *VCPUScheduler `xml:"vcpusched,omitempty"` + VCPUPin []CPUTuneVCPUPin `xml:"vcpupin"` + IOThreadPin []CPUTuneIOThreadPin `xml:"iothreadpin,omitempty"` + EmulatorPin *CPUEmulatorPin `xml:"emulatorpin"` } type NUMATune struct { @@ -239,12 +238,6 @@ type CPUEmulatorPin struct { CPUSet string `xml:"cpuset,attr"` } -type VCPUScheduler struct { - Scheduler string `xml:"scheduler,attr"` - Priority uint `xml:"priority,attr"` - VCPUs string `xml:"vcpus,attr"` -} - type VCPU struct { Placement string `xml:"placement,attr"` CPUs uint32 `xml:",chardata"` diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/daemonsets.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/daemonsets.go index b6e9426d17..04fdec90c5 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/daemonsets.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/daemonsets.go @@ -22,12 +22,12 @@ const ( kubeletPodsPath = "/var/lib/kubelet/pods" ) -func NewHandlerDaemonSet(namespace string, repository string, imagePrefix string, version string, launcherVersion string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, migrationNetwork *string, verbosity string, extraEnv map[string]string) (*appsv1.DaemonSet, error) { +func NewHandlerDaemonSet(namespace, repository, imagePrefix, version, launcherVersion, productName, productVersion, productComponent, image, launcherImage string, pullPolicy corev1.PullPolicy, migrationNetwork *string, verbosity string, extraEnv map[string]string) (*appsv1.DaemonSet, error) { deploymentName := VirtHandlerName imageName := fmt.Sprintf("%s%s", imagePrefix, deploymentName) env := operatorutil.NewEnvVarMap(extraEnv) - podTemplateSpec, err := newPodTemplateSpec(deploymentName, imageName, repository, version, productName, productVersion, productComponent, pullPolicy, nil, env) + podTemplateSpec, err := newPodTemplateSpec(deploymentName, imageName, repository, version, productName, productVersion, productComponent, image, pullPolicy, nil, env) if err != nil { return nil, err } @@ -83,13 +83,16 @@ func NewHandlerDaemonSet(namespace string, repository string, imagePrefix string // nodelabeller currently only support x86 if virtconfig.IsAMD64(runtime.GOARCH) { launcherVersion = AddVersionSeparatorPrefix(launcherVersion) + if launcherImage == "" { + launcherImage = fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-launcher", launcherVersion) + } pod.InitContainers = []corev1.Container{ { Command: []string{ "/bin/sh", "-c", }, - Image: fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-launcher", launcherVersion), + Image: launcherImage, Name: "virt-launcher", Args: []string{ "node-labeller.sh", @@ -266,7 +269,7 @@ func NewHandlerDaemonSet(namespace string, repository string, imagePrefix string container.Resources = corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), - corev1.ResourceMemory: resource.MustParse("230Mi"), + corev1.ResourceMemory: resource.MustParse("300Mi"), }, } diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/deployments.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/deployments.go index 9af5312871..8115b48802 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/deployments.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/deployments.go @@ -16,6 +16,7 @@ * Copyright 2018 Red Hat, Inc. * */ + package components import ( @@ -150,9 +151,11 @@ func NewExportProxyService(namespace string) *corev1.Service { } } -func newPodTemplateSpec(podName string, imageName string, repository string, version string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, podAffinity *corev1.Affinity, envVars *[]corev1.EnvVar) (*corev1.PodTemplateSpec, error) { +func newPodTemplateSpec(podName, imageName, repository, version, productName, productVersion, productComponent, image string, pullPolicy corev1.PullPolicy, podAffinity *corev1.Affinity, envVars *[]corev1.EnvVar) (*corev1.PodTemplateSpec, error) { - version = AddVersionSeparatorPrefix(version) + if image == "" { + image = fmt.Sprintf("%s/%s%s", repository, imageName, AddVersionSeparatorPrefix(version)) + } podTemplateSpec := &corev1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ @@ -169,7 +172,7 @@ func newPodTemplateSpec(podName string, imageName string, repository string, ver Containers: []corev1.Container{ { Name: podName, - Image: fmt.Sprintf("%s/%s%s", repository, imageName, version), + Image: image, ImagePullPolicy: pullPolicy, }, }, @@ -233,9 +236,9 @@ func attachCertificateSecret(spec *corev1.PodSpec, secretName string, mountPath spec.Containers[0].VolumeMounts = append(spec.Containers[0].VolumeMounts, secretVolumeMount) } -func newBaseDeployment(deploymentName string, imageName string, namespace string, repository string, version string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, podAffinity *corev1.Affinity, envVars *[]corev1.EnvVar) (*appsv1.Deployment, error) { +func newBaseDeployment(deploymentName, imageName, namespace, repository, version, productName, productVersion, productComponent, image string, pullPolicy corev1.PullPolicy, podAffinity *corev1.Affinity, envVars *[]corev1.EnvVar) (*appsv1.Deployment, error) { - podTemplateSpec, err := newPodTemplateSpec(deploymentName, imageName, repository, version, productName, productVersion, productComponent, pullPolicy, podAffinity, envVars) + podTemplateSpec, err := newPodTemplateSpec(deploymentName, imageName, repository, version, productName, productVersion, productComponent, image, pullPolicy, podAffinity, envVars) if err != nil { return nil, err } @@ -303,12 +306,12 @@ func newPodAntiAffinity(key, topologyKey string, operator metav1.LabelSelectorOp } } -func NewApiServerDeployment(namespace string, repository string, imagePrefix string, version string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { +func NewApiServerDeployment(namespace, repository, imagePrefix, version, productName, productVersion, productComponent, image string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { podAntiAffinity := newPodAntiAffinity(kubevirtLabelKey, kubernetesHostnameTopologyKey, metav1.LabelSelectorOpIn, []string{VirtAPIName}) deploymentName := VirtAPIName imageName := fmt.Sprintf("%s%s", imagePrefix, deploymentName) env := operatorutil.NewEnvVarMap(extraEnv) - deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, version, productName, productVersion, productComponent, pullPolicy, podAntiAffinity, env) + deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, version, productName, productVersion, productComponent, image, pullPolicy, podAntiAffinity, env) if err != nil { return nil, err } @@ -367,7 +370,7 @@ func NewApiServerDeployment(namespace string, repository string, imagePrefix str container.Resources = corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("5m"), - corev1.ResourceMemory: resource.MustParse("250Mi"), + corev1.ResourceMemory: resource.MustParse("300Mi"), }, } @@ -381,16 +384,23 @@ func NewApiServerDeployment(namespace string, repository string, imagePrefix str return deployment, nil } -func NewControllerDeployment(namespace string, repository string, imagePrefix string, controllerVersion string, launcherVersion string, exportServerVersion string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { +func NewControllerDeployment(namespace, repository, imagePrefix, controllerVersion, launcherVersion, exportServerVersion, productName, productVersion, productComponent, image, launcherImage, exporterImage string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { podAntiAffinity := newPodAntiAffinity(kubevirtLabelKey, kubernetesHostnameTopologyKey, metav1.LabelSelectorOpIn, []string{VirtControllerName}) deploymentName := VirtControllerName imageName := fmt.Sprintf("%s%s", imagePrefix, deploymentName) env := operatorutil.NewEnvVarMap(extraEnv) - deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, controllerVersion, productName, productVersion, productComponent, pullPolicy, podAntiAffinity, env) + deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, controllerVersion, productName, productVersion, productComponent, image, pullPolicy, podAntiAffinity, env) if err != nil { return nil, err } + if launcherImage == "" { + launcherImage = fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-launcher", AddVersionSeparatorPrefix(launcherVersion)) + } + if exporterImage == "" { + exporterImage = fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-exportserver", AddVersionSeparatorPrefix(exportServerVersion)) + } + pod := &deployment.Spec.Template.Spec pod.ServiceAccountName = rbac.ControllerServiceAccountName pod.SecurityContext = &corev1.PodSecurityContext{ @@ -398,18 +408,15 @@ func NewControllerDeployment(namespace string, repository string, imagePrefix st SeccompProfile: &corev1.SeccompProfile{Type: corev1.SeccompProfileTypeRuntimeDefault}, } - launcherVersion = AddVersionSeparatorPrefix(launcherVersion) - exportServerVersion = AddVersionSeparatorPrefix(exportServerVersion) - container := &deployment.Spec.Template.Spec.Containers[0] container.Command = []string{ VirtControllerName, } container.Args = []string{ "--launcher-image", - fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-launcher", launcherVersion), + launcherImage, "--exporter-image", - fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, "virt-exportserver", exportServerVersion), + exporterImage, portName, "8443", "-v", @@ -474,15 +481,16 @@ func NewControllerDeployment(namespace string, repository string, imagePrefix st } // Used for manifest generation only -func NewOperatorDeployment(namespace string, repository string, imagePrefix string, version string, - pullPolicy corev1.PullPolicy, verbosity string, - kubeVirtVersionEnv string, virtApiShaEnv string, virtControllerShaEnv string, - virtHandlerShaEnv string, virtLauncherShaEnv string, virtExportProxyShaEnv string, virtExportServerShaEnv string, gsShaEnv string) (*appsv1.Deployment, error) { +func NewOperatorDeployment(namespace, repository, imagePrefix, version, verbosity, kubeVirtVersionEnv, virtApiShaEnv, virtControllerShaEnv, virtHandlerShaEnv, virtLauncherShaEnv, virtExportProxyShaEnv, + virtExportServerShaEnv, gsShaEnv, virtApiImageEnv, virtControllerImageEnv, virtHandlerImageEnv, virtLauncherImageEnv, virtExportProxyImageEnv, virtExportServerImageEnv, gsImage, + image string, pullPolicy corev1.PullPolicy) (*appsv1.Deployment, error) { const kubernetesOSLinux = "linux" podAntiAffinity := newPodAntiAffinity(kubevirtLabelKey, kubernetesHostnameTopologyKey, metav1.LabelSelectorOpIn, []string{VirtOperatorName}) version = AddVersionSeparatorPrefix(version) - image := fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, VirtOperatorName, version) + if image == "" { + image = fmt.Sprintf("%s/%s%s%s", repository, imagePrefix, VirtOperatorName, version) + } deployment := &appsv1.Deployment{ TypeMeta: metav1.TypeMeta{ @@ -565,7 +573,7 @@ func NewOperatorDeployment(namespace string, repository string, imagePrefix stri }, Env: []corev1.EnvVar{ { - Name: operatorutil.OperatorImageEnvName, + Name: operatorutil.VirtOperatorImageEnvName, Value: image, }, { @@ -580,7 +588,7 @@ func NewOperatorDeployment(namespace string, repository string, imagePrefix stri Resources: corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("10m"), - corev1.ResourceMemory: resource.MustParse("250Mi"), + corev1.ResourceMemory: resource.MustParse("400Mi"), }, }, SecurityContext: &corev1.SecurityContext{ @@ -601,46 +609,14 @@ func NewOperatorDeployment(namespace string, repository string, imagePrefix stri }, } - if virtApiShaEnv != "" && virtControllerShaEnv != "" && virtHandlerShaEnv != "" && virtLauncherShaEnv != "" && kubeVirtVersionEnv != "" { - shaSums := []corev1.EnvVar{ - { - Name: operatorutil.KubeVirtVersionEnvName, - Value: kubeVirtVersionEnv, - }, - { - Name: operatorutil.VirtApiShasumEnvName, - Value: virtApiShaEnv, - }, - { - Name: operatorutil.VirtControllerShasumEnvName, - Value: virtControllerShaEnv, - }, - { - Name: operatorutil.VirtHandlerShasumEnvName, - Value: virtHandlerShaEnv, - }, - { - Name: operatorutil.VirtLauncherShasumEnvName, - Value: virtLauncherShaEnv, - }, - { - Name: operatorutil.VirtExportProxyShasumEnvName, - Value: virtExportProxyShaEnv, - }, - { - Name: operatorutil.VirtExportServerShasumEnvName, - Value: virtExportServerShaEnv, - }, - } - if gsShaEnv != "" { - shaSums = append(shaSums, corev1.EnvVar{ - Name: operatorutil.GsEnvShasumName, - Value: gsShaEnv, - }) - } - env := deployment.Spec.Template.Spec.Containers[0].Env - env = append(env, shaSums...) - deployment.Spec.Template.Spec.Containers[0].Env = env + envVars := generateVirtOperatorEnvVars( + virtApiShaEnv, virtControllerShaEnv, virtHandlerShaEnv, virtLauncherShaEnv, virtExportProxyShaEnv, virtExportServerShaEnv, + gsShaEnv, virtApiImageEnv, virtControllerImageEnv, virtHandlerImageEnv, virtLauncherImageEnv, virtExportProxyImageEnv, + virtExportServerImageEnv, gsImage, kubeVirtVersionEnv, + ) + + if envVars != nil { + deployment.Spec.Template.Spec.Containers[0].Env = append(deployment.Spec.Template.Spec.Containers[0].Env, envVars...) } attachCertificateSecret(&deployment.Spec.Template.Spec, VirtOperatorCertSecretName, "/etc/virt-operator/certificates") @@ -649,12 +625,12 @@ func NewOperatorDeployment(namespace string, repository string, imagePrefix stri return deployment, nil } -func NewExportProxyDeployment(namespace string, repository string, imagePrefix string, version string, productName string, productVersion string, productComponent string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { +func NewExportProxyDeployment(namespace, repository, imagePrefix, version, productName, productVersion, productComponent, image string, pullPolicy corev1.PullPolicy, verbosity string, extraEnv map[string]string) (*appsv1.Deployment, error) { podAntiAffinity := newPodAntiAffinity(kubevirtLabelKey, kubernetesHostnameTopologyKey, metav1.LabelSelectorOpIn, []string{VirtAPIName}) deploymentName := VirtExportProxyName imageName := fmt.Sprintf("%s%s", imagePrefix, deploymentName) env := operatorutil.NewEnvVarMap(extraEnv) - deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, version, productName, productVersion, productComponent, pullPolicy, podAntiAffinity, env) + deployment, err := newBaseDeployment(deploymentName, imageName, namespace, repository, version, productName, productVersion, productComponent, image, pullPolicy, podAntiAffinity, env) if err != nil { return nil, err } @@ -768,3 +744,66 @@ func NewPodDisruptionBudgetForDeployment(deployment *appsv1.Deployment) *policyv } return podDisruptionBudget } + +func generateVirtOperatorEnvVars(virtApiShaEnv, virtControllerShaEnv, virtHandlerShaEnv, virtLauncherShaEnv, virtExportProxyShaEnv, + virtExportServerShaEnv, gsShaEnv, virtApiImageEnv, virtControllerImageEnv, virtHandlerImageEnv, virtLauncherImageEnv, virtExportProxyImageEnv, + virtExportServerImageEnv, gsImage, kubeVirtVersionEnv string) (envVars []corev1.EnvVar) { + + addEnvVar := func(envVarName, envVarValue string) { + envVars = append(envVars, corev1.EnvVar{ + Name: envVarName, + Value: envVarValue, + }) + } + + // Since sha environment variables are being deprecated in favor of the new full-image variables, they are being ignored + // if full-image variables exist. This can be simplified once the deprecated environment variables would be removed. + + if virtApiImageEnv != "" { + addEnvVar(operatorutil.VirtApiImageEnvName, virtApiImageEnv) + } else if virtApiShaEnv != "" { + addEnvVar(operatorutil.VirtApiShasumEnvName, virtApiShaEnv) + } + + if virtControllerImageEnv != "" { + addEnvVar(operatorutil.VirtControllerImageEnvName, virtControllerImageEnv) + } else if virtControllerShaEnv != "" { + addEnvVar(operatorutil.VirtControllerShasumEnvName, virtControllerShaEnv) + } + + if virtHandlerImageEnv != "" { + addEnvVar(operatorutil.VirtHandlerImageEnvName, virtHandlerImageEnv) + } else if virtHandlerShaEnv != "" { + addEnvVar(operatorutil.VirtHandlerShasumEnvName, virtHandlerShaEnv) + } + + if virtLauncherImageEnv != "" { + addEnvVar(operatorutil.VirtLauncherImageEnvName, virtLauncherImageEnv) + } else if virtLauncherShaEnv != "" { + addEnvVar(operatorutil.VirtLauncherShasumEnvName, virtLauncherShaEnv) + } + + if virtExportProxyImageEnv != "" { + addEnvVar(operatorutil.VirtExportProxyImageEnvName, virtExportProxyImageEnv) + } else if virtExportProxyShaEnv != "" { + addEnvVar(operatorutil.VirtExportProxyShasumEnvName, virtExportProxyShaEnv) + } + + if virtExportServerImageEnv != "" { + addEnvVar(operatorutil.VirtExportServerImageEnvName, virtExportServerImageEnv) + } else if virtExportServerShaEnv != "" { + addEnvVar(operatorutil.VirtExportServerShasumEnvName, virtExportServerShaEnv) + } + + if gsImage != "" { + addEnvVar(operatorutil.GsImageEnvName, gsImage) + } else if gsShaEnv != "" { + addEnvVar(operatorutil.GsEnvShasumName, gsShaEnv) + } + + if kubeVirtVersionEnv != "" { + addEnvVar(operatorutil.KubeVirtVersionEnvName, kubeVirtVersionEnv) + } + + return envVars +} diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/prometheus.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/prometheus.go index 702ac68ecb..31fd6e2686 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/prometheus.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/prometheus.go @@ -2,6 +2,7 @@ package components import ( "fmt" + "strings" "github.com/coreos/prometheus-operator/pkg/apis/monitoring" v1 "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1" @@ -89,6 +90,30 @@ func NewPrometheusRuleSpec(ns string, workloadUpdatesEnabled bool) *v1.Prometheu errorRatioQuery := "sum ( rate ( rest_client_requests_total{namespace=\"%s\",pod=~\"%s-.*\",code=~\"%s\"} [%dm] ) ) / sum ( rate ( rest_client_requests_total{namespace=\"%s\",pod=~\"%s-.*\"} [%dm] ) )" return fmt.Sprintf(errorRatioQuery, ns, podName, errorCodeRegex, durationInMinutes, ns, podName, durationInMinutes) } + + vmStuckInStatusRule := func(status string) v1.Rule { + const fiveMinutesInSec = 60 * 5 + + alertName := fmt.Sprintf("KubeVirtVMStuckIn%sState", strings.Title(status)) + metric := fmt.Sprintf("kubevirt_vm_%s_status_last_transition_timestamp_seconds", status) + expr := fmt.Sprintf("time() - %s >= %d and %s != 0", metric, fiveMinutesInSec, metric) + description := fmt.Sprintf("VirtualMachine {{ $labels.name }} is in %s state for {{ humanizeDuration $value }}", status) + summary := fmt.Sprintf("A Virtual Machine has been in an unwanted %s state for more than 5 minutes", status) + + return v1.Rule{ + Alert: alertName, + Expr: intstr.FromString(expr), + Annotations: map[string]string{ + "description": description, + "summary": summary, + "runbook_url": runbookUrlBasePath + alertName, + }, + Labels: map[string]string{ + severityAlertLabelKey: "warning", + }, + } + } + ruleSpec := &v1.PrometheusRuleSpec{ Groups: []v1.RuleGroup{ { @@ -486,8 +511,7 @@ func NewPrometheusRuleSpec(ns string, workloadUpdatesEnabled bool) *v1.Prometheu }, { Alert: "KubeVirtVMIExcessiveMigrations", - Expr: intstr.FromString("floor(increase(sum by (vmi) (kubevirt_migrate_vmi_succeeded_total)[1d:1m])) >= 12"), - For: "1m", + Expr: intstr.FromString("sum by (vmi) (max_over_time(kubevirt_migrate_vmi_succeeded[1d])) >= 12"), Annotations: map[string]string{ "description": "VirtualMachineInstance {{ $labels.vmi }} has been migrated more than 12 times during the last 24 hours", "summary": "An excessive amount of migrations have been detected on a VirtualMachineInstance in the last 24 hours.", @@ -497,6 +521,9 @@ func NewPrometheusRuleSpec(ns string, workloadUpdatesEnabled bool) *v1.Prometheu severityAlertLabelKey: "warning", }, }, + vmStuckInStatusRule("starting"), + vmStuckInStatusRule("migrating"), + vmStuckInStatusRule("error"), }, }, }, diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/scc.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/scc.go index 32775babad..b04d67cbfd 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/scc.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/scc.go @@ -74,6 +74,10 @@ func NewKubeVirtControllerSCC(namespace string) *secv1.SecurityContextConstraint scc.SELinuxContext = secv1.SELinuxContextStrategyOptions{ Type: secv1.SELinuxStrategyRunAsAny, } + scc.SeccompProfiles = []string{ + "runtime/default", + "unconfined", + } scc.AllowedCapabilities = []corev1.Capability{ // add CAP_SYS_NICE capability to allow setting cpu affinity "SYS_NICE", diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/validations_generated.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/validations_generated.go index ff1519a703..b2dce8fcd9 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/validations_generated.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/components/validations_generated.go @@ -7805,6 +7805,12 @@ var CRDsValidation map[string]string = map[string]string{ description: TokenSecretRef is the name of the custom-defined secret that contains the token used by the export server pod type: string + ttlDuration: + description: ttlDuration limits the lifetime of an export If this field + is set, after this duration has passed from counting from CreationTimestamp, + the export is eligible to be automatically deleted. If this field is omitted, + a reasonable default is applied. + type: string required: - source type: object @@ -7950,6 +7956,11 @@ var CRDsValidation map[string]string = map[string]string{ description: TokenSecretRef is the name of the secret that contains the token used by the export server pod type: string + ttlExpirationTime: + description: The time at which the VM Export will be completely removed + according to specified TTL Formula is CreationTimestamp + TTL + format: date-time + type: string type: object required: - spec diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/cluster.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/cluster.go index f4cdc558df..a54f30f788 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/cluster.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/cluster.go @@ -33,6 +33,8 @@ import ( const ( GroupNameSubresources = "subresources.kubevirt.io" GroupNameSnapshot = "snapshot.kubevirt.io" + GroupNameExport = "export.kubevirt.io" + GroupNameClone = "clone.kubevirt.io" GroupNameInstancetype = "instancetype.kubevirt.io" GroupNamePool = "pool.kubevirt.io" NameDefault = "kubevirt.io:default" @@ -141,6 +143,7 @@ func newAdminClusterRole() *rbacv1.ClusterRole { "virtualmachineinstances/console", "virtualmachineinstances/vnc", "virtualmachineinstances/vnc/screenshot", + "virtualmachineinstances/portforward", VMInstancesGuestOSInfo, VMInstancesFileSysList, VMInstancesUserList, @@ -161,12 +164,23 @@ func newAdminClusterRole() *rbacv1.ClusterRole { "virtualmachineinstances/freeze", "virtualmachineinstances/unfreeze", "virtualmachineinstances/softreboot", - "virtualmachineinstances/portforward", }, Verbs: []string{ "update", }, }, + { + APIGroups: []string{ + GroupNameSubresources, + }, + Resources: []string{ + "virtualmachines/expand-spec", + "virtualmachines/portforward", + }, + Verbs: []string{ + "get", + }, + }, { APIGroups: []string{ GroupNameSubresources, @@ -184,6 +198,17 @@ func newAdminClusterRole() *rbacv1.ClusterRole { "update", }, }, + { + APIGroups: []string{ + GroupNameSubresources, + }, + Resources: []string{ + "expand-vm-spec", + }, + Verbs: []string{ + "update", + }, + }, { APIGroups: []string{ GroupName, @@ -212,6 +237,28 @@ func newAdminClusterRole() *rbacv1.ClusterRole { "get", "delete", "create", "update", "patch", "list", "watch", "deletecollection", }, }, + { + APIGroups: []string{ + GroupNameExport, + }, + Resources: []string{ + "virtualmachineexports", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", "deletecollection", + }, + }, + { + APIGroups: []string{ + GroupNameClone, + }, + Resources: []string{ + "virtualmachineclones", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", "deletecollection", + }, + }, { APIGroups: []string{ GroupNameInstancetype, @@ -274,6 +321,7 @@ func newEditClusterRole() *rbacv1.ClusterRole { "virtualmachineinstances/console", "virtualmachineinstances/vnc", "virtualmachineinstances/vnc/screenshot", + "virtualmachineinstances/portforward", VMInstancesGuestOSInfo, VMInstancesFileSysList, VMInstancesUserList, @@ -294,12 +342,23 @@ func newEditClusterRole() *rbacv1.ClusterRole { "virtualmachineinstances/freeze", "virtualmachineinstances/unfreeze", "virtualmachineinstances/softreboot", - "virtualmachineinstances/portforward", }, Verbs: []string{ "update", }, }, + { + APIGroups: []string{ + GroupNameSubresources, + }, + Resources: []string{ + "virtualmachines/expand-spec", + "virtualmachines/portforward", + }, + Verbs: []string{ + "get", + }, + }, { APIGroups: []string{ GroupNameSubresources, @@ -317,6 +376,17 @@ func newEditClusterRole() *rbacv1.ClusterRole { "update", }, }, + { + APIGroups: []string{ + GroupNameSubresources, + }, + Resources: []string{ + "expand-vm-spec", + }, + Verbs: []string{ + "update", + }, + }, { APIGroups: []string{ GroupName, @@ -345,6 +415,28 @@ func newEditClusterRole() *rbacv1.ClusterRole { "get", "delete", "create", "update", "patch", "list", "watch", }, }, + { + APIGroups: []string{ + GroupNameExport, + }, + Resources: []string{ + "virtualmachineexports", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", + }, + }, + { + APIGroups: []string{ + GroupNameClone, + }, + Resources: []string{ + "virtualmachineclones", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", + }, + }, { APIGroups: []string{ GroupNameInstancetype, @@ -415,6 +507,7 @@ func newViewClusterRole() *rbacv1.ClusterRole { GroupNameSubresources, }, Resources: []string{ + "virtualmachines/expand-spec", VMInstancesGuestOSInfo, VMInstancesFileSysList, VMInstancesUserList, @@ -423,6 +516,17 @@ func newViewClusterRole() *rbacv1.ClusterRole { "get", }, }, + { + APIGroups: []string{ + GroupNameSubresources, + }, + Resources: []string{ + "expand-vm-spec", + }, + Verbs: []string{ + "update", + }, + }, { APIGroups: []string{ GroupName, @@ -451,6 +555,28 @@ func newViewClusterRole() *rbacv1.ClusterRole { "get", "list", "watch", }, }, + { + APIGroups: []string{ + GroupNameExport, + }, + Resources: []string{ + "virtualmachineexports", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + { + APIGroups: []string{ + GroupNameClone, + }, + Resources: []string{ + "virtualmachineclones", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, { APIGroups: []string{ GroupNameInstancetype, diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/controller.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/controller.go index 8da9f0a5da..2213a34332 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/controller.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/resource/generate/rbac/controller.go @@ -284,6 +284,7 @@ func newControllerClusterRole() *rbacv1.ClusterRole { "create", "delete", "get", + "update", }, }, { diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/BUILD.bazel index b111c1dcb1..ad7f502618 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/BUILD.bazel @@ -5,6 +5,7 @@ go_library( srcs = [ "client.go", "config.go", + "env_var_manager.go", "readycheck.go", "types.go", ], diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go index 33e4ffbb69..227f52a68b 100644 --- a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go @@ -25,7 +25,6 @@ import ( "encoding/hex" "encoding/json" "fmt" - "os" "reflect" "regexp" "sort" @@ -39,15 +38,33 @@ import ( const ( // Name of env var containing the operator's image name - OperatorImageEnvName = "OPERATOR_IMAGE" - VirtApiShasumEnvName = "VIRT_API_SHASUM" - VirtControllerShasumEnvName = "VIRT_CONTROLLER_SHASUM" - VirtHandlerShasumEnvName = "VIRT_HANDLER_SHASUM" - VirtLauncherShasumEnvName = "VIRT_LAUNCHER_SHASUM" - VirtExportProxyShasumEnvName = "VIRT_EXPORTPROXY_SHASUM" + // Deprecated. Use VirtOperatorImageEnvName instead + OldOperatorImageEnvName = "OPERATOR_IMAGE" + VirtOperatorImageEnvName = "VIRT_OPERATOR_IMAGE" + VirtApiImageEnvName = "VIRT_API_IMAGE" + VirtControllerImageEnvName = "VIRT_CONTROLLER_IMAGE" + VirtHandlerImageEnvName = "VIRT_HANDLER_IMAGE" + VirtLauncherImageEnvName = "VIRT_LAUNCHER_IMAGE" + VirtExportProxyImageEnvName = "VIRT_EXPORTPROXY_IMAGE" + VirtExportServerImageEnvName = "VIRT_EXPORTSERVER_IMAGE" + GsImageEnvName = "GS_IMAGE" + + // The below Shasum variables would be ignored if Image env vars are being used. + // Deprecated, use VirtApiImageEnvName instead + VirtApiShasumEnvName = "VIRT_API_SHASUM" + // Deprecated, use VirtControllerImageEnvName instead + VirtControllerShasumEnvName = "VIRT_CONTROLLER_SHASUM" + // Deprecated, use VirtHandlerImageEnvName instead + VirtHandlerShasumEnvName = "VIRT_HANDLER_SHASUM" + // Deprecated, use VirtLauncherImageEnvName instead + VirtLauncherShasumEnvName = "VIRT_LAUNCHER_SHASUM" + // Deprecated, use VirtExportProxyImageEnvName instead + VirtExportProxyShasumEnvName = "VIRT_EXPORTPROXY_SHASUM" + // Deprecated, use VirtExportServerImageEnvName instead VirtExportServerShasumEnvName = "VIRT_EXPORTSERVER_SHASUM" - GsEnvShasumName = "GS_SHASUM" - KubeVirtVersionEnvName = "KUBEVIRT_VERSION" + // Deprecated, use GsImageEnvName instead + GsEnvShasumName = "GS_SHASUM" + KubeVirtVersionEnvName = "KUBEVIRT_VERSION" // Deprecated, use TargetDeploymentConfig instead TargetInstallNamespace = "TARGET_INSTALL_NAMESPACE" // Deprecated, use TargetDeploymentConfig instead @@ -108,6 +125,16 @@ type KubeVirtDeploymentConfig struct { // used on the KubeVirt CR status and on annotations, and for determining up-/downgrade path, even when using shasums for the images KubeVirtVersion string `json:"kubeVirtVersion,omitempty" optional:"true"` + // the images names of every image we use + VirtOperatorImage string `json:"virtOperatorImage,omitempty" optional:"true"` + VirtApiImage string `json:"virtApiImage,omitempty" optional:"true"` + VirtControllerImage string `json:"virtControllerImage,omitempty" optional:"true"` + VirtHandlerImage string `json:"virtHandlerImage,omitempty" optional:"true"` + VirtLauncherImage string `json:"virtLauncherImage,omitempty" optional:"true"` + VirtExportProxyImage string `json:"virtExportProxyImage,omitempty" optional:"true"` + VirtExportServerImage string `json:"virtExportServerImage,omitempty" optional:"true"` + GsImage string `json:"GsImage,omitempty" optional:"true"` + // the shasums of every image we use VirtOperatorSha string `json:"virtOperatorSha,omitempty" optional:"true"` VirtApiSha string `json:"virtApiSha,omitempty" optional:"true"` @@ -125,10 +152,15 @@ type KubeVirtDeploymentConfig struct { PassthroughEnvVars map[string]string `json:"passthroughEnvVars,omitempty" optional:"true"` } +var DefaultEnvVarManager EnvVarManager = EnvVarManagerImpl{} + func GetConfigFromEnv() (*KubeVirtDeploymentConfig, error) { + return GetConfigFromEnvWithEnvVarManager(DefaultEnvVarManager) +} +func GetConfigFromEnvWithEnvVarManager(envVarManager EnvVarManager) (*KubeVirtDeploymentConfig, error) { // first check if we have the new deployment config json - c := os.Getenv(TargetDeploymentConfig) + c := envVarManager.Getenv(TargetDeploymentConfig) if c != "" { config := &KubeVirtDeploymentConfig{} if err := json.Unmarshal([]byte(c), config); err != nil { @@ -138,7 +170,7 @@ func GetConfigFromEnv() (*KubeVirtDeploymentConfig, error) { } // for backwards compatibility: check for namespace and pullpolicy from deprecated env vars - ns := os.Getenv(TargetInstallNamespace) + ns := envVarManager.Getenv(TargetInstallNamespace) if ns == "" { var err error ns, err = clientutil.GetNamespace() @@ -147,15 +179,18 @@ func GetConfigFromEnv() (*KubeVirtDeploymentConfig, error) { } } - pullPolicy := os.Getenv(TargetImagePullPolicy) + pullPolicy := envVarManager.Getenv(TargetImagePullPolicy) additionalProperties := make(map[string]string) additionalProperties[AdditionalPropertiesNamePullPolicy] = pullPolicy - return getConfig("", "", ns, additionalProperties), nil - + return getConfig("", "", ns, additionalProperties, envVarManager), nil } func GetTargetConfigFromKV(kv *v1.KubeVirt) *KubeVirtDeploymentConfig { + return GetTargetConfigFromKVWithEnvVarManager(kv, DefaultEnvVarManager) +} + +func GetTargetConfigFromKVWithEnvVarManager(kv *v1.KubeVirt, envVarManager EnvVarManager) *KubeVirtDeploymentConfig { additionalProperties := getKVMapFromSpec(kv.Spec) if len(kv.Spec.WorkloadUpdateStrategy.WorkloadUpdateMethods) > 0 { additionalProperties[AdditionalPropertiesWorkloadUpdatesEnabled] = "" @@ -169,7 +204,8 @@ func GetTargetConfigFromKV(kv *v1.KubeVirt) *KubeVirtDeploymentConfig { return getConfig(kv.Spec.ImageRegistry, kv.Spec.ImageTag, kv.Namespace, - additionalProperties) + additionalProperties, + envVarManager) } // retrieve imagePrefix from an existing deployment config (which is stored as JSON) @@ -202,10 +238,23 @@ func getKVMapFromSpec(spec v1.KubeVirtSpec) map[string]string { return kvMap } -func getConfig(registry, tag, namespace string, additionalProperties map[string]string) *KubeVirtDeploymentConfig { +func GetOperatorImage() string { + return GetOperatorImageWithEnvVarManager(DefaultEnvVarManager) +} + +func GetOperatorImageWithEnvVarManager(envVarManager EnvVarManager) string { + image := envVarManager.Getenv(VirtOperatorImageEnvName) + if image != "" { + return image + } + + return envVarManager.Getenv(OldOperatorImageEnvName) +} + +func getConfig(registry, tag, namespace string, additionalProperties map[string]string, envVarManager EnvVarManager) *KubeVirtDeploymentConfig { // get registry and tag/shasum from operator image - imageString := os.Getenv(OperatorImageEnvName) + imageString := GetOperatorImageWithEnvVarManager(envVarManager) imageRegEx := regexp.MustCompile(operatorImageRegex) matches := imageRegEx.FindAllStringSubmatch(imageString, 1) @@ -246,20 +295,29 @@ func getConfig(registry, tag, namespace string, additionalProperties map[string] passthroughEnv := GetPassthroughEnv() - config := newDeploymentConfigWithTag(registry, imagePrefix, tag, namespace, additionalProperties, passthroughEnv) + operatorImage := GetOperatorImageWithEnvVarManager(envVarManager) + apiImage := envVarManager.Getenv(VirtApiImageEnvName) + controllerImage := envVarManager.Getenv(VirtControllerImageEnvName) + handlerImage := envVarManager.Getenv(VirtHandlerImageEnvName) + launcherImage := envVarManager.Getenv(VirtLauncherImageEnvName) + exportProxyImage := envVarManager.Getenv(VirtExportProxyImageEnvName) + exportServerImage := envVarManager.Getenv(VirtExportServerImageEnvName) + GsImage := envVarManager.Getenv(GsImageEnvName) + + config := newDeploymentConfigWithTag(registry, imagePrefix, tag, namespace, operatorImage, apiImage, controllerImage, handlerImage, launcherImage, exportProxyImage, exportServerImage, GsImage, additionalProperties, passthroughEnv) if skipShasums { return config } // get shasums - apiSha := os.Getenv(VirtApiShasumEnvName) - controllerSha := os.Getenv(VirtControllerShasumEnvName) - handlerSha := os.Getenv(VirtHandlerShasumEnvName) - launcherSha := os.Getenv(VirtLauncherShasumEnvName) - exportProxySha := os.Getenv(VirtExportProxyShasumEnvName) - exportServerSha := os.Getenv(VirtExportServerShasumEnvName) - gsSha := os.Getenv(GsEnvShasumName) - kubeVirtVersion := os.Getenv(KubeVirtVersionEnvName) + apiSha := envVarManager.Getenv(VirtApiShasumEnvName) + controllerSha := envVarManager.Getenv(VirtControllerShasumEnvName) + handlerSha := envVarManager.Getenv(VirtHandlerShasumEnvName) + launcherSha := envVarManager.Getenv(VirtLauncherShasumEnvName) + exportProxySha := envVarManager.Getenv(VirtExportProxyShasumEnvName) + exportServerSha := envVarManager.Getenv(VirtExportServerShasumEnvName) + gsSha := envVarManager.Getenv(GsEnvShasumName) + kubeVirtVersion := envVarManager.Getenv(KubeVirtVersionEnvName) if operatorSha != "" && apiSha != "" && controllerSha != "" && handlerSha != "" && launcherSha != "" && kubeVirtVersion != "" { config = newDeploymentConfigWithShasums(registry, imagePrefix, kubeVirtVersion, operatorSha, apiSha, controllerSha, handlerSha, launcherSha, exportProxySha, exportServerSha, gsSha, namespace, additionalProperties, passthroughEnv) } @@ -268,38 +326,27 @@ func getConfig(registry, tag, namespace string, additionalProperties map[string] } func VerifyEnv() error { + return VerifyEnvWithEnvVarManager(DefaultEnvVarManager) +} + +func VerifyEnvWithEnvVarManager(envVarManager EnvVarManager) error { // ensure the operator image is valid - imageString := os.Getenv(OperatorImageEnvName) + imageString := GetOperatorImageWithEnvVarManager(envVarManager) if imageString == "" { - return fmt.Errorf("empty env var %s for operator image", OperatorImageEnvName) - } - imageRegEx := regexp.MustCompile(operatorImageRegex) - matches := imageRegEx.FindAllStringSubmatch(imageString, 1) - if len(matches) != 1 || len(matches[0]) != 4 { - return fmt.Errorf("can not parse operator image env var %s", imageString) - } - - // ensure that all or no shasums are given - missingShas := make([]string, 0) - count := 0 - for _, name := range []string{VirtApiShasumEnvName, VirtControllerShasumEnvName, VirtHandlerShasumEnvName, VirtLauncherShasumEnvName, KubeVirtVersionEnvName} { - count++ - sha := os.Getenv(name) - if sha == "" { - missingShas = append(missingShas, name) - } - } - if len(missingShas) > 0 && len(missingShas) < count { - return fmt.Errorf("incomplete configuration, missing env vars %v", missingShas) + return fmt.Errorf("cannot find virt-operator's image") } return nil } func GetPassthroughEnv() map[string]string { + return GetPassthroughEnvWithEnvVarManager(DefaultEnvVarManager) +} + +func GetPassthroughEnvWithEnvVarManager(envVarManager EnvVarManager) map[string]string { passthroughEnv := map[string]string{} - for _, env := range os.Environ() { + for _, env := range envVarManager.Environ() { if strings.HasPrefix(env, PassthroughEnvPrefix) { split := strings.Split(env, "=") passthroughEnv[strings.TrimPrefix(split[0], PassthroughEnvPrefix)] = split[1] @@ -309,14 +356,22 @@ func GetPassthroughEnv() map[string]string { return passthroughEnv } -func newDeploymentConfigWithTag(registry, imagePrefix, tag, namespace string, kvSpec, passthroughEnv map[string]string) *KubeVirtDeploymentConfig { +func newDeploymentConfigWithTag(registry, imagePrefix, tag, namespace, operatorImage, apiImage, controllerImage, handlerImage, launcherImage, exportProxyImage, exportServerImage, gsImage string, kvSpec, passthroughEnv map[string]string) *KubeVirtDeploymentConfig { c := &KubeVirtDeploymentConfig{ - Registry: registry, - ImagePrefix: imagePrefix, - KubeVirtVersion: tag, - Namespace: namespace, - AdditionalProperties: kvSpec, - PassthroughEnvVars: passthroughEnv, + Registry: registry, + ImagePrefix: imagePrefix, + KubeVirtVersion: tag, + VirtOperatorImage: operatorImage, + VirtApiImage: apiImage, + VirtControllerImage: controllerImage, + VirtHandlerImage: handlerImage, + VirtLauncherImage: launcherImage, + VirtExportProxyImage: exportProxyImage, + VirtExportServerImage: exportServerImage, + GsImage: gsImage, + Namespace: namespace, + AdditionalProperties: kvSpec, + PassthroughEnvVars: passthroughEnv, } c.generateInstallStrategyID() return c diff --git a/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/env_var_manager.go b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/env_var_manager.go new file mode 100644 index 0000000000..a404665f0f --- /dev/null +++ b/tests/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/env_var_manager.go @@ -0,0 +1,60 @@ +package util + +import ( + "fmt" + "os" +) + +type EnvVarManager interface { + Getenv(key string) string + Setenv(key, value string) error + Unsetenv(key string) error + Environ() []string +} + +type EnvVarManagerImpl struct{} + +func (e EnvVarManagerImpl) Getenv(key string) string { + return os.Getenv(key) +} + +func (e EnvVarManagerImpl) Setenv(key, value string) error { + return os.Setenv(key, value) +} + +func (e EnvVarManagerImpl) Unsetenv(key string) error { + return os.Unsetenv(key) +} + +func (e EnvVarManagerImpl) Environ() []string { + return os.Environ() +} + +type EnvVarManagerMock struct { + envVars map[string]string +} + +func (e *EnvVarManagerMock) Getenv(key string) string { + return e.envVars[key] +} + +func (e *EnvVarManagerMock) Setenv(key, value string) error { + if e.envVars == nil { + e.envVars = make(map[string]string) + } + + e.envVars[key] = value + return nil +} + +func (e *EnvVarManagerMock) Unsetenv(key string) error { + delete(e.envVars, key) + return nil +} + +func (e *EnvVarManagerMock) Environ() (ret []string) { + for key, value := range e.envVars { + ret = append(ret, fmt.Sprintf("%s=%s", key, value)) + } + return ret +} diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/tests/BUILD.bazel index 4a54055ad5..076e1af68d 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/tests/BUILD.bazel @@ -44,6 +44,7 @@ go_library( "//vendor/github.com/onsi/ginkgo/v2:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library", "//vendor/golang.org/x/crypto/ssh:go_default_library", + "//vendor/k8s.io/api/apps/v1:go_default_library", "//vendor/k8s.io/api/batch/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -108,11 +109,13 @@ go_test( srcs = [ "access_test.go", "canary_upgrade_test.go", + "clone_test.go", "config_test.go", "console_test.go", "container_disk_test.go", "credentials_test.go", "dryrun_test.go", + "hyperv_test.go", "infra_test.go", "instancetype_test.go", "kubectl_test.go", @@ -157,9 +160,9 @@ go_test( "vnc_test.go", "windows_test.go", ], + embed = [":go_default_library"], visibility = ["//visibility:public"], deps = [ - ":go_default_library", "//pkg/certificates/triple:go_default_library", "//pkg/certificates/triple/cert:go_default_library", "//pkg/cloud-init:go_default_library", @@ -177,6 +180,7 @@ go_test( "//pkg/util/net/dns:go_default_library", "//pkg/util/tls:go_default_library", "//pkg/util/types:go_default_library", + "//pkg/virt-api:go_default_library", "//pkg/virt-config:go_default_library", "//pkg/virt-controller/leaderelectionconfig:go_default_library", "//pkg/virt-controller/services:go_default_library", @@ -194,6 +198,7 @@ go_test( "//pkg/virtctl/pause:go_default_library", "//pkg/virtctl/softreboot:go_default_library", "//pkg/virtctl/vm:go_default_library", + "//staging/src/kubevirt.io/api/clone/v1alpha1:go_default_library", "//staging/src/kubevirt.io/api/core:go_default_library", "//staging/src/kubevirt.io/api/core/v1:go_default_library", "//staging/src/kubevirt.io/api/instancetype:go_default_library", @@ -215,6 +220,7 @@ go_test( "//tests/framework/matcher:go_default_library", "//tests/launchsecurity:go_default_library", "//tests/libdv:go_default_library", + "//tests/libinstancetype:go_default_library", "//tests/libnet:go_default_library", "//tests/libnode:go_default_library", "//tests/libreplicaset:go_default_library", @@ -242,6 +248,7 @@ go_test( "//vendor/github.com/onsi/ginkgo/v2:go_default_library", "//vendor/github.com/onsi/ginkgo/v2/reporters:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library", + "//vendor/github.com/onsi/gomega/format:go_default_library", "//vendor/github.com/onsi/gomega/gmeasure:go_default_library", "//vendor/github.com/onsi/gomega/gstruct:go_default_library", "//vendor/github.com/onsi/gomega/types:go_default_library", @@ -250,7 +257,7 @@ go_test( "//vendor/k8s.io/api/authorization/v1:go_default_library", "//vendor/k8s.io/api/autoscaling/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", - "//vendor/k8s.io/api/node/v1beta1:go_default_library", + "//vendor/k8s.io/api/node/v1:go_default_library", "//vendor/k8s.io/api/policy/v1:go_default_library", "//vendor/k8s.io/api/policy/v1beta1:go_default_library", "//vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1:go_default_library", diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/io_utils.go b/tests/vendor/kubevirt.io/kubevirt/tests/io_utils.go index 6ec1984352..1b12b1a9ee 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/io_utils.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/io_utils.go @@ -25,6 +25,8 @@ import ( "strings" "time" + "kubevirt.io/kubevirt/tests/libnode" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" @@ -64,7 +66,7 @@ func ExecuteCommandInVirtHandlerPod(nodeName string, args []string) (stdout stri return stdout, err } - pod, err := kubecli.NewVirtHandlerClient(virtClient).Namespace(flags.KubeVirtInstallNamespace).ForNode(nodeName).Pod() + pod, err := libnode.GetVirtHandlerPod(virtClient, nodeName) if err != nil { return stdout, err } diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libnet/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/tests/libnet/BUILD.bazel index a7ae1eaa64..9894471db0 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libnet/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libnet/BUILD.bazel @@ -20,7 +20,6 @@ go_library( "//staging/src/kubevirt.io/client-go/kubecli:go_default_library", "//tests/console:go_default_library", "//tests/flags:go_default_library", - "//tests/framework/cleanup:go_default_library", "//tests/libnet/cluster:go_default_library", "//vendor/github.com/onsi/ginkgo/v2:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library", diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libnet/namespace.go b/tests/vendor/kubevirt.io/kubevirt/tests/libnet/namespace.go index 4f07039daa..a6931acf2a 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libnet/namespace.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libnet/namespace.go @@ -3,6 +3,7 @@ package libnet import ( "context" "encoding/json" + "reflect" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -10,12 +11,10 @@ import ( "k8s.io/apimachinery/pkg/util/strategicpatch" "kubevirt.io/client-go/kubecli" - - "kubevirt.io/kubevirt/tests/framework/cleanup" ) func AddLabelToNamespace(client kubecli.KubevirtClient, namespace, key, value string) error { - return patchNamespace(client, namespace, func(ns *v1.Namespace) { + return PatchNamespace(client, namespace, func(ns *v1.Namespace) { if ns.Labels == nil { ns.Labels = map[string]string{} } @@ -24,7 +23,7 @@ func AddLabelToNamespace(client kubecli.KubevirtClient, namespace, key, value st } func RemoveLabelFromNamespace(client kubecli.KubevirtClient, namespace, key string) error { - return patchNamespace(client, namespace, func(ns *v1.Namespace) { + return PatchNamespace(client, namespace, func(ns *v1.Namespace) { if ns.Labels == nil { return } @@ -32,37 +31,29 @@ func RemoveLabelFromNamespace(client kubecli.KubevirtClient, namespace, key stri }) } -func RemoveAllLabelsFromNamespace(client kubecli.KubevirtClient, namespace string) error { - return patchNamespace(client, namespace, func(ns *v1.Namespace) { - if ns.Labels == nil { - return - } - ns.Labels = map[string]string{ - cleanup.TestLabelForNamespace(namespace): "", - } - }) -} - -func patchNamespace(client kubecli.KubevirtClient, namespace string, patchFunc func(*v1.Namespace)) error { +func PatchNamespace(client kubecli.KubevirtClient, namespace string, patchFunc func(*v1.Namespace)) error { ns, err := client.CoreV1().Namespaces().Get(context.Background(), namespace, metav1.GetOptions{}) if err != nil { return err } - old, err := json.Marshal(ns) + newNS := ns.DeepCopy() + patchFunc(newNS) + if reflect.DeepEqual(ns, newNS) { + return nil + } + + oldJSON, err := json.Marshal(ns) if err != nil { return err } - newNS := ns.DeepCopy() - patchFunc(newNS) - newJSON, err := json.Marshal(newNS) if err != nil { return err } - patch, err := strategicpatch.CreateTwoWayMergePatch(old, newJSON, ns) + patch, err := strategicpatch.CreateTwoWayMergePatch(oldJSON, newJSON, ns) if err != nil { return err } diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libnode/node.go b/tests/vendor/kubevirt.io/kubevirt/tests/libnode/node.go index 19802d2976..2ca9c9f09d 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libnode/node.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libnode/node.go @@ -23,6 +23,7 @@ import ( "context" "encoding/json" "fmt" + "net/http" "strings" "time" @@ -91,6 +92,7 @@ func CleanNodes() { if node.Spec.Unschedulable { new.Spec.Unschedulable = false + found = true } if !found { @@ -351,3 +353,7 @@ func SetNodeUnschedulable(nodeName string, virtCli kubecli.KubevirtClient) { func SetNodeSchedulable(nodeName string, virtCli kubecli.KubevirtClient) { setNodeSchedualability(nodeName, virtCli, true) } + +func GetVirtHandlerPod(virtCli kubecli.KubevirtClient, nodeName string) (*k8sv1.Pod, error) { + return kubecli.NewVirtHandlerClient(virtCli, &http.Client{}).Namespace(flags.KubeVirtInstallNamespace).ForNode(nodeName).Pod() +} diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/BUILD.bazel b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/BUILD.bazel index e22ad8b190..611a5ea89b 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/BUILD.bazel +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/BUILD.bazel @@ -31,6 +31,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/rand:go_default_library", + "//vendor/k8s.io/utils/pointer:go_default_library", "//vendor/kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1:go_default_library", ], ) diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/datavolume.go b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/datavolume.go index b7c141c101..09c78ef2f5 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/datavolume.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/datavolume.go @@ -171,7 +171,7 @@ func SetDataVolumeGC(virtCli kubecli.KubevirtClient, ttlSec *int32) { func IsDataVolumeGC(virtCli kubecli.KubevirtClient) bool { config, err := virtCli.CdiClient().CdiV1beta1().CDIConfigs().Get(context.TODO(), "config", v12.GetOptions{}) Expect(err).ToNot(HaveOccurred()) - return config.Spec.DataVolumeTTLSeconds != nil + return config.Spec.DataVolumeTTLSeconds == nil || *config.Spec.DataVolumeTTLSeconds >= 0 } func GetCDI(virtCli kubecli.KubevirtClient) *v1beta1.CDI { diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/pvc.go b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/pvc.go index 869f13a745..810b7b5a36 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/pvc.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/pvc.go @@ -32,6 +32,7 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/rand" + "k8s.io/utils/pointer" v1 "kubevirt.io/api/core/v1" "kubevirt.io/client-go/kubecli" @@ -50,6 +51,8 @@ const ( func RenderPodWithPVC(name string, cmd []string, args []string, pvc *k8sv1.PersistentVolumeClaim) *k8sv1.Pod { volumeName := "disk0" + nonRootUser := int64(1042) + // Change to 'pod := RenderPod(name, cmd, args)' once we have a libpod package pod := &k8sv1.Pod{ ObjectMeta: metav1.ObjectMeta{ @@ -67,6 +70,18 @@ func RenderPodWithPVC(name string, cmd []string, args []string, pvc *k8sv1.Persi Image: fmt.Sprintf("%s/vm-killer:%s", flags.KubeVirtUtilityRepoPrefix, flags.KubeVirtUtilityVersionTag), Command: cmd, Args: args, + SecurityContext: &k8sv1.SecurityContext{ + Capabilities: &k8sv1.Capabilities{ + Drop: []k8sv1.Capability{"ALL"}, + }, + Privileged: pointer.Bool(false), + RunAsUser: &nonRootUser, + RunAsNonRoot: pointer.Bool(true), + AllowPrivilegeEscalation: pointer.Bool(false), + SeccompProfile: &k8sv1.SeccompProfile{ + Type: k8sv1.SeccompProfileTypeRuntimeDefault, + }, + }, }, }, Volumes: []k8sv1.Volume{ diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/storageclass.go b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/storageclass.go index e2711ed215..33f28372ff 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/storageclass.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libstorage/storageclass.go @@ -69,9 +69,68 @@ func DeleteStorageClass(name string) { util.PanicOnError(err) } -func GetSnapshotStorageClass() (string, bool) { - storageSnapshot := Config.StorageSnapshot - return storageSnapshot, storageSnapshot != "" +func GetSnapshotStorageClass(client kubecli.KubevirtClient) (string, error) { + if Config != nil && Config.StorageSnapshot != "" { + return Config.StorageSnapshot, nil + } + + crd, err := client. + ExtensionsClient(). + ApiextensionsV1(). + CustomResourceDefinitions(). + Get(context.Background(), "volumesnapshotclasses.snapshot.storage.k8s.io", metav1.GetOptions{}) + if err != nil { + if errors.IsNotFound(err) { + return "", nil + } + + return "", err + } + + hasV1 := false + for _, v := range crd.Spec.Versions { + if v.Name == "v1" && v.Served { + hasV1 = true + } + } + + if !hasV1 { + return "", nil + } + + volumeSnapshotClasses, err := client.KubernetesSnapshotClient().SnapshotV1().VolumeSnapshotClasses().List(context.Background(), metav1.ListOptions{}) + if err != nil { + return "", err + } + if len(volumeSnapshotClasses.Items) == 0 { + return "", nil + } + defaultSnapClass := volumeSnapshotClasses.Items[0] + for _, snapClass := range volumeSnapshotClasses.Items { + if snapClass.Annotations["snapshot.storage.kubernetes.io/is-default-class"] == "true" { + defaultSnapClass = snapClass + } + } + + storageClasses, err := client.StorageV1().StorageClasses().List(context.Background(), metav1.ListOptions{}) + if err != nil { + return "", err + } + + var storageClass string + + for _, sc := range storageClasses.Items { + if sc.Provisioner == defaultSnapClass.Driver { + storageClass = sc.Name + break + } + } + + if Config != nil { + Config.StorageSnapshot = storageClass + } + + return storageClass, nil } func GetRWXFileSystemStorageClass() (string, bool) { diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/status.go b/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/status.go index 684b52ccf7..a79f0ea136 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/status.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/status.go @@ -13,7 +13,7 @@ import ( "kubevirt.io/kubevirt/pkg/controller" ) -func GetPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance, namespace string) *k8sv1.Pod { +func GetPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance, namespace string) (*k8sv1.Pod, error) { virtCli, err := kubecli.GetKubevirtClient() if err != nil { panic(err) @@ -21,7 +21,7 @@ func GetPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance, namespace st pods, err := virtCli.CoreV1().Pods(namespace).List(context.Background(), metav1.ListOptions{}) if err != nil { - panic(err) + return nil, err } var controlledPod *k8sv1.Pod @@ -34,12 +34,10 @@ func GetPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance, namespace st } if controlledPod == nil { - if err != nil { - panic(fmt.Errorf("no controlled pod was found for VMI")) - } + return nil, fmt.Errorf("no controlled pod was found for VMI") } - return controlledPod + return controlledPod, nil } func IndexInterfaceStatusByName(vmi *v1.VirtualMachineInstance) map[string]v1.VirtualMachineInstanceNetworkInterface { diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/vmi.go b/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/vmi.go index eecfd680dd..0847f748a6 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/vmi.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/libvmi/vmi.go @@ -184,6 +184,39 @@ func WithCPUFeature(featureName, policy string) Option { } } +func WithPasstInterfaceWithPort() Option { + return WithInterface(InterfaceDeviceWithPasstBinding([]v1.Port{{Port: 1234, Protocol: "TCP"}}...)) +} + +func WithNodeAffinityFor(node *k8sv1.Node) Option { + return func(vmi *v1.VirtualMachineInstance) { + nodeSelectorTerm := k8sv1.NodeSelectorTerm{ + MatchExpressions: []k8sv1.NodeSelectorRequirement{ + {Key: "kubernetes.io/hostname", Operator: k8sv1.NodeSelectorOpIn, Values: []string{node.Name}}, + }, + } + + if vmi.Spec.Affinity == nil { + vmi.Spec.Affinity = &k8sv1.Affinity{} + } + + if vmi.Spec.Affinity.NodeAffinity == nil { + vmi.Spec.Affinity.NodeAffinity = &k8sv1.NodeAffinity{} + } + + if vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution == nil { + vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution = &k8sv1.NodeSelector{} + } + + if vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms == nil { + vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms = []k8sv1.NodeSelectorTerm{} + } + + vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms = + append(vmi.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms, nodeSelectorTerm) + } +} + func baseVmi(name string) *v1.VirtualMachineInstance { vmi := v1.NewVMIReferenceFromNameWithNS("", name) vmi.Spec = v1.VirtualMachineInstanceSpec{Domain: v1.DomainSpec{}} diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/namespace.go b/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/namespace.go index 1f12f7c143..ac12421d79 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/namespace.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/namespace.go @@ -87,7 +87,7 @@ func CleanNamespaces() { } // Clean namespace labels - err = libnet.RemoveAllLabelsFromNamespace(virtCli, namespace) + err = resetNamespaceLabelsToDefault(virtCli, namespace) util.PanicOnError(err) //Remove all Jobs @@ -135,7 +135,11 @@ func CleanNamespaces() { svcList, err := virtCli.CoreV1().Services(namespace).List(context.Background(), metav1.ListOptions{}) util.PanicOnError(err) for _, svc := range svcList.Items { - util.PanicOnError(virtCli.CoreV1().Services(namespace).Delete(context.Background(), svc.Name, metav1.DeleteOptions{})) + err := virtCli.CoreV1().Services(namespace).Delete(context.Background(), svc.Name, metav1.DeleteOptions{}) + if errors.IsNotFound(err) { + continue + } + Expect(err).ToNot(HaveOccurred()) } // Remove PVCs @@ -271,6 +275,27 @@ func detectInstallNamespace() { flags.KubeVirtInstallNamespace = kvs.Items[0].Namespace } +func GetLabelsForNamespace(namespace string) map[string]string { + labels := map[string]string{ + cleanup.TestLabelForNamespace(namespace): "", + "security.openshift.io/scc.podSecurityLabelSync": "false", + } + if namespace == NamespacePrivileged { + labels["pod-security.kubernetes.io/enforce"] = "privileged" + } + + return labels +} + +func resetNamespaceLabelsToDefault(client kubecli.KubevirtClient, namespace string) error { + return libnet.PatchNamespace(client, namespace, func(ns *k8sv1.Namespace) { + if ns.Labels == nil { + return + } + ns.Labels = GetLabelsForNamespace(namespace) + }) +} + func createNamespaces() { virtCli, err := kubecli.GetKubevirtClient() util.PanicOnError(err) @@ -279,16 +304,10 @@ func createNamespaces() { for _, namespace := range TestNamespaces { ns := &k8sv1.Namespace{ ObjectMeta: metav1.ObjectMeta{ - Name: namespace, - Labels: map[string]string{ - cleanup.TestLabelForNamespace(namespace): "", - "security.openshift.io/scc.podSecurityLabelSync": "false", - }, + Name: namespace, + Labels: GetLabelsForNamespace(namespace), }, } - if namespace == NamespacePrivileged { - ns.Labels["pod-security.kubernetes.io/enforce"] = "privileged" - } _, err = virtCli.CoreV1().Namespaces().Create(context.Background(), ns, metav1.CreateOptions{}) if err != nil { diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/serviceaccount.go b/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/serviceaccount.go index 83124492f4..c4457fc94b 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/serviceaccount.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/testsuite/serviceaccount.go @@ -107,12 +107,14 @@ func createServiceAccount(saName string, clusterRole string) { Name: clusterRole, APIGroup: "rbac.authorization.k8s.io", }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Name: saName, + Namespace: util.NamespaceTestDefault, + }, + }, } - roleBinding.Subjects = append(roleBinding.Subjects, rbacv1.Subject{ - Kind: "ServiceAccount", - Name: saName, - Namespace: util.NamespaceTestDefault, - }) _, err = virtCli.RbacV1().RoleBindings(util.NamespaceTestDefault).Create(context.Background(), &roleBinding, metav1.CreateOptions{}) if !k8serrors.IsAlreadyExists(err) { @@ -155,7 +157,6 @@ func createSubresourceServiceAccount() { } role := rbacv1.Role{ - ObjectMeta: metav1.ObjectMeta{ Name: SubresourceServiceAccountName, Namespace: util.NamespaceTestDefault, @@ -163,12 +164,14 @@ func createSubresourceServiceAccount() { util.KubevirtIoTest: "sa", }, }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{"subresources.kubevirt.io"}, + Resources: []string{"virtualmachines/start", "expand-vm-spec"}, + Verbs: []string{"update"}, + }, + }, } - role.Rules = append(role.Rules, rbacv1.PolicyRule{ - APIGroups: []string{"subresources.kubevirt.io"}, - Resources: []string{"virtualmachines/start"}, - Verbs: []string{"update"}, - }) _, err = virtCli.RbacV1().Roles(util.NamespaceTestDefault).Create(context.Background(), &role, metav1.CreateOptions{}) if !k8serrors.IsAlreadyExists(err) { @@ -188,12 +191,14 @@ func createSubresourceServiceAccount() { Name: SubresourceServiceAccountName, APIGroup: "rbac.authorization.k8s.io", }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Name: SubresourceServiceAccountName, + Namespace: util.NamespaceTestDefault, + }, + }, } - roleBinding.Subjects = append(roleBinding.Subjects, rbacv1.Subject{ - Kind: "ServiceAccount", - Name: SubresourceServiceAccountName, - Namespace: util.NamespaceTestDefault, - }) _, err = virtCli.RbacV1().RoleBindings(util.NamespaceTestDefault).Create(context.Background(), &roleBinding, metav1.CreateOptions{}) if !k8serrors.IsAlreadyExists(err) { diff --git a/tests/vendor/kubevirt.io/kubevirt/tests/utils.go b/tests/vendor/kubevirt.io/kubevirt/tests/utils.go index 360ddf722a..6ea037a38a 100644 --- a/tests/vendor/kubevirt.io/kubevirt/tests/utils.go +++ b/tests/vendor/kubevirt.io/kubevirt/tests/utils.go @@ -44,6 +44,8 @@ import ( "sync" "time" + v12 "k8s.io/api/apps/v1" + migrationsv1 "kubevirt.io/api/migrations/v1alpha1" expect "github.com/google/goexpect" @@ -301,9 +303,13 @@ func RunVMIAndExpectLaunchIgnoreWarnings(vmi *v1.VirtualMachineInstance, timeout } func RunVMIAndExpectScheduling(vmi *v1.VirtualMachineInstance, timeout int) *v1.VirtualMachineInstance { + wp := watcher.WarningsPolicy{FailOnWarnings: true} + return RunVMIAndExpectSchedulingWithWarningPolicy(vmi, timeout, wp) +} + +func RunVMIAndExpectSchedulingWithWarningPolicy(vmi *v1.VirtualMachineInstance, timeout int, wp watcher.WarningsPolicy) *v1.VirtualMachineInstance { obj := RunVMI(vmi, timeout) By("Waiting until the VirtualMachineInstance will be scheduled") - wp := watcher.WarningsPolicy{FailOnWarnings: true} return waitForVMIScheduling(obj, timeout, wp) } @@ -356,6 +362,49 @@ func getPodsByLabel(label, labelType, namespace string) (*k8sv1.PodList, error) return pods, nil } +func GetProcessName(pod *k8sv1.Pod, pid string) (output string, err error) { + virtClient, err := kubecli.GetKubevirtClient() + if err != nil { + return + } + + fPath := "/proc/" + pid + "/comm" + output, err = ExecuteCommandOnPod( + virtClient, + pod, + "compute", + []string{"cat", fPath}, + ) + + return +} + +func ListCgroupThreads(pod *k8sv1.Pod) (output string, err error) { + virtClient, err := kubecli.GetKubevirtClient() + if err != nil { + return + } + + output, err = ExecuteCommandOnPod( + virtClient, + pod, + "compute", + []string{"cat", "/sys/fs/cgroup/cpuset/tasks"}, + ) + + if err == nil { + // Cgroup V1 + return + } + output, err = ExecuteCommandOnPod( + virtClient, + pod, + "compute", + []string{"cat", "/sys/fs/cgroup/cgroup.threads"}, + ) + return +} + func GetPodCPUSet(pod *k8sv1.Pod) (output string, err error) { const ( cgroupV1cpusetPath = "/sys/fs/cgroup/cpuset/cpuset.cpus" @@ -1068,6 +1117,11 @@ func waitForVMIPhase(ctx context.Context, phases []v1.VirtualMachineInstancePhas objectEventWatcher := watcher.New(vmi).SinceWatchedObjectResourceVersion().Timeout(time.Duration(seconds+2) * time.Second) if wp.FailOnWarnings == true { + // let's ignore PSA events as kubernetes internally uses a namespace informer + // that might not be up to date after virt-controller relabeled the namespace + // to use a 'privileged' policy + // TODO: remove this when KubeVirt will be able to run VMs under the 'restricted' level + wp.WarningsIgnoreList = append(wp.WarningsIgnoreList, "violates PodSecurity") objectEventWatcher.SetWarningsPolicy(wp) } @@ -1301,6 +1355,17 @@ func ChangeImgFilePermissionsToNonQEMU(pvc *k8sv1.PersistentVolumeClaim) { By("changing disk.img permissions to non qemu") pod := libstorage.RenderPodWithPVC("change-permissions-disk-img-pod", []string{"/bin/bash", "-c"}, args, pvc) + // overwrite securityContext + rootUser := int64(0) + pod.Spec.Containers[0].SecurityContext = &k8sv1.SecurityContext{ + Capabilities: &k8sv1.Capabilities{ + Drop: []k8sv1.Capability{"ALL"}, + }, + Privileged: NewBool(true), + RunAsUser: &rootUser, + RunAsNonRoot: NewBool(false), + } + RunPodAndExpectCompletion(pod) } @@ -1338,6 +1403,17 @@ func renderContainerSpec(imgPath string, name string, cmd []string, args []strin Image: imgPath, Command: cmd, Args: args, + SecurityContext: &k8sv1.SecurityContext{ + Privileged: NewBool(false), + AllowPrivilegeEscalation: NewBool(false), + RunAsNonRoot: NewBool(true), + SeccompProfile: &k8sv1.SeccompProfile{ + Type: k8sv1.SeccompProfileTypeRuntimeDefault, + }, + Capabilities: &k8sv1.Capabilities{ + Drop: []k8sv1.Capability{"ALL"}, + }, + }, } } @@ -1559,7 +1635,7 @@ func RemoveHostDiskImage(diskPath string, nodeName string) { virtClient, err := kubecli.GetKubevirtClient() util2.PanicOnError(err) procPath := filepath.Join("/proc/1/root", diskPath) - virtHandlerPod, err := kubecli.NewVirtHandlerClient(virtClient).Namespace(flags.KubeVirtInstallNamespace).ForNode(nodeName).Pod() + virtHandlerPod, err := libnode.GetVirtHandlerPod(virtClient, nodeName) Expect(err).ToNot(HaveOccurred()) _, _, err = ExecuteCommandOnPodV2(virtClient, virtHandlerPod, "virt-handler", []string{"rm", "-rf", procPath}) Expect(err).ToNot(HaveOccurred()) @@ -2500,7 +2576,7 @@ func GetIdOfLauncher(vmi *v1.VirtualMachineInstance) string { } func ExecuteCommandOnNodeThroughVirtHandler(virtCli kubecli.KubevirtClient, nodeName string, command []string) (stdout string, stderr string, err error) { - virtHandlerPod, err := kubecli.NewVirtHandlerClient(virtCli).Namespace(flags.KubeVirtInstallNamespace).ForNode(nodeName).Pod() + virtHandlerPod, err := libnode.GetVirtHandlerPod(virtCli, nodeName) if err != nil { return "", "", err } @@ -2673,3 +2749,19 @@ func dvSizeBySourceURL(url string) string { return cd.CirrosVolumeSize } + +func GetDefaultVirtApiDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error) { + return components.NewApiServerDeployment(namespace, config.GetImageRegistry(), config.GetImagePrefix(), config.GetApiVersion(), "", "", "", config.VirtApiImage, config.GetImagePullPolicy(), config.GetVerbosity(), config.GetExtraEnv()) +} + +func GetDefaultVirtControllerDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error) { + return components.NewControllerDeployment(namespace, config.GetImageRegistry(), config.GetImagePrefix(), config.GetControllerVersion(), config.GetLauncherVersion(), config.GetExportServerVersion(), "", "", "", config.VirtControllerImage, config.VirtLauncherImage, config.VirtExportServerImage, config.GetImagePullPolicy(), config.GetVerbosity(), config.GetExtraEnv()) +} + +func GetDefaultVirtHandlerDaemonSet(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.DaemonSet, error) { + return components.NewHandlerDaemonSet(namespace, config.GetImageRegistry(), config.GetImagePrefix(), config.GetHandlerVersion(), "", "", "", config.GetLauncherVersion(), config.VirtHandlerImage, config.VirtLauncherImage, config.GetImagePullPolicy(), nil, config.GetVerbosity(), config.GetExtraEnv()) +} + +func GetDefaultExportProxyDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error) { + return components.NewExportProxyDeployment(namespace, config.GetImageRegistry(), config.GetImagePrefix(), config.GetExportProxyVersion(), "", "", "", config.VirtExportProxyImage, config.GetImagePullPolicy(), config.GetVerbosity(), config.GetExtraEnv()) +} diff --git a/tests/vendor/modules.txt b/tests/vendor/modules.txt index 1225788d7b..26f38ade52 100644 --- a/tests/vendor/modules.txt +++ b/tests/vendor/modules.txt @@ -726,7 +726,7 @@ k8s.io/utils/internal/third_party/forked/golang/net k8s.io/utils/net k8s.io/utils/pointer k8s.io/utils/trace -# kubevirt.io/api v0.58.0 => kubevirt.io/api v0.58.0 +# kubevirt.io/api v0.58.1 => kubevirt.io/api v0.58.1 ## explicit; go 1.17 kubevirt.io/api/clone kubevirt.io/api/clone/v1alpha1 @@ -743,7 +743,7 @@ kubevirt.io/api/pool kubevirt.io/api/pool/v1alpha1 kubevirt.io/api/snapshot kubevirt.io/api/snapshot/v1alpha1 -# kubevirt.io/client-go v0.58.0 => kubevirt.io/client-go v0.58.0 +# kubevirt.io/client-go v0.58.1 => kubevirt.io/client-go v0.58.1 ## explicit; go 1.17 kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned kubevirt.io/client-go/generated/containerized-data-importer/clientset/versioned/scheme @@ -782,7 +782,7 @@ kubevirt.io/containerized-data-importer-api/pkg/apis/upload/v1beta1 # kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 ## explicit; go 1.17 kubevirt.io/controller-lifecycle-operator-sdk/api -# kubevirt.io/kubevirt v0.58.0 +# kubevirt.io/kubevirt v0.58.1 ## explicit; go 1.17 kubevirt.io/kubevirt/pkg/certificates/bootstrap kubevirt.io/kubevirt/pkg/certificates/triple @@ -899,8 +899,8 @@ sigs.k8s.io/yaml # github.com/kubevirt/cluster-network-addons-operator/pkg/apis => github.com/kubevirt/cluster-network-addons-operator/pkg/apis v0.79.1 # github.com/openshift/machine-api-operator => github.com/openshift/machine-api-operator v0.2.1-0.20191025120018-fb3724fc7bdf # go.mongodb.org/mongo-driver => go.mongodb.org/mongo-driver v1.5.1 -# kubevirt.io/api => kubevirt.io/api v0.58.0 -# kubevirt.io/client-go => kubevirt.io/client-go v0.58.0 +# kubevirt.io/api => kubevirt.io/api v0.58.1 +# kubevirt.io/client-go => kubevirt.io/client-go v0.58.1 # kubevirt.io/containerized-data-importer-api => kubevirt.io/containerized-data-importer-api v1.55.2 # github.com/openshift/api => github.com/openshift/api v0.0.0-20220315184754-d7c10d0b647e # github.com/openshift/client-go => github.com/openshift/client-go v0.0.0-20200521150516-05eb9880269c diff --git a/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go b/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go index 756302f911..89f2cef2ee 100644 --- a/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go +++ b/vendor/kubevirt.io/api/core/v1/deepcopy_generated.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/kubevirt.io/api/core/v1/types.go b/vendor/kubevirt.io/api/core/v1/types.go index 2621e64267..b6a51b625e 100644 --- a/vendor/kubevirt.io/api/core/v1/types.go +++ b/vendor/kubevirt.io/api/core/v1/types.go @@ -475,6 +475,8 @@ const ( VirtualMachineInstanceReasonSEVNotMigratable = "SEVNotLiveMigratable" // Reason means that VMI is not live migratable because it uses HyperV Reenlightenment while TSC Frequency is not available VirtualMachineInstanceReasonNoTSCFrequencyMigratable = "NoTSCFrequencyNotLiveMigratable" + // Reason means that VMI is not live migratable because it uses dedicated CPU and emulator thread isolation + VirtualMachineInstanceReasonDedicatedCPU = "DedicatedCPUNotLiveMigratable" ) const ( @@ -723,6 +725,10 @@ const ( // Used by functional tests to simulate virt-launcher crash looping FuncTestLauncherFailFastAnnotation string = "kubevirt.io/func-test-virt-launcher-fail-fast" + + // Used by functional tests to ignore backoff applied to migrations + FuncTestForceIgnoreMigrationBackoffAnnotation string = "kubevirt.io/func-test-ignore-migration-backoff" + // This label is used to match virtual machine instance IDs with pods. // Similar to kubevirt.io/domain. Used on Pod. // Internal use only. diff --git a/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go b/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go index b3f65406b1..08972aea23 100644 --- a/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go +++ b/vendor/kubevirt.io/api/core/v1/zz_generated.defaults.go @@ -2,7 +2,7 @@ // +build !ignore_autogenerated /* -Copyright 2022 The KubeVirt Authors. +Copyright 2023 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/modules.txt b/vendor/modules.txt index 133bf548ad..01c1a94e07 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -638,7 +638,7 @@ k8s.io/utils/net k8s.io/utils/pointer k8s.io/utils/strings/slices k8s.io/utils/trace -# kubevirt.io/api v0.58.0 +# kubevirt.io/api v0.58.1 ## explicit; go 1.17 kubevirt.io/api/core kubevirt.io/api/core/v1