From e387287c5c63386f56990437f7fd1ac7cb7654c1 Mon Sep 17 00:00:00 2001 From: Marc Sluiter Date: Fri, 11 Jan 2019 15:00:21 +0100 Subject: [PATCH] Moved KubeVirt CR manifest to release dir Signed-off-by: Marc Sluiter --- .travis.yml | 3 +- cluster/deploy-operator.sh | 2 +- hack/generate.sh | 1 + .../generated/kubevirt-cr.yaml.in | 3 +- .../generated/rbac.authorization.k8s.yaml.in | 4 --- manifests/release/kubevirt-cr.yaml.in | 1 + pkg/virt-operator/creation/components/crds.go | 31 +++++++++++-------- .../resource-generator/resource-generator.go | 2 ++ tools/vms-generator/utils/utils.go | 27 +++------------- tools/vms-generator/vms-generator.go | 8 ----- 10 files changed, 32 insertions(+), 50 deletions(-) rename cluster/examples/kubevirt-cr.yaml => manifests/generated/kubevirt-cr.yaml.in (55%) create mode 100644 manifests/release/kubevirt-cr.yaml.in diff --git a/.travis.yml b/.travis.yml index af383d6d0d99..6891a350e5db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,8 +55,9 @@ deploy: - _out/templates/manifests/release/kubevirt.yaml.j2 - _out/manifests/release/demo-content.yaml - _out/manifests/release/kubevirt-operator.yaml + - _out/manifests/release/kubevirt-cr.yaml - _out/templates/manifests/release/kubevirt-operator.yaml.j2 - - cluster/examples/kubevirt-cr.yaml + - _out/templates/manifests/release/kubevirt-cr.yaml.j2 prerelease: true overwrite: true name: $TRAVIS_TAG diff --git a/cluster/deploy-operator.sh b/cluster/deploy-operator.sh index 66720815faf6..62e6a6868c81 100755 --- a/cluster/deploy-operator.sh +++ b/cluster/deploy-operator.sh @@ -41,7 +41,7 @@ _kubectl create -f ${MANIFESTS_OUT_DIR}/testing _kubectl apply -f ${MANIFESTS_OUT_DIR}/release/kubevirt-operator.yaml # Deploy kubevirt -_kubectl create -n ${namespace} -f ${KUBEVIRT_PATH}cluster/examples/kubevirt-cr.yaml +_kubectl create -n ${namespace} -f ${MANIFESTS_OUT_DIR}/release/kubevirt-cr.yaml if [[ "$KUBEVIRT_PROVIDER" =~ os-* ]]; then _kubectl create -f ${MANIFESTS_OUT_DIR}/testing/ocp diff --git a/hack/generate.sh b/hack/generate.sh index 3936674fd964..386a770cfec4 100755 --- a/hack/generate.sh +++ b/hack/generate.sh @@ -23,6 +23,7 @@ ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmipreset >${ ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vm >${KUBEVIRT_DIR}/manifests/generated/vm-resource.yaml ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmim >${KUBEVIRT_DIR}/manifests/generated/vmim-resource.yaml ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=kv >${KUBEVIRT_DIR}/manifests/generated/kv-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=kv-cr --namespace={{.Namespace}} --pullPolicy={{.ImagePullPolicy}} >${KUBEVIRT_DIR}/manifests/generated/kubevirt-cr.yaml.in ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=rbac --namespace={{.Namespace}} >${KUBEVIRT_DIR}/manifests/generated/rbac.authorization.k8s.yaml.in ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=prometheus --namespace={{.Namespace}} >${KUBEVIRT_DIR}/manifests/generated/prometheus.yaml.in ${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=virt-api --namespace={{.Namespace}} --repository={{.DockerPrefix}} --version={{.DockerTag}} --pullPolicy={{.ImagePullPolicy}} --verbosity={{.Verbosity}} >${KUBEVIRT_DIR}/manifests/generated/virt-api.yaml.in diff --git a/cluster/examples/kubevirt-cr.yaml b/manifests/generated/kubevirt-cr.yaml.in similarity index 55% rename from cluster/examples/kubevirt-cr.yaml rename to manifests/generated/kubevirt-cr.yaml.in index 578cd001e20a..ab34bc28acdd 100644 --- a/cluster/examples/kubevirt-cr.yaml +++ b/manifests/generated/kubevirt-cr.yaml.in @@ -3,5 +3,6 @@ apiVersion: kubevirt.io/v1alpha2 kind: KubeVirt metadata: name: kubevirt + namespace: {{.Namespace}} spec: - imagePullPolicy: Always + imagePullPolicy: {{.ImagePullPolicy}} diff --git a/manifests/generated/rbac.authorization.k8s.yaml.in b/manifests/generated/rbac.authorization.k8s.yaml.in index 4a2c521664bc..c1bc4b57d557 100644 --- a/manifests/generated/rbac.authorization.k8s.yaml.in +++ b/manifests/generated/rbac.authorization.k8s.yaml.in @@ -136,7 +136,6 @@ metadata: labels: kubevirt.io: "" name: kubevirt-privileged-cluster-admin - namespace: {{.Namespace}} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -233,7 +232,6 @@ metadata: labels: kubevirt.io: "" name: kubevirt-apiserver - namespace: {{.Namespace}} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -249,7 +247,6 @@ metadata: labels: kubevirt.io: "" name: kubevirt-apiserver-auth-delegator - namespace: {{.Namespace}} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -389,7 +386,6 @@ metadata: labels: kubevirt.io: "" name: kubevirt-controller - namespace: {{.Namespace}} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole diff --git a/manifests/release/kubevirt-cr.yaml.in b/manifests/release/kubevirt-cr.yaml.in new file mode 100644 index 000000000000..d8e2e94767f1 --- /dev/null +++ b/manifests/release/kubevirt-cr.yaml.in @@ -0,0 +1 @@ +{{index .GeneratedManifests "kubevirt-cr.yaml.in"}} diff --git a/pkg/virt-operator/creation/components/crds.go b/pkg/virt-operator/creation/components/crds.go index 85529384e830..1f4c802554dc 100644 --- a/pkg/virt-operator/creation/components/crds.go +++ b/pkg/virt-operator/creation/components/crds.go @@ -25,8 +25,8 @@ import ( "kubevirt.io/kubevirt/pkg/log" "kubevirt.io/kubevirt/pkg/virt-operator/util" + corev1 "k8s.io/api/core/v1" extv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" - apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" virtv1 "kubevirt.io/kubevirt/pkg/api/v1" @@ -69,18 +69,6 @@ func CreateCRDs(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, stores ut return objectsAdded, nil } -func NewKubeVirtCRD(clientset kubecli.KubevirtClient) error { - - ext := clientset.ExtensionsClient() - - _, err := ext.ApiextensionsV1beta1().CustomResourceDefinitions().Create(NewKubeVirtCrd()) - if err != nil && !apierrors.IsAlreadyExists(err) { - return fmt.Errorf("unable to create crd: %v", err) - } - - return nil -} - func newBlankCrd() *extv1beta1.CustomResourceDefinition { return &extv1beta1.CustomResourceDefinition{ TypeMeta: metav1.TypeMeta{ @@ -259,3 +247,20 @@ func NewKubeVirtCrd() *extv1beta1.CustomResourceDefinition { return crd } + +// used by manifest generation +func NewKubeVirtCR(namespace string, pullPolicy corev1.PullPolicy) *virtv1.KubeVirt { + return &virtv1.KubeVirt{ + TypeMeta: metav1.TypeMeta{ + APIVersion: virtv1.GroupVersion.String(), + Kind: "KubeVirt", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt", + }, + Spec: virtv1.KubeVirtSpec{ + ImagePullPolicy: pullPolicy, + }, + } +} diff --git a/tools/resource-generator/resource-generator.go b/tools/resource-generator/resource-generator.go index 0052bb068f83..87cc5bffd231 100644 --- a/tools/resource-generator/resource-generator.go +++ b/tools/resource-generator/resource-generator.go @@ -56,6 +56,8 @@ func main() { util.MarshallObject(components.NewVirtualMachineInstanceMigrationCrd(), os.Stdout) case "kv": util.MarshallObject(components.NewKubeVirtCrd(), os.Stdout) + case "kv-cr": + util.MarshallObject(components.NewKubeVirtCR(*namespace, imagePullPolicy), os.Stdout) case "rbac": all := make([]interface{}, 0) all = append(all, rbac.GetAllCluster(*namespace)...) diff --git a/tools/vms-generator/utils/utils.go b/tools/vms-generator/utils/utils.go index 6f7b359e75d1..a5306e8e728c 100644 --- a/tools/vms-generator/utils/utils.go +++ b/tools/vms-generator/utils/utils.go @@ -86,8 +86,6 @@ const ( const windowsFirmware = "5d307ca9-b3ef-428c-8861-06e72d69f223" -const apiVersion = "kubevirt.io/v1alpha2" - var DockerPrefix = "registry:5000/kubevirt" var DockerTag = "devel" @@ -111,7 +109,7 @@ func getBaseVMI(name string) *v1.VirtualMachineInstance { return &v1.VirtualMachineInstance{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstance", }, ObjectMeta: metav1.ObjectMeta{ @@ -513,7 +511,7 @@ func getBaseVM(name string, labels map[string]string) *v1.VirtualMachine { return &v1.VirtualMachine{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachine", }, ObjectMeta: metav1.ObjectMeta{ @@ -750,7 +748,7 @@ func getBaseVMIReplicaSet(name string, replicas int, selectorLabels map[string]s return &v1.VirtualMachineInstanceReplicaSet{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstanceReplicaSet", }, ObjectMeta: metav1.ObjectMeta{ @@ -783,7 +781,7 @@ func GetVMIReplicaSetCirros() *v1.VirtualMachineInstanceReplicaSet { func getBaseVMIPreset(name string, selectorLabels map[string]string) *v1.VirtualMachineInstancePreset { return &v1.VirtualMachineInstancePreset{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstancePreset", }, ObjectMeta: metav1.ObjectMeta{ @@ -800,7 +798,7 @@ func getBaseVMIPreset(name string, selectorLabels map[string]string) *v1.Virtual func GetVMIMigration() *v1.VirtualMachineInstanceMigration { return &v1.VirtualMachineInstanceMigration{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstanceMigration", }, ObjectMeta: metav1.ObjectMeta{ @@ -840,18 +838,3 @@ func GetVMIWithHookSidecar() *v1.VirtualMachineInstance { } return vmi } - -func GetKubeVirt() *v1.KubeVirt { - return &v1.KubeVirt{ - TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, - Kind: "KubeVirt", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: "KubeVirt", - }, - Spec: v1.KubeVirtSpec{ - ImagePullPolicy: k8sv1.PullAlways, - }, - } -} diff --git a/tools/vms-generator/vms-generator.go b/tools/vms-generator/vms-generator.go index a3e4f168efbb..4e47ef8cd3d6 100644 --- a/tools/vms-generator/vms-generator.go +++ b/tools/vms-generator/vms-generator.go @@ -83,10 +83,6 @@ func main() { utils.VmiMigration: utils.GetVMIMigration(), } - var kubevirts = map[string]*v1.KubeVirt{ - utils.KubeVirt: utils.GetKubeVirt(), - } - var templates = map[string]*utils.Template{ utils.VmTemplateFedora: utils.GetTemplateFedora(), utils.VmTemplateRHEL7: utils.GetTemplateRHEL7(), @@ -157,10 +153,6 @@ func main() { handleError(dumpObject(name, *obj)) } - for name, obj := range kubevirts { - handleError(dumpObject(name, *obj)) - } - // TODO:(ihar) how to validate templates? for name, obj := range templates { handleError(dumpObject(name, *obj))