blob: 6fe20d94c6e041b41febb198f75e7a990094be0d [file] [log] [blame]
#!/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
}