Skip to content

Commit 139e935

Browse files
committed
Remove initcontainer and add more logs
1 parent aa65e13 commit 139e935

File tree

9 files changed

+516
-718
lines changed

9 files changed

+516
-718
lines changed

controllers/placementapi_controller.go

Lines changed: 490 additions & 463 deletions
Large diffs are not rendered by default.

pkg/placement/dbsync.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,5 @@ func DbSyncJob(
8080

8181
job.Spec.Template.Spec.Volumes = getVolumes(ServiceName)
8282

83-
initContainerDetails := APIDetails{
84-
ContainerImage: instance.Spec.ContainerImage,
85-
DatabaseHost: instance.Status.DatabaseHostname,
86-
DatabaseUser: instance.Spec.DatabaseUser,
87-
DatabaseName: DatabaseName,
88-
OSPSecret: instance.Spec.Secret,
89-
DBPasswordSelector: instance.Spec.PasswordSelectors.Database,
90-
UserPasswordSelector: instance.Spec.PasswordSelectors.Service,
91-
VolumeMounts: getInitVolumeMounts(),
92-
}
93-
job.Spec.Template.Spec.InitContainers = initContainer(initContainerDetails)
94-
9583
return job
9684
}

pkg/placement/deployment.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -158,17 +158,5 @@ func Deployment(
158158
deployment.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
159159
}
160160

161-
initContainerDetails := APIDetails{
162-
ContainerImage: instance.Spec.ContainerImage,
163-
DatabaseHost: instance.Status.DatabaseHostname,
164-
DatabaseUser: instance.Spec.DatabaseUser,
165-
DatabaseName: DatabaseName,
166-
OSPSecret: instance.Spec.Secret,
167-
DBPasswordSelector: instance.Spec.PasswordSelectors.Database,
168-
UserPasswordSelector: instance.Spec.PasswordSelectors.Service,
169-
VolumeMounts: getInitVolumeMounts(),
170-
}
171-
deployment.Spec.Template.Spec.InitContainers = initContainer(initContainerDetails)
172-
173161
return deployment
174162
}

pkg/placement/initcontainer.go

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

templates/common/common.sh

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

templates/placementapi/bin/init.sh

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

templates/placementapi/config/placement.conf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ log_file = {{ .log_file }}
88
{{end}}
99
debug = true
1010

11+
[placement_database]
12+
connection = mysql+pymysql://{{ .DBUser }}:{{ .DBPassword}}@{{ .DBAddress }}/{{ .DBName }}
13+
1114
[api]
1215
auth_strategy = keystone
1316

@@ -19,6 +22,4 @@ username = {{ .ServiceUser }}
1922
www_authenticate_uri = {{ .KeystonePublicURL }}
2023
auth_url = {{ .KeystoneInternalURL }}
2124
auth_type = password
22-
interface = internal
23-
24-
[placement_database]
25+
interface = internal

tests/functional/placementapi_controller_test.go

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,24 @@ var _ = Describe("PlacementAPI controller", func() {
8787
condition.InputReadyCondition,
8888
corev1.ConditionFalse,
8989
)
90+
th.ExpectCondition(
91+
names.PlacementAPIName,
92+
ConditionGetterFunc(PlacementConditionGetter),
93+
condition.RoleBindingReadyCondition,
94+
corev1.ConditionTrue,
95+
)
96+
th.ExpectCondition(
97+
names.PlacementAPIName,
98+
ConditionGetterFunc(PlacementConditionGetter),
99+
condition.RoleReadyCondition,
100+
corev1.ConditionTrue,
101+
)
102+
th.ExpectCondition(
103+
names.PlacementAPIName,
104+
ConditionGetterFunc(PlacementConditionGetter),
105+
condition.ServiceAccountReadyCondition,
106+
corev1.ConditionTrue,
107+
)
90108
unknownConditions := []condition.Type{
91109
condition.DBReadyCondition,
92110
condition.DBSyncReadyCondition,
@@ -96,14 +114,11 @@ var _ = Describe("PlacementAPI controller", func() {
96114
condition.KeystoneServiceReadyCondition,
97115
condition.KeystoneEndpointReadyCondition,
98116
condition.NetworkAttachmentsReadyCondition,
99-
condition.ServiceAccountReadyCondition,
100-
condition.RoleReadyCondition,
101-
condition.RoleBindingReadyCondition,
102117
}
103118

104119
placement := GetPlacementAPI(names.PlacementAPIName)
105-
// +2 as InputReady and Ready is False asserted above
106-
Expect(placement.Status.Conditions).To(HaveLen(len(unknownConditions) + 2))
120+
// +5 as InputReady, Ready, Service and Role are ready is False asserted above
121+
Expect(placement.Status.Conditions).To(HaveLen(len(unknownConditions) + 5))
107122

108123
for _, cond := range unknownConditions {
109124
th.ExpectCondition(
@@ -234,6 +249,8 @@ var _ = Describe("PlacementAPI controller", func() {
234249
ContainSubstring("www_authenticate_uri = %s", keystoneAPI.Status.APIEndpoints["public"]))
235250
Expect(cm.Data["placement.conf"]).Should(
236251
ContainSubstring("username = placement"))
252+
Expect(cm.Data["placement.conf"]).Should(
253+
ContainSubstring("connection = mysql+pymysql://placement:PlacementDatabasePassword@/placement"))
237254
})
238255

239256
It("creates service account, role and rolebindig", func() {
@@ -361,27 +378,8 @@ var _ = Describe("PlacementAPI controller", func() {
361378

362379
job := th.GetJob(names.DBSyncJobName)
363380
Expect(job.Spec.Template.Spec.Volumes).To(HaveLen(4))
364-
Expect(job.Spec.Template.Spec.InitContainers).To(HaveLen(1))
365381
Expect(job.Spec.Template.Spec.Containers).To(HaveLen(1))
366382

367-
init := job.Spec.Template.Spec.InitContainers[0]
368-
Expect(init.VolumeMounts).To(HaveLen(4))
369-
Expect(init.Args[1]).To(ContainSubstring("init.sh"))
370-
Expect(init.Image).To(Equal("quay.io/podified-antelope-centos9/openstack-placement-api:current-podified"))
371-
env := &corev1.EnvVar{}
372-
Expect(init.Env).To(ContainElement(HaveField("Name", "DatabaseHost"), env))
373-
Expect(env.Value).To(Equal("hostname-for-openstack"))
374-
Expect(init.Env).To(ContainElement(HaveField("Name", "DatabaseUser"), env))
375-
Expect(env.Value).To(Equal("placement"))
376-
Expect(init.Env).To(ContainElement(HaveField("Name", "DatabaseName"), env))
377-
Expect(env.Value).To(Equal("placement"))
378-
Expect(init.Env).To(ContainElement(HaveField("Name", "DatabasePassword"), env))
379-
Expect(env.ValueFrom.SecretKeyRef.LocalObjectReference.Name).To(Equal(SecretName))
380-
Expect(env.ValueFrom.SecretKeyRef.Key).To(Equal("PlacementDatabasePassword"))
381-
Expect(init.Env).To(ContainElement(HaveField("Name", "PlacementPassword"), env))
382-
Expect(env.ValueFrom.SecretKeyRef.LocalObjectReference.Name).To(Equal(SecretName))
383-
Expect(env.ValueFrom.SecretKeyRef.Key).To(Equal("PlacementPassword"))
384-
385383
container := job.Spec.Template.Spec.Containers[0]
386384
Expect(container.VolumeMounts).To(HaveLen(4))
387385
Expect(container.Image).To(Equal("quay.io/podified-antelope-centos9/openstack-placement-api:current-podified"))

tests/kuttl/common/assert_sample_deployment.yaml

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -177,32 +177,6 @@ spec:
177177
successThreshold: 1
178178
timeoutSeconds: 5
179179
resources: {}
180-
initContainers:
181-
- args:
182-
- -c
183-
- /usr/local/bin/container-scripts/init.sh
184-
command:
185-
- /bin/bash
186-
env:
187-
- name: DatabasePassword
188-
valueFrom:
189-
secretKeyRef:
190-
key: PlacementDatabasePassword
191-
name: osp-secret
192-
- name: PlacementPassword
193-
valueFrom:
194-
secretKeyRef:
195-
key: PlacementPassword
196-
name: osp-secret
197-
- name: DatabaseHost
198-
value: openstack
199-
- name: DatabaseName
200-
value: placement
201-
- name: DatabaseUser
202-
value: placement
203-
imagePullPolicy: IfNotPresent
204-
name: init
205-
resources: {}
206180
restartPolicy: Always
207181
securityContext: {}
208182
serviceAccount: placement-placement

0 commit comments

Comments
 (0)