Skip to content

Commit ec8902b

Browse files
committed
centralize legacy installation into core api group
1 parent e65306c commit ec8902b

File tree

15 files changed

+136
-42
lines changed

15 files changed

+136
-42
lines changed

cmd/oc/oc.go

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515

1616
// install all APIs
1717
apiinstall "github.com/openshift/origin/pkg/api/install"
18+
apilegacy "github.com/openshift/origin/pkg/api/legacy"
1819
_ "k8s.io/kubernetes/pkg/apis/autoscaling/install"
1920
_ "k8s.io/kubernetes/pkg/apis/batch/install"
2021
_ "k8s.io/kubernetes/pkg/apis/core/install"
@@ -33,6 +34,7 @@ func main() {
3334
}
3435

3536
apiinstall.InstallAll(scheme.Scheme, scheme.GroupFactoryRegistry, scheme.Registry)
37+
apilegacy.LegacyInstallAll(scheme.Scheme, scheme.Registry)
3638

3739
basename := filepath.Base(os.Args[0])
3840
command := cli.CommandFor(basename)

pkg/api/legacy/apigroups.go

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
package legacy
2+
3+
import (
4+
"k8s.io/apimachinery/pkg/apimachinery/registered"
5+
"k8s.io/apimachinery/pkg/runtime"
6+
"k8s.io/apimachinery/pkg/util/sets"
7+
8+
appsapi "github.com/openshift/origin/pkg/apps/apis/apps"
9+
appsapiv1 "github.com/openshift/origin/pkg/apps/apis/apps/v1"
10+
authorizationapi "github.com/openshift/origin/pkg/authorization/apis/authorization"
11+
authorizationapiv1 "github.com/openshift/origin/pkg/authorization/apis/authorization/v1"
12+
buildapi "github.com/openshift/origin/pkg/build/apis/build"
13+
buildapiv1 "github.com/openshift/origin/pkg/build/apis/build/v1"
14+
imageapi "github.com/openshift/origin/pkg/image/apis/image"
15+
imageapiv1 "github.com/openshift/origin/pkg/image/apis/image/v1"
16+
networkapi "github.com/openshift/origin/pkg/network/apis/network"
17+
networkapiv1 "github.com/openshift/origin/pkg/network/apis/network/v1"
18+
oauthapi "github.com/openshift/origin/pkg/oauth/apis/oauth"
19+
oauthapiv1 "github.com/openshift/origin/pkg/oauth/apis/oauth/v1"
20+
projectapi "github.com/openshift/origin/pkg/project/apis/project"
21+
projectapiv1 "github.com/openshift/origin/pkg/project/apis/project/v1"
22+
quotaapi "github.com/openshift/origin/pkg/quota/apis/quota"
23+
quotaapiv1 "github.com/openshift/origin/pkg/quota/apis/quota/v1"
24+
routeapi "github.com/openshift/origin/pkg/route/apis/route"
25+
routeapiv1 "github.com/openshift/origin/pkg/route/apis/route/v1"
26+
securityapi "github.com/openshift/origin/pkg/security/apis/security"
27+
securityapiv1 "github.com/openshift/origin/pkg/security/apis/security/v1"
28+
templateapi "github.com/openshift/origin/pkg/template/apis/template"
29+
templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1"
30+
userapi "github.com/openshift/origin/pkg/user/apis/user"
31+
userapiv1 "github.com/openshift/origin/pkg/user/apis/user/v1"
32+
)
33+
34+
func InstallLegacyApps(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
35+
InstallLegacy(appsapi.GroupName, appsapi.AddToSchemeInCoreGroup, appsapiv1.AddToSchemeInCoreGroup, sets.NewString(), registry, scheme)
36+
}
37+
38+
func InstallLegacyAuthorization(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
39+
InstallLegacy(authorizationapi.GroupName, authorizationapi.AddToSchemeInCoreGroup, authorizationapiv1.AddToSchemeInCoreGroup,
40+
sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding", "ResourceAccessReviewResponse", "SubjectAccessReviewResponse"),
41+
registry, scheme,
42+
)
43+
}
44+
45+
func InstallLegacyBuild(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
46+
InstallLegacy(buildapi.GroupName, buildapi.AddToSchemeInCoreGroup, buildapiv1.AddToSchemeInCoreGroup, sets.NewString(), registry, scheme)
47+
}
48+
49+
func InstallLegacyImage(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
50+
InstallLegacy(imageapi.GroupName, imageapi.AddToSchemeInCoreGroup, imageapiv1.AddToSchemeInCoreGroup,
51+
sets.NewString("Image", "ImageSignature"),
52+
registry, scheme,
53+
)
54+
}
55+
56+
func InstallLegacyNetwork(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
57+
InstallLegacy(networkapi.GroupName, networkapi.AddToSchemeInCoreGroup, networkapiv1.AddToSchemeInCoreGroup,
58+
sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace"),
59+
registry, scheme,
60+
)
61+
}
62+
63+
func InstallLegacyOAuth(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
64+
InstallLegacy(oauthapi.GroupName, oauthapi.AddToSchemeInCoreGroup, oauthapiv1.AddToSchemeInCoreGroup,
65+
sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization"),
66+
registry, scheme,
67+
)
68+
}
69+
70+
func InstallLegacyProject(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
71+
InstallLegacy(projectapi.GroupName, projectapi.AddToSchemeInCoreGroup, projectapiv1.AddToSchemeInCoreGroup,
72+
sets.NewString("Project", "ProjectRequest"),
73+
registry, scheme,
74+
)
75+
}
76+
77+
func InstallLegacyQuota(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
78+
InstallLegacy(quotaapi.GroupName, quotaapi.AddToSchemeInCoreGroup, quotaapiv1.AddToSchemeInCoreGroup,
79+
sets.NewString("ClusterResourceQuota"),
80+
registry, scheme,
81+
)
82+
}
83+
84+
func InstallLegacyRoute(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
85+
InstallLegacy(routeapi.GroupName, routeapi.AddToSchemeInCoreGroup, routeapiv1.AddToSchemeInCoreGroup, sets.NewString(), registry, scheme)
86+
}
87+
88+
func InstallLegacySecurity(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
89+
InstallLegacy(securityapi.GroupName, securityapi.AddToSchemeInCoreGroup, securityapiv1.AddToSchemeInCoreGroup,
90+
sets.NewString("SecurityContextConstraints"),
91+
registry, scheme,
92+
)
93+
}
94+
95+
func InstallLegacyTemplate(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
96+
InstallLegacy(templateapi.GroupName, templateapi.AddToSchemeInCoreGroup, templateapiv1.AddToSchemeInCoreGroup,
97+
sets.NewString("BrokerTemplateInstance"),
98+
registry, scheme,
99+
)
100+
}
101+
102+
func InstallLegacyUser(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
103+
InstallLegacy(userapi.GroupName, userapi.AddToSchemeInCoreGroup, userapiv1.AddToSchemeInCoreGroup,
104+
sets.NewString("User", "Identity", "UserIdentityMapping", "Group"),
105+
registry, scheme,
106+
)
107+
}

