=== packages ctrl ansible ===
apt update
apt dist-upgrade
reboot
apt install build-essential git chrony openssh-server python3-dev sudo
=== Setup openstack ansible ===
Scaricare e installare l'ambiente:
git clone -b master https://opendev.org/openstack/openstack-ansible /opt/openstack-ansible
/opt/openstack-ansible/scripts/bootstrap-ansible.sh
==== HOSTS ====
Controllare ''/etc/hosts'': non deve essere presente la entry 127.0.1.1, perché può generare problemi di risoluzione nomi.
Lasciare invece 127.0.0.1
apt update
apt dist-upgrade
apt install bridge-utils debootstrap openssh-server \
tcpdump vlan python3
apt install linux-modules-extra-$(uname -r)
reboot
===== Ansible =====
cp -dpR /opt/openstack-ansible/etc/openstack_deploy/* /etc/openstack_deploy
cp /etc/openstack_deploy/openstack_user_config.yml.example /etc/openstack_deploy/openstack_user_config.yml
Lavorare sui files:
* openstack_user_config.yml: questo è un inventory in cui si dichiarano tute le parti fisiche e logiche coinvolte nel cluster (reti, host, gruppi, ruoli openstack es storage)
* user_variables.yml: variabili di configurazione
* user_secrets.yaml: credenziali e password. Non va toccato a mano
= generare i secrets ==
cp -a /etc/openstack_deploy/user_secrets.yml /etc/openstack_deploy/user_secrets.yml.backup
/opt/openstack-ansible/scripts/pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml
=== Creare l'inventory ===
source /opt/ansible-runtime/bin/activate
openstack-ansible-inventory --config /etc/openstack_deploy/
cat /etc/openstack_deploy/openstack_inventory.json
=== Chiave ssh ===
Per impostare la chiave ssh di default configurare /opt/openstack-ansible/ansible.cfg
[defaults]
private_key_file = ~/.ssh/id_ansible
Prima si usare ansible, eseguire
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ansible
=== Playbooks ===
- Preparazione degli hosts: ''openstack.osa.setup_hosts''
- Installazione servizi non openstack: ''openstack.osa.setup_infrastructure''
- Installazione servizi openstack: ''openstack.osa.setup_openstack''
Prima di eseguire un playbook, si può controllare la presenza di errori:
openstack-ansible $PLAYBOOK --syntax-check
== Installazione ==
# openstack-ansible openstack.osa.setup_hosts
# openstack-ansible openstack.osa.setup_infrastructure
Verifica cluster mariadb (dopo il playbook openstack.osa.setup_infrastructure):
cd /opt/openstack-ansible
source /usr/local/bin/openstack-ansible.rc
ansible galera_container -m shell -a "mariadb -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
== playbvook deploy openstack ==
openstack-ansible openstack.osa.setup_openstack