Skip to content

Commit 1a61ff2

Browse files
Merge pull request #21027 from deads2k/controller-06-external-types
make openshift use smaller controller manager config
2 parents e9dc2ee + bd2737b commit 1a61ff2

File tree

36 files changed

+1887
-241
lines changed

36 files changed

+1887
-241
lines changed

glide.lock

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/openshift-controller-manager/install.yaml

+31-12
Original file line numberDiff line numberDiff line change
@@ -39,38 +39,42 @@ objects:
3939
spec:
4040
serviceAccountName: openshift-controller-manager
4141
restartPolicy: Always
42-
hostNetwork: true
4342
containers:
44-
- name: c
43+
- name: controller-manager
4544
image: ${IMAGE}
4645
imagePullPolicy: ${OPENSHIFT_PULL_POLICY}
4746
command: ["hypershift", "openshift-controller-manager"]
4847
args:
49-
- "--config=/etc/origin/master/master-config.yaml"
48+
- "--config=/var/run/configmaps/config/config.json"
5049
- "--v=${LOGLEVEL}"
5150
ports:
52-
- containerPort: 8444
51+
- containerPort: 8443
5352
securityContext:
5453
privileged: true
5554
runAsUser: 0
5655
volumeMounts:
57-
- mountPath: /etc/origin/master/
58-
name: master-config
59-
- mountPath: /etc/origin/cloudprovider/
60-
name: master-cloud-provider
56+
- mountPath: /var/run/configmaps/config
57+
name: config
58+
- mountPath: /var/run/configmaps/client-ca
59+
name: client-ca
60+
- mountPath: /var/run/secrets/serving-cert
61+
name: serving-cert
6162
readinessProbe:
6263
httpGet:
6364
path: /healthz
64-
port: 8444
65+
port: 8443
6566
scheme: HTTPS
6667
# sensitive files still sit on disk for now
6768
volumes:
68-
- name: master-config
69+
- name: config
6970
hostPath:
7071
path: ${OPENSHIFT_CONTROLLER_MANAGER_CONFIG_HOST_PATH}
71-
- name: master-cloud-provider
72+
- name: client-ca
7273
hostPath:
73-
path: /etc/origin/cloudprovider
74+
path: ${OPENSHIFT_CONTROLLER_MANAGER_CONFIG_HOST_PATH}
75+
- name: serving-cert
76+
secret:
77+
secretName: serving-cert
7478

7579

7680
# to be able to assign powers to the process
@@ -80,3 +84,18 @@ objects:
8084
namespace: ${NAMESPACE}
8185
name: openshift-controller-manager
8286

87+
88+
- apiVersion: v1
89+
kind: Service
90+
metadata:
91+
namespace: ${NAMESPACE}
92+
name: controller-manager
93+
annotations:
94+
service.alpha.openshift.io/serving-cert-secret-name: serving-cert
95+
spec:
96+
selector:
97+
openshift.io/component: controllers
98+
ports:
99+
- name: https
100+
port: 443
101+
targetPort: 8443
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"apiVersion": "openshiftcontrolplane.config.openshift.io/v1",
3+
"kind": "OpenShiftControllerManagerConfig",
4+
"controllers": ["*", "-openshift.io/service-serving-cert"]
5+
}

pkg/build/controller/build/defaults/defaults.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ import (
77
corev1 "k8s.io/api/core/v1"
88

99
buildv1 "github.com/openshift/api/build/v1"
10+
openshiftcontrolplanev1 "github.com/openshift/api/openshiftcontrolplane/v1"
1011
"github.com/openshift/origin/pkg/build/controller/common"
1112
"github.com/openshift/origin/pkg/build/util"
1213
buildutil "github.com/openshift/origin/pkg/build/util"
13-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
1414
)
1515

1616
type BuildDefaults struct {
17-
Config *configapi.BuildDefaultsConfig
17+
Config *openshiftcontrolplanev1.BuildDefaultsConfig
1818
}
1919

2020
// ApplyDefaults applies configured build defaults to a build pod

pkg/build/controller/build/defaults/defaults_test.go

+47-59
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,17 @@ import (
66

77
corev1 "k8s.io/api/core/v1"
88
"k8s.io/apimachinery/pkg/api/resource"
9-
"k8s.io/kubernetes/pkg/api/legacyscheme"
10-
internalcore "k8s.io/kubernetes/pkg/apis/core"
11-
kapi "k8s.io/kubernetes/pkg/apis/core"
129
kapihelper "k8s.io/kubernetes/pkg/apis/core/helper"
1310

1411
buildv1 "github.com/openshift/api/build/v1"
15-
buildapi "github.com/openshift/origin/pkg/build/apis/build"
12+
openshiftcontrolplanev1 "github.com/openshift/api/openshiftcontrolplane/v1"
1613
"github.com/openshift/origin/pkg/build/controller/common"
1714
testutil "github.com/openshift/origin/pkg/build/controller/common/testutil"
1815
buildutil "github.com/openshift/origin/pkg/build/util"
19-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
2016
)
2117

