Domanda Che cosa è una buona lista di controllo degli oggetti da eseguire per ripulire ed eseguire openstack 40 bundle - ppc64le


Per i test POC (proof of concept) del pacchetto Openstack 40, era necessario ricostruire l'ambiente un numero di volte a causa di problemi rilevati. Che cos'è l'elenco di controllo degli elementi da considerare quando è necessario ricostruire. Si noti che questa lista di controllo NON è solo il pacchetto Openstack 40. Molte informazioni su questa checklist sono rilevanti per ripulire juju e endpoint per reintrodurre una distribuzione interrotta.

IBM POC ha riscontrato una serie di problemi come elencato di seguito. Il processo di lista di controllo aggiunto a questa domanda elenca ciò che può essere fatto per re-guidare il processo e risolvere problemi di seguito.

Quando è stato installato il neutrone, abbiamo perso la connettività di rete sul nodo bootstrap. Ciò era dovuto al fatto che il bridging non era configurato correttamente su quel nodo. Si è verificato un problema con seccomp che ha causato la mancata comunicazione delle informazioni. L'abbiamo superato ignorando seccomp per ora.

Quando il fascino juju ha provato a cambiare la password nel mysql db che non è riuscito. Ci sono stati degli accessi al server là fuori che persone avevano colpito quel problema, ma non abbiamo mai avuto niente da lavorare tramite script. Per ovviare a questo stiamo reimpostando manualmente la password e riavviando la distribuzione.


3
2017-10-21 20:39


origine




risposte:


Utilizzo dell'ambiente manuale per la sequenza sottostante. Si noti che la sequenza seguente presuppone che si utilizzino le istantanee virsh. È altamente raccomandato configurare i nodi e quindi eseguire uno snapshot di ciascuno di essi in modo da poter tornare facilmente al punto di pulizia. Per l'IBM POC che avevamo (usando il pacchetto openstack 40)

  1. VM1 che gestiva il MAAS / juju. Questo era su un nodo di calcolo separato.
     Questa VM è stata considerata come un deployer MAAS o un jujum deployer server.  Un'istantanea di questo è stata fatta dove MAAS / juju installato dove nessun ambiente costruito.
  2. VM2, VM2, VM3 e VM4 con ubuntu 14.04 su un nodo   Istantanea di tutte queste macchine virtuali create con l'impostazione di rete per comunicare tra loro e senza client jujud sugli endpoint.

Questo elenco di controllo indica come ricostruire rapidamente se le VM sono state predisposte da MAAS e poi da te è necessario ricostruire semplicemente tramite juju. Il MAAS è utilizzato per il provisioning. Il juju viene utilizzato tramite l'ambiente manuale fornire tutto il software. Se fallisce o qualcosa viene incasinato, allora puoi ripulire VM e quindi ricostruire usando l'ambiente manuale juju. Questo è veramente facile

1 Ripulisci gli endpoint

Come ripulire il punto finale rotto?

Come risolvere "ERROR machine is already provisioned" nella configurazione di provisioning manuale?

rm -rf /var/lib/juju
rm -rf /etc/init/juju*
ps -ef | grep juju

uccidere la macchina di processo usando juju

Come ripristinare uno snapshot per una VM bloccata? se l'ambiente sballa

http://kashyapc.com/2011/10/04/snapshotting-with-libvirt-for-qcow2-images/ vedi in fondo alla pagina

esempio di comando:

fuori virsh

virsh snapshot-revert --domain ubuntovm --snapshotname 1441158838

in virsh

snapshot-revert --domain vm3  --snapshotname 1444163918

2. Controllare che tutte le VM endpoint abbiano accesso a Internet 

Questo può essere fatto in vari modi. Abbiamo usato di seguito in modo da poter avere l'interfaccia utente di Firefox disponibile se necessario per gli endpoint.

Inizia a seguire su ogni VM:

x11vnc -create -forever -bg -env FD_TAG=my_xfce_1 -env FD_SESS=xfce -rfbport 5901

Si noti che al momento di questo documento non è possibile utilizzare vnc per ppc64le. Uso  x11vnc. Devi installare x11vnc prima di questo comando, non discusso qui.

BSO (IBM) e accesso a Firefox: Assicurati di poter accedere a:    https://streams.canonical.com/juju/tools/releases/juju-1.24.6-trusty-ppc64el.tgz

3. Pulire il server juju

Come posso disinstallare e reinstallare juju sul server di distribuzione a causa di problemi?

È possibile pulire completamente il server juju come indicato di seguito o è possibile   scorciatoia e rimuovere i file /root/.juju/ e ricominciare da capo. dipende   su come vuoi essere pulito. Pulizia jup /root/.juju/ e ricominciare   di solito è abbastanza buono Nota che se crei un'istantanea corretta di VM non devi farlo.

Per rimuovere completamente:

sudo apt-get remove juju-core   
sudo apt-get remove --auto-remove juju  
sudo apt-get remove juju-quickstart
sudo apt-get remove juju-deployer

/root/.juju/ rimuove la directory e la directory di tutti i file sottostanti

Esempio:

rm -rf /root/.juju/jclient
rm -rf /root/.juju/environments
rm -rf /root/.juju/ssh
rm -rf /root/.juju/.deployer-store-cache

Quindi reinstallare i pacchetti:

sudo add-apt-repository ppa:juju/stable
sudo apt-get update 
sudo apt-get install juju-core
sudo apt-get install juju-quickstart
sudo apt-get install juju-deployer
juju-quickstart -i

