Procedure to restore OpenStack cluster

Procedura da eseguire in caso Juju sovrascriva le modifiche al cluster fatte con Ansible.

Preliminari

Login su maasprod@10.3.0.211.

Caricare la chiave SSH id_progress:

$ ssh-agent bash
$ ssh-add ~/.ssh/id_progress

Ripristino configurazione Ceph

Eseguire il playbook cephconfig:

$ cd ~/csd-install
$ ansible-playbook -i inventories/prod/cephJuju_ct1-cl1.yml -l ct1-cl1-ceph cephconfig.yml

Verifica configurazione Ceph

Eseguire i seguenti comandi:

$ juju run --application cinder-ct1-cl1 "sudo rbd --user cinder-ceph-ct1-cl1 --pool cinder-ceph-ct1-cl1 ls | head -3"
$ juju run --application glance-ct1-cl1 "sudo rbd --user glance-ct1-cl1 --pool glance-ct1-cl1 ls | head -3"

L’output dovrebbe mostrare una serie di Volume-ID, ad es.:

- Stdout: |
   0144598b-1a09-4ce6-85fa-3814f27f9a60
   0186c668-8827-42bc-881a-b7699cf9dc66
   025db41e-3070-4410-96f8-fe0e1e9c5274
   ...

diviso in 3 blocchi (uno per ciascuna unità di Cinder/Glance).

Ripristino configurazione HTTPS/SAML/OIDC

  1. Accedere al DB Percona di OpenStack:

    $ juju ssh percona-cluster-ct1-cl1/6 sudo mysql -u root -p$PASS keystone
    

    dove $PASS è la password di root di mysql.

  2. Eseguire il comando:

    mysql> select id,url from endpoint where url like '%keystone%';
    

    L’output del comando sarà simile a:

    id url
    cb141ba8c8d142ea981c432e601a9fd5 https://keystone.cloud.garrservices.it:5000/v3
  3. Segnare l’ID dell’enpdoint keystone.

  4. Uscire da Percona.

  5. Editare il file:

    ~/ansible-fed-keystone/inventories/production/group_vars/all.yml
    

    Sotto la sezione keystone: settare:

    public_endpoint_id: <ID ricavato precedentemente>
    
  6. Girare il playbook ansible di federazione:

    $ cd ~/ansible-fed-keystone
    $ ansible-playbook -i inventories/production/inventory site.yml
    

Verifica

Accedere alla Dashboard alla URL https://dashboard.cloud.garr.it/

Accertarsi che sia possibile accedere tramite autenticazione IDEM (Authenticate with: Federazione IDEM)

Dal proprio progetto provare ad eseguire un’istanza e ad accedervi.

Stop agent Juju sui nodi

Eseguire lo script (git: openstack-juju) per spegnere gli agent juju sui nodi su cui si è girato ansible:

openstack-juju/script/juju-service.sh stop|start|status

Prima editare lo script inserendo il nome del file che contiene la lista dei nodi (al posto di juju-units-2017-03-21.txt):

ceilometer-ct1-cl1/0
ceph-proxy-ct1-cl1/2
ceph-radosgw-ct1-cl1/6
ceph-radosgw-ct1-cl1/7
ceph-radosgw-ct1-cl1/8
...

That’s all.