#!/bin/bash source /var/onap/functions # deploy_openstack() - Function that provisions an OpenStack deployment function deploy_openstack { local network_id=${1:-"192.168.53.0"} nic=$(ip route get $network_id | awk '{ print $4; exit }') ip_address=$(ip route get $network_id | awk '{ print $6; exit }') internal_vip_address=$(get_next_ip $ip_address) install_docker mkdir -p /etc/systemd/system/docker.service.d tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF' [Service] MountFlags=shared EOF install_packages python-dev libffi-dev gcc libssl-dev python-selinux gcc install_python_package ansible docker kolla-ansible python-openstackclient source /etc/os-release || source /usr/lib/os-release case ${ID,,} in *suse) ;; ubuntu|debian) service docker restart cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/kolla/ cp /usr/local/share/kolla-ansible/ansible/inventory/* . sed -i "s/#kolla_base_distro: \"centos\"/kolla_base_distro: \"ubuntu\"/g" /etc/kolla/globals.yml ;; rhel|centos|fedora) systemctl daemon-reload systemctl restart docker cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/ cp /usr/share/kolla-ansible/ansible/inventory/* . sed -i "s/#kolla_base_distro: \"centos\"/kolla_base_distro: \"centos\"/g" /etc/kolla/globals.yml ;; esac kolla-genpwd sed -i "s/#openstack_release: \"\"/openstack_release: \"master\"/g" /etc/kolla/globals.yml sed -i "s/#network_interface: \"eth0\"/network_interface: \"$nic\"/g" /etc/kolla/globals.yml sed -i "s/kolla_internal_vip_address: \"10.10.10.254\"/kolla_internal_vip_address: \"$internal_vip_address\"/g" /etc/kolla/globals.yml sed -i "s/#api_interface: \"{{ network_interface }}\"/api_interface: \"{{ network_interface }}\"/g" /etc/kolla/globals.yml echo "$ip_address $(hostname)" >> /etc/hosts kolla-ansible pull -i all-in-one kolla-ansible deploy -i all-in-one kolla-ansible post-deploy echo "source /etc/kolla/admin-openrc.sh" >> ${HOME}/.bashrc }