- A) Installation pour utilisation d'une gateway
- B) Préparation du poste de travail
- C) Utilisation d'un template
http://dev-eole.ac-dijon.fr/projects/eole-ci-tests/wiki/ModeleReseaux
A) Installation pour utilisation d'une gateway¶
A.1) Récupération du dépot eole-ci-test¶
Faire :
git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
A.2) Ajout de la gateway dans le eole-ci-tests¶
Attention:
- Le <user_nebula> n'est pas obligatoirement le même sur ONE et sur BOGDANOV. Vous aurez peut être à créer un ou deux fichiers !
- Si vous prévoyez d'utiliser les 2 environnements en même temps, utilisez deux IP !
- Attention à ce que l'adresse soit disponible: voir http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/Adressage_ip
il faut créer un script dans 'configuration/gateway/' dont le nom sera 'routeur_<user_nebula>.sh'. (Tips: copier un fichier existant !)
Penser à mettre les droits d’exécution.
IP_EOLE=<fin de l'IP de la gateway sur le réseau EOLE pour les Bogdanov> IP_ONE=<fin de l'IP de la gateway sur le réseau EOLE pour le ONE> IP_AGREGATION=<fin de l'IP de la gateway agrégation sur le réseau EOLE pour le ONE> IP_UTILISATEUR=<ip du poste de travail> MAIL_UTILISATEUR=<adresse mail du développeur> IP_GW_UTILISATEUR=<ip de la gateway> IP_ROADWARRIOR=<ip du tunnel GRE de la gateway >
NB :
IP_UTILISATEUR est facultative, la variable est utilisée pour envoyer des send-notify au travers du réseau...
MAIL_UTILISATEUR est facultative, la variable est utilisée pour pour la redirection postfix sur la gateway.
IP_GW_UTILISATEUR est facultative, elle est calculé d'après la valeur IP_ONE... Utiliser cette var si vous avez besoin d'une IP particuliere
IP_ROADWARRIOR est facultative, Utiliser cette var si vous avez besoin d'une connexion VPN
A.3) Ajout de la clef publique ssh dans eole-ci-tests/security/authorized_keys¶
Les clefs publiques SSH présentes dans eole-ci-tests/security/authorized_keys sont automatiquement concaténées dans /root/.ssh/authorized_keys au 1er démarrage de la VM.
L’accès a chaque VM peut se faire sans mot de passe.
Utiliser le nom 'user@hostname' pour votre fichier de cle.
A.4) Commit¶
git commit -am "ajout de l'utilisateur <user>" git push
A.5) Publication de la clef et du fichier routeur¶
Attendre que les Jenkins publient le commit vers les VM (15 minutes)
OU, faire :- Ouvrir votre navigateur, et Aller pour Jenkins : https://dev-eole.ac-dijon.fr/jenkins/job/Internes/view/Puller/job/git-clone-eole-ci-tests-to-all-vm/
- Se connecter
- Cliquer sur Lancer un build
- Dans l"historique des builds" un build apparait. Cliquer sur le lien
- Le message de commit 'git' doit apparaître dans la sortie
A.6) Initialiser les réseaux dans Yggdrasil¶
- Ouvrir votre navigateur, et Aller https://dev-eole.ac-dijon.fr/jenkins/job/Internes/job/genere-modele-reseau-dans-nebula
- Se connecter
- Saisir le nom d'utilisateur et le mot de passe
- Cliquer sur Build
- Dans "historique des builds" un build apparaît. Cliquer sur le lien
- Cliquer ensuite sur le lien 'Console Output'
- Le texte affiche la sortie standard du processus de création des réseaux virtuels
A.7) Lancer la gateway¶
- Aller dans OpenNebula (https://one.eole.lan/)
- Aller dans 'Virtual Resources', puis 'Templates'
- Chercher 'gateway-mensr'
- Cliquer 2 fois sur 'Instantiate'.La VM démarre.
- Vérification
- Se connecter en VNC avec 'root/eole'
- Taper 'ip addr' > vérifier l'IP SW EOLE
- lancer :
ssh root@<ipgateway> ==> la connexion doit être sans mot de passe car la clef
B) Préparation du poste de travail¶
B.1) Modifier /etc/hosts¶
- Ajouter votre gateway :
192.168.230.<IP> gateway.ac-test.fr gateway
- Vérification
ping gateway ping gateway.ac-test.fr
B.2) Ajouter tous les noms des machines ac-test.fr dans /etc/hosts¶
ATTENTION : Cette étape n’est nécessaire que si vous n’utilisez pas le DNS EOLE (192.168.232.2)
ATTENTION : certains hosts ont été inscrits dans le DNS EOLE. Pour eux, il n'y a pas besoin d'entrée.
- Concatener le fichier (eole-ci-tests.git)/scripts/host dans /etc/hosts (connecté root)
cd (eole-ci-tests.git)/scripts/ cat hosts >> /etc/hosts
B.3) Activation des routes¶
- Executer le fichier :
# cd <depot eole-ci-tests.git> # ./scripts/gateway-up.sh
Les routes sont inscrites...
- Ce script devra être lancé à chaque redémarrage de votre machine !*
- Si vous utiliser plusieurs Gateway (one et bodgdanov), vous pouvez être amené à vouloir changer de gateway. Pour supprimer les routes actuelles, faites :
# cd <depot eole-ci-tests.git> # ./scripts/gateway-down.sh
- Pour basculer vers une gateway précise, tapez
# cd <depot eole-ci-tests.git> # ./scripts/gateway-up.sh <ip_gateway_cible>
B.4) Lancement du daemon send notify¶
- Si vous le souhaitez, Executer le fichier :
# cd <depot eole-ci-tests.git> # nohup python ./scripts/server_notify_network.py &
- Ce script devra être lancé à chaque redémarrage de votre machine !*
- Le port 50000 est ouvert en UDP sur le poste client. Il attend des messages UDP pour les afficher avec send-notify *
B.5) Selection de l'identitée SSH ( Si besoin)¶
- Dans le cas, ou vous utilisez plusieurs clef publique ssh, Modifier le fichier
~/.ssh/config
en ajoutant :Host *.ac-test.fr IdentityFile ~/.ssh/<fichier de la clé copiée dans eole-ci-tests>
B.6) Astuce SSH knows hosts¶
- Pour éviter les message know_hosts, vous pouvez modifier le fichier
.ssh/config
en ajoutant :# Use daily destroyed file to avoid pain with VMs Host *.ac-test.fr 192.168.0.* 192.168.230.1?? 192.168.230.2?? CheckHostIP no UserKnownHostsFile /tmp/ac-test.fr StrictHostKeyChecking no
B.7) Vérification¶
- Aller dans OpenNebual (https://one.eole.lan/)
- Aller dans 'Virtual Resources', puis 'Templates'
- Chercher 'aca.eolebase'
- Cliquer sur 'Instantiate'.La VM démarre.
- Se connecter en VNC avec 'root/eole'
- Taper 'ip addr' > vérifier l'IP SW EOLE
C) Utilisation d'un template¶
C.1) Démarrer une machine et se connecter dessus¶
- Choisir la machine dans Nebula
- l'instancier
- lancer dans une console
# ssh root@nomDeMachine
Exemple :
# ssh root@amonecole.etb3.ac-test.fr
C.2) Obtenir le contexte de la machine¶
Le contexte nécessite de monter le partage VirtFs eole-ci-tests. pour cela faire :
# /root/mount.eole-ci-tests # . /getVMContext.sh
Le script getVMContext.sh permet de charger les variables contextuelles du module.
Attention : il faut le sourcer !
Le résultat est de la forme :
root@amonecole:/mnt/eole-ci-tests/scripts# ./getVMContext.sh VM_ONE = VM_ID = 7295 VM_OWNER = gerald VM_MACHINE = etb3.amonecole VM_MAJAUTO = DEV VM_VERSIONMAJEUR = 2.4.1 VM_MODULE = amonecole VM_CONTAINER = oui VM_HOSTNAME = amonecole VM_DNSNAME = amonecole.etb3.ac-test.fr VM_ETABLISSEMENT = etb3 VM_ETH0_IP = 192.168.0.33 VM_ETH0_GW = 192.168.0.1 VM_ETH1_IP = 10.3.2.1 --- root@amonecole:/mnt/eole-ci-tests/scripts#
C.3) Configurer la machine¶
cd /mnt/eole-ci-tests/scripts/
- Le script configure-vm.sh permet d'appliquer une configuration à la VM.
- Ce script appliquera :
- la commande Maj-Auto adaptée au contexte,
- Copiera le fichier 'config.eol' correspondant à la machine et la version
- lancera l'instance sans questions
Pour obtenir de l'aide :
# ./configure-vm.sh -h
Pour lancer l'instanciation avec le configuration par 'default'
# ./configure-vm.sh -M instance
Pour lancer l'instanciation avec le configuration par 'hamaster'
# ./configure-vm.sh -M instance -C hamaster
Pour ne copier que la configuration 'hamaster'
# ./configure-vm.sh -M configeol -C hamaster