portdirect 226269d295 Gate/Doc: Move neutron config to gate scripts
This PS moves the neutron configuration to the gate scripts, rather
than mixing it between set and values commands, which was hard to
follow.

Change-Id: I94035d2af15efbe961366ae0427b39721b7aff78
2018-01-28 22:57:07 -05:00

106 lines
3.3 KiB
Bash
Executable File

#!/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 -xe
#NOTE: Deploy nova
if [ "x$(systemd-detect-virt)" == "xnone" ]; then
echo 'OSH is not being deployed in virtualized environment'
helm install ./nova \
--namespace=openstack \
--name=nova \
--set pod.replicas.api_metadata=1 \
--set pod.replicas.placement=2 \
--set pod.replicas.osapi=2 \
--set pod.replicas.conductor=2 \
--set pod.replicas.consoleauth=2 \
--set pod.replicas.scheduler=2 \
--set pod.replicas.novncproxy=1 \
--set labels.api_metadata.node_selector_key=openstack-helm-node-class \
--set labels.api_metadata.node_selector_value=primary
else
echo 'OSH is being deployed in virtualized environment, using qemu for nova'
helm install ./nova \
--namespace=openstack \
--name=nova \
--set pod.replicas.api_metadata=1 \
--set pod.replicas.placement=2 \
--set pod.replicas.osapi=2 \
--set pod.replicas.conductor=2 \
--set pod.replicas.consoleauth=2 \
--set pod.replicas.scheduler=2 \
--set pod.replicas.novncproxy=1 \
--set labels.api_metadata.node_selector_key=openstack-helm-node-class \
--set labels.api_metadata.node_selector_value=primary \
--set conf.nova.libvirt.virt_type=qemu
fi
#NOTE: Deploy neutron
#NOTE(portdirect): for simplicity we will assume the default route device
# should be used for tunnels
NETWORK_TUNNEL_DEV="$(sudo ip -4 route list 0/0 | awk '{ print $5; exit }')"
tee /tmp/neutron.yaml << EOF
network:
interface:
tunnel: "${NETWORK_TUNNEL_DEV}"
labels:
agent:
dhcp:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
l3:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
metadata:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
pod:
replicas:
server: 2
conf:
neutron:
DEFAULT:
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
plugins:
ml2_conf:
ml2_type_flat:
flat_networks: public
openvswitch_agent:
agent:
tunnel_types: vxlan
ovs:
bridge_mappings: public:br-ex
EOF
helm install ./neutron \
--namespace=openstack \
--name=neutron \
--values=/tmp/neutron.yaml
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
export OS_CLOUD=openstack_helm
openstack service list
sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx
openstack hypervisor list
openstack network agent list
helm test nova --timeout 900
helm test neutron --timeout 900