2218
func TestProxyDefaults(t *testing.T) {
23-
defaultsConfig := &configapi.BuildDefaultsConfig{
19+
defaultsConfig := &openshiftcontrolplanev1.BuildDefaultsConfig{
2420
GitHTTPProxy: "http",
2521
GitHTTPSProxy: "https",
2622
GitNoProxy: "no",
@@ -49,8 +45,8 @@ func TestProxyDefaults(t *testing.T) {
4945
}
5046

5147
func TestEnvDefaults(t *testing.T) {
52-
defaultsConfig := &configapi.BuildDefaultsConfig{
53-
Env: []internalcore.EnvVar{
48+
defaultsConfig := &openshiftcontrolplanev1.BuildDefaultsConfig{
49+
Env: []corev1.EnvVar{
5450
{
5551
Name: "VAR1",
5652
Value: "VALUE1",
@@ -152,8 +148,8 @@ func TestEnvDefaults(t *testing.T) {
152148

153149
func TestIncrementalDefaults(t *testing.T) {
154150
bool_t := true
155-
defaultsConfig := &configapi.BuildDefaultsConfig{
156-
SourceStrategyDefaults: &configapi.SourceStrategyDefaultsConfig{
151+
defaultsConfig := &openshiftcontrolplanev1.BuildDefaultsConfig{
152+
SourceStrategyDefaults: &openshiftcontrolplanev1.SourceStrategyDefaultsConfig{
157153
Incremental: &bool_t,
158154
},
159155
}
@@ -303,16 +299,8 @@ func TestLabelDefaults(t *testing.T) {
303299
}
304300

305301
for i, test := range tests {
306-
internalLabels := []buildapi.ImageLabel{}
307-
for _, l := range test.defaultLabels {
308-
internalLabel := buildapi.ImageLabel{}
309-
if err := legacyscheme.Scheme.Convert(&l, &internalLabel, nil); err != nil {
310-
panic(err)
311-
}
312-
internalLabels = append(internalLabels, internalLabel)
313-
}
314-
defaultsConfig := &configapi.BuildDefaultsConfig{
315-
ImageLabels: internalLabels,
302+
defaultsConfig := &openshiftcontrolplanev1.BuildDefaultsConfig{
303+
ImageLabels: test.defaultLabels,
316304
}
317305

318306
admitter := BuildDefaults{defaultsConfig}
@@ -361,7 +349,7 @@ func TestBuildDefaultsNodeSelector(t *testing.T) {
361349
}
362350

363351
for _, test := range tests {
364-
defaults := BuildDefaults{Config: &configapi.BuildDefaultsConfig{NodeSelector: test.defaults}}
352+
defaults := BuildDefaults{Config: &openshiftcontrolplanev1.BuildDefaultsConfig{NodeSelector: test.defaults}}
365353
pod := testutil.Pod().WithBuild(t, test.build)
366354
// normally the pod will have the nodeselectors from the build, due to the pod creation logic
367355
// in the build controller flow. fake it out here.
@@ -413,7 +401,7 @@ func TestBuildDefaultsAnnotations(t *testing.T) {
413401
}
414402

415403
for _, test := range tests {
416-
defaults := BuildDefaults{Config: &configapi.BuildDefaultsConfig{Annotations: test.defaults}}
404+
defaults := BuildDefaults{Config: &openshiftcontrolplanev1.BuildDefaultsConfig{Annotations: test.defaults}}
417405
pod := testutil.Pod().WithBuild(t, test.build)
418406
pod.Annotations = test.annotations
419407
err := defaults.ApplyDefaults((*corev1.Pod)(pod))
@@ -432,19 +420,19 @@ func TestBuildDefaultsAnnotations(t *testing.T) {
432420
}
433421
func TestResourceDefaults(t *testing.T) {
434422
tests := map[string]struct {
435-
DefaultResource kapi.ResourceRequirements
423+
DefaultResource corev1.ResourceRequirements
436424
BuildResource corev1.ResourceRequirements
437425
ExpectedResource corev1.ResourceRequirements
438426
}{
439427
"BuildDefaults plugin and Build object both defined resource limits and requests": {
440-
DefaultResource: kapi.ResourceRequirements{
441-
Limits: kapi.ResourceList{
442-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("10"),
443-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("1G"),
428+
DefaultResource: corev1.ResourceRequirements{
429+
Limits: corev1.ResourceList{
430+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
431+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("1G"),
444432
},
445-
Requests: kapi.ResourceList{
446-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("20"),
447-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("2G"),
433+
Requests: corev1.ResourceList{
434+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("20"),
435+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("2G"),
448436
},
449437
},
450438
BuildResource: corev1.ResourceRequirements{
@@ -469,14 +457,14 @@ func TestResourceDefaults(t *testing.T) {
469457
},
470458
},
471459
"BuildDefaults plugin defined limits and requests, Build object defined resource requests": {
472-
DefaultResource: kapi.ResourceRequirements{
473-
Limits: kapi.ResourceList{
474-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("10"),
475-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("1G"),
460+
DefaultResource: corev1.ResourceRequirements{
461+
Limits: corev1.ResourceList{
462+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
463+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("1G"),
476464
},
477-
Requests: kapi.ResourceList{
478-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("20"),
479-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("2G"),
465+
Requests: corev1.ResourceList{
466+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("20"),
467+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("2G"),
480468
},
481469
},
482470
BuildResource: corev1.ResourceRequirements{
@@ -497,14 +485,14 @@ func TestResourceDefaults(t *testing.T) {
497485
},
498486
},
499487
"BuildDefaults plugin defined limits and requests, Build object defined resource limits": {
500-
DefaultResource: kapi.ResourceRequirements{
501-
Limits: kapi.ResourceList{
502-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("10"),
503-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("1G"),
488+
DefaultResource: corev1.ResourceRequirements{
489+
Limits: corev1.ResourceList{
490+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
491+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("1G"),
504492
},
505-
Requests: kapi.ResourceList{
506-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("20"),
507-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("2G"),
493+
Requests: corev1.ResourceList{
494+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("20"),
495+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("2G"),
508496
},
509497
},
510498
BuildResource: corev1.ResourceRequirements{
@@ -525,7 +513,7 @@ func TestResourceDefaults(t *testing.T) {
525513
},
526514
},
527515
"BuildDefaults plugin defined nothing, Build object defined resource limits": {
528-
DefaultResource: kapi.ResourceRequirements{},
516+
DefaultResource: corev1.ResourceRequirements{},
529517
BuildResource: corev1.ResourceRequirements{
530518
Limits: corev1.ResourceList{
531519
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
@@ -548,19 +536,19 @@ func TestResourceDefaults(t *testing.T) {
548536
},
549537
},
550538
"BuildDefaults plugin and Build object defined nothing": {
551-
DefaultResource: kapi.ResourceRequirements{},
539+
DefaultResource: corev1.ResourceRequirements{},
552540
BuildResource: corev1.ResourceRequirements{},
553541
ExpectedResource: corev1.ResourceRequirements{},
554542
},
555543
"BuildDefaults plugin defined limits and requests, Build object defined nothing": {
556-
DefaultResource: kapi.ResourceRequirements{
557-
Limits: kapi.ResourceList{
558-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("10"),
559-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("1G"),
544+
DefaultResource: corev1.ResourceRequirements{
545+
Limits: corev1.ResourceList{
546+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
547+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("1G"),
560548
},
561-
Requests: kapi.ResourceList{
562-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("20"),
563-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("2G"),
549+
Requests: corev1.ResourceList{
550+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("20"),
551+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("2G"),
564552
},
565553
},
566554
BuildResource: corev1.ResourceRequirements{},
@@ -576,12 +564,12 @@ func TestResourceDefaults(t *testing.T) {
576564
},
577565
},
578566
"BuildDefaults plugin defined part of limits and requests, Build object defined part of limits and requests": {
579-
DefaultResource: kapi.ResourceRequirements{
580-
Limits: kapi.ResourceList{
581-
kapi.ResourceName(kapi.ResourceCPU): resource.MustParse("10"),
567+
DefaultResource: corev1.ResourceRequirements{
568+
Limits: corev1.ResourceList{
569+
corev1.ResourceName(corev1.ResourceCPU): resource.MustParse("10"),
582570
},
583-
Requests: kapi.ResourceList{
584-
kapi.ResourceName(kapi.ResourceMemory): resource.MustParse("2G"),
571+
Requests: corev1.ResourceList{
572+
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("2G"),
585573
},
586574
},
587575
BuildResource: corev1.ResourceRequirements{
@@ -606,7 +594,7 @@ func TestResourceDefaults(t *testing.T) {
606594
}
607595

608596
for name, test := range tests {
609-
defaults := BuildDefaults{Config: &configapi.BuildDefaultsConfig{Resources: test.DefaultResource}}
597+
defaults := BuildDefaults{Config: &openshiftcontrolplanev1.BuildDefaultsConfig{Resources: test.DefaultResource}}
610598

611599
build := testutil.Build().WithSourceStrategy().AsBuild()
612600
build.Spec.Resources = test.BuildResource

pkg/build/controller/build/overrides/overrides.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import (
1010
"k8s.io/kubernetes/pkg/api/legacyscheme"
1111

1212
buildv1 "github.com/openshift/api/build/v1"
13+
openshiftcontrolplanev1 "github.com/openshift/api/openshiftcontrolplane/v1"
1314
"github.com/openshift/origin/pkg/build/controller/common"
14-
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
1515
)
1616

1717
type BuildOverrides struct {
18-
Config *configapi.BuildOverridesConfig
18+
Config *openshiftcontrolplanev1.BuildOverridesConfig
1919
}
2020

2121
// ApplyOverrides applies configured overrides to a build in a build pod

0 commit comments

Comments
 (0)