@@ -54,6 +54,54 @@ func (c *MasterConfig) ensureOpenShiftInfraNamespace() {
54
54
return
55
55
}
56
56
57
+ controllerRoles := []authorizationapi.ClusterRole {}
58
+ if roles , err := bootstrappolicy .GetKubeControllerBootstrapClusterRoles (); err != nil {
59
+ glog .Error (err )
60
+ } else {
61
+ controllerRoles = append (controllerRoles , roles ... )
62
+ }
63
+ if roles , err := bootstrappolicy .GetOpenshiftControllerBootstrapClusterRoles (); err != nil {
64
+ glog .Error (err )
65
+ } else {
66
+ controllerRoles = append (controllerRoles , roles ... )
67
+ }
68
+ for _ , role := range controllerRoles {
69
+ reconcileRole := & policy.ReconcileClusterRolesOptions {
70
+ RolesToReconcile : []string {role .Name },
71
+ Confirmed : true ,
72
+ Union : true ,
73
+ Out : ioutil .Discard ,
74
+ RoleClient : c .PrivilegedLoopbackOpenShiftClient .ClusterRoles (),
75
+ }
76
+ if err := reconcileRole .RunReconcileClusterRoles (nil , nil ); err != nil {
77
+ glog .Errorf ("Could not reconcile %v: %v\n " , role .Name , err )
78
+ }
79
+ }
80
+
81
+ controllerRoleBindings := []authorizationapi.ClusterRoleBinding {}
82
+ if bindings , err := bootstrappolicy .GetKubeControllerBootstrapClusterRoleBindings (); err != nil {
83
+ glog .Error (err )
84
+ } else {
85
+ controllerRoleBindings = append (controllerRoleBindings , bindings ... )
86
+ }
87
+ if bindings , err := bootstrappolicy .GetOpenshiftControllerBootstrapClusterRoleBindings (); err != nil {
88
+ glog .Error (err )
89
+ } else {
90
+ controllerRoleBindings = append (controllerRoleBindings , bindings ... )
91
+ }
92
+ for _ , binding := range controllerRoleBindings {
93
+ reconcileRoleBinding := & policy.ReconcileClusterRoleBindingsOptions {
94
+ RolesToReconcile : []string {binding .RoleRef .Name },
95
+ Confirmed : true ,
96
+ Union : true ,
97
+ Out : ioutil .Discard ,
98
+ RoleBindingClient : c .PrivilegedLoopbackOpenShiftClient .ClusterRoleBindings (),
99
+ }
100
+ if err := reconcileRoleBinding .RunReconcileClusterRoleBindings (nil , nil ); err != nil {
101
+ glog .Errorf ("Could not reconcile %v: %v\n " , binding .RoleRef .Name , err )
102
+ }
103
+ }
104
+
57
105
roleAccessor := policy .NewClusterRoleBindingAccessor (c .ServiceAccountRoleBindingClient ())
58
106
for _ , saName := range bootstrappolicy .InfraSAs .GetServiceAccounts () {
59
107
_ , err := c .KubeClientsetInternal ().Core ().ServiceAccounts (ns ).Create (& kapi.ServiceAccount {ObjectMeta : metav1.ObjectMeta {Name : saName }})
0 commit comments