Skip to content

Commit 3ffb6d1

Browse files
committed
fix(catalog): do not add owner references to clusterroles or crbs
1 parent 149a0d1 commit 3ffb6d1

File tree

2 files changed

+9
-23
lines changed

2 files changed

+9
-23
lines changed

pkg/controller/operators/catalog/operator.go

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,16 +1147,11 @@ func (o *Operator) ExecutePlan(plan *v1alpha1.InstallPlan) error {
11471147
return errorwrap.Wrapf(err, "error parsing step manifest: %s", step.Resource.Name)
11481148
}
11491149

1150-
// Update UIDs on all CSV OwnerReferences
1151-
updated, err := o.getUpdatedOwnerReferences(cr.OwnerReferences, plan.Namespace)
1152-
if err != nil {
1153-
return errorwrap.Wrapf(err, "error generating ownerrefs for clusterrole %s", cr.GetName())
1154-
}
1155-
cr.OwnerReferences = updated
1156-
11571150
// Attempt to create the ClusterRole.
11581151
_, err = o.opClient.KubernetesInterface().RbacV1().ClusterRoles().Create(&cr)
11591152
if k8serrors.IsAlreadyExists(err) {
1153+
// if we're updating, point owner to the newest csv
1154+
cr.Labels[ownerutil.OwnerKey] = step.Resolving
11601155
_, err = o.opClient.UpdateClusterRole(&cr)
11611156
if err != nil {
11621157
return errorwrap.Wrapf(err, "error updating clusterrole %s", cr.GetName())
@@ -1177,17 +1172,11 @@ func (o *Operator) ExecutePlan(plan *v1alpha1.InstallPlan) error {
11771172
return errorwrap.Wrapf(err, "error parsing step manifest: %s", step.Resource.Name)
11781173
}
11791174

1180-
// Update UIDs on all CSV OwnerReferences
1181-
updated, err := o.getUpdatedOwnerReferences(rb.OwnerReferences, plan.Namespace)
1182-
if err != nil {
1183-
return errorwrap.Wrapf(err, "error generating ownerrefs for clusterrolebinding %s", rb.GetName())
1184-
}
1185-
rb.OwnerReferences = updated
1186-
11871175
// Attempt to create the ClusterRoleBinding.
11881176
_, err = o.opClient.KubernetesInterface().RbacV1().ClusterRoleBindings().Create(&rb)
11891177
if k8serrors.IsAlreadyExists(err) {
1190-
rb.SetNamespace(plan.Namespace)
1178+
// if we're updating, point owner to the newest csv
1179+
rb.Labels[ownerutil.OwnerKey] = step.Resolving
11911180
_, err = o.opClient.UpdateClusterRoleBinding(&rb)
11921181
if err != nil {
11931182
return errorwrap.Wrapf(err, "error updating clusterrolebinding %s", rb.GetName())

pkg/controller/registry/resolver/rbac.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,15 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
118118
if _, ok := permissions[permission.ServiceAccountName]; !ok {
119119
serviceAccount := &corev1.ServiceAccount{}
120120
serviceAccount.SetName(permission.ServiceAccountName)
121-
ownerutil.AddNonBlockingOwner(serviceAccount, csv)
122121

123122
permissions[permission.ServiceAccountName] = NewOperatorPermissions(serviceAccount)
124123
}
125124

126125
// Create ClusterRole
127126
role := &rbacv1.ClusterRole{
128127
ObjectMeta: metav1.ObjectMeta{
129-
Name: generateName(csv.GetName()),
130-
OwnerReferences: []metav1.OwnerReference{ownerutil.NonBlockingOwner(csv)},
131-
Labels: ownerutil.OwnerLabel(csv, v1alpha1.ClusterServiceVersionKind),
128+
Name: generateName(csv.GetName()),
129+
Labels: ownerutil.OwnerLabel(csv, v1alpha1.ClusterServiceVersionKind),
132130
},
133131
Rules: permission.Rules,
134132
}
@@ -137,10 +135,9 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
137135
// Create ClusterRoleBinding
138136
roleBinding := &rbacv1.ClusterRoleBinding{
139137
ObjectMeta: metav1.ObjectMeta{
140-
Name: generateName(fmt.Sprintf("%s-%s", role.GetName(), permission.ServiceAccountName)),
141-
Namespace: csv.GetNamespace(),
142-
OwnerReferences: []metav1.OwnerReference{ownerutil.NonBlockingOwner(csv)},
143-
Labels: ownerutil.OwnerLabel(csv, v1alpha1.ClusterServiceVersionKind),
138+
Name: generateName(fmt.Sprintf("%s-%s", role.GetName(), permission.ServiceAccountName)),
139+
Namespace: csv.GetNamespace(),
140+
Labels: ownerutil.OwnerLabel(csv, v1alpha1.ClusterServiceVersionKind),
144141
},
145142
RoleRef: rbacv1.RoleRef{
146143
Kind: "ClusterRole",

0 commit comments

Comments
 (0)