From 340a9ec434ac376d0c852155a2edd4ca6ad85fc6 Mon Sep 17 00:00:00 2001 From: Pete Birley <pete@port.direct> Date: Sun, 25 Feb 2018 00:11:36 -0500 Subject: [PATCH] Networking: dynamic backend support This PS allows the neutron and nova charts to dynamicly adapt to various backends. Depends-On: I0ec13f45fd4561fec59d08b08eb78390a3866156 Change-Id: I1891af4b0e49237e229ff5e61e907dc3e413cf87 --- .zuul.yaml | 46 +++++++++++-- .../templates/utils/_dependency_resolver.tpl | 28 ++++++++ ...tron-linuxbridge-agent-init-modules.sh.tpl | 1 + neutron/templates/configmap-etc.yaml | 36 ++++++++++ neutron/templates/daemonset-dhcp-agent.yaml | 4 +- neutron/templates/daemonset-l3-agent.yaml | 4 +- neutron/templates/daemonset-lb-agent.yaml | 6 +- .../templates/daemonset-metadata-agent.yaml | 4 +- neutron/templates/daemonset-ovs-agent.yaml | 6 +- neutron/templates/deployment-server.yaml | 4 +- neutron/values.yaml | 59 +++++++++++------ nova/templates/daemonset-compute.yaml | 5 +- nova/values.yaml | 13 +++- tools/deployment/common/memcached.sh | 4 +- tools/deployment/developer/ceph/040-ceph.sh | 4 +- .../developer/ceph/045-ceph-ns-activate.sh | 4 +- .../developer/ceph/110-ceph-radosgateway.sh | 4 +- tools/deployment/developer/ceph/120-glance.sh | 4 +- tools/deployment/developer/ceph/130-cinder.sh | 4 +- .../deployment/developer/ceph/150-libvirt.sh | 4 +- .../developer/ceph/160-compute-kit.sh | 13 ++-- .../developer/common/030-ingress.sh | 4 +- .../developer/common/050-mariadb.sh | 4 +- .../developer/common/060-rabbitmq.sh | 4 +- .../developer/common/080-keystone.sh | 4 +- tools/deployment/developer/common/090-heat.sh | 4 +- .../developer/common/100-horizon.sh | 4 +- .../developer/common/140-openvswitch.sh | 4 +- tools/deployment/developer/nfs/120-glance.sh | 4 +- tools/deployment/developer/nfs/150-libvirt.sh | 4 +- .../developer/nfs/160-compute-kit.sh | 13 +++- tools/gate/playbooks/dev-deploy-ceph.yaml | 55 +++++++++++++++- tools/gate/playbooks/dev-deploy-nfs.yaml | 50 ++++++++++++++ tools/gate/playbooks/kolla-deploy-ceph.yaml | 38 +++++------ .../backends/networking/linuxbridge.yaml | 21 ++++++ .../example/keystone_domain_config.yaml | 5 -- tools/overrides/mvp/README.rst | 15 ----- tools/overrides/mvp/neutron-linuxbridge.yaml | 65 ------------------- 38 files changed, 375 insertions(+), 180 deletions(-) create mode 100644 helm-toolkit/templates/utils/_dependency_resolver.tpl create mode 100644 tools/overrides/backends/networking/linuxbridge.yaml delete mode 100644 tools/overrides/mvp/README.rst delete mode 100644 tools/overrides/mvp/neutron-linuxbridge.yaml diff --git a/.zuul.yaml b/.zuul.yaml index db39e96738..b8bc74384d 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -16,12 +16,24 @@ check: jobs: - openstack-helm-linter - - openstack-helm-dev-deploy-ceph: + - openstack-helm-dev-deploy-ceph-ovs: irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ - - openstack-helm-dev-deploy-nfs: + - openstack-helm-dev-deploy-nfs-ovs: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - openstack-helm-dev-deploy-ceph-lb: + voting: false + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - openstack-helm-dev-deploy-nfs-lb: + voting: false irrelevant-files: - ^.*\.rst$ - ^doc/.*$ @@ -69,12 +81,12 @@ - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ - - openstack-helm-dev-deploy-ceph: + - openstack-helm-dev-deploy-ceph-ovs: irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ - - openstack-helm-dev-deploy-nfs: + - openstack-helm-dev-deploy-nfs-ovs: irrelevant-files: - ^.*\.rst$ - ^doc/.*$ @@ -108,12 +120,34 @@ nodeset: openstack-helm-single-node - job: - name: openstack-helm-dev-deploy-ceph + name: openstack-helm-dev-deploy-ceph-ovs + vars: + osh_neutron_backend: openvswitch parent: openstack-helm-dev-deploy run: tools/gate/playbooks/dev-deploy-ceph.yaml - job: - name: openstack-helm-dev-deploy-nfs + name: openstack-helm-dev-deploy-nfs-ovs + vars: + osh_neutron_backend: openvswitch + parent: openstack-helm-dev-deploy + run: tools/gate/playbooks/dev-deploy-nfs.yaml + +- job: + name: openstack-helm-dev-deploy-ceph-lb + vars: + osh_neutron_backend: linuxbridge + zuul_osh_infra_relative_path: ../openstack-helm-infra/ + zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/backends/networking/linuxbridge.yaml + parent: openstack-helm-dev-deploy + run: tools/gate/playbooks/dev-deploy-ceph.yaml + +- job: + name: openstack-helm-dev-deploy-nfs-lb + vars: + osh_neutron_backend: linuxbridge + zuul_osh_infra_relative_path: ../openstack-helm-infra/ + zuul_osh_extra_helm_args_relative_path: --values=./tools/overrides/backends/networking/linuxbridge.yaml parent: openstack-helm-dev-deploy run: tools/gate/playbooks/dev-deploy-nfs.yaml diff --git a/helm-toolkit/templates/utils/_dependency_resolver.tpl b/helm-toolkit/templates/utils/_dependency_resolver.tpl new file mode 100644 index 0000000000..45a74fe836 --- /dev/null +++ b/helm-toolkit/templates/utils/_dependency_resolver.tpl @@ -0,0 +1,28 @@ +{{/* +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. +*/}} + +{{- define "helm-toolkit.utils.dependency_resolver" }} +{{- $envAll := index . "envAll" -}} +{{- $dependencyMixinParam := index . "dependencyMixinParam" -}} +{{- $dependencyKey := index . "dependencyKey" -}} +{{- if $dependencyMixinParam -}} +{{- $_ := set $envAll.Values "pod_dependency" dict -}} +{{- $_ := include "helm-toolkit.utils.merge" (tuple $envAll.Values.pod_dependency ( index $envAll.Values.dependencies.static $dependencyKey ) ( index $envAll.Values.dependencies.dynamic.targeted $dependencyMixinParam $dependencyKey ) ) -}} +{{- else -}} +{{- $_ := set $envAll.Values "pod_dependency" ( index $envAll.Values.dependencies.static $dependencyKey ) -}} +{{- end -}} +{{ $envAll.Values.pod_dependency | toYaml }} +{{- end }} diff --git a/neutron/templates/bin/_neutron-linuxbridge-agent-init-modules.sh.tpl b/neutron/templates/bin/_neutron-linuxbridge-agent-init-modules.sh.tpl index 7926dbd711..b235325335 100644 --- a/neutron/templates/bin/_neutron-linuxbridge-agent-init-modules.sh.tpl +++ b/neutron/templates/bin/_neutron-linuxbridge-agent-init-modules.sh.tpl @@ -17,5 +17,6 @@ limitations under the License. */}} set -ex +chroot /mnt/host-rootfs modprobe bridge chroot /mnt/host-rootfs modprobe ip6_tables chroot /mnt/host-rootfs modprobe ebtables diff --git a/neutron/templates/configmap-etc.yaml b/neutron/templates/configmap-etc.yaml index 07c8a64f87..069599e3a3 100644 --- a/neutron/templates/configmap-etc.yaml +++ b/neutron/templates/configmap-etc.yaml @@ -92,6 +92,42 @@ limitations under the License. {{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.metadata_agent.cache "memcache_servers" | quote | trunc 0 -}} {{- end -}} +{{- if empty .Values.conf.neutron.DEFAULT.interface_driver -}} +{{- if eq .Values.network.backend "ovs" -}} +{{- set .Values.conf.neutron.DEFAULT "interface_driver" "openvswitch" | quote | trunc 0 -}} +{{- end -}} +{{- if eq .Values.network.backend "linuxbridge" -}} +{{- set .Values.conf.neutron.DEFAULT "interface_driver" "linuxbridge" | quote | trunc 0 -}} +{{- end -}} +{{- end -}} + +{{- if empty .Values.conf.dhcp_agent.DEFAULT.interface_driver -}} +{{- if eq .Values.network.backend "ovs" -}} +{{- set .Values.conf.dhcp_agent.DEFAULT "interface_driver" "openvswitch" | quote | trunc 0 -}} +{{- end -}} +{{- if eq .Values.network.backend "linuxbridge" -}} +{{- set .Values.conf.dhcp_agent.DEFAULT "interface_driver" "linuxbridge" | quote | trunc 0 -}} +{{- end -}} +{{- end -}} + +{{- if empty .Values.conf.l3_agent.DEFAULT.interface_driver -}} +{{- if eq .Values.network.backend "ovs" -}} +{{- set .Values.conf.l3_agent.DEFAULT "interface_driver" "openvswitch" | quote | trunc 0 -}} +{{- end -}} +{{- if eq .Values.network.backend "linuxbridge" -}} +{{- set .Values.conf.l3_agent.DEFAULT "interface_driver" "linuxbridge" | quote | trunc 0 -}} +{{- end -}} +{{- end -}} + +{{- if empty .Values.conf.plugins.ml2_conf.ml2.mechanism_drivers -}} +{{- if eq .Values.network.backend "ovs" -}} +{{- set .Values.conf.plugins.ml2_conf.ml2 "mechanism_drivers" "openvswitch,l2population" | quote | trunc 0 -}} +{{- end -}} +{{- if eq .Values.network.backend "linuxbridge" -}} +{{- set .Values.conf.plugins.ml2_conf.ml2 "mechanism_drivers" "linuxbridge,l2population" | quote | trunc 0 -}} +{{- end -}} +{{- end -}} + --- apiVersion: v1 kind: ConfigMap diff --git a/neutron/templates/daemonset-dhcp-agent.yaml b/neutron/templates/daemonset-dhcp-agent.yaml index 7117ceb187..97b73d4536 100644 --- a/neutron/templates/daemonset-dhcp-agent.yaml +++ b/neutron/templates/daemonset-dhcp-agent.yaml @@ -16,7 +16,9 @@ limitations under the License. {{- if .Values.manifests.daemonset_dhcp_agent }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.dhcp }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "dhcp" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_dhcp_agent := .Values.pod.mounts.neutron_dhcp_agent.neutron_dhcp_agent }} {{- $mounts_neutron_dhcp_agent_init := .Values.pod.mounts.neutron_dhcp_agent.init_container }} diff --git a/neutron/templates/daemonset-l3-agent.yaml b/neutron/templates/daemonset-l3-agent.yaml index 86d303571d..2c6afc7ac8 100644 --- a/neutron/templates/daemonset-l3-agent.yaml +++ b/neutron/templates/daemonset-l3-agent.yaml @@ -16,7 +16,9 @@ limitations under the License. {{- if .Values.manifests.daemonset_l3_agent }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.l3 }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "l3" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_l3_agent := .Values.pod.mounts.neutron_l3_agent.neutron_l3_agent }} {{- $mounts_neutron_l3_agent_init := .Values.pod.mounts.neutron_l3_agent.init_container }} diff --git a/neutron/templates/daemonset-lb-agent.yaml b/neutron/templates/daemonset-lb-agent.yaml index 65b174cef7..3461add711 100644 --- a/neutron/templates/daemonset-lb-agent.yaml +++ b/neutron/templates/daemonset-lb-agent.yaml @@ -14,9 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */}} -{{- if .Values.manifests.daemonset_lb_agent }} +{{- if and .Values.manifests.daemonset_lb_agent ( eq .Values.network.backend "linuxbridge" ) }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.lb_agent }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "lb_agent" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_lb_agent := .Values.pod.mounts.neutron_lb_agent.neutron_lb_agent }} {{- $mounts_neutron_lb_agent_init := .Values.pod.mounts.neutron_lb_agent.init_container }} diff --git a/neutron/templates/daemonset-metadata-agent.yaml b/neutron/templates/daemonset-metadata-agent.yaml index bdfe394bdc..c37098801c 100644 --- a/neutron/templates/daemonset-metadata-agent.yaml +++ b/neutron/templates/daemonset-metadata-agent.yaml @@ -16,7 +16,9 @@ limitations under the License. {{- if .Values.manifests.daemonset_metadata_agent }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.metadata }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "metadata" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_metadata_agent := .Values.pod.mounts.neutron_metadata_agent.neutron_metadata_agent }} {{- $mounts_neutron_metadata_agent_init := .Values.pod.mounts.neutron_metadata_agent.init_container }} diff --git a/neutron/templates/daemonset-ovs-agent.yaml b/neutron/templates/daemonset-ovs-agent.yaml index b8944e0cdc..f1f69927fe 100644 --- a/neutron/templates/daemonset-ovs-agent.yaml +++ b/neutron/templates/daemonset-ovs-agent.yaml @@ -14,9 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */}} -{{- if .Values.manifests.daemonset_ovs_agent }} +{{- if and .Values.manifests.daemonset_ovs_agent ( eq .Values.network.backend "ovs" ) }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.ovs_agent }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "ovs_agent" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_ovs_agent := .Values.pod.mounts.neutron_ovs_agent.neutron_ovs_agent }} {{- $mounts_neutron_ovs_agent_init := .Values.pod.mounts.neutron_ovs_agent.init_container }} diff --git a/neutron/templates/deployment-server.yaml b/neutron/templates/deployment-server.yaml index 8ca5b00915..76749ba3a7 100644 --- a/neutron/templates/deployment-server.yaml +++ b/neutron/templates/deployment-server.yaml @@ -16,7 +16,9 @@ limitations under the License. {{- if .Values.manifests.deployment_server }} {{- $envAll := . }} -{{- $dependencies := .Values.dependencies.static.server }} + +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "server" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{- $mounts_neutron_server := .Values.pod.mounts.neutron_server.neutron_server }} {{- $mounts_neutron_server_init := .Values.pod.mounts.neutron_server.init_container }} diff --git a/neutron/values.yaml b/neutron/values.yaml index 00a209b476..9523a58114 100644 --- a/neutron/values.yaml +++ b/neutron/values.yaml @@ -112,6 +112,28 @@ bootstrap: openstack token issue dependencies: + dynamic: + targeted: + ovs: + dhcp: + daemonset: + - neutron-ovs-agent + l3: + daemonset: + - neutron-ovs-agent + metadata: + daemonset: + - neutron-ovs-agent + linuxbridge: + dhcp: + daemonset: + - neutron-lb-agent + l3: + daemonset: + - neutron-lb-agent + metadata: + daemonset: + - neutron-lb-agent static: bootstrap: services: @@ -134,9 +156,7 @@ dependencies: - endpoint: internal service: oslo_db dhcp: - daemonset: - # this should be set to corresponding neutron L2 agent - - neutron-ovs-agent + daemonset: null services: - endpoint: internal service: oslo_messaging @@ -159,9 +179,7 @@ dependencies: - endpoint: internal service: identity l3: - daemonset: - # this should be set to corresponding neutron L2 agent - - neutron-ovs-agent + daemonset: null services: - endpoint: internal service: oslo_messaging @@ -176,9 +194,7 @@ dependencies: - endpoint: internal service: network metadata: - daemonset: - # this should be set to corresponding neutron L2 agent - - neutron-ovs-agent + daemonset: null services: - endpoint: internal service: oslo_messaging @@ -928,8 +944,9 @@ conf: dhcp_agents_per_network: 3 network_auto_schedule: True router_auto_schedule: True - # we can define here, which driver we are using: openvswitch or linuxbridge - interface_driver: openvswitch + #(NOTE)portdirect: if unset this is populated dyanmicly from the value in + # 'network.backend' to sane defaults. + interface_driver: null oslo_concurrency: lock_path: /var/lib/neutron/tmp database: @@ -949,9 +966,9 @@ conf: ml2_conf: ml2: extension_drivers: port_security - # mechnism_drivers can be: openvswitch, linuxbridge, - # opendaylight, ovn - mechanism_drivers: openvswitch,l2population + #(NOTE)portdirect: if unset this is populated dyanmicly from the value + # in 'network.backend' to sane defaults. + mechanism_drivers: null type_drivers: flat,vlan,vxlan tenant_network_types: vxlan ml2_type_vxlan: @@ -992,16 +1009,16 @@ conf: sriov_agent: null dhcp_agent: DEFAULT: - # we can define here, which driver we are using: - # openvswitch or linuxbridge - interface_driver: openvswitch + #(NOTE)portdirect: if unset this is populated dyanmicly from the value in + # 'network.backend' to sane defaults. + interface_driver: null dnsmasq_config_file: /etc/neutron/dnsmasq.conf force_metadata: True l3_agent: DEFAULT: - # we can define here, which driver we are using: - # openvswitch or linuxbridge - interface_driver: openvswitch + #(NOTE)portdirect: if unset this is populated dyanmicly from the value in + # 'network.backend' to sane defaults. + interface_driver: null agent_mode: legacy metering_agent: null metadata_agent: @@ -1168,7 +1185,7 @@ manifests: configmap_etc: true daemonset_dhcp_agent: true daemonset_l3_agent: true - daemonset_lb_agent: false + daemonset_lb_agent: true daemonset_metadata_agent: true daemonset_ovs_agent: true deployment_server: true diff --git a/nova/templates/daemonset-compute.yaml b/nova/templates/daemonset-compute.yaml index e82a25c474..5d9a09b650 100644 --- a/nova/templates/daemonset-compute.yaml +++ b/nova/templates/daemonset-compute.yaml @@ -296,11 +296,14 @@ spec: {{ if $mounts_nova_compute.volumes }}{{ toYaml $mounts_nova_compute.volumes | indent 8 }}{{ end }} {{- end }} {{- end }} + {{- if .Values.manifests.daemonset_compute }} +{{- $envAll := . }} {{- $daemonset := "compute" }} {{- $configMapName := "nova-etc" }} {{- $serviceAccountName := "nova-compute" }} -{{- $dependencies := .Values.dependencies.static.compute }} +{{- $dependencyOpts := dict "envAll" $envAll "dependencyMixinParam" $envAll.Values.network.backend "dependencyKey" "compute" -}} +{{- $dependencies := include "helm-toolkit.utils.dependency_resolver" $dependencyOpts | toString | fromYaml }} {{ tuple . $dependencies $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} {{- $daemonset_yaml := list $daemonset $configMapName $serviceAccountName $dependencies . | include "nova.compute.daemonset" | toString | fromYaml }} {{- $configmap_yaml := "nova.configmap.etc" }} diff --git a/nova/values.yaml b/nova/values.yaml index 3180fc23a2..88fe543f4c 100644 --- a/nova/values.yaml +++ b/nova/values.yaml @@ -124,6 +124,7 @@ bootstrap: vcpus: 8 network: + backend: ovs osapi: port: 8774 ingress: @@ -182,6 +183,16 @@ ceph: secret_uuid: 457eb676-33da-42ec-9a8c-9293d545c337 dependencies: + dynamic: + targeted: + ovs: + compute: + daemonset: + - neutron-ovs-agent + linuxbridge: + compute: + daemonset: + - neutron-lb-agent static: api: jobs: @@ -218,8 +229,6 @@ dependencies: compute: daemonset: - libvirt - # this should be set to corresponding neutron L2 agent - - neutron-ovs-agent jobs: - nova-db-sync services: diff --git a/tools/deployment/common/memcached.sh b/tools/deployment/common/memcached.sh index 9a3e6c8465..f52db9dfd1 100755 --- a/tools/deployment/common/memcached.sh +++ b/tools/deployment/common/memcached.sh @@ -20,10 +20,10 @@ set -xe make pull-images memcached #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install memcached ./memcached \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/040-ceph.sh b/tools/deployment/developer/ceph/040-ceph.sh index bd138892c5..6518ee80ce 100755 --- a/tools/deployment/developer/ceph/040-ceph.sh +++ b/tools/deployment/developer/ceph/040-ceph.sh @@ -20,7 +20,7 @@ set -xe make pull-images ceph #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} uuidgen > /tmp/ceph-fs-uuid.txt CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)" #NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this @@ -157,7 +157,7 @@ EOF helm upgrade --install ceph ./ceph \ --namespace=ceph \ --values=/tmp/ceph.yaml \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh ceph diff --git a/tools/deployment/developer/ceph/045-ceph-ns-activate.sh b/tools/deployment/developer/ceph/045-ceph-ns-activate.sh index 982112b60e..0455c87b97 100755 --- a/tools/deployment/developer/ceph/045-ceph-ns-activate.sh +++ b/tools/deployment/developer/ceph/045-ceph-ns-activate.sh @@ -20,7 +20,7 @@ set -xe make pull-images ceph #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)" tee /tmp/ceph-openstack-config.yaml <<EOF endpoints: @@ -52,7 +52,7 @@ EOF helm upgrade --install ceph-openstack-config ./ceph \ --namespace=openstack \ --values=/tmp/ceph-openstack-config.yaml \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/110-ceph-radosgateway.sh b/tools/deployment/developer/ceph/110-ceph-radosgateway.sh index aead0d4e9a..07e95a9bbb 100755 --- a/tools/deployment/developer/ceph/110-ceph-radosgateway.sh +++ b/tools/deployment/developer/ceph/110-ceph-radosgateway.sh @@ -20,7 +20,7 @@ set -xe make pull-images ceph #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)" tee /tmp/radosgw-openstack.yaml <<EOF endpoints: @@ -52,7 +52,7 @@ EOF helm upgrade --install radosgw-openstack ./ceph \ --namespace=openstack \ --values=/tmp/radosgw-openstack.yaml \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/120-glance.sh b/tools/deployment/developer/ceph/120-glance.sh index b63f479e2e..fa2e37982b 100755 --- a/tools/deployment/developer/ceph/120-glance.sh +++ b/tools/deployment/developer/ceph/120-glance.sh @@ -20,12 +20,12 @@ set -xe make pull-images glance #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} GLANCE_BACKEND="radosgw" # NOTE(portdirect), this could be: radosgw, rbd, swift or pvc helm upgrade --install glance ./glance \ --namespace=openstack \ --set storage=${GLANCE_BACKEND} \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/130-cinder.sh b/tools/deployment/developer/ceph/130-cinder.sh index abd1f1397e..329c4b3744 100755 --- a/tools/deployment/developer/ceph/130-cinder.sh +++ b/tools/deployment/developer/ceph/130-cinder.sh @@ -19,10 +19,10 @@ set -xe make pull-images cinder #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install cinder ./cinder \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/150-libvirt.sh b/tools/deployment/developer/ceph/150-libvirt.sh index 0da3e2fb0a..ba5fa347bc 100755 --- a/tools/deployment/developer/ceph/150-libvirt.sh +++ b/tools/deployment/developer/ceph/150-libvirt.sh @@ -19,10 +19,10 @@ set -xe make pull-images libvirt #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install libvirt ./libvirt \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/ceph/160-compute-kit.sh b/tools/deployment/developer/ceph/160-compute-kit.sh index d43e29affa..8815dc1e05 100755 --- a/tools/deployment/developer/ceph/160-compute-kit.sh +++ b/tools/deployment/developer/ceph/160-compute-kit.sh @@ -20,18 +20,18 @@ make pull-images nova make pull-images neutron #NOTE: Deploy nova -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} if [ "x$(systemd-detect-virt)" == "xnone" ]; then echo 'OSH is not being deployed in virtualized environment' helm upgrade --install nova ./nova \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} else echo 'OSH is being deployed in virtualized environment, using qemu for nova' helm upgrade --install nova ./nova \ --namespace=openstack \ --set conf.nova.libvirt.virt_type=qemu \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} fi #NOTE: Deploy neutron @@ -51,16 +51,21 @@ conf: ml2_conf: ml2_type_flat: flat_networks: public + #NOTE(portdirect): for clarity we include options for all the neutron + # backends here. openvswitch_agent: agent: tunnel_types: vxlan ovs: bridge_mappings: public:br-ex + linuxbridge_agent: + linux_bridge: + bridge_mappings: public:br-ex EOF helm upgrade --install neutron ./neutron \ --namespace=openstack \ --values=/tmp/neutron.yaml \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/030-ingress.sh b/tools/deployment/developer/common/030-ingress.sh index cef8dfe53d..378485b3a2 100755 --- a/tools/deployment/developer/common/030-ingress.sh +++ b/tools/deployment/developer/common/030-ingress.sh @@ -20,7 +20,7 @@ set -xe make pull-images ingress #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} tee /tmp/ingress-kube-system.yaml << EOF deployment: mode: cluster @@ -31,7 +31,7 @@ EOF helm upgrade --install ingress-kube-system ./ingress \ --namespace=kube-system \ --values=/tmp/ingress-kube-system.yaml \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Deploy namespace ingress helm upgrade --install ingress-openstack ./ingress \ diff --git a/tools/deployment/developer/common/050-mariadb.sh b/tools/deployment/developer/common/050-mariadb.sh index 56596f7783..d6cca99b84 100755 --- a/tools/deployment/developer/common/050-mariadb.sh +++ b/tools/deployment/developer/common/050-mariadb.sh @@ -20,11 +20,11 @@ set -xe make pull-images mariadb #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install mariadb ./mariadb \ --namespace=openstack \ --set pod.replicas.server=1 \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/060-rabbitmq.sh b/tools/deployment/developer/common/060-rabbitmq.sh index 4013b46634..643b02d2ad 100755 --- a/tools/deployment/developer/common/060-rabbitmq.sh +++ b/tools/deployment/developer/common/060-rabbitmq.sh @@ -20,11 +20,11 @@ set -xe make pull-images rabbitmq #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install rabbitmq ./rabbitmq \ --namespace=openstack \ --set pod.replicas.server=1 \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/080-keystone.sh b/tools/deployment/developer/common/080-keystone.sh index e4b24c09e0..e1de8d19ee 100755 --- a/tools/deployment/developer/common/080-keystone.sh +++ b/tools/deployment/developer/common/080-keystone.sh @@ -20,10 +20,10 @@ set -xe make pull-images keystone #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install keystone ./keystone \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/090-heat.sh b/tools/deployment/developer/common/090-heat.sh index 978bf098cb..8de7bafb32 100755 --- a/tools/deployment/developer/common/090-heat.sh +++ b/tools/deployment/developer/common/090-heat.sh @@ -19,10 +19,10 @@ set -xe make pull-images heat #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install heat ./heat \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/100-horizon.sh b/tools/deployment/developer/common/100-horizon.sh index 241f52428b..241fcdf9ad 100755 --- a/tools/deployment/developer/common/100-horizon.sh +++ b/tools/deployment/developer/common/100-horizon.sh @@ -20,12 +20,12 @@ set -xe make pull-images horizon #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install horizon ./horizon \ --namespace=openstack \ --set network.node_port.enabled=true \ --set network.node_port.port=31000 \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/common/140-openvswitch.sh b/tools/deployment/developer/common/140-openvswitch.sh index 623955e1fa..64175e50b1 100755 --- a/tools/deployment/developer/common/140-openvswitch.sh +++ b/tools/deployment/developer/common/140-openvswitch.sh @@ -19,10 +19,10 @@ set -xe make pull-images openvswitch #NOTE: Deploy command -: ${EXTRA_CONFIG:=""} +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install openvswitch ./openvswitch \ --namespace=openstack \ - ${EXTRA_CONFIG} + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/nfs/120-glance.sh b/tools/deployment/developer/nfs/120-glance.sh index dad43177d3..35cb78a0ff 100755 --- a/tools/deployment/developer/nfs/120-glance.sh +++ b/tools/deployment/developer/nfs/120-glance.sh @@ -20,9 +20,11 @@ set -xe make pull-images glance #NOTE: Deploy command +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install glance ./glance \ --namespace=openstack \ - --set storage=pvc + --set storage=pvc \ + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/nfs/150-libvirt.sh b/tools/deployment/developer/nfs/150-libvirt.sh index 0b12cf8ecf..f18bbabf8e 100755 --- a/tools/deployment/developer/nfs/150-libvirt.sh +++ b/tools/deployment/developer/nfs/150-libvirt.sh @@ -19,9 +19,11 @@ set -xe make pull-images libvirt #NOTE: Deploy command +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install libvirt ./libvirt \ --namespace=openstack \ - --set ceph.enabled=false + --set ceph.enabled=false \ + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/deployment/developer/nfs/160-compute-kit.sh b/tools/deployment/developer/nfs/160-compute-kit.sh index 81a8b83aee..e72f775336 100755 --- a/tools/deployment/developer/nfs/160-compute-kit.sh +++ b/tools/deployment/developer/nfs/160-compute-kit.sh @@ -20,17 +20,20 @@ make pull-images nova make pull-images neutron #NOTE: Deploy nova +: ${OSH_EXTRA_HELM_ARGS:=""} if [ "x$(systemd-detect-virt)" == "xnone" ]; then echo 'OSH is not being deployed in virtualized environment' helm upgrade --install nova ./nova \ --namespace=openstack \ - --set ceph.enabled=false + --set ceph.enabled=false \ + ${OSH_EXTRA_HELM_ARGS} else echo 'OSH is being deployed in virtualized environment, using qemu for nova' helm upgrade --install nova ./nova \ --namespace=openstack \ --set ceph.enabled=false \ - --set conf.nova.libvirt.virt_type=qemu + --set conf.nova.libvirt.virt_type=qemu \ + ${OSH_EXTRA_HELM_ARGS} fi #NOTE: Deploy neutron @@ -55,10 +58,14 @@ conf: tunnel_types: vxlan ovs: bridge_mappings: public:br-ex + linuxbridge_agent: + linux_bridge: + bridge_mappings: public:br-ex EOF helm upgrade --install neutron ./neutron \ --namespace=openstack \ - --values=/tmp/neutron.yaml + --values=/tmp/neutron.yaml \ + ${OSH_EXTRA_HELM_ARGS} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack diff --git a/tools/gate/playbooks/dev-deploy-ceph.yaml b/tools/gate/playbooks/dev-deploy-ceph.yaml index 86274e2012..02536797a4 100644 --- a/tools/gate/playbooks/dev-deploy-ceph.yaml +++ b/tools/gate/playbooks/dev-deploy-ceph.yaml @@ -18,13 +18,17 @@ shell: | set -xe; ./tools/deployment/developer/ceph/000-install-packages.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Required packages shell: | set -xe; ./tools/deployment/developer/ceph/010-deploy-k8s.sh - vars: + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" @@ -32,54 +36,81 @@ shell: | set -xe; ./tools/deployment/developer/ceph/020-setup-client.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ingress shell: | set -xe; ./tools/deployment/developer/ceph/030-ingress.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ceph shell: | set -xe; ./tools/deployment/developer/ceph/040-ceph.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ceph NS Activate shell: | set -xe; ./tools/deployment/developer/ceph/045-ceph-ns-activate.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Mariadb shell: | set -xe; ./tools/deployment/developer/ceph/050-mariadb.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy RabbitMQ shell: | set -xe; ./tools/deployment/developer/ceph/060-rabbitmq.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Memcached shell: | set -xe; ./tools/deployment/developer/ceph/070-memcached.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Keystone shell: | set -xe; ./tools/deployment/developer/ceph/080-keystone.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Heat shell: | set -xe; ./tools/deployment/developer/ceph/090-heat.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" # - name: Deploy Horizon @@ -92,12 +123,18 @@ shell: | set -xe; ./tools/deployment/developer/ceph/110-ceph-radosgateway.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Glance shell: | set -xe; ./tools/deployment/developer/ceph/120-glance.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" # - name: Deploy Cinder @@ -107,32 +144,48 @@ # args: # chdir: "{{ zuul.project.src_dir }}" - name: Deploy OpenvSwitch + when: osh_neutron_backend == 'openvswitch' shell: | set -xe; ./tools/deployment/developer/ceph/140-openvswitch.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Libvirt shell: | set -xe; ./tools/deployment/developer/ceph/150-libvirt.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy VM Compute Kit shell: | set -xe; ./tools/deployment/developer/ceph/160-compute-kit.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Setup Gateway shell: | set -xe; ./tools/deployment/developer/ceph/170-setup-gateway.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy use the cloud shell: | set -xe; ./tools/deployment/developer/ceph/900-use-it.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" diff --git a/tools/gate/playbooks/dev-deploy-nfs.yaml b/tools/gate/playbooks/dev-deploy-nfs.yaml index 62e5774bd9..27719a42c6 100644 --- a/tools/gate/playbooks/dev-deploy-nfs.yaml +++ b/tools/gate/playbooks/dev-deploy-nfs.yaml @@ -18,6 +18,9 @@ shell: | set -xe; ./tools/deployment/developer/nfs/000-install-packages.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Required packages @@ -25,6 +28,7 @@ set -xe; ./tools/deployment/developer/nfs/010-deploy-k8s.sh environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" @@ -32,89 +36,135 @@ shell: | set -xe; ./tools/deployment/developer/nfs/020-setup-client.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ingress shell: | set -xe; ./tools/deployment/developer/nfs/030-ingress.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy NFS shell: | set -xe; ./tools/deployment/developer/nfs/040-nfs-provisioner.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Mariadb shell: | set -xe; ./tools/deployment/developer/nfs/050-mariadb.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy RabbitMQ shell: | set -xe; ./tools/deployment/developer/nfs/060-rabbitmq.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Memcached shell: | set -xe; ./tools/deployment/developer/nfs/070-memcached.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Keystone shell: | set -xe; ./tools/deployment/developer/nfs/080-keystone.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Heat shell: | set -xe; ./tools/deployment/developer/nfs/090-heat.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Horizon shell: | set -xe; ./tools/deployment/developer/nfs/100-horizon.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Glance shell: | set -xe; ./tools/deployment/developer/nfs/120-glance.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy OpenvSwitch + when: osh_neutron_backend == 'openvswitch' shell: | set -xe; ./tools/deployment/developer/nfs/140-openvswitch.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Libvirt shell: | set -xe; ./tools/deployment/developer/nfs/150-libvirt.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy VM Compute Kit shell: | set -xe; ./tools/deployment/developer/nfs/160-compute-kit.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Setup Gateway shell: | set -xe; ./tools/deployment/developer/nfs/170-setup-gateway.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy use the cloud shell: | set -xe; ./tools/deployment/developer/nfs/900-use-it.sh + environment: + OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" diff --git a/tools/gate/playbooks/kolla-deploy-ceph.yaml b/tools/gate/playbooks/kolla-deploy-ceph.yaml index 7589c3f2db..18b619d02b 100644 --- a/tools/gate/playbooks/kolla-deploy-ceph.yaml +++ b/tools/gate/playbooks/kolla-deploy-ceph.yaml @@ -19,7 +19,7 @@ set -xe; ./tools/deployment/developer/ceph/000-install-packages.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Required packages @@ -27,7 +27,7 @@ set -xe; ./tools/deployment/developer/ceph/010-deploy-k8s.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}" args: chdir: "{{ zuul.project.src_dir }}" @@ -36,7 +36,7 @@ set -xe; ./tools/deployment/developer/ceph/020-setup-client.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ingress @@ -44,7 +44,7 @@ set -xe; ./tools/deployment/developer/ceph/030-ingress.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ceph @@ -52,7 +52,7 @@ set -xe; ./tools/deployment/developer/ceph/040-ceph.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Ceph NS Activate @@ -60,7 +60,7 @@ set -xe; ./tools/deployment/developer/ceph/045-ceph-ns-activate.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Mariadb @@ -68,7 +68,7 @@ set -xe; ./tools/deployment/developer/ceph/050-mariadb.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy RabbitMQ @@ -76,7 +76,7 @@ set -xe; ./tools/deployment/developer/ceph/060-rabbitmq.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Memcached @@ -84,7 +84,7 @@ set -xe; ./tools/deployment/developer/ceph/070-memcached.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Keystone @@ -92,7 +92,7 @@ set -xe; ./tools/deployment/developer/ceph/080-keystone.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Heat @@ -100,7 +100,7 @@ set -xe; ./tools/deployment/developer/ceph/090-heat.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" # - name: Deploy Horizon @@ -114,7 +114,7 @@ set -xe; ./tools/deployment/developer/ceph/110-ceph-radosgateway.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Glance @@ -122,7 +122,7 @@ set -xe; ./tools/deployment/developer/ceph/120-glance.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" # - name: Deploy Cinder @@ -130,7 +130,7 @@ # set -xe; # ./tools/deployment/developer/ceph/130-cinder.sh # environment: - # EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + # OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" # args: # chdir: "{{ zuul.project.src_dir }}" - name: Deploy OpenvSwitch @@ -138,7 +138,7 @@ set -xe; ./tools/deployment/developer/ceph/140-openvswitch.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy Libvirt @@ -146,7 +146,7 @@ set -xe; ./tools/deployment/developer/ceph/150-libvirt.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy VM Compute Kit @@ -154,7 +154,7 @@ set -xe; ./tools/deployment/developer/ceph/160-compute-kit.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Setup Gateway @@ -162,7 +162,7 @@ set -xe; ./tools/deployment/developer/ceph/170-setup-gateway.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" - name: Deploy use the cloud @@ -170,6 +170,6 @@ set -xe; ./tools/deployment/developer/ceph/900-use-it.sh environment: - EXTRA_CONFIG: "--values=./tools/overrides/releases/newton/kolla.yaml" + OSH_EXTRA_HELM_ARGS: "--values=./tools/overrides/releases/newton/kolla.yaml" args: chdir: "{{ zuul.project.src_dir }}" diff --git a/tools/overrides/backends/networking/linuxbridge.yaml b/tools/overrides/backends/networking/linuxbridge.yaml new file mode 100644 index 0000000000..31828eda00 --- /dev/null +++ b/tools/overrides/backends/networking/linuxbridge.yaml @@ -0,0 +1,21 @@ +# 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. + +# Values for neutron using Linux Bridge. +# This file contains overrides to launch a MVP deployment of neutron and nova +# using Linux Bridge for the OpenStack-Helm gates, and local development use. +# It should be kept to the bare minimum required for this purpose. + +network: + backend: linuxbridge diff --git a/tools/overrides/example/keystone_domain_config.yaml b/tools/overrides/example/keystone_domain_config.yaml index 3672990fbe..4d63f8e531 100644 --- a/tools/overrides/example/keystone_domain_config.yaml +++ b/tools/overrides/example/keystone_domain_config.yaml @@ -12,11 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# MVP values for neutron using Linux Bridge. -# This file contains overrides to launch a MVP deployment of neutron using -# Linux Bridge for the OpenStack-Helm gates, and local development use. -# It should be kept to the bare minimum required for this purpose. - # This example sets the default domain to be LDAP based, and adds in a new # dbdomain that is SQL-backed. Note that for this to work, you need to set # an admin (env: OS_USERNAME and OS_PASSWORD) that is valid in the LDAP. diff --git a/tools/overrides/mvp/README.rst b/tools/overrides/mvp/README.rst deleted file mode 100644 index 0a49120659..0000000000 --- a/tools/overrides/mvp/README.rst +++ /dev/null @@ -1,15 +0,0 @@ -============================ -OpenStack-Helm MVP Overrides -============================ - -The project specific overrides in this directory allow you to reduce the default -resilience of OpenStack-Helm, by turning off HA of the Neutron Agents. -Additionally the default distributed storage backend, Ceph, is disabled and -replaced by local storage for OpenStack components. - -These changed are made to achieve these goals: - * Demonstrating how values can be set and defined within OpenStack-Helm - * Allowing OpenStack-Helm to run on a single node for: - * Development - * Demonstration - * Basic integration pipelines in a CI System diff --git a/tools/overrides/mvp/neutron-linuxbridge.yaml b/tools/overrides/mvp/neutron-linuxbridge.yaml deleted file mode 100644 index 2440dc738c..0000000000 --- a/tools/overrides/mvp/neutron-linuxbridge.yaml +++ /dev/null @@ -1,65 +0,0 @@ -# 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. - -# MVP values for neutron using Linux Bridge. -# This file contains overrides to launch a MVP deployment of neutron using -# Linux Bridge for the OpenStack-Helm gates, and local development use. -# It should be kept to the bare minimum required for this purpose. - -network: - backend: linuxbridge - interface: - tunnel: docker0 - -manifests: - daemonset_lb_agent: true - daemonset_ovs_agent: false - daemonset_ovs_db: false - daemonset_ovs_vswitchd: false - -dependencies: - dhcp: - daemonset: - - neutron-lb-agent - l3: - daemonset: - - neutron-lb-agent - metadata: - daemonset: - - neutron-lb-agent - -conf: - neutron: - DEFAULT: - interface_driver: linuxbridge - l3_ha: False - min_l3_agents_per_router: 1 - max_l3_agents_per_router: 1 - l3_ha_network_type: vxlan - dhcp_agents_per_network: 1 - dhcp_agent: - DEFAULT: - interface_driver: linuxbridge - l3_agent: - DEFAULT: - interface_driver: linuxbridge - plugins: - ml2_conf: - ml2: - mechanism_drivers: linuxbridge, l2population - ml2_type_flat: - flat_networks: public - linuxbridge_agent: - linux_bridge: - bridge_mappings: "public:br-ex"