User Tools

Site Tools


projects:openstack-ansible:05-installazione

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
projects:openstack-ansible:05-installazione [2025/11/27 09:45] – removed - external edit (Unknown date) 127.0.0.1projects:openstack-ansible:05-installazione [2025/11/27 09:45] (current) – ↷ Page moved and renamed from projects:univr:os-ansible-deploy to projects:openstack-ansible:05-installazione igor
Line 1: Line 1:
 +=== packages ctrl ansible ===
  
 +<code>
 +apt update
 +apt dist-upgrade
 +reboot
 +apt install build-essential git chrony openssh-server python3-dev sudo
 +</code>
 +
 +=== Setup openstack  ansible ===
 +
 +Scaricare e installare l'ambiente:
 +
 +<code>
 +git clone -b master https://opendev.org/openstack/openstack-ansible /opt/openstack-ansible
 +/opt/openstack-ansible/scripts/bootstrap-ansible.sh
 +</code>
 +
 +==== 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
 +
 +<code>
 +apt update
 +apt dist-upgrade
 +apt install bridge-utils debootstrap openssh-server \
 +  tcpdump vlan python3
 +apt install linux-modules-extra-$(uname -r)
 +reboot
 +</code>
 +
 +===== Ansible =====
 +
 +<code>
 +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
 +</code>
 +
 +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 ==
 +<code>
 +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
 +</code>
 +
 +=== Creare l'inventory ===
 +
 +<code>
 +source /opt/ansible-runtime/bin/activate
 +openstack-ansible-inventory --config /etc/openstack_deploy/
 +cat /etc/openstack_deploy/openstack_inventory.json
 +</code>
 +
 +=== Chiave ssh ===
 +
 +Per impostare la chiave ssh di default configurare /opt/openstack-ansible/ansible.cfg
 +
 +<code>
 +[defaults]
 +private_key_file = ~/.ssh/id_ansible
 +</code>
 +
 +Prima si usare ansible, eseguire 
 +
 +<code>
 +eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ansible
 +</code>
 +
 +=== 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:
 +
 +<code>
 +openstack-ansible $PLAYBOOK --syntax-check
 +</code>
 +
 +== Installazione == 
 +
 +<code>
 +# openstack-ansible openstack.osa.setup_hosts
 +# openstack-ansible openstack.osa.setup_infrastructure
 +</code>
 +
 +
 +Verifica cluster mariadb (dopo il playbook openstack.osa.setup_infrastructure):
 +
 +<code>
 +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_%\";'"
 +</code>
 +
 +== playbvook deploy openstack ==
 +
 +<code>
 +openstack-ansible openstack.osa.setup_openstack
 +</code>