Newer
Older
#!/bin/bash
set -o xtrace
set -o errexit
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export KEEPALIVED_VIRTUAL_ROUTER_ID=$(shuf -i 1-255 -n 1)
cp -rnL /var/lib/docker/volumes/kolla_logs/_data/* /tmp/logs/kolla/
# NOTE(SamYaple): Fix permissions for log extraction in gate
if [[ -x "$(command -v journalctl)" ]]; then
journalctl --no-pager -u docker.service > /tmp/logs/kolla/docker.log
else
cp /var/log/upstart/docker.log /tmp/logs/kolla/docker.log
source /etc/kolla/admin-openrc.sh
nova --debug service-list
neutron --debug agent-list
tools/init-runonce
nova --debug boot --poll --image $(openstack image list | awk '/cirros/ {print $2}') --nic net-id=$(openstack network list | awk '/demo-net/ {print $2}') --flavor 1 kolla_boot_test
nova --debug list
nova --debug show kolla_boot_test | awk '{buf=buf"\n"$0} $2=="status" && $4!="ACTIVE" {failed="yes"}; END {if (failed=="yes") {print buf; exit 1}}'
}
function check_failure {
# Command failures after this point can be expected
set +o errexit
failed_containers=$(docker ps -a --format "{{.Names}}" --filter status=exited)
for failed in ${failed_containers}; do
docker logs --tail all ${failed}
function write_configs {
mkdir -p /etc/kolla/config
PRIVATE_ADDRESS=$(cat /etc/nodepool/node_private)
PRIVATE_INTERFACE=$(ip -4 --oneline address | awk -v pattern=${PRIVATE_ADDRESS} '$0 ~ pattern {print $2}')
kolla_base_distro: "${KOLLA_BASE}"
kolla_install_type: "${KOLLA_TYPE}"
kolla_internal_vip_address: "169.254.169.10"
keepalived_virtual_router_id: "${KEEPALIVED_VIRTUAL_ROUTER_ID}"
network_interface: "${PRIVATE_INTERFACE}"
mkdir /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
EOF
cat << EOF > /etc/kolla/config/nova.conf
[DEFAULT]
osapi_compute_workers = 1
[conductor]
workers = 1
EOF
cat << EOF > /etc/kolla/config/glance.conf
[DEFAULT]
workers = 1
EOF
cat << EOF > /etc/kolla/config/neutron.conf
[DEFAULT]
api_workers = 1
metadata_workers = 1
}
trap check_failure EXIT
write_configs
# Create dummy interface for neutron
ip l a fake_interface type dummy
# Actually do the deployment
tools/kolla-ansible -vvv deploy
tools/kolla-ansible -vvv post-deploy
# Test OpenStack Environment