kolla_openstack_terraform_a.../docs/3) Setup deployment host.md

2.0 KiB

Setup deployment host

https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html

# install dependencies
sudo apt-get update -y
sudo apt-get install python3-dev python3-venv libffi-dev gcc libssl-dev sshpass ca-certificates jq -y
python3 -m venv /home/openstack/kolla_zed

# enter venv, install kolla
source /home/openstack/kolla_zed/bin/activate
pip install -U pip
pip install 'ansible>=4,<6'
pip install git+https://opendev.org/openstack/kolla-ansible@master
kolla-ansible install-deps

# create kolla config files
sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla
cp -r /home/openstack/kolla_zed/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
cp /home/openstack/kolla_zed/share/kolla-ansible/ansible/inventory/multinode .

# create ansible config
sudo mkdir /etc/ansible
sudo touch /etc/ansible/ansible.cfg
sudo nano -cw /etc/ansible/ansible.cfg

[defaults]
host_key_checking=False
pipelining=True
forks=100

# populate hosts
sudo nano -cw /etc/hosts

### openstack
192.168.30.60  node1 control1
192.168.30.61  node2 compute1
192.168.30.62  node3 ceph1

# setup passwordless sudo for the openstack user on the deployment node, kolla requirment
sudo su -
echo "%openstack ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/openstack
chmod 0440 /etc/sudoers.d/openstack

Create local ssh config

Generate keypair.

ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -C "" <<< y

Push keys to Openstack nodes.

sshpass -p "Password0" ssh-copy-id -o StrictHostKeyChecking=no openstack@192.168.140.60

Create local ssh config, ansible targets node1 as control1 using this configuration.

nano -cw ~/.ssh/config

###### openstack
        Host control1
        Hostname 192.168.30.60
        User openstack
        IdentityFile  ~/.ssh/id_rsa

        Host compute1
        Hostname 192.168.30.61
        User openstack
        IdentityFile  ~/.ssh/id_rsa

        Host ceph1
        Hostname 192.168.30.62
        User openstack
        IdentityFile  ~/.ssh/id_rsa