GSB Boot ng
Les ressources
Elles sont essentiellement situées sur le serveur sio.lyc-lecastel.fr
Examiner également le changelog GSB - Logs
Images et ova
- Debian Buster ova (mars 2020 - ) : http://store.lyc-lecastel.fr/debian-buster-2020b.ova
- Debian Buster xfce4 ova (octobre 2019 - 1,9 Go) : http://store.lyc-lecastel.fr/buster-xfce.ova
- Windows XP ova (octobre 2018 - 1,5 Go) : http://store.lyc-lecastel.fr/xp-2018.ova
ISO Debian Buster
La nouvelle génération
La procédure maintenant est simplifiée : la machine s-adm héberge également depl : gsbstore et le dépôt git gsb.git : 1 VM de moins …
Installation machine s-adm
Les grandes lignes
- gsbpre installe un serveur web, git ainsi que getall qui récupère les archives applicatives tar.gz
- gsbbootl installe ansible, récupère le dépôt gsb.git,
- pull-config lance, après synchronisation du dépôt, le playbook portant le nom de la machine
- après redémarrage, la machine est opérationnelle et on peut lancer un test goss
Les opérations
- Importer une image ova Debian buster pour créer une machine s-adm à deux cartes
- carte 1 : pont
- carte 2 : réseau interne n-adm
- renommer la machine puis redémarrer
- lancer :
curl store.lyc-lecastel.fr/gsbpre| bash
- à ce moment, git est installé ainsi qu'un serveur web, on peut alors cloner le dépôt gsb.git depuis sio et recupére les archives applicatives
export DEPL=127.0.0.1 ; curl $DEPL/gsbbootl | bash ... cd tools/ansible : bash pull-config
- on peut alors redémarrer et lancer le test :
cd tools/ansible/gsb : ./agoss
Attention, après pull-config, le fichier /etc/resolv.conf est configure pour utiliser le serveur dns de s-infra (172.16.1.1) qui n'est pas encore installé : pour avoir une résolution de nom opérationnelle, il faudra indiquer
nameserver 192.168.1.1
(adresse de votre box) dans /etc/resolv.conf
Installation des autres machines
Les grandes lignes
- gsbbootl installe ansible, récupère le dépôt gsb.git,
- pull-config lance, après synchronisation du dépôt, le playbook portant le nom de la machine
- après redémarrage, la machine est opérationnelle et on peut lancer un test goss
Les opérations
- Importer une image ova Debian buster pour créer une machine à deux cartes
- carte 1 : réseau interne n-adm
- autres cartes : selon la machine
- renommer la machine puis redémarrer
Préinstallation
- lancer :
export DEPL=192.168.99.99 ; curl $DEPL/gsbbootl | bash
Lancement playbook
cd tools/ansible ; bash-pull config
Test
- on peut alors redémarrer et lancer le test :
cd tools/ansible/gsb : ./agoss
Le workflow
Il s'agit de décrire ici la mise en oeuvre du changement/mise à jour des playbooks et de leur circulation.
Le dépôt local du projet GSB gsb.git est hébergé sur la machine s-adm (ou depl), il constitue le dépôt de référence pour chaque machine devant être installée au moyen de pull-config et des playbooks.
Le cheminement est le suivant :
- cloner le dépôt avec :
git clone gitgsb@depl:gsb.git
- se positionner dans gsb avec :
cd gsb
- on peut alors modifier les fichiers du projet :
- ajouter un fichier
git add fichier
- vérifier la situation :
git status
- connaître l'historique des tags :
git tag
- connaître l'historique des commits :
git log
- voir les différences sur les fichiers :
git show
- une fois les modification effectuées,
- on fait le commit :
git commit -am “ma modification”
- on vérifie les tags et on taggue (de manière unique et ordonnée) :
git tag vx.y.t-ps
- on synchronise vers le dépôt amont (s-adm/depl) :
git push
- on synchronise les tags :
git push –tags
- à ce moment, on peut alors déclencher
bash pull-config
sur la machine de test pour récupérer la dernière version du dépôt et lancer l'exécution du playbook.
—-
Remarques diverses
Tests
A ce jour (2020-04-04), la procédure a été testée sur :
- s-adm
- s-infra
- s-mon ( ok mais pb sur playbook : rôle postfix-fk inconnu …)
Mémoire
Les machines disposant d'une capacité mémoire limitée (4 Go) devront probablement ajuster la mémoire (1 Go par défaut) allouée aux VM de façon à réduire l'empreinte utilisée.
Mise à jour du dépôt git local sur s-adm
On peut avoir besoin d'apporter des modifications au dépôt local (correction de bugs, …). Cela étant, il faut être conscient que garder les modifications locales ainsi que les changements issus de l'amont nécessite plusieurs manipulation …
Mise à jour du dépôt git amont
A chaque mise à jour du dépot git amont (sur sio.lyc-lecastel.fr), il est nécessaire de resynchroniser le dépôt local (situé sur s-adm) en relançant gsbpre :
curl store.lyc-lecastel.fr/gsbpre | bash
Attention, cette opération remplace l'ancien dépôt local y compris les modifications éventuelles qui y ont été faites.