Skip to content

Commit a8451b6

Browse files
refactor(core): rename core resources (#115)
Rename cdi, kubevirt core resources. Replace "cdi" to "cdi-internal-virtualziation", "kubevirt" to "kubevirt-internal-virtualziation". --------- Signed-off-by: yaroslavborbat <[email protected]>
1 parent 38c8d6c commit a8451b6

File tree

7 files changed

+383
-13
lines changed

7 files changed

+383
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
diff --git a/pkg/operator/resources/cluster/apiserver.go b/pkg/operator/resources/cluster/apiserver.go
2+
index 5e8432713..adf8093fa 100644
3+
--- a/pkg/operator/resources/cluster/apiserver.go
4+
+++ b/pkg/operator/resources/cluster/apiserver.go
5+
@@ -215,7 +215,7 @@ func createDataImportCronValidatingWebhook(namespace string, c client.Client, l
6+
Kind: "ValidatingWebhookConfiguration",
7+
},
8+
ObjectMeta: metav1.ObjectMeta{
9+
- Name: "cdi-api-dataimportcron-validate",
10+
+ Name: "cdi-internal-virtualization-api-dataimportcron-validate",
11+
Labels: map[string]string{
12+
utils.CDILabel: apiServerServiceName,
13+
},
14+
@@ -282,7 +282,7 @@ func createPopulatorsValidatingWebhook(namespace string, c client.Client, l logr
15+
Kind: "ValidatingWebhookConfiguration",
16+
},
17+
ObjectMeta: metav1.ObjectMeta{
18+
- Name: "cdi-api-populator-validate",
19+
+ Name: "cdi-internal-virtualization-api-populator-validate",
20+
Labels: map[string]string{
21+
utils.CDILabel: apiServerServiceName,
22+
},
23+
@@ -349,7 +349,7 @@ func createDataVolumeValidatingWebhook(namespace string, c client.Client, l logr
24+
Kind: "ValidatingWebhookConfiguration",
25+
},
26+
ObjectMeta: metav1.ObjectMeta{
27+
- Name: "cdi-api-datavolume-validate",
28+
+ Name: "cdi-internal-virtualization-api-datavolume-validate",
29+
Labels: map[string]string{
30+
utils.CDILabel: apiServerServiceName,
31+
},
32+
@@ -416,7 +416,7 @@ func createCDIValidatingWebhook(namespace string, c client.Client, l logr.Logger
33+
Kind: "ValidatingWebhookConfiguration",
34+
},
35+
ObjectMeta: metav1.ObjectMeta{
36+
- Name: "cdi-api-validate",
37+
+ Name: "cdi-internal-virtualization-api-validate",
38+
Labels: map[string]string{
39+
utils.CDILabel: apiServerServiceName,
40+
},
41+
@@ -485,7 +485,7 @@ func createObjectTransferValidatingWebhook(namespace string, c client.Client, l
42+
Kind: "ValidatingWebhookConfiguration",
43+
},
44+
ObjectMeta: metav1.ObjectMeta{
45+
- Name: "objecttransfer-api-validate",
46+
+ Name: "cdi-internal-virtualization-objecttransfer-api-validate",
47+
Labels: map[string]string{
48+
utils.CDILabel: apiServerServiceName,
49+
},
50+
@@ -558,7 +558,7 @@ func createDataVolumeMutatingWebhook(namespace string, c client.Client, l logr.L
51+
Kind: "MutatingWebhookConfiguration",
52+
},
53+
ObjectMeta: metav1.ObjectMeta{
54+
- Name: "cdi-api-datavolume-mutate",
55+
+ Name: "cdi-internal-virtualization-api-datavolume-mutate",
56+
Labels: map[string]string{
57+
utils.CDILabel: apiServerServiceName,
58+
},
59+
@@ -626,10 +626,12 @@ func getAPIServerCABundle(namespace string, c client.Client, l logr.Logger) []by
60+
return nil
61+
}
62+
63+
+const apiServerWrapName = "cdi-internal-virtualization-apiserver"
64+
+
65+
func createAPIServerClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding {
66+
- return utils.ResourceBuilder.CreateClusterRoleBinding(apiServerResourceName, apiServerResourceName, apiServerResourceName, namespace)
67+
+ return utils.ResourceBuilder.CreateClusterRoleBinding(apiServerWrapName, apiServerWrapName, apiServerResourceName, namespace)
68+
}
69+
70+
func createAPIServerClusterRole() *rbacv1.ClusterRole {
71+
- return utils.ResourceBuilder.CreateClusterRole(apiServerResourceName, getAPIServerClusterPolicyRules())
72+
+ return utils.ResourceBuilder.CreateClusterRole(apiServerWrapName, getAPIServerClusterPolicyRules())
73+
}
74+
diff --git a/pkg/operator/resources/cluster/controller.go b/pkg/operator/resources/cluster/controller.go
75+
index d29b0dd16..875afaf61 100644
76+
--- a/pkg/operator/resources/cluster/controller.go
77+
+++ b/pkg/operator/resources/cluster/controller.go
78+
@@ -26,6 +26,9 @@ import (
79+
const (
80+
controllerServiceAccountName = "cdi-sa"
81+
controlerClusterRoleName = "cdi"
82+
+
83+
+ wrapServiceAccountName = "cdi-internal-virtualization-sa"
84+
+ wrapClusterRoleName = "cdi-internal-virtualization"
85+
)
86+
87+
func createControllerResources(args *FactoryArgs) []client.Object {
88+
@@ -36,7 +39,7 @@ func createControllerResources(args *FactoryArgs) []client.Object {
89+
}
90+
91+
func createControllerClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding {
92+
- return utils.ResourceBuilder.CreateClusterRoleBinding(controllerServiceAccountName, controlerClusterRoleName, controllerServiceAccountName, namespace)
93+
+ return utils.ResourceBuilder.CreateClusterRoleBinding(wrapServiceAccountName, wrapClusterRoleName, controllerServiceAccountName, namespace)
94+
}
95+
96+
func getControllerClusterPolicyRules() []rbacv1.PolicyRule {
97+
@@ -257,5 +260,5 @@ func getControllerClusterPolicyRules() []rbacv1.PolicyRule {
98+
}
99+
100+
func createControllerClusterRole() *rbacv1.ClusterRole {
101+
- return utils.ResourceBuilder.CreateClusterRole(controlerClusterRoleName, getControllerClusterPolicyRules())
102+
+ return utils.ResourceBuilder.CreateClusterRole(wrapClusterRoleName, getControllerClusterPolicyRules())
103+
}
104+
diff --git a/pkg/operator/resources/cluster/cronjob.go b/pkg/operator/resources/cluster/cronjob.go
105+
index 71b2fa0f7..bf45a6480 100644
106+
--- a/pkg/operator/resources/cluster/cronjob.go
107+
+++ b/pkg/operator/resources/cluster/cronjob.go
108+
@@ -53,10 +53,12 @@ func getCronJobClusterPolicyRules() []rbacv1.PolicyRule {
109+
}
110+
}
111+
112+
+const cronJobWrapName = "cdi-internal-virtualization-cronjob"
113+
+
114+
func createCronJobClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding {
115+
- return utils.ResourceBuilder.CreateClusterRoleBinding(cronJobResourceName, cronJobResourceName, cronJobResourceName, namespace)
116+
+ return utils.ResourceBuilder.CreateClusterRoleBinding(cronJobWrapName, cronJobWrapName, cronJobResourceName, namespace)
117+
}
118+
119+
func createCronJobClusterRole() *rbacv1.ClusterRole {
120+
- return utils.ResourceBuilder.CreateClusterRole(cronJobResourceName, getCronJobClusterPolicyRules())
121+
+ return utils.ResourceBuilder.CreateClusterRole(cronJobWrapName, getCronJobClusterPolicyRules())
122+
}
123+
diff --git a/pkg/operator/resources/cluster/rbac.go b/pkg/operator/resources/cluster/rbac.go
124+
index 264b83891..a2a968b41 100644
125+
--- a/pkg/operator/resources/cluster/rbac.go
126+
+++ b/pkg/operator/resources/cluster/rbac.go
127+
@@ -26,11 +26,11 @@ import (
128+
129+
func createAggregateClusterRoles(_ *FactoryArgs) []client.Object {
130+
return []client.Object{
131+
- utils.ResourceBuilder.CreateAggregateClusterRole("cdi.kubevirt.io:admin", "admin", getAdminPolicyRules()),
132+
- utils.ResourceBuilder.CreateAggregateClusterRole("cdi.kubevirt.io:edit", "edit", getEditPolicyRules()),
133+
- utils.ResourceBuilder.CreateAggregateClusterRole("cdi.kubevirt.io:view", "view", getViewPolicyRules()),
134+
- createConfigReaderClusterRole("cdi.kubevirt.io:config-reader"),
135+
- createConfigReaderClusterRoleBinding("cdi.kubevirt.io:config-reader"),
136+
+ utils.ResourceBuilder.CreateAggregateClusterRole("cdi.internal.virtualization.deckhouse.io:admin", "admin", getAdminPolicyRules()),
137+
+ utils.ResourceBuilder.CreateAggregateClusterRole("cdi.internal.virtualization.deckhouse.io:edit", "edit", getEditPolicyRules()),
138+
+ utils.ResourceBuilder.CreateAggregateClusterRole("cdi.internal.virtualization.deckhouse.io:view", "view", getViewPolicyRules()),
139+
+ createConfigReaderClusterRole("cdi.internal.virtualization.deckhouse.io:config-reader"),
140+
+ createConfigReaderClusterRoleBinding("cdi.internal.virtualization.deckhouse.io:config-reader"),
141+
}
142+
}
143+
144+
diff --git a/pkg/operator/resources/cluster/uploadproxy.go b/pkg/operator/resources/cluster/uploadproxy.go
145+
index a9ac62765..e22a871c7 100644
146+
--- a/pkg/operator/resources/cluster/uploadproxy.go
147+
+++ b/pkg/operator/resources/cluster/uploadproxy.go
148+
@@ -51,10 +51,12 @@ func getUploadProxyClusterPolicyRules() []rbacv1.PolicyRule {
149+
}
150+
}
151+
152+
+const uploadProxyWrapName = "cdi-internal-virtualization-uploadproxy"
153+
+
154+
func createUploadProxyClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding {
155+
- return utils.ResourceBuilder.CreateClusterRoleBinding(uploadProxyResourceName, uploadProxyResourceName, uploadProxyResourceName, namespace)
156+
+ return utils.ResourceBuilder.CreateClusterRoleBinding(uploadProxyWrapName, uploadProxyWrapName, uploadProxyResourceName, namespace)
157+
}
158+
159+
func createUploadProxyClusterRole() *rbacv1.ClusterRole {
160+
- return utils.ResourceBuilder.CreateClusterRole(uploadProxyResourceName, getUploadProxyClusterPolicyRules())
161+
+ return utils.ResourceBuilder.CreateClusterRole(uploadProxyWrapName, getUploadProxyClusterPolicyRules())
162+
}
163+
diff --git a/pkg/operator/resources/operator/operator.go b/pkg/operator/resources/operator/operator.go
164+
index 1ad35841f..01ae5e72e 100644
165+
--- a/pkg/operator/resources/operator/operator.go
166+
+++ b/pkg/operator/resources/operator/operator.go
167+
@@ -129,11 +129,11 @@ func getClusterPolicyRules() []rbacv1.PolicyRule {
168+
"validatingwebhookconfigurations",
169+
},
170+
ResourceNames: []string{
171+
- "cdi-api-dataimportcron-validate",
172+
- "cdi-api-populator-validate",
173+
- "cdi-api-datavolume-validate",
174+
- "cdi-api-validate",
175+
- "objecttransfer-api-validate",
176+
+ "cdi-internal-virtualization-api-dataimportcron-validate",
177+
+ "cdi-internal-virtualization-api-populator-validate",
178+
+ "cdi-internal-virtualization-api-datavolume-validate",
179+
+ "cdi-internal-virtualization-api-validate",
180+
+ "cdi-internal-virtualization-objecttransfer-api-validate",
181+
},
182+
Verbs: []string{
183+
"get",
184+
@@ -149,7 +149,7 @@ func getClusterPolicyRules() []rbacv1.PolicyRule {
185+
"mutatingwebhookconfigurations",
186+
},
187+
ResourceNames: []string{
188+
- "cdi-api-datavolume-mutate",
189+
+ "cdi-internal-virtualization-api-datavolume-mutate",
190+
},
191+
Verbs: []string{
192+
"get",

images/cdi-artifact/patches/README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@ Add `spec.customizeComponents` to the crd cdi to customize resources.
1717
https://github.com/kubevirt/containerized-data-importer/pull/3070
1818

1919
#### `007-content-type-json.patch`
20-
set ContentTypeJson for kubernetes clients.
20+
set ContentTypeJson for kubernetes clients.
21+
22+
#### `008-rename-core-resources.patch`
23+
Replace "cdi" with "cdi-internal-virtualziation" in the core resource names.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
diff --git a/manifests/generated/kubevirt-priority-class.yaml b/manifests/generated/kubevirt-priority-class.yaml
2+
index e8dfe36c2..0f57dd6a8 100644
3+
--- a/manifests/generated/kubevirt-priority-class.yaml
4+
+++ b/manifests/generated/kubevirt-priority-class.yaml
5+
@@ -3,5 +3,5 @@ apiVersion: scheduling.k8s.io/v1
6+
description: This priority class should be used for KubeVirt core components only.
7+
kind: PriorityClass
8+
metadata:
9+
- name: kubevirt-cluster-critical
10+
+ name: kubevirt-internal-virtualization-cluster-critical
11+
value: 1000000000
12+
diff --git a/manifests/generated/operator-csv.yaml.in b/manifests/generated/operator-csv.yaml.in
13+
index b0a4b48e9..245e32dfb 100644
14+
--- a/manifests/generated/operator-csv.yaml.in
15+
+++ b/manifests/generated/operator-csv.yaml.in
16+
@@ -1356,7 +1356,7 @@ spec:
17+
name: profile-data
18+
nodeSelector:
19+
kubernetes.io/os: linux
20+
- priorityClassName: kubevirt-cluster-critical
21+
+ priorityClassName: kubevirt-internal-virtualization-cluster-critical
22+
securityContext:
23+
runAsNonRoot: true
24+
seccompProfile:
25+
diff --git a/manifests/release/kubevirt-operator.yaml.in b/manifests/release/kubevirt-operator.yaml.in
26+
index 6ac36d99b..d7bfbd010 100644
27+
--- a/manifests/release/kubevirt-operator.yaml.in
28+
+++ b/manifests/release/kubevirt-operator.yaml.in
29+
@@ -11,7 +11,7 @@ metadata:
30+
apiVersion: scheduling.k8s.io/v1
31+
kind: PriorityClass
32+
metadata:
33+
- name: kubevirt-cluster-critical
34+
+ name: kubevirt-internal-virtualization-cluster-critical
35+
value: 1000000000
36+
globalDefault: false
37+
description: "This priority class should be used for core kubevirt components only."
38+
diff --git a/pkg/virt-controller/watch/drain/disruptionbudget/disruptionbudget.go b/pkg/virt-controller/watch/drain/disruptionbudget/disruptionbudget.go
39+
index 228518871..55ce72b6c 100644
40+
--- a/pkg/virt-controller/watch/drain/disruptionbudget/disruptionbudget.go
41+
+++ b/pkg/virt-controller/watch/drain/disruptionbudget/disruptionbudget.go
42+
@@ -485,7 +485,10 @@ func (c *DisruptionBudgetController) createPDB(key string, vmi *virtv1.VirtualMa
43+
OwnerReferences: []v1.OwnerReference{
44+
*v1.NewControllerRef(vmi, virtv1.VirtualMachineInstanceGroupVersionKind),
45+
},
46+
- GenerateName: "kubevirt-disruption-budget-",
47+
+ GenerateName: "kubevirt-internal-virtualization-disruption-budget-",
48+
+ Labels: map[string]string{
49+
+ virtv1.VirtualMachineNameLabel: vmi.GetName(),
50+
+ },
51+
},
52+
Spec: policyv1.PodDisruptionBudgetSpec{
53+
MinAvailable: &minAvailable,
54+
diff --git a/pkg/virt-operator/resource/generate/components/crds.go b/pkg/virt-operator/resource/generate/components/crds.go
55+
index 822f3d82b..36126ef43 100644
56+
--- a/pkg/virt-operator/resource/generate/components/crds.go
57+
+++ b/pkg/virt-operator/resource/generate/components/crds.go
58+
@@ -862,7 +862,7 @@ func NewKubeVirtPriorityClassCR() *schedulingv1.PriorityClass {
59+
Kind: "PriorityClass",
60+
},
61+
ObjectMeta: metav1.ObjectMeta{
62+
- Name: "kubevirt-cluster-critical",
63+
+ Name: "kubevirt-internal-virtualization-cluster-critical",
64+
},
65+
// 1 billion is the highest value we can set
66+
// https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
67+
diff --git a/pkg/virt-operator/resource/generate/components/deployments.go b/pkg/virt-operator/resource/generate/components/deployments.go
68+
index 4d00a423a..ced56e776 100644
69+
--- a/pkg/virt-operator/resource/generate/components/deployments.go
70+
+++ b/pkg/virt-operator/resource/generate/components/deployments.go
71+
@@ -166,7 +166,7 @@ func newPodTemplateSpec(podName, imageName, repository, version, productName, pr
72+
Name: podName,
73+
},
74+
Spec: corev1.PodSpec{
75+
- PriorityClassName: "kubevirt-cluster-critical",
76+
+ PriorityClassName: "kubevirt-internal-virtualization-cluster-critical",
77+
Affinity: podAffinity,
78+
Tolerations: criticalAddonsToleration(),
79+
Containers: []corev1.Container{
80+
@@ -529,7 +529,7 @@ func NewOperatorDeployment(namespace, repository, imagePrefix, version, verbosit
81+
Name: VirtOperatorName,
82+
},
83+
Spec: corev1.PodSpec{
84+
- PriorityClassName: "kubevirt-cluster-critical",
85+
+ PriorityClassName: "kubevirt-internal-virtualization-cluster-critical",
86+
Tolerations: criticalAddonsToleration(),
87+
Affinity: podAntiAffinity,
88+
ServiceAccountName: "kubevirt-operator",
89+
diff --git a/pkg/virt-operator/resource/generate/components/serviceaccountnames.go b/pkg/virt-operator/resource/generate/components/serviceaccountnames.go
90+
index 0948629bb..9aca3b3bd 100644
91+
--- a/pkg/virt-operator/resource/generate/components/serviceaccountnames.go
92+
+++ b/pkg/virt-operator/resource/generate/components/serviceaccountnames.go
93+
@@ -1,9 +1,9 @@
94+
package components
95+
96+
const (
97+
- ApiServiceAccountName = "kubevirt-apiserver"
98+
- ControllerServiceAccountName = "kubevirt-controller"
99+
- ExportProxyServiceAccountName = "kubevirt-exportproxy"
100+
- HandlerServiceAccountName = "kubevirt-handler"
101+
+ ApiServiceAccountName = "kubevirt-internal-virtualization-apiserver"
102+
+ ControllerServiceAccountName = "kubevirt-internal-virtualization-controller"
103+
+ ExportProxyServiceAccountName = "kubevirt-internal-virtualization-exportproxy"
104+
+ HandlerServiceAccountName = "kubevirt-internal-virtualization-handler"
105+
OperatorServiceAccountName = "kubevirt-operator"
106+
)
107+
diff --git a/pkg/virt-operator/resource/generate/rbac/apiserver.go b/pkg/virt-operator/resource/generate/rbac/apiserver.go
108+
index 932f7391e..76c79d452 100644
109+
--- a/pkg/virt-operator/resource/generate/rbac/apiserver.go
110+
+++ b/pkg/virt-operator/resource/generate/rbac/apiserver.go
111+
@@ -294,7 +294,7 @@ func newApiServerAuthDelegatorClusterRoleBinding(namespace string) *rbacv1.Clust
112+
Kind: "ClusterRoleBinding",
113+
},
114+
ObjectMeta: metav1.ObjectMeta{
115+
- Name: "kubevirt-apiserver-auth-delegator",
116+
+ Name: "kubevirt-internal-virtualization-apiserver-auth-delegator",
117+
Labels: map[string]string{
118+
virtv1.AppLabel: "",
119+
},
120+
diff --git a/pkg/virt-operator/resource/generate/rbac/cluster.go b/pkg/virt-operator/resource/generate/rbac/cluster.go
121+
index 6ba13c849..12b7ccaa2 100644
122+
--- a/pkg/virt-operator/resource/generate/rbac/cluster.go
123+
+++ b/pkg/virt-operator/resource/generate/rbac/cluster.go
124+
@@ -37,7 +37,7 @@ const (
125+
GroupNameClone = "clone.kubevirt.io"
126+
GroupNameInstancetype = "instancetype.kubevirt.io"
127+
GroupNamePool = "pool.kubevirt.io"
128+
- NameDefault = "kubevirt.io:default"
129+
+ NameDefault = "kubevirt.internal.virtualization.deckhouse.io:default"
130+
VMInstancesGuestOSInfo = "virtualmachineinstances/guestosinfo"
131+
VMInstancesFileSysList = "virtualmachineinstances/filesystemlist"
132+
VMInstancesUserList = "virtualmachineinstances/userlist"
133+
@@ -128,7 +128,7 @@ func newAdminClusterRole() *rbacv1.ClusterRole {
134+
Kind: "ClusterRole",
135+
},
136+
ObjectMeta: metav1.ObjectMeta{
137+
- Name: "kubevirt.io:admin",
138+
+ Name: "kubevirt.internal.virtualization.deckhouse.io:admin",
139+
Labels: map[string]string{
140+
virtv1.AppLabel: "",
141+
"rbac.authorization.k8s.io/aggregate-to-admin": "true",
142+
@@ -307,7 +307,7 @@ func newEditClusterRole() *rbacv1.ClusterRole {
143+
Kind: "ClusterRole",
144+
},
145+
ObjectMeta: metav1.ObjectMeta{
146+
- Name: "kubevirt.io:edit",
147+
+ Name: "kubevirt.internal.virtualization.deckhouse.io:edit",
148+
Labels: map[string]string{
149+
virtv1.AppLabel: "",
150+
"rbac.authorization.k8s.io/aggregate-to-edit": "true",
151+
@@ -497,7 +497,7 @@ func newViewClusterRole() *rbacv1.ClusterRole {
152+
Kind: "ClusterRole",
153+
},
154+
ObjectMeta: metav1.ObjectMeta{
155+
- Name: "kubevirt.io:view",
156+
+ Name: "kubevirt.internal.virtualization.deckhouse.io:view",
157+
Labels: map[string]string{
158+
virtv1.AppLabel: "",
159+
"rbac.authorization.k8s.io/aggregate-to-view": "true",
160+
diff --git a/pkg/virt-operator/resource/generate/rbac/operator.go b/pkg/virt-operator/resource/generate/rbac/operator.go
161+
index 4eca946a4..061135fd9 100644
162+
--- a/pkg/virt-operator/resource/generate/rbac/operator.go
163+
+++ b/pkg/virt-operator/resource/generate/rbac/operator.go
164+
@@ -435,7 +435,7 @@ func newOperatorRoleBinding(namespace string) *rbacv1.RoleBinding {
165+
Kind: "RoleBinding",
166+
},
167+
ObjectMeta: metav1.ObjectMeta{
168+
- Name: "kubevirt-operator-rolebinding",
169+
+ Name: components.OperatorServiceAccountName,
170+
Namespace: namespace,
171+
Labels: map[string]string{
172+
virtv1.AppLabel: "",

images/virt-artifact/patches/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ A patch has been added to enable the configuration of the rate limiter via the e
3737

3838
#### `014-delete-apiserver.patch`
3939
Do not create Kubevirt APIService.
40+
41+
#### `015-rename-core-resources.patch`
42+
Replace "kubevirt" with "kubevirt-internal-virtualziation" in the core resource names.

0 commit comments

Comments
 (0)