pkg/api/legacy/install.go

+15
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ var (
1717
coreV1 = schema.GroupVersion{Group: "", Version: "v1"}
1818
)
1919

20+
func LegacyInstallAll(scheme *runtime.Scheme, registry *registered.APIRegistrationManager) {
21+
InstallLegacyApps(scheme, registry)
22+
InstallLegacyAuthorization(scheme, registry)
23+
InstallLegacyBuild(scheme, registry)
24+
InstallLegacyImage(scheme, registry)
25+
InstallLegacyNetwork(scheme, registry)
26+
InstallLegacyOAuth(scheme, registry)
27+
InstallLegacyProject(scheme, registry)
28+
InstallLegacyQuota(scheme, registry)
29+
InstallLegacyRoute(scheme, registry)
30+
InstallLegacySecurity(scheme, registry)
31+
InstallLegacyTemplate(scheme, registry)
32+
InstallLegacyUser(scheme, registry)
33+
}
34+
2035
func InstallLegacy(group string, addToCore, addToCoreV1 func(*runtime.Scheme) error, rootScopedKinds sets.String, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
2136
interfacesFor := interfacesForGroup(group)
2237

pkg/apps/apis/apps/install/install.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import (
99
legacy "github.com/openshift/origin/pkg/api/legacy"
1010
appsapi "github.com/openshift/origin/pkg/apps/apis/apps"
1111
appsapiv1 "github.com/openshift/origin/pkg/apps/apis/apps/v1"
12-
"k8s.io/apimachinery/pkg/util/sets"
1312
)
1413

1514
func init() {
16-
legacy.InstallLegacy(appsapi.GroupName, appsapi.AddToSchemeInCoreGroup, appsapiv1.AddToSchemeInCoreGroup, sets.NewString(), legacyscheme.Registry, legacyscheme.Scheme)
15+
legacy.InstallLegacyApps(legacyscheme.Scheme, legacyscheme.Registry)
1716
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
1817
}
1918

pkg/authorization/apis/authorization/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import (
1414
)
1515

1616
func init() {
17-
legacy.InstallLegacy(authorizationapi.GroupName, authorizationapi.AddToSchemeInCoreGroup, authorizationapiv1.AddToSchemeInCoreGroup,
18-
sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding", "ResourceAccessReviewResponse", "SubjectAccessReviewResponse"),
19-
legacyscheme.Registry, legacyscheme.Scheme,
20-
)
17+
legacy.InstallLegacyAuthorization(legacyscheme.Scheme, legacyscheme.Registry)
2118
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2219
}
2320

pkg/build/apis/build/install/install.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import (
99
"github.com/openshift/origin/pkg/api/legacy"
1010
buildapi "github.com/openshift/origin/pkg/build/apis/build"
1111
buildapiv1 "github.com/openshift/origin/pkg/build/apis/build/v1"
12-
"k8s.io/apimachinery/pkg/util/sets"
1312
)
1413

1514
func init() {
16-
legacy.InstallLegacy(buildapi.GroupName, buildapi.AddToSchemeInCoreGroup, buildapiv1.AddToSchemeInCoreGroup, sets.NewString(), legacyscheme.Registry, legacyscheme.Scheme)
15+
legacy.InstallLegacyBuild(legacyscheme.Scheme, legacyscheme.Registry)
1716
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
1817
}
1918

pkg/image/apis/image/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ import (
1515
)
1616

1717
func init() {
18-
legacy.InstallLegacy(imageapi.GroupName, imageapi.AddToSchemeInCoreGroup, imageapiv1.AddToSchemeInCoreGroup,
19-
sets.NewString("Image", "ImageSignature"),
20-
legacyscheme.Registry, legacyscheme.Scheme,
21-
)
18+
legacy.InstallLegacyImage(legacyscheme.Scheme, legacyscheme.Registry)
2219
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2320
}
2421

pkg/network/apis/network/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(sdnapi.GroupName, sdnapi.AddToSchemeInCoreGroup, sdnapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyNetwork(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

pkg/oauth/apis/oauth/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(oauthapi.GroupName, oauthapi.AddToSchemeInCoreGroup, oauthapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyOAuth(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

pkg/project/apis/project/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(projectapi.GroupName, projectapi.AddToSchemeInCoreGroup, projectapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("Project", "ProjectRequest"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyProject(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

pkg/quota/apis/quota/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(quotaapi.GroupName, quotaapi.AddToSchemeInCoreGroup, quotaapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("ClusterResourceQuota"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyQuota(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

pkg/route/apis/route/install/install.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import (
99
"github.com/openshift/origin/pkg/api/legacy"
1010
routeapi "github.com/openshift/origin/pkg/route/apis/route"
1111
routeapiv1 "github.com/openshift/origin/pkg/route/apis/route/v1"
12-
"k8s.io/apimachinery/pkg/util/sets"
1312
)
1413

1514
func init() {
16-
legacy.InstallLegacy(routeapi.GroupName, routeapi.AddToSchemeInCoreGroup, routeapiv1.AddToSchemeInCoreGroup, sets.NewString(), legacyscheme.Registry, legacyscheme.Scheme)
15+
legacy.InstallLegacyRoute(legacyscheme.Scheme, legacyscheme.Registry)
1716
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
1817
}
1918

pkg/security/apis/security/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import (
1414

1515
func init() {
1616
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
17-
legacy.InstallLegacy(securityapi.GroupName, securityapi.AddToSchemeInCoreGroup, securityapiv1.AddToSchemeInCoreGroup,
18-
sets.NewString("SecurityContextConstraints"),
19-
legacyscheme.Registry, legacyscheme.Scheme,
20-
)
17+
legacy.InstallLegacySecurity(legacyscheme.Scheme, legacyscheme.Registry)
2118
}
2219

2320
// Install registers the API group and adds types to a scheme

pkg/template/apis/template/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(templateapi.GroupName, templateapi.AddToSchemeInCoreGroup, templateapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("BrokerTemplateInstance"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyTemplate(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

pkg/user/apis/user/install/install.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import (
1313
)
1414

1515
func init() {
16-
legacy.InstallLegacy(userapi.GroupName, userapi.AddToSchemeInCoreGroup, userapiv1.AddToSchemeInCoreGroup,
17-
sets.NewString("User", "Identity", "UserIdentityMapping", "Group"),
18-
legacyscheme.Registry, legacyscheme.Scheme,
19-
)
16+
legacy.InstallLegacyUser(legacyscheme.Scheme, legacyscheme.Registry)
2017
Install(legacyscheme.GroupFactoryRegistry, legacyscheme.Registry, legacyscheme.Scheme)
2118
}
2219

0 commit comments

Comments
 (0)