diff --git a/barbican/templates/configmap-etc.yaml b/barbican/templates/configmap-etc.yaml index 450136fd23..84350163b9 100644 --- a/barbican/templates/configmap-etc.yaml +++ b/barbican/templates/configmap-etc.yaml @@ -63,9 +63,9 @@ limitations under the License. {{- tuple "oslo_messaging" "internal" "user" "amqp" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.barbican.default.oslo.messaging "transport_url" | quote | trunc 0 -}} {{- end -}} -{{- $barbicanPath := index .Values "endpoints" "key-manager" "path" "default" }} +{{- $barbicanPath := index .Values "endpoints" "key_manager" "path" "default" }} {{- if empty .Values.conf.barbican.default.barbican.common.config.host_href -}} -{{- tuple "key-manager" "public" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | trimSuffix $barbicanPath | set .Values.conf.barbican.default.barbican.common.config "host_href" | quote | trunc 0 -}} +{{- tuple "key_manager" "public" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | trimSuffix $barbicanPath | set .Values.conf.barbican.default.barbican.common.config "host_href" | quote | trunc 0 -}} {{- end -}} --- diff --git a/barbican/values.yaml b/barbican/values.yaml index 1f1ca48b19..b801cfa103 100644 --- a/barbican/values.yaml +++ b/barbican/values.yaml @@ -337,7 +337,7 @@ endpoints: default: 35357 api: default: 80 - key-manager: + key_manager: name: barbican hosts: default: barbican-api diff --git a/ceph/templates/bin/_init_rgw_ks.sh.tpl b/ceph/templates/bin/_init_rgw_ks.sh.tpl new file mode 100644 index 0000000000..1ce51b0eba --- /dev/null +++ b/ceph/templates/bin/_init_rgw_ks.sh.tpl @@ -0,0 +1,39 @@ +#!/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 + +cp -va /tmp/ceph.conf /etc/ceph/ceph.conf + +cat >> /etc/ceph/ceph.conf <`__. Activating Control-Plane Namespace for Ceph @@ -351,12 +376,19 @@ deploy the client keyring and ``ceph.conf`` to the ``openstack`` namespace: :: - helm install --namespace=openstack ./ceph --name=ceph-openstack-config \ - --set manifests_enabled.storage_secrets=false \ - --set manifests_enabled.deployment=false \ - --set ceph.namespace=ceph \ - --set network.public=$osd_public_network \ - --set network.cluster=$osd_cluster_network + : ${CEPH_RGW_KEYSTONE_ENABLED:="true"} + helm install --namespace=openstack ${WORK_DIR}/ceph --name=ceph-openstack-config \ + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${OSD_PUBLIC_NETWORK} \ + --set network.cluster=${OSD_CLUSTER_NETWORK} \ + --set deployment.storage_secrets=false \ + --set deployment.ceph=false \ + --set deployment.rbd_provisioner=false \ + --set deployment.client_secrets=true \ + --set deployment.rgw_keystone_user_and_endpoints=false MariaDB Installation and Verification ------------------------------------- @@ -390,6 +422,26 @@ Now you can easily install the other services simply by going in order: helm install --namespace=openstack --name=keystone ./keystone \ --set pod.replicas.api=2 +**Install RadosGW Object Storage:** + +If you elected to install Ceph with Keystone support for the RadosGW you can +now create endpoints in the Keystone service catalog: + +:: + + helm install --namespace=openstack ${WORK_DIR}/ceph --name=radosgw-openstack \ + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${OSD_PUBLIC_NETWORK} \ + --set network.cluster=${OSD_CLUSTER_NETWORK} \ + --set deployment.storage_secrets=false \ + --set deployment.ceph=false \ + --set deployment.rbd_provisioner=false \ + --set deployment.client_secrets=false \ + --set deployment.rgw_keystone_user_and_endpoints=true + **Install Horizon:** :: diff --git a/helm-toolkit/templates/endpoints/_authenticated_endpoint_uri_lookup.tpl b/helm-toolkit/templates/endpoints/_authenticated_endpoint_uri_lookup.tpl index 249d00a4c9..2065551f81 100644 --- a/helm-toolkit/templates/endpoints/_authenticated_endpoint_uri_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_authenticated_endpoint_uri_lookup.tpl @@ -28,7 +28,8 @@ limitations under the License. {{- $userclass := index . 2 -}} {{- $port := index . 3 -}} {{- $context := index . 4 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- $userMap := index $endpointMap.auth $userclass }} {{- $clusterSuffix := printf "%s.%s" "svc" $context.Values.endpoints.cluster_domain_suffix }} {{- with $endpointMap -}} diff --git a/helm-toolkit/templates/endpoints/_endpoint_port_lookup.tpl b/helm-toolkit/templates/endpoints/_endpoint_port_lookup.tpl index 0726cdf412..26c4768391 100644 --- a/helm-toolkit/templates/endpoints/_endpoint_port_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_endpoint_port_lookup.tpl @@ -27,7 +27,8 @@ limitations under the License. {{- $endpoint := index . 1 -}} {{- $port := index . 2 -}} {{- $context := index . 3 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $endpointPortMAP := index .port $port }} {{- $endpointPort := index $endpointPortMAP $endpoint | default (index $endpointPortMAP "default") }} diff --git a/helm-toolkit/templates/endpoints/_host_and_port_endpoint_uri_lookup.tpl b/helm-toolkit/templates/endpoints/_host_and_port_endpoint_uri_lookup.tpl index 93f8227263..fc0beb72af 100644 --- a/helm-toolkit/templates/endpoints/_host_and_port_endpoint_uri_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_host_and_port_endpoint_uri_lookup.tpl @@ -27,8 +27,9 @@ limitations under the License. {{- $endpoint := index . 1 -}} {{- $port := index . 2 -}} {{- $context := index . 3 -}} +{{- $typeYamlSafe := $type | replace "-" "_" }} {{- $clusterSuffix := printf "%s.%s" "svc" $context.Values.endpoints.cluster_domain_suffix }} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $namespace := .namespace | default $context.Release.Namespace }} {{- $endpointScheme := .scheme }} diff --git a/helm-toolkit/templates/endpoints/_hostname_fqdn_endpoint_lookup.tpl b/helm-toolkit/templates/endpoints/_hostname_fqdn_endpoint_lookup.tpl index 4bd07f56d6..20a1cff86f 100644 --- a/helm-toolkit/templates/endpoints/_hostname_fqdn_endpoint_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_hostname_fqdn_endpoint_lookup.tpl @@ -24,8 +24,9 @@ limitations under the License. {{- $type := index . 0 -}} {{- $endpoint := index . 1 -}} {{- $context := index . 2 -}} +{{- $typeYamlSafe := $type | replace "-" "_" }} {{- $clusterSuffix := printf "%s.%s" "svc" $context.Values.endpoints.cluster_domain_suffix }} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $namespace := .namespace | default $context.Release.Namespace }} {{- $endpointScheme := .scheme }} diff --git a/helm-toolkit/templates/endpoints/_hostname_namespaced_endpoint_lookup.tpl b/helm-toolkit/templates/endpoints/_hostname_namespaced_endpoint_lookup.tpl index 59844a2800..b3f234d3f0 100644 --- a/helm-toolkit/templates/endpoints/_hostname_namespaced_endpoint_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_hostname_namespaced_endpoint_lookup.tpl @@ -24,7 +24,8 @@ limitations under the License. {{- $type := index . 0 -}} {{- $endpoint := index . 1 -}} {{- $context := index . 2 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $namespace := .namespace | default $context.Release.Namespace }} {{- $endpointScheme := .scheme }} diff --git a/helm-toolkit/templates/endpoints/_hostname_short_endpoint_lookup.tpl b/helm-toolkit/templates/endpoints/_hostname_short_endpoint_lookup.tpl index 3c6135736d..cc1fe8af84 100644 --- a/helm-toolkit/templates/endpoints/_hostname_short_endpoint_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_hostname_short_endpoint_lookup.tpl @@ -24,7 +24,8 @@ limitations under the License. {{- $type := index . 0 -}} {{- $endpoint := index . 1 -}} {{- $context := index . 2 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $endpointScheme := .scheme }} {{- $endpointHost := index .hosts $endpoint | default .hosts.default}} diff --git a/helm-toolkit/templates/endpoints/_keystone_endpoint_name_lookup.tpl b/helm-toolkit/templates/endpoints/_keystone_endpoint_name_lookup.tpl index 226502a1ac..2f6cf081e2 100644 --- a/helm-toolkit/templates/endpoints/_keystone_endpoint_name_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_keystone_endpoint_name_lookup.tpl @@ -22,7 +22,8 @@ limitations under the License. {{- define "helm-toolkit.endpoints.keystone_endpoint_name_lookup" -}} {{- $type := index . 0 -}} {{- $context := index . 1 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- $endpointName := index $endpointMap "name" }} {{- $endpointName | quote -}} {{- end -}} diff --git a/helm-toolkit/templates/endpoints/_keystone_endpoint_path_lookup.tpl b/helm-toolkit/templates/endpoints/_keystone_endpoint_path_lookup.tpl index 093d8eb18c..0945be626c 100644 --- a/helm-toolkit/templates/endpoints/_keystone_endpoint_path_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_keystone_endpoint_path_lookup.tpl @@ -24,7 +24,8 @@ limitations under the License. {{- $endpoint := index . 1 -}} {{- $port := index . 2 -}} {{- $context := index . 3 -}} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $typeYamlSafe := $type | replace "-" "_" }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $endpointPath := index .path $endpoint | default .path.default | default "/" }} {{- printf "%s" $endpointPath -}} diff --git a/helm-toolkit/templates/endpoints/_keystone_endpoint_uri_lookup.tpl b/helm-toolkit/templates/endpoints/_keystone_endpoint_uri_lookup.tpl index b0c5b43d5f..25837d1682 100644 --- a/helm-toolkit/templates/endpoints/_keystone_endpoint_uri_lookup.tpl +++ b/helm-toolkit/templates/endpoints/_keystone_endpoint_uri_lookup.tpl @@ -24,8 +24,9 @@ limitations under the License. {{- $endpoint := index . 1 -}} {{- $port := index . 2 -}} {{- $context := index . 3 -}} +{{- $typeYamlSafe := $type | replace "-" "_" }} {{- $clusterSuffix := printf "%s.%s" "svc" $context.Values.endpoints.cluster_domain_suffix }} -{{- $endpointMap := index $context.Values.endpoints $type }} +{{- $endpointMap := index $context.Values.endpoints $typeYamlSafe }} {{- with $endpointMap -}} {{- $namespace := $endpointMap.namespace | default $context.Release.Namespace }} {{- $endpointScheme := index .scheme $endpoint | default .scheme.default }} diff --git a/magnum/values.yaml b/magnum/values.yaml index daab9d0f87..17216e62bf 100644 --- a/magnum/values.yaml +++ b/magnum/values.yaml @@ -201,7 +201,7 @@ endpoints: default: 35357 api: default: 80 - container-infra: + container_infra: name: magnum hosts: default: magnum-api diff --git a/tools/deployment/armada/openstack-master-aio.yaml b/tools/deployment/armada/openstack-master-aio.yaml index cedbb2bef2..321aee86c8 100644 --- a/tools/deployment/armada/openstack-master-aio.yaml +++ b/tools/deployment/armada/openstack-master-aio.yaml @@ -68,13 +68,26 @@ data: - component: osd-keyring-generator - release_group: osh-ceph values: - manifests_enabled: - client_secrets: False - bootstrap: - enabled: True + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + ceph_mon: + namespace: ceph + ceph: + rgw_keystone_auth: true network: public: 192.168.0.0/16 cluster: 192.168.0.0/16 + deployment: + storage_secrets: true + ceph: true + rbd_provisioner: true + client_secrets: false + rgw_keystone_user_and_endpoints: false + bootstrap: + enabled: true conf: ceph: config: @@ -112,14 +125,31 @@ data: - component: namespace-client-key-generator - release_group: osh-ceph values: + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + ceph_mon: + namespace: ceph ceph: - namespace: ceph - manifests_enabled: - deployment: False - storage_secrets: False + rgw_keystone_auth: true network: public: 192.168.0.0/16 cluster: 192.168.0.0/16 + deployment: + storage_secrets: false + ceph: false + rbd_provisioner: false + client_secrets: true + rgw_keystone_user_and_endpoints: false + conf: + ceph: + config: + global: + osd_pool_default_size: 1 + osd: + osd_crush_chooseleaf_type: 0 source: type: local location: /opt/openstack-helm/charts @@ -337,6 +367,54 @@ data: - helm-toolkit --- schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ceph-radosgw-keystone +data: + chart_name: ceph-radosgw-keystone + release: ceph-radosgw-keystone + namespace: openstack + timeout: 3600 + install: + no_hooks: false + upgrade: + no_hooks: false + values: + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + endpoints: + ceph_mon: + namespace: ceph + ceph: + rgw_keystone_auth: true + network: + public: 192.168.0.0/16 + cluster: 192.168.0.0/16 + deployment: + storage_secrets: false + ceph: false + rbd_provisioner: false + client_secrets: false + rgw_keystone_user_and_endpoints: true + conf: + ceph: + config: + global: + osd_pool_default_size: 1 + osd: + osd_crush_chooseleaf_type: 0 + source: + type: local + location: /opt/openstack-helm/charts + subpath: ceph + reference: master + dependencies: + - helm-toolkit +--- +schema: armada/Chart/v1 metadata: schema: metadata/Document/v1 name: horizon @@ -760,6 +838,7 @@ data: sequenced: False chart_group: - keystone + - ceph-radosgw-keystone - horizon - glance - neutron diff --git a/tools/deployment/armada/openstack-master.yaml b/tools/deployment/armada/openstack-master.yaml index 8378b0da57..776c7d4473 100644 --- a/tools/deployment/armada/openstack-master.yaml +++ b/tools/deployment/armada/openstack-master.yaml @@ -68,13 +68,26 @@ data: - component: osd-keyring-generator - release_group: osh-ceph values: - manifests_enabled: - client_secrets: False - bootstrap: - enabled: True + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + ceph_mon: + namespace: ceph + ceph: + rgw_keystone_auth: true network: public: 192.168.0.0/16 cluster: 192.168.0.0/16 + deployment: + storage_secrets: true + ceph: true + rbd_provisioner: true + client_secrets: false + rgw_keystone_user_and_endpoints: false + bootstrap: + enabled: true source: type: local location: /opt/openstack-helm/charts @@ -105,14 +118,24 @@ data: - component: namespace-client-key-generator - release_group: osh-ceph values: + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + ceph_mon: + namespace: ceph ceph: - namespace: ceph - manifests_enabled: - deployment: False - storage_secrets: False + rgw_keystone_auth: true network: public: 192.168.0.0/16 cluster: 192.168.0.0/16 + deployment: + storage_secrets: false + ceph: false + rbd_provisioner: false + client_secrets: true + rgw_keystone_user_and_endpoints: false source: type: local location: /opt/openstack-helm/charts @@ -330,6 +353,47 @@ data: - helm-toolkit --- schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ceph-radosgw-keystone +data: + chart_name: ceph-radosgw-keystone + release: ceph-radosgw-keystone + namespace: openstack + timeout: 3600 + install: + no_hooks: false + upgrade: + no_hooks: false + values: + endpoints: + identity: + namespace: openstack + object_store: + namespace: ceph + endpoints: + ceph_mon: + namespace: ceph + ceph: + rgw_keystone_auth: true + network: + public: 192.168.0.0/16 + cluster: 192.168.0.0/16 + deployment: + storage_secrets: false + ceph: false + rbd_provisioner: false + client_secrets: false + rgw_keystone_user_and_endpoints: true + source: + type: local + location: /opt/openstack-helm/charts + subpath: ceph + reference: master + dependencies: + - helm-toolkit +--- +schema: armada/Chart/v1 metadata: schema: metadata/Document/v1 name: horizon @@ -753,6 +817,7 @@ data: sequenced: False chart_group: - keystone + - ceph-radosgw-keystone - horizon - glance - neutron diff --git a/tools/gate/README.rst b/tools/gate/README.rst index fcfb662f87..9f655ff1b6 100644 --- a/tools/gate/README.rst +++ b/tools/gate/README.rst @@ -70,3 +70,10 @@ It is also possible to customise the CNI used in the deployment: export KUBE_CNI=calico # or "canal" "weave" "flannel" export CNI_POD_CIDR=192.168.0.0/16 + +If you wish to deploy using Armada then you just need to export the following +variable: + +.. code:: bash + + export INTEGRATION_TYPE=armada diff --git a/tools/gate/launch-osh/armada.sh b/tools/gate/launch-osh/armada.sh index b657fd9226..dbf61da3c1 100755 --- a/tools/gate/launch-osh/armada.sh +++ b/tools/gate/launch-osh/armada.sh @@ -39,6 +39,7 @@ sudo docker run -d \ sudo docker exec armada armada tiller --status sudo docker exec armada armada apply ${ARMADA_MANIFEST} +sudo docker rm -f armada kube_wait_for_pods ceph 600 kube_wait_for_pods openstack 1200 diff --git a/tools/gate/launch-osh/basic.sh b/tools/gate/launch-osh/basic.sh index 476eda1720..27bda961c4 100755 --- a/tools/gate/launch-osh/basic.sh +++ b/tools/gate/launch-osh/basic.sh @@ -29,37 +29,59 @@ if [ "x$PVC_BACKEND" == "xceph" ]; then SUBNET_RANGE=$(find_subnet_range) fi - export osd_cluster_network=${SUBNET_RANGE} - export osd_public_network=${SUBNET_RANGE} - if [ "x$INTEGRATION" == "xaio" ]; then helm install --namespace=ceph ${WORK_DIR}/ceph --name=ceph \ - --set manifests_enabled.client_secrets=false \ - --set network.public=$osd_public_network \ - --set network.cluster=$osd_cluster_network \ + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${SUBNET_RANGE} \ + --set network.cluster=${SUBNET_RANGE} \ + --set deployment.storage_secrets=true \ + --set deployment.ceph=true \ + --set deployment.rbd_provisioner=true \ + --set deployment.client_secrets=false \ + --set deployment.rgw_keystone_user_and_endpoints=false \ --set bootstrap.enabled=true \ --values=${WORK_DIR}/tools/overrides/mvp/ceph.yaml else helm install --namespace=ceph ${WORK_DIR}/ceph --name=ceph \ - --set manifests_enabled.client_secrets=false \ - --set network.public=$osd_public_network \ - --set network.cluster=$osd_cluster_network \ + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${SUBNET_RANGE} \ + --set network.cluster=${SUBNET_RANGE} \ + --set deployment.storage_secrets=true \ + --set deployment.ceph=true \ + --set deployment.rbd_provisioner=true \ + --set deployment.client_secrets=false \ + --set deployment.rgw_keystone_user_and_endpoints=false \ --set bootstrap.enabled=true fi kube_wait_for_pods ceph ${SERVICE_LAUNCH_TIMEOUT} - MON_POD=$(kubectl get pods -l application=ceph -l component=mon -n ceph --no-headers | awk '{ print $1; exit }') + MON_POD=$(kubectl get pods \ + --namespace=ceph \ + --selector="application=ceph" \ + --selector="component=mon" \ + --no-headers | awk '{ print $1; exit }') kubectl exec -n ceph ${MON_POD} -- ceph -s helm install --namespace=openstack ${WORK_DIR}/ceph --name=ceph-openstack-config \ - --set manifests_enabled.storage_secrets=false \ - --set manifests_enabled.deployment=false \ - --set manifests_enabled.rbd_provisioner=false \ - --set ceph.namespace=ceph \ - --set network.public=$osd_public_network \ - --set network.cluster=$osd_cluster_network + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${SUBNET_RANGE} \ + --set network.cluster=${SUBNET_RANGE} \ + --set deployment.storage_secrets=false \ + --set deployment.ceph=false \ + --set deployment.rbd_provisioner=false \ + --set deployment.client_secrets=true \ + --set deployment.rgw_keystone_user_and_endpoints=false kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} fi @@ -69,32 +91,53 @@ if [ "x$INTEGRATION" == "xmulti" ]; then helm install --namespace=openstack ${WORK_DIR}/mariadb --name=mariadb else helm install --namespace=openstack ${WORK_DIR}/mariadb --name=mariadb \ - --set=pod.replicas.server=1 + --set=pod.replicas.server=1 fi helm install --namespace=openstack ${WORK_DIR}/memcached --name=memcached +kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} + +helm install --namespace=openstack ${WORK_DIR}/keystone --name=keystone +kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} + +if [ "x$OPENSTACK_OBJECT_STORAGE" == "xradosgw" ]; then + helm install --namespace=openstack ${WORK_DIR}/ceph --name=radosgw-openstack \ + --set endpoints.identity.namespace=openstack \ + --set endpoints.object_store.namespace=ceph \ + --set endpoints.ceph_mon.namespace=ceph \ + --set ceph.rgw_keystone_auth=${CEPH_RGW_KEYSTONE_ENABLED} \ + --set network.public=${SUBNET_RANGE} \ + --set network.cluster=${SUBNET_RANGE} \ + --set deployment.storage_secrets=false \ + --set deployment.ceph=false \ + --set deployment.rbd_provisioner=false \ + --set deployment.client_secrets=false \ + --set deployment.rgw_keystone_user_and_endpoints=true + kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} +fi + helm install --namespace=openstack ${WORK_DIR}/etcd --name=etcd-rabbitmq helm install --namespace=openstack ${WORK_DIR}/rabbitmq --name=rabbitmq helm install --namespace=openstack ${WORK_DIR}/libvirt --name=libvirt helm install --namespace=openstack ${WORK_DIR}/openvswitch --name=openvswitch kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} -helm install --namespace=openstack ${WORK_DIR}/keystone --name=keystone + if [ "x$PVC_BACKEND" == "xceph" ]; then helm install --namespace=openstack ${WORK_DIR}/glance --name=glance else helm install --namespace=openstack ${WORK_DIR}/glance --name=glance \ - --values=${WORK_DIR}/tools/overrides/mvp/glance.yaml + --values=${WORK_DIR}/tools/overrides/mvp/glance.yaml fi kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} if [ "x$PVC_BACKEND" == "xceph" ]; then helm install --namespace=openstack ${WORK_DIR}/nova --name=nova \ - --set=conf.nova.libvirt.nova.conf.virt_type=qemu + --set=conf.nova.libvirt.nova.conf.virt_type=qemu else helm install --namespace=openstack ${WORK_DIR}/nova --name=nova \ - --values=${WORK_DIR}/tools/overrides/mvp/nova.yaml \ - --set=conf.nova.libvirt.nova.conf.virt_type=qemu + --values=${WORK_DIR}/tools/overrides/mvp/nova.yaml \ + --set=conf.nova.libvirt.nova.conf.virt_type=qemu fi helm install --namespace=openstack ${WORK_DIR}/neutron --name=neutron \ - --values=${WORK_DIR}/tools/overrides/mvp/neutron.yaml + --values=${WORK_DIR}/tools/overrides/mvp/neutron.yaml kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} helm install --namespace=openstack ${WORK_DIR}/heat --name=heat @@ -105,7 +148,7 @@ if [ "x$INTEGRATION" == "xmulti" ]; then helm install --namespace=openstack ${WORK_DIR}/cinder --name=cinder else helm install --namespace=openstack ${WORK_DIR}/cinder --name=cinder \ - --values=${WORK_DIR}/tools/overrides/mvp/cinder.yaml + --values=${WORK_DIR}/tools/overrides/mvp/cinder.yaml fi helm install --namespace=openstack ${WORK_DIR}/horizon --name=horizon kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} diff --git a/tools/gate/launch-osh/common.sh b/tools/gate/launch-osh/common.sh index 42cd7d58fd..157ada771d 100755 --- a/tools/gate/launch-osh/common.sh +++ b/tools/gate/launch-osh/common.sh @@ -31,6 +31,7 @@ if [ "x$PVC_BACKEND" == "xceph" ]; then kubectl label nodes ceph-mon=enabled --all kubectl label nodes ceph-osd=enabled --all kubectl label nodes ceph-mds=enabled --all + kubectl label nodes ceph-rgw=enabled --all fi helm install --namespace=openstack ${WORK_DIR}/dns-helper --name=dns-helper diff --git a/tools/gate/vars.sh b/tools/gate/vars.sh index 11a89d1dd9..e680179e04 100755 --- a/tools/gate/vars.sh +++ b/tools/gate/vars.sh @@ -37,6 +37,10 @@ export KUBE_CNI=${KUBE_CNI:="calico"} # Set PVC Backend export PVC_BACKEND=${PVC_BACKEND:-"ceph"} +# Set Object Storage options +export CEPH_RGW_KEYSTONE_ENABLED=${CEPH_RGW_KEYSTONE_ENABLED:-"true"} +export OPENSTACK_OBJECT_STORAGE=${OPENSTACK_OBJECT_STORAGE:-"radosgw"} + # Set Upstream DNS export UPSTREAM_DNS=${UPSTREAM_DNS:-"8.8.8.8"}