Enable cell service
This PS adds nova_cell0 database and init cell service. Change-Id: I29e33fb1a18f39586a7323dac82ddccbc445853f Implements: blueprint enable-cell-service
This commit is contained in:
parent
2c89386765
commit
110f428a6e
21
nova/templates/bin/_cell-setup.sh.tpl
Normal file
21
nova/templates/bin/_cell-setup.sh.tpl
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Copyright 2017 The Openstack-Helm Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/}}
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
nova-manage cell_v2 simple_cell_setup
|
@ -73,4 +73,6 @@ data:
|
|||||||
{{ tuple "bin/_nova-vnc-proxy-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
{{ tuple "bin/_nova-vnc-proxy-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||||
ssh-start.sh: |
|
ssh-start.sh: |
|
||||||
{{ tuple "bin/_ssh-start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
{{ tuple "bin/_ssh-start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||||
|
cell-setup.sh: |
|
||||||
|
{{ tuple "bin/_cell-setup.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -60,6 +60,10 @@ limitations under the License.
|
|||||||
{{- tuple "oslo_db_api" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.api_database "connection" | quote | trunc 0 -}}
|
{{- tuple "oslo_db_api" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.api_database "connection" | quote | trunc 0 -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- if empty .Values.conf.nova.cell0_database.connection -}}
|
||||||
|
{{- tuple "oslo_db_cell0" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.cell0_database "connection" | quote | trunc 0 -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{- if empty .Values.conf.nova.DEFAULT.transport_url -}}
|
{{- if empty .Values.conf.nova.DEFAULT.transport_url -}}
|
||||||
{{- tuple "oslo_messaging" "internal" "user" "amqp" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.DEFAULT "transport_url" | quote | trunc 0 -}}
|
{{- tuple "oslo_messaging" "internal" "user" "amqp" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.DEFAULT "transport_url" | quote | trunc 0 -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
69
nova/templates/job-cell-setup.yaml
Normal file
69
nova/templates/job-cell-setup.yaml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{{/*
|
||||||
|
Copyright 2017 The Openstack-Helm Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/}}
|
||||||
|
|
||||||
|
{{- if .Values.manifests.job_cell_setup }}
|
||||||
|
{{- $envAll := . }}
|
||||||
|
{{- $dependencies := .Values.dependencies.cell_setup }}
|
||||||
|
---
|
||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: nova-cell-setup
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{ tuple $envAll "nova" "cell-setup" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
|
||||||
|
spec:
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
nodeSelector:
|
||||||
|
{{ .Values.labels.job.node_selector_key }}: {{ .Values.labels.job.node_selector_value }}
|
||||||
|
initContainers:
|
||||||
|
{{ tuple $envAll $dependencies "[]" | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
|
||||||
|
containers:
|
||||||
|
- name: nova-cell-setup
|
||||||
|
image: {{ .Values.images.tags.cell_setup }}
|
||||||
|
imagePullPolicy: {{ .Values.images.pull_policy }}
|
||||||
|
{{ tuple $envAll $envAll.Values.pod.resources.jobs.cell_setup | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
|
||||||
|
command:
|
||||||
|
- /tmp/cell-setup.sh
|
||||||
|
volumeMounts:
|
||||||
|
- name: nova-bin
|
||||||
|
mountPath: /tmp/cell-setup.sh
|
||||||
|
subPath: cell-setup.sh
|
||||||
|
readOnly: true
|
||||||
|
- name: etcnova
|
||||||
|
mountPath: /etc/nova
|
||||||
|
- name: nova-etc
|
||||||
|
mountPath: /etc/nova/nova.conf
|
||||||
|
subPath: nova.conf
|
||||||
|
readOnly: true
|
||||||
|
- name: nova-etc
|
||||||
|
mountPath: /etc/nova/policy.yaml
|
||||||
|
subPath: policy.yaml
|
||||||
|
readOnly: true
|
||||||
|
volumes:
|
||||||
|
- name: etcnova
|
||||||
|
emptyDir: {}
|
||||||
|
- name: nova-etc
|
||||||
|
configMap:
|
||||||
|
name: nova-etc
|
||||||
|
defaultMode: 0444
|
||||||
|
- name: nova-bin
|
||||||
|
configMap:
|
||||||
|
name: nova-bin
|
||||||
|
defaultMode: 0555
|
||||||
|
{{- end }}
|
@ -92,6 +92,37 @@ spec:
|
|||||||
mountPath: /etc/nova/nova.conf
|
mountPath: /etc/nova/nova.conf
|
||||||
subPath: nova.conf
|
subPath: nova.conf
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- if .Values.manifests.job_cell_setup }}
|
||||||
|
- name: nova-db-init-cell0
|
||||||
|
image: {{ .Values.images.tags.db_init }}
|
||||||
|
imagePullPolicy: {{ .Values.images.pull_policy }}
|
||||||
|
{{ tuple $envAll $envAll.Values.pod.resources.jobs.db_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
|
||||||
|
env:
|
||||||
|
- name: ROOT_DB_CONNECTION
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ .Values.secrets.oslo_db.admin }}
|
||||||
|
key: DB_CONNECTION
|
||||||
|
- name: OPENSTACK_CONFIG_FILE
|
||||||
|
value: /etc/nova/nova.conf
|
||||||
|
- name: OPENSTACK_CONFIG_DB_SECTION
|
||||||
|
value: cell0_database
|
||||||
|
- name: OPENSTACK_CONFIG_DB_KEY
|
||||||
|
value: connection
|
||||||
|
command:
|
||||||
|
- /tmp/db-init.py
|
||||||
|
volumeMounts:
|
||||||
|
- name: nova-bin
|
||||||
|
mountPath: /tmp/db-init.py
|
||||||
|
subPath: db-init.py
|
||||||
|
readOnly: true
|
||||||
|
- name: etcnova
|
||||||
|
mountPath: /etc/nova
|
||||||
|
- name: nova-etc
|
||||||
|
mountPath: /etc/nova/nova.conf
|
||||||
|
subPath: nova.conf
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: etcnova
|
- name: etcnova
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
@ -69,6 +69,7 @@ images:
|
|||||||
placement: docker.io/kolla/ubuntu-source-nova-placement-api:3.0.3-beta.1
|
placement: docker.io/kolla/ubuntu-source-nova-placement-api:3.0.3-beta.1
|
||||||
bootstrap: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
|
bootstrap: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
|
||||||
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.2.1
|
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.2.1
|
||||||
|
cell_setup: docker.io/kolla/ubuntu-source-nova-api:3.0.3
|
||||||
pull_policy: "IfNotPresent"
|
pull_policy: "IfNotPresent"
|
||||||
|
|
||||||
bootstrap:
|
bootstrap:
|
||||||
@ -266,6 +267,18 @@ dependencies:
|
|||||||
services:
|
services:
|
||||||
- service: oslo_db
|
- service: oslo_db
|
||||||
endpoint: internal
|
endpoint: internal
|
||||||
|
cell_setup:
|
||||||
|
jobs:
|
||||||
|
- nova-db-sync
|
||||||
|
services:
|
||||||
|
- service: oslo_messaging
|
||||||
|
endpoint: internal
|
||||||
|
- service: oslo_db
|
||||||
|
endpoint: internal
|
||||||
|
- service: identity
|
||||||
|
endpoint: internal
|
||||||
|
- service: compute
|
||||||
|
endpoint: internal
|
||||||
|
|
||||||
console:
|
console:
|
||||||
# serial | spice | novnc | none
|
# serial | spice | novnc | none
|
||||||
@ -985,6 +998,8 @@ conf:
|
|||||||
max_retries: -1
|
max_retries: -1
|
||||||
api_database:
|
api_database:
|
||||||
max_retries: -1
|
max_retries: -1
|
||||||
|
cell0_database:
|
||||||
|
max_retries: -1
|
||||||
keystone_authtoken:
|
keystone_authtoken:
|
||||||
auth_type: password
|
auth_type: password
|
||||||
auth_version: v3
|
auth_version: v3
|
||||||
@ -1029,6 +1044,9 @@ secrets:
|
|||||||
oslo_db_api:
|
oslo_db_api:
|
||||||
admin: nova-db-api-admin
|
admin: nova-db-api-admin
|
||||||
user: nova-db-api-user
|
user: nova-db-api-user
|
||||||
|
oslo_db_cell0:
|
||||||
|
admin: nova-db-api-admin
|
||||||
|
user: nova-db-api-user
|
||||||
|
|
||||||
# typically overriden by environmental
|
# typically overriden by environmental
|
||||||
# values, but should include all endpoints
|
# values, but should include all endpoints
|
||||||
@ -1069,6 +1087,23 @@ endpoints:
|
|||||||
port:
|
port:
|
||||||
mysql:
|
mysql:
|
||||||
default: 3306
|
default: 3306
|
||||||
|
oslo_db_cell0:
|
||||||
|
auth:
|
||||||
|
admin:
|
||||||
|
username: root
|
||||||
|
password: password
|
||||||
|
user:
|
||||||
|
username: nova
|
||||||
|
password: password
|
||||||
|
hosts:
|
||||||
|
default: mariadb
|
||||||
|
host_fqdn_override:
|
||||||
|
default: null
|
||||||
|
path: /nova_api_cell0
|
||||||
|
scheme: mysql+pymysql
|
||||||
|
port:
|
||||||
|
mysql:
|
||||||
|
default: 3306
|
||||||
oslo_messaging:
|
oslo_messaging:
|
||||||
auth:
|
auth:
|
||||||
admin:
|
admin:
|
||||||
@ -1431,6 +1466,14 @@ pod:
|
|||||||
limits:
|
limits:
|
||||||
memory: "1024Mi"
|
memory: "1024Mi"
|
||||||
cpu: "2000m"
|
cpu: "2000m"
|
||||||
|
cell_setup:
|
||||||
|
requests:
|
||||||
|
memory: "128Mi"
|
||||||
|
cpu: "100m"
|
||||||
|
limits:
|
||||||
|
memory: "1024Mi"
|
||||||
|
cpu: "2000m"
|
||||||
|
|
||||||
|
|
||||||
manifests:
|
manifests:
|
||||||
configmap_bin: true
|
configmap_bin: true
|
||||||
@ -1457,6 +1500,7 @@ manifests:
|
|||||||
job_ks_placement_endpoints: true
|
job_ks_placement_endpoints: true
|
||||||
job_ks_placement_service: true
|
job_ks_placement_service: true
|
||||||
job_ks_placement_user: true
|
job_ks_placement_user: true
|
||||||
|
job_cell_setup: true
|
||||||
pdb_metadata: true
|
pdb_metadata: true
|
||||||
pdb_placement: true
|
pdb_placement: true
|
||||||
pdb_osapi: true
|
pdb_osapi: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user