Skip to content

Commit 3d79e2a

Browse files
committed
Fix CRD roles generation and correct editor verbs
1 parent a5cb9d7 commit 3d79e2a

9 files changed

Lines changed: 63 additions & 30 deletions

File tree

charts/openstack-hypervisor-operator/templates/manager-rbac.yaml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ rules:
2626
resources:
2727
- deployments
2828
verbs:
29-
- ;get
3029
- create
3130
- delete
31+
- get
3232
- list
3333
- patch
3434
- update
@@ -48,6 +48,8 @@ rules:
4848
- kvm.cloud.sap
4949
resources:
5050
- evictions
51+
- hypervisors
52+
- hypervisors/status
5153
verbs:
5254
- create
5355
- delete
@@ -70,16 +72,6 @@ rules:
7072
- get
7173
- patch
7274
- update
73-
- apiGroups:
74-
- kvm.cloud.sap
75-
resources:
76-
- hypervisors
77-
verbs:
78-
- create
79-
- delete
80-
- get
81-
- list
82-
- watch
8375
- apiGroups:
8476
- policy
8577
resources:

config/crd/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# It should be run by config/default
44
resources:
55
- bases/kvm.cloud.sap_evictions.yaml
6+
- bases/kvm.cloud.sap_hypervisors.yaml
67
# +kubebuilder:scaffold:crdkustomizeresource
78

89
patches:
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# permissions for end users to edit hypervisors.
2+
apiVersion: rbac.authorization.k8s.io/v1
3+
kind: ClusterRole
4+
metadata:
5+
labels:
6+
app.kubernetes.io/name: kvm-node-agent
7+
app.kubernetes.io/managed-by: kustomize
8+
name: hypervisor-editor-role
9+
rules:
10+
- apiGroups:
11+
- kvm.cloud.sap
12+
resources:
13+
- hypervisors
14+
verbs:
15+
- create
16+
- delete
17+
- get
18+
- list
19+
- patch
20+
- update
21+
- watch
22+
- apiGroups:
23+
- kvm.cloud.sap
24+
resources:
25+
- hypervisors/status
26+
verbs:
27+
- get
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# permissions for end users to view hypervisors.
2+
apiVersion: rbac.authorization.k8s.io/v1
3+
kind: ClusterRole
4+
metadata:
5+
labels:
6+
app.kubernetes.io/name: kvm-node-agent
7+
app.kubernetes.io/managed-by: kustomize
8+
name: hypervisor-viewer-role
9+
rules:
10+
- apiGroups:
11+
- kvm.cloud.sap
12+
resources:
13+
- hypervisors
14+
verbs:
15+
- get
16+
- list
17+
- watch
18+
- apiGroups:
19+
- kvm.cloud.sap
20+
resources:
21+
- hypervisors/status
22+
verbs:
23+
- get

config/rbac/kustomization.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ resources:
2424
# if you do not want those helpers be installed with your Project.
2525
- eviction_editor_role.yaml
2626
- eviction_viewer_role.yaml
27-
27+
- hypervisor_editor_role.yaml
28+
- hypervisor_viewer_role.yaml

config/rbac/role.yaml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ rules:
2525
resources:
2626
- deployments
2727
verbs:
28-
- ;get
2928
- create
3029
- delete
30+
- get
3131
- list
3232
- patch
3333
- update
@@ -47,6 +47,8 @@ rules:
4747
- kvm.cloud.sap
4848
resources:
4949
- evictions
50+
- hypervisors
51+
- hypervisors/status
5052
verbs:
5153
- create
5254
- delete
@@ -69,16 +71,6 @@ rules:
6971
- get
7072
- patch
7173
- update
72-
- apiGroups:
73-
- kvm.cloud.sap
74-
resources:
75-
- hypervisors
76-
verbs:
77-
- create
78-
- delete
79-
- get
80-
- list
81-
- watch
8274
- apiGroups:
8375
- policy
8476
resources:

internal/controller/hypervisor_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ type HypervisorController struct {
5555

5656
// +kubebuilder:rbac:groups="",resources=nodes,verbs=get;list;watch
5757
// +kubebuilder:rbac:groups="",resources=nodes/status,verbs=get
58-
// +kubebuilder:rbac:groups=kvm.cloud.sap,resources=hypervisors,verbs=get;list;watch;create;delete
58+
// +kubebuilder:rbac:groups=kvm.cloud.sap,resources=hypervisors,verbs=get;list;watch;create;update;patch;delete
59+
// +kubebuilder:rbac:groups=kvm.cloud.sap,resources=hypervisors/status,verbs=get;list;watch;create;update;patch;delete
5960

6061
func (hv *HypervisorController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
6162
var lifecycleEnabled, skipTest bool

internal/controller/maintenance_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const (
6161
// https://github.com/gardener/machine-controller-manager/blob/rel-v0.56/pkg/util/provider/machinecontroller/machine.go#L646
6262

6363
// +kubebuilder:rbac:groups="",resources=nodes,verbs=get;list;watch;patch;update;watch
64-
// +kubebuilder:rbac:groups="apps",resources=deployments,verbs=create;delete;;get;list;patch;update;watch
64+
// +kubebuilder:rbac:groups="apps",resources=deployments,verbs=create;delete;get;list;patch;update;watch
6565
// +kubebuilder:rbac:groups="policy",resources=poddisruptionbudgets,verbs=create;delete;get;list;patch;update;watch
6666

6767
func (r *MaintenanceController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {

internal/controller/onboarding_controller.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,7 @@ func (r *OnboardingController) Reconcile(ctx context.Context, req ctrl.Request)
132132
Reason: ConditionReasonInitial,
133133
Message: "Initial onboarding",
134134
})
135-
if err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
136-
return r.Status().Update(ctx, hv)
137-
}); err != nil {
138-
return ctrl.Result{}, err
139-
}
135+
return ctrl.Result{}, r.Status().Update(ctx, hv)
140136
}
141137

142138
// TODO: cleanup node retrieval

0 commit comments

Comments
 (0)