87 lines
2.2 KiB
Bash
Executable file
87 lines
2.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Ref. https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
|
|
|
|
# Paranoia mode
|
|
set -e
|
|
set -u
|
|
|
|
##
|
|
## Install prerequisites
|
|
##
|
|
sudo apt install -y git python3-dev libffi-dev gcc libssl-dev ufw
|
|
sudo apt install -y git python3-pip python3-venv
|
|
|
|
# Create sudo user for openstack -- not needed (vagrant is the same)
|
|
# useradd -s /bin/bash -d /opt/stack -m stack
|
|
# chmod +x /opt/stack
|
|
# apt-get install sudo -y
|
|
# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
|
|
|
|
##
|
|
## Create the virtual environment
|
|
##
|
|
KOLLA_VENV_PATH=$HOME/kolla-venv
|
|
python3 -m venv "$KOLLA_VENV_PATH"
|
|
. "$KOLLA_VENV_PATH/bin/activate"
|
|
pip install -U pip
|
|
pip install 'ansible>=4,<6'
|
|
|
|
##
|
|
## Install Kolla-ansible
|
|
##
|
|
|
|
pip install git+https://opendev.org/openstack/kolla-ansible@master
|
|
sudo mkdir -p /etc/kolla
|
|
sudo mkdir -p /etc/kolla/globals.d
|
|
sudo chown -R "$USER:$USER" /etc/kolla
|
|
|
|
cp -r "$KOLLA_VENV_PATH/share/kolla-ansible/etc_examples/kolla"/* /etc/kolla
|
|
cp "$KOLLA_VENV_PATH/share/kolla-ansible/ansible/inventory/all-in-one" .
|
|
|
|
kolla-ansible install-deps
|
|
kolla-genpwd
|
|
|
|
##
|
|
## Configure globals
|
|
##
|
|
IP_ADDR="$(ip addr show dev eth0 |sed -n '/inet / { s,.*inet ,, ; s,/.*,, ; s,\.[0-9]\+$,.250, ; p }')"
|
|
cat > /etc/kolla/globals.d/default.yml <<-MARK
|
|
kolla_base_distro: "debian"
|
|
openstack_tag_suffix: ""
|
|
network_interface: "eth0"
|
|
neutron_external_interface: "ext0"
|
|
kolla_internal_vip_address: "$IP_ADDR"
|
|
#
|
|
MARK
|
|
|
|
|
|
##
|
|
## Deploy
|
|
##
|
|
|
|
# create fake network interface
|
|
IFACE_FILE="$(mktemp)"
|
|
cat > "$IFACE_FILE"<<-MARK
|
|
auto ext0
|
|
iface ext0 inet manual
|
|
## Keep unconfigured for kolla
|
|
pre-up ip link add dev ext0 type dummy
|
|
pre-up ip link set state up dev ext0
|
|
pre-up ip link set state down dev ext0
|
|
post-down ip link del dev ext0
|
|
MARK
|
|
sudo chown root:root "$IFACE_FILE"
|
|
sudo mv "$IFACE_FILE" /etc/network/interfaces.d/ext0
|
|
sudo ifup ext0 || true
|
|
## systemctl restart networking
|
|
|
|
echo "== boostrap"
|
|
kolla-ansible -i ./all-in-one bootstrap-servers
|
|
echo "== prechecks"
|
|
kolla-ansible -i ./all-in-one prechecks
|
|
echo "== deploy"
|
|
kolla-ansible -i ./all-in-one deploy
|
|
|
|
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
|
|
# FIMXE: generate & show password
|
|
#
|