Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 81

Version 80 (Gérald Schwartzmann, 27/03/2015 09:48) → Version 81/97 (Gérald Schwartzmann, 27/03/2015 15:16)

{{toc}}

http://dev-eole.ac-dijon.fr/projects/eole-ci-tests/wiki/ModeleReseaux

h1. A) Installation pour utilisation d'une gateway

h2. A.1) Récupération du dépot eole-ci-test

Faire :
<pre>
git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
</pre>

h2. 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'execution.

<pre>
IP_EOLE=<fin de l'Ip sur le reseau EOLE>
IP_ONE=<fin de l'Ip sur le reseau ONE>
IP_UTILISATEUR=<ip du poste de travail>
</pre>

+NB+ : *IP_UTILISATEUR* est facultative, la variable est utilisée pour envoyer des send-notify au travers du réseau...

h2. 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 concatenées dans /root/.ssh/authorized_keys au 1er démarrage de la VM.
L'acces a chaque VM peut se faire sans mot de passe.

Utiliser le nom 'user@hostname' pour votre fichier de cle.

h2. A.4) Commit

<pre>
git add -a
git commit -m "ajout de l'utisateur <user>"
git push
</pre>

h2. 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 BODANOV : http://jenkins.eole.lan/view/Dev/job/git-clone-eole-ci-tests-to-all-vm/ ou pour ONE : http://jenkins2.eole.lan/view/Tous/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 apparaitre dans la sortie

h2. A.6) Initialiser les réseaux dans Bogdanov

* Ouvrir votre navigateur, et Aller http://jenkins.eole.lan/view/Dev/job/genere-modele-reseau-dans-nebula/build?delay=0sec
* Se connecter
* Saisir le nom d'utilisateur et le mot de passe
* Cliquer sur *Build*
* Dans "historique des builds" un build apparait. 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

h2. A.7) Initialiser les réseaux dans Yggdrasil

* Ouvrir votre navigateur, et Aller http://jenkins2.eole.lan/view/Tous/job/genere-modele-reseau-dans-nebula-all-users/build?delay=0sec
* Se connecter
* Saisir le nom d'utilisateur et le mot de passe
* Cliquer sur *Build*
* Dans "historique des builds" un build apparait. 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



h2. A.8) Lancer la gateway

* Aller dans OpenNebula (https://bogdanov.eole.lan/)
* Aller dans 'Virtual Resources', puis 'Templates'
* Chercher 'gateway'
* Cliquer sur 'Instantiate'.La VM démarre.

* Vérification
** Se connecter en VNC avec 'eole/$eole&123456$' 'eole/$eole&123456'
** Taper 'ip addr' ==> vérifier l'IP SW EOLE
* lancer :
<pre>
ssh root@<ipgateway> ==> la connexion doit être sans mot de passe car la clef
</pre>



h1. B) Préparation du poste de travail

h2. B.1) Modifier /etc/hosts

* Ajouter votre gateway :
<pre>
192.168.230.<IP> gateway.ac-test.fr gateway
</pre>

* Vérification
<pre>
ping gateway
ping gateway.ac-test.fr
</pre>

h2. 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)

* Concatener le fichier (eole-ci-tests.git)/scripts/host dans /etc/hosts (connecté root)
<pre>
cd (eole-ci-tests.git)/scripts/
cat hosts >> /etc/hosts
</pre>

h2. B.3) Activation des routes

* Executer le fichier :
<pre>
# cd <depot eole-ci-tests.git>
# ./scripts/gateway-up.sh
</pre>
Les routes sont inscrites...

REMARQUES:
* Ce script devra être lancé à chaque redémarrage de votre machine !*

h2. B.4) Lancement du daemon send notify

* Si vous le souhaitez, Executer le fichier :
<pre>
# cd <depot eole-ci-tests.git>
# nohup python ./scripts/server_notify_network.py &
</pre>

REMARQUES:
* 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 *

h2. 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 :
<pre>
Host *.ac-test.fr
IdentityFile ~/.ssh/<fichier de la cle copiée dans eole-ci-tests>
</pre>

h2. B.6) Astuce SSH knows hosts

* Pour éviter les message know_hosts, vous pouvez modifier le fichier *@.ssh/config@* en ajoutant :
<pre>
# Use daily destroyed file to avoid pain with VMs
Host *.ac-test.fr 192.168.230.1?? 192.168.230.2??
CheckHostIP no
UserKnownHostsFile /tmp/ac-test.fr
StrictHostKeyChecking no
</pre>

h2. B.7) Vérification

* Aller dans OpenNebual (https://bogdanov.eole.lan/)
* Aller dans 'Virtual Resources', puis 'Templates'
* Chercher 'aca.eolebase'
* Cliquer sur 'Instantiate'.La VM démarre.
* Se connecter en VNC avec 'eole/$eole&123456'
* Taper 'ip addr' ==> vérifier l'IP SW EOLE

h1. C) Utilisation d'un template

h2. C.1) Démarrer une machine et se connecter dessus

* Choisir la machine dans Nebula
* l'instancier
* lancer dans une console

<pre>
# ssh root@nomDeMachine
</pre>

Exemple :

<pre>
# ssh root@amonecole.etb3.ac-test.fr
</pre>

h2. C.2) Obtenir le contexte de la machine

Le contexte nécessite de monter le partage VirtFs eole-ci-tests. pour cela faire :
<pre>
# /root/mount.eole-ci-tests
# . /mnt/eole-ci-tests/scripts/getVMContext.sh
</pre>

Le script getVMContext.sh permet de charger les variables contextuelles du module.
Attention : il faut le sourcer !

Le résultat est de la forme :
<pre>
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#
</pre>

h2. C.3) Configurer la machine

<pre>
cd /mnt/eole-ci-tests/scripts/
</pre>

* 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 :

<pre>
# ./configure-vm.sh -h
</pre>

Pour lancer l'instanciation avec le configuration par 'default'

<pre>
# ./configure-vm.sh -M instance
</pre>

Pour lancer l'instanciation avec le configuration par 'hamaster'

<pre>
# ./configure-vm.sh -M instance -C hamaster
</pre>

Pour ne copier que la configuration 'hamaster'

<pre>
# ./configure-vm.sh -M configeol -C hamaster
</pre>

h2. C.4)