| #!/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 |
| } |