Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 81

« Précédent - Version 81/97 (diff) - Suivant » - Version actuelle
Gérald Schwartzmann, 27/03/2015 15:16


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

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>

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

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.

A.4) Commit

git add -a
git commit -m "ajout de l'utisateur <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 :

A.6) Initialiser les réseaux dans Bogdanov

A.7) Initialiser les réseaux dans Yggdrasil

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$'
    • 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)

  • 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...
REMARQUES:
  • Ce script devra être lancé à chaque redémarrage de votre machine !*

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

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 cle 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.230.1?? 192.168.230.2??
      CheckHostIP no
      UserKnownHostsFile /tmp/ac-test.fr
      StrictHostKeyChecking no
    

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

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
# . /mnt/eole-ci-tests/scripts/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

C.4)