@@ -10,14 +10,13 @@ import (
10
10
11
11
"github.com/spf13/cobra"
12
12
13
+ rbacv1 "k8s.io/api/rbac/v1"
13
14
"k8s.io/apimachinery/pkg/util/sets"
14
15
"k8s.io/kubernetes/pkg/api/legacyscheme"
15
- "k8s.io/kubernetes/pkg/apis/rbac"
16
16
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
17
17
kprinters "k8s.io/kubernetes/pkg/printers"
18
18
19
19
"github.com/openshift/origin/pkg/api/latest"
20
- authorizationapi "github.com/openshift/origin/pkg/authorization/apis/authorization"
21
20
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
22
21
templateapi "github.com/openshift/origin/pkg/template/apis/template"
23
22
)
@@ -30,8 +29,6 @@ const (
30
29
31
30
type CreateBootstrapPolicyFileOptions struct {
32
31
File string
33
-
34
- OpenShiftSharedResourcesNamespace string
35
32
}
36
33
37
34
func NewCommandCreateBootstrapPolicyFile (commandName string , fullName string , out io.Writer ) * cobra.Command {
@@ -54,8 +51,6 @@ func NewCommandCreateBootstrapPolicyFile(commandName string, fullName string, ou
54
51
flags := cmd .Flags ()
55
52
56
53
flags .StringVar (& options .File , "filename" , DefaultPolicyFile , "The policy template file that will be written with roles and bindings." )
57
- flags .StringVar (& options .OpenShiftSharedResourcesNamespace , "openshift-namespace" , "openshift" , "Namespace for shared resources." )
58
- flags .MarkDeprecated ("openshift-namespace" , "this field is no longer supported and using it can lead to undefined behavior" )
59
54
60
55
// autocompletion hints
61
56
cmd .MarkFlagFilename ("filename" )
@@ -70,9 +65,6 @@ func (o CreateBootstrapPolicyFileOptions) Validate(args []string) error {
70
65
if len (o .File ) == 0 {
71
66
return errors .New ("filename must be provided" )
72
67
}
73
- if len (o .OpenShiftSharedResourcesNamespace ) == 0 {
74
- return errors .New ("openshift-namespace must be provided" )
75
- }
76
68
77
69
return nil
78
70
}
@@ -86,82 +78,38 @@ func (o CreateBootstrapPolicyFileOptions) CreateBootstrapPolicyFile() error {
86
78
policy := bootstrappolicy .Policy ()
87
79
88
80
for i := range policy .ClusterRoles {
89
- originObject := & authorizationapi.ClusterRole {}
90
- if err := legacyscheme .Scheme .Convert (& policy .ClusterRoles [i ], originObject , nil ); err != nil {
91
- return err
92
- }
93
- versionedObject , err := legacyscheme .Scheme .ConvertToVersion (originObject , latest .Version )
81
+ versionedObject , err := legacyscheme .Scheme .ConvertToVersion (& policy .ClusterRoles [i ], rbacv1 .SchemeGroupVersion )
94
82
if err != nil {
95
83
return err
96
84
}
97
85
policyTemplate .Objects = append (policyTemplate .Objects , versionedObject )
98
86
}
99
87
100
88
for i := range policy .ClusterRoleBindings {
101
- originObject := & authorizationapi.ClusterRoleBinding {}
102
- if err := legacyscheme .Scheme .Convert (& policy .ClusterRoleBindings [i ], originObject , nil ); err != nil {
103
- return err
104
- }
105
- versionedObject , err := legacyscheme .Scheme .ConvertToVersion (originObject , latest .Version )
89
+ versionedObject , err := legacyscheme .Scheme .ConvertToVersion (& policy .ClusterRoleBindings [i ], rbacv1 .SchemeGroupVersion )
106
90
if err != nil {
107
91
return err
108
92
}
109
93
policyTemplate .Objects = append (policyTemplate .Objects , versionedObject )
110
94
}
111
95
112
- openshiftRoles := map [string ][]rbac.Role {}
113
- for namespace , roles := range policy .Roles {
114
- if namespace == bootstrappolicy .DefaultOpenShiftSharedResourcesNamespace {
115
- r := make ([]rbac.Role , len (roles ))
116
- for i := range roles {
117
- r [i ] = roles [i ]
118
- r [i ].Namespace = o .OpenShiftSharedResourcesNamespace
119
- }
120
- openshiftRoles [o .OpenShiftSharedResourcesNamespace ] = r
121
- } else {
122
- openshiftRoles [namespace ] = roles
123
- }
124
- }
125
-
126
96
// iterate in a defined order
127
- for _ , namespace := range sets .StringKeySet (openshiftRoles ).List () {
128
- roles := openshiftRoles [namespace ]
97
+ for _ , namespace := range sets .StringKeySet (policy . Roles ).List () {
98
+ roles := policy . Roles [namespace ]
129
99
for i := range roles {
130
- originObject := & authorizationapi.Role {}
131
- if err := legacyscheme .Scheme .Convert (& roles [i ], originObject , nil ); err != nil {
132
- return err
133
- }
134
- versionedObject , err := legacyscheme .Scheme .ConvertToVersion (originObject , latest .Version )
100
+ versionedObject , err := legacyscheme .Scheme .ConvertToVersion (& roles [i ], rbacv1 .SchemeGroupVersion )
135
101
if err != nil {
136
102
return err
137
103
}
138
104
policyTemplate .Objects = append (policyTemplate .Objects , versionedObject )
139
105
}
140
106
}
141
107
142
- openshiftRoleBindings := map [string ][]rbac.RoleBinding {}
143
- for namespace , roleBindings := range policy .RoleBindings {
144
- if namespace == bootstrappolicy .DefaultOpenShiftSharedResourcesNamespace {
145
- rb := make ([]rbac.RoleBinding , len (roleBindings ))
146
- for i := range roleBindings {
147
- rb [i ] = roleBindings [i ]
148
- rb [i ].Namespace = o .OpenShiftSharedResourcesNamespace
149
- }
150
- openshiftRoleBindings [o .OpenShiftSharedResourcesNamespace ] = rb
151
- } else {
152
- openshiftRoleBindings [namespace ] = roleBindings
153
- }
154
- }
155
-
156
108
// iterate in a defined order
157
- for _ , namespace := range sets .StringKeySet (openshiftRoleBindings ).List () {
158
- roleBindings := openshiftRoleBindings [namespace ]
109
+ for _ , namespace := range sets .StringKeySet (policy . RoleBindings ).List () {
110
+ roleBindings := policy . RoleBindings [namespace ]
159
111
for i := range roleBindings {
160
- originObject := & authorizationapi.RoleBinding {}
161
- if err := legacyscheme .Scheme .Convert (& roleBindings [i ], originObject , nil ); err != nil {
162
- return err
163
- }
164
- versionedObject , err := legacyscheme .Scheme .ConvertToVersion (originObject , latest .Version )
112
+ versionedObject , err := legacyscheme .Scheme .ConvertToVersion (& roleBindings [i ], rbacv1 .SchemeGroupVersion )
165
113
if err != nil {
166
114
return err
167
115
}
0 commit comments