@@ -63,6 +63,11 @@ func ConfigureRBAC(ctx context.Context, cs clientset.Interface, ns string) error
6363 return err
6464 }
6565
66+ _ , err = createClusterRoleWorker (ctx , cs )
67+ if err != nil {
68+ return err
69+ }
70+
6671 _ , err = createClusterRoleGC (ctx , cs )
6772 if err != nil {
6873 return err
@@ -83,6 +88,11 @@ func ConfigureRBAC(ctx context.Context, cs clientset.Interface, ns string) error
8388 return err
8489 }
8590
91+ _ , err = createClusterRoleBindingWorker (ctx , cs , ns )
92+ if err != nil {
93+ return err
94+ }
95+
8696 _ , err = createClusterRoleBindingGC (ctx , cs , ns )
8797 if err != nil {
8898 return err
@@ -106,6 +116,10 @@ func DeconfigureRBAC(ctx context.Context, cs clientset.Interface, ns string) err
106116 if err != nil {
107117 return err
108118 }
119+ err = cs .RbacV1 ().ClusterRoleBindings ().Delete (ctx , "nfd-worker-e2e" , metav1.DeleteOptions {})
120+ if err != nil {
121+ return err
122+ }
109123 err = cs .RbacV1 ().ClusterRoleBindings ().Delete (ctx , "nfd-gc-e2e" , metav1.DeleteOptions {})
110124 if err != nil {
111125 return err
@@ -118,6 +132,10 @@ func DeconfigureRBAC(ctx context.Context, cs clientset.Interface, ns string) err
118132 if err != nil {
119133 return err
120134 }
135+ err = cs .RbacV1 ().ClusterRoles ().Delete (ctx , "nfd-worker-e2e" , metav1.DeleteOptions {})
136+ if err != nil {
137+ return err
138+ }
121139 err = cs .RbacV1 ().ClusterRoles ().Delete (ctx , "nfd-gc-e2e" , metav1.DeleteOptions {})
122140 if err != nil {
123141 return err
@@ -239,6 +257,24 @@ func createRoleWorker(ctx context.Context, cs clientset.Interface, ns string) (*
239257 return cs .RbacV1 ().Roles (ns ).Update (ctx , cr , metav1.UpdateOptions {})
240258}
241259
260+ // Configure cluster role required by NFD Worker
261+ func createClusterRoleWorker (ctx context.Context , cs clientset.Interface ) (* rbacv1.ClusterRole , error ) {
262+ cr := & rbacv1.ClusterRole {
263+ ObjectMeta : metav1.ObjectMeta {
264+ Name : "nfd-worker-e2e" ,
265+ },
266+ Rules : []rbacv1.PolicyRule {
267+ {
268+ APIGroups : []string {"" },
269+ Resources : []string {"nodes" },
270+ Verbs : []string {"get" , "list" },
271+ },
272+ },
273+ }
274+
275+ return cs .RbacV1 ().ClusterRoles ().Update (ctx , cr , metav1.UpdateOptions {})
276+ }
277+
242278// Configure cluster role required by NFD GC
243279func createClusterRoleGC (ctx context.Context , cs clientset.Interface ) (* rbacv1.ClusterRole , error ) {
244280 cr := & rbacv1.ClusterRole {
@@ -356,6 +392,29 @@ func createRoleBindingWorker(ctx context.Context, cs clientset.Interface, ns str
356392 return cs .RbacV1 ().RoleBindings (ns ).Update (ctx , crb , metav1.UpdateOptions {})
357393}
358394
395+ // Configure cluster role binding required by NFD Worker
396+ func createClusterRoleBindingWorker (ctx context.Context , cs clientset.Interface , ns string ) (* rbacv1.ClusterRoleBinding , error ) {
397+ crb := & rbacv1.ClusterRoleBinding {
398+ ObjectMeta : metav1.ObjectMeta {
399+ Name : "nfd-worker-e2e" ,
400+ },
401+ Subjects : []rbacv1.Subject {
402+ {
403+ Kind : rbacv1 .ServiceAccountKind ,
404+ Name : "nfd-worker-e2e" ,
405+ Namespace : ns ,
406+ },
407+ },
408+ RoleRef : rbacv1.RoleRef {
409+ APIGroup : rbacv1 .GroupName ,
410+ Kind : "ClusterRole" ,
411+ Name : "nfd-worker-e2e" ,
412+ },
413+ }
414+
415+ return cs .RbacV1 ().ClusterRoleBindings ().Update (ctx , crb , metav1.UpdateOptions {})
416+ }
417+
359418// Configure cluster role binding required by NFD GC
360419func createClusterRoleBindingGC (ctx context.Context , cs clientset.Interface , ns string ) (* rbacv1.ClusterRoleBinding , error ) {
361420 crb := & rbacv1.ClusterRoleBinding {
0 commit comments