Nota che se stai provando probabilmente vuoi mettere il pacchetto installabile in un'altra directory in modo da non perderlo. Il suggerimento è qualcosa del genere:

/root/.juju2/bundles

4. Ricreare l'ambiente (ambiente del server di distribuzione juju)

Basta creare l'ambiente, contrassegnarlo come predefinito e salvarlo. Non eseguire da juju-quickstart -i.

Per IBM POC abbiamo utilizzato MAAS come provisioning VM iniziale. Fatto ciò, è possibile creare istantanee e, successivamente, ricostruire le istantanee VM appena create. Se lo fai in questo modo, l'ambiente juju che utilizzi è la definizione manuale dal momento che gli endpoint di destinazione sono stati già predisposti.

5. Ambiente Bootstrap

  juju bootstrap --show-log --debug -e manual

Se stai usando juju la prima volta o durante i test, aggiungi --debug e --show-log perché     ti dà una buona sensazione di progressione.

6. Aggiungi tutti gli altri server

L'ambiente manuale mette la prima VM nell'ambiente. Quindi si utilizza il comando juju add-machine per aggiungere tutte le altre VM. Per openstack 40 impacchetta bisogno di un totale di 4 macchine, quindi fai quanto segue (imposta con i tuoi indirizzi ip ovviamente)

juju add-machine ssh:root@9.x.xx.xxx -show-log --debug
juju add-machine ssh:root@9.x.xx.xxx -show-log --debug
juju add-machine ssh:root@9.x.xx.xxx --show-log --debug

7. Distribuire l'ambiente

Per IBM POC abbiamo dovuto copiare openstack40.yaml da charm store perché    doveva essere corretto per l'architettura di ppc64el. Ne abbiamo fatti anche altri    modifiche al yaml per farlo funzionare.

   juju-deployer -c /root/.juju/bundles/openstack40.yaml -s 90 -d -v openstack40.yaml

Il precedente openstack40.yaml ha 3 modifiche:    1. Uso di ppc64el    2. per l'opzione aggiungi dashboard openstack       debug: 'sì'    3. Password per mysql        root-password: PASSW0RD        sst-password: PASSW0RD

NOTA: il passaggio 8 contiene parti che si sovrappongono a questo passaggio, leggere insieme il punto 7/8.

8. Durante il processo di distribuzione correggere i file di configurazione del contenitore lxc

Per questo POC l'lxc non è stato avviato sulle prime due VM. Non abbiamo eseguito il debug  abbastanza lontano. Non so se tutti gli altri colpiranno questo, ma stiamo elencando  è qui solo nel caso in cui altri colpiscano.

Bundle juju distribuito OpenStack 40 non ha avviato i contenitori linux?

Quando si distribuisce il pacchetto OpenStack 40 l'ambiente non ha juju-trusty-lxc-template installato in ambiente build. Quando inizi a distribuire il modello juju-trusty-lxc viene infine installato. Quindi questo è suggerito per il prime due macchine nella lista dello stato juju. Devo risolverli.

  1. modificare /etc/lxc/default.conf  e aggiungi

     lxc.seccomp =
     lxc.arch = ppc64le
    
  2. Durante la directory di controllo del processo di distribuzione /var/lib/lxc/

    per la creazione di juju-trusty-lxc-template / directory.
    Ho usato winscp per guardare la creazione del file durante l'implementazione. Non è un buon modo per fare questo, quindi devi osservare il processo di distribuzione e controllare per file ogni tanto. Quando esiste lxc, è in sospeso e funziona non iniziare fino a tardi. Quindi hai tempo per sistemare il file.

    Una volta che la directory esiste allora

    vi /var/lib/lxc/juju-trusty-lxc-template/config  and add:
    
    lxc.seccomp =
    lxc.arch = ppc64le
    

    Assicurati la riga vuota alla fine. In caso contrario, parametri aggiuntivi  vengono aggiunti e possono essere aggiunti all'ultima riga aggiunta  in modo non corretto.

    Non abbiamo trovato un buon modo per fare questo in modo analogo alla domanda di risoluzione dei problemi spiega cosa fare mentre la distribuzione è in esecuzione.

9. Il fascino di mysql fallisce e richiede l'installazione di password

Vedi altri askubunto per questo problema, mysql non riesce a causa di  "Impossibile impostare la password per Percona". Vedere: mysql / percona: impossibile impostare la password per l'utente "root" del Percona Server- ppc64el

Suggerimenti per il debug e la visualizzazione della distribuzione:

a) sulla macchina di distribuzione juju

Assicurati di avere questo in modo da poter controllare il processo.   Quando si ricostruisce l'ambiente in una finestra separata, nel problema /root/.juju/

 juju status > jujudeploylog10132015.txt  

periodicamente per salvare i registri, cambiare la data nel file

b) Suggerimento è di avere due finestre aperte in SSH, una per la vista del      comando juju-deployer e un altro in 1a VM in ambiente manuale      facendo tail in / var / log / juju / tail -f ./all-machines.log      Ciò consente di osservare la costruzione dell'ambiente openstack.

c) Se si utilizza il pacchetto openstack 40, l'interfaccia utente dell'orizzonte di OpenStack si trova sul      ultima VM. Controllare le informazioni sullo stato di juju ti dice che l'orizzonte è acceso.      Usa questo: http: /// horizon


3
2017-10-21 20:40