Skip to content

Commit 5157fe5

Browse files
Merge pull request #20471 from deads2k/server-03-configapi
make config scheme install normal
2 parents d78a1f1 + b057302 commit 5157fe5

File tree

43 files changed

+214
-655
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+214
-655
lines changed

cmd/openshift-node-config/openshift-node-config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ func main() {
3737
Kubelet command-line flags.
3838
`),
3939
RunE: func(cmd *cobra.Command, args []string) error {
40-
configapi.AddToScheme(configapi.Scheme)
41-
configapiv1.AddToScheme(configapi.Scheme)
40+
configapi.InstallLegacy(configapi.Scheme)
41+
configapiv1.InstallLegacy(configapi.Scheme)
4242

4343
if len(configFile) == 0 {
4444
return fmt.Errorf("you must specify a --config file to read")

hack/update-generated-deep-copies.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ALL_FQ_APIS=(
1515
github.com/openshift/origin/pkg/build/controller/build/apis/defaults/v1
1616
github.com/openshift/origin/pkg/build/controller/build/apis/overrides
1717
github.com/openshift/origin/pkg/build/controller/build/apis/overrides/v1
18-
github.com/openshift/origin/pkg/build/controller/build/pluginconfig/testing
1918
github.com/openshift/origin/pkg/cmd/server/apis/config
2019
github.com/openshift/origin/pkg/cmd/server/apis/config/v1
2120
github.com/openshift/origin/pkg/cmd/server/apis/config/v1/testing

pkg/api/install/tags_test.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ import (
1111
"k8s.io/apimachinery/pkg/runtime/schema"
1212
"k8s.io/apimachinery/pkg/util/sets"
1313

14-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
15-
configapiv1 "github.com/openshift/origin/pkg/cmd/server/apis/config/v1"
14+
configapiinstall "github.com/openshift/origin/pkg/cmd/server/apis/config/install"
1615
)
1716

1817
func TestDescriptions(t *testing.T) {
@@ -66,6 +65,7 @@ func TestInternalJsonTags(t *testing.T) {
6665
scheme := runtime.NewScheme()
6766
InstallInternalOpenShift(scheme)
6867
InstallInternalKube(scheme)
68+
configapiinstall.InstallLegacyInternal(scheme)
6969

7070
seen := map[reflect.Type]bool{}
7171
seenGroups := sets.String{}
@@ -81,10 +81,6 @@ func TestInternalJsonTags(t *testing.T) {
8181
checkInternalJsonTags(apiType, &seen, t)
8282
}
8383
}
84-
85-
for _, apiType := range configapi.Scheme.KnownTypes(configapi.SchemeGroupVersion) {
86-
checkInternalJsonTags(apiType, &seen, t)
87-
}
8884
}
8985

9086
// internalTypesWithAllowedJsonTags is the list of special structs that have a particular need to have json tags on their
@@ -130,6 +126,7 @@ func TestExternalJsonTags(t *testing.T) {
130126
scheme := runtime.NewScheme()
131127
InstallInternalOpenShift(scheme)
132128
InstallInternalKube(scheme)
129+
configapiinstall.InstallLegacyInternal(scheme)
133130

134131
seen := map[reflect.Type]bool{}
135132

@@ -138,11 +135,6 @@ func TestExternalJsonTags(t *testing.T) {
138135
checkExternalJsonTags(apiType, &seen, t)
139136
}
140137
}
141-
142-
for _, apiType := range configapi.Scheme.KnownTypes(configapiv1.SchemeGroupVersion) {
143-
checkExternalJsonTags(apiType, &seen, t)
144-
}
145-
146138
}
147139

148140
func checkExternalJsonTags(objType reflect.Type, seen *map[reflect.Type]bool, t *testing.T) {
Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,14 @@
11
package install
22

33
import (
4-
"github.com/golang/glog"
5-
6-
"k8s.io/apimachinery/pkg/runtime/schema"
4+
"k8s.io/apimachinery/pkg/runtime"
5+
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
76

87
"github.com/openshift/origin/pkg/build/controller/build/apis/defaults"
98
"github.com/openshift/origin/pkg/build/controller/build/apis/defaults/v1"
10-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
119
)
1210

13-
// availableVersions lists all known external versions for this group from most preferred to least preferred
14-
var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion}
15-
16-
func init() {
17-
if err := enableVersions(availableVersions); err != nil {
18-
panic(err)
19-
}
20-
}
21-
22-
// TODO: enableVersions should be centralized rather than spread in each API
23-
// group.
24-
// We can combine registered.RegisterVersions, registered.EnableVersions and
25-
// registered.RegisterGroup once we have moved enableVersions there.
26-
func enableVersions(externalVersions []schema.GroupVersion) error {
27-
addVersionsToScheme(externalVersions...)
28-
return nil
29-
}
30-
31-
func addVersionsToScheme(externalVersions ...schema.GroupVersion) {
32-
// add the internal version to Scheme
33-
defaults.AddToScheme(configapi.Scheme)
34-
// add the enabled external versions to Scheme
35-
for _, v := range externalVersions {
36-
switch v {
37-
case v1.SchemeGroupVersion:
38-
v1.AddToScheme(configapi.Scheme)
39-
40-
default:
41-
glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v)
42-
continue
43-
}
44-
}
11+
func InstallLegacyInternal(scheme *runtime.Scheme) {
12+
utilruntime.Must(defaults.InstallLegacy(scheme))
13+
utilruntime.Must(v1.InstallLegacy(scheme))
4514
}

pkg/build/controller/build/apis/defaults/register.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func Resource(resource string) schema.GroupResource {
2020

2121
var (
2222
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
23-
AddToScheme = SchemeBuilder.AddToScheme
23+
InstallLegacy = SchemeBuilder.AddToScheme
2424
)
2525

2626
// Adds the list of known types to api.Scheme.

pkg/build/controller/build/apis/defaults/v1/register.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package v1
22

33
import (
4+
"github.com/openshift/origin/pkg/build/controller/build/apis/defaults"
45
"k8s.io/apimachinery/pkg/runtime"
56
"k8s.io/apimachinery/pkg/runtime/schema"
67
)
@@ -9,8 +10,11 @@ import (
910
var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: "v1"}
1011

1112
var (
12-
localSchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
13-
AddToScheme = localSchemeBuilder.AddToScheme
13+
localSchemeBuilder = runtime.NewSchemeBuilder(
14+
addKnownTypes,
15+
defaults.InstallLegacy,
16+
)
17+
InstallLegacy = localSchemeBuilder.AddToScheme
1418
)
1519

1620
// Adds the list of known types to api.Scheme.
Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,14 @@
11
package install
22

33
import (
4-
"github.com/golang/glog"
5-
6-
"k8s.io/apimachinery/pkg/runtime/schema"
4+
"k8s.io/apimachinery/pkg/runtime"
5+
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
76

87
"github.com/openshift/origin/pkg/build/controller/build/apis/overrides"
98
"github.com/openshift/origin/pkg/build/controller/build/apis/overrides/v1"
10-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
119
)
1210

13-
// availableVersions lists all known external versions for this group from most preferred to least preferred
14-
var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion}
15-
16-
func init() {
17-
if err := enableVersions(availableVersions); err != nil {
18-
panic(err)
19-
}
20-
}
21-
22-
// TODO: enableVersions should be centralized rather than spread in each API
23-
// group.
24-
// We can combine registered.RegisterVersions, registered.EnableVersions and
25-
// registered.RegisterGroup once we have moved enableVersions there.
26-
func enableVersions(externalVersions []schema.GroupVersion) error {
27-
addVersionsToScheme(externalVersions...)
28-
return nil
29-
}
30-
31-
func addVersionsToScheme(externalVersions ...schema.GroupVersion) {
32-
// add the internal version to Scheme
33-
overrides.AddToScheme(configapi.Scheme)
34-
// add the enabled external versions to Scheme
35-
for _, v := range externalVersions {
36-
switch v {
37-
case v1.SchemeGroupVersion:
38-
v1.AddToScheme(configapi.Scheme)
39-
40-
default:
41-
glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v)
42-
continue
43-
}
44-
}
11+
func InstallLegacyInternal(scheme *runtime.Scheme) {
12+
utilruntime.Must(overrides.InstallLegacy(scheme))
13+
utilruntime.Must(v1.InstallLegacy(scheme))
4514
}

pkg/build/controller/build/apis/overrides/register.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func Resource(resource string) schema.GroupResource {
2020

2121
var (
2222
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
23-
AddToScheme = SchemeBuilder.AddToScheme
23+
InstallLegacy = SchemeBuilder.AddToScheme
2424
)
2525

2626
// Adds the list of known types to api.Scheme.

pkg/build/controller/build/apis/overrides/v1/register.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package v1
22

33
import (
4+
"github.com/openshift/origin/pkg/build/controller/build/apis/overrides"
45
"k8s.io/apimachinery/pkg/runtime"
56
"k8s.io/apimachinery/pkg/runtime/schema"
67
)
@@ -9,8 +10,11 @@ import (
910
var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: "v1"}
1011

1112
var (
12-
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
13-
AddToScheme = SchemeBuilder.AddToScheme
13+
SchemeBuilder = runtime.NewSchemeBuilder(
14+
addKnownTypes,
15+
overrides.InstallLegacy,
16+
)
17+
InstallLegacy = SchemeBuilder.AddToScheme
1418
)
1519

1620
// Adds the list of known types to api.Scheme.

pkg/build/controller/build/pluginconfig/config.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,12 @@ import (
66
"github.com/golang/glog"
77

88
"k8s.io/apimachinery/pkg/runtime"
9-
kapiserverinstall "k8s.io/apiserver/pkg/apis/apiserver/install"
109

1110
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
1211
"github.com/openshift/origin/pkg/cmd/server/apis/config/latest"
1312
configlatest "github.com/openshift/origin/pkg/cmd/server/apis/config/latest"
1413
)
1514

16-
var (
17-
scheme = runtime.NewScheme()
18-
)
19-
20-
func init() {
21-
kapiserverinstall.Install(scheme)
22-
}
23-
2415
func getPluginConfig(cfg configapi.AdmissionPluginConfig) (string, error) {
2516
obj := cfg.Configuration
2617
if obj == nil {

pkg/build/controller/build/pluginconfig/config_test.go

Lines changed: 0 additions & 80 deletions
This file was deleted.

pkg/build/controller/build/pluginconfig/testing/doc.go

Lines changed: 0 additions & 4 deletions
This file was deleted.

pkg/build/controller/build/pluginconfig/testing/types.go

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)