
For recent releases we use 32GB nodes for compute-kit jobs. The number of such nodes is extremely limited. So we'd better use multinode nodesets for compute-kit jobs. We deploy K8s using kubeadm and then we set labels to the K8s nodes so charts can use these labels for node selectors. We deploy L3 agent only on the node where we run test scripts. This is because we want test virual router to be always created on this node. Otherwise the L2 overlay needs to be created to emulate provider network (will be implemented later). Glance is deployed w/o backend storage (will be fixed later). Change-Id: Id2eb639fb67d41006940a7d7b45a865b2f1124f7
135 lines
3.8 KiB
Bash
Executable File
135 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 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
|
|
|
|
: ${MULTINODE:="no"}
|
|
: ${RUN_HELM_TESTS:="yes"}
|
|
|
|
export OS_CLOUD=openstack_helm
|
|
CEPH_ENABLED=false
|
|
if openstack service list -f value -c Type | grep -q "^volume" && \
|
|
openstack volume type list -f value -c Name | grep -q "rbd"; then
|
|
CEPH_ENABLED=true
|
|
fi
|
|
|
|
# Get overrides
|
|
: ${OSH_EXTRA_HELM_ARGS_PLACEMENT:="$(./tools/deployment/common/get-values-overrides.sh placement)"}
|
|
|
|
# Lint and package
|
|
make placement
|
|
|
|
# Deploy placement
|
|
helm upgrade --install placement ./placement --namespace=openstack \
|
|
${OSH_EXTRA_HELM_ARGS:=} ${OSH_EXTRA_HELM_ARGS_PLACEMENT}
|
|
|
|
#NOTE: Get the over-rides to use
|
|
: ${OSH_EXTRA_HELM_ARGS_NOVA:="$(./tools/deployment/common/get-values-overrides.sh nova)"}
|
|
|
|
#NOTE: Lint and package chart
|
|
make nova
|
|
|
|
#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 bootstrap.wait_for_computes.enabled=true \
|
|
--set conf.ceph.enabled=${CEPH_ENABLED} \
|
|
${OSH_EXTRA_HELM_ARGS:=} \
|
|
${OSH_EXTRA_HELM_ARGS_NOVA}
|
|
else
|
|
echo 'OSH is being deployed in virtualized environment, using qemu for nova'
|
|
helm upgrade --install nova ./nova \
|
|
--namespace=openstack \
|
|
--set bootstrap.wait_for_computes.enabled=true \
|
|
--set conf.ceph.enabled=${CEPH_ENABLED} \
|
|
--set conf.nova.libvirt.virt_type=qemu \
|
|
--set conf.nova.libvirt.cpu_mode=none \
|
|
${OSH_EXTRA_HELM_ARGS:=} \
|
|
${OSH_EXTRA_HELM_ARGS_NOVA}
|
|
fi
|
|
|
|
#NOTE: Get the over-rides to use
|
|
: ${OSH_EXTRA_HELM_ARGS_NEUTRON:="$(./tools/deployment/common/get-values-overrides.sh neutron)"}
|
|
|
|
#NOTE: Lint and package chart
|
|
make neutron
|
|
|
|
#NOTE: Deploy neutron
|
|
tee /tmp/neutron.yaml << EOF
|
|
network:
|
|
interface:
|
|
tunnel: null
|
|
conf:
|
|
neutron:
|
|
DEFAULT:
|
|
l3_ha: False
|
|
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
|
|
linuxbridge_agent:
|
|
linux_bridge:
|
|
bridge_mappings: public:br-ex
|
|
EOF
|
|
|
|
if [[ $MULTINODE == "yes" ]]; then
|
|
tee -a /tmp/neutron.yaml << EOF
|
|
labels:
|
|
agent:
|
|
l3:
|
|
node_selector_key: l3-agent
|
|
node_selector_value: enabled
|
|
EOF
|
|
fi
|
|
|
|
helm upgrade --install neutron ./neutron \
|
|
--namespace=openstack \
|
|
--values=/tmp/neutron.yaml \
|
|
${OSH_EXTRA_HELM_ARGS:=} \
|
|
${OSH_VALUES_OVERRIDES_HELM_ARGS:=} \
|
|
${OSH_EXTRA_HELM_ARGS_NEUTRON}
|
|
|
|
|
|
# If compute kit installed using Tungsten Fubric, it will be alive when Tunsten Fabric become active.
|
|
if [[ "$FEATURE_GATES" =~ (,|^)tf(,|$) ]]; then
|
|
exit 0
|
|
fi
|
|
#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 compute service list
|
|
openstack network agent list
|
|
openstack hypervisor list
|
|
|
|
if [ "x${RUN_HELM_TESTS}" == "xno" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
./tools/deployment/common/run-helm-tests.sh nova
|
|
./tools/deployment/common/run-helm-tests.sh neutron
|