Wiki » History » Version 7

Nima Nima, 05/28/2013 07:28 PM

1 1 Nima Nima
h1. Documentation
2 1 Nima Nima
3 4 olb  
> La mise en jauge consiste à recouvrir de terre les racines d'une plante ou d'un arbre pour lui permettre d'attendre une plantation définitive.
4 1 Nima Nima
5 4 olb  
{{>toc}}
6 4 olb  
7 4 olb  
h2. Présentation
8 4 olb  
9 4 olb  
h3. Aperçu
10 4 olb  
11 5 olb  
Jauge est un espace ou rézine entrepose et teste l'ensemble de la configuration de son infrastructure. L'objectif est multiple :
12 4 olb  
13 4 olb  
* permettre aux membres de rézine de manipuler et tester la configuration sans casser la prod.
14 1 Nima Nima
* permettre à quiconque d'obtenir la conf utilisée par rézine. 
15 4 olb  
16 5 olb  
La configuration est gérée par "puppet":http://puppetlabs.com/. Jauge contient donc l'ensemble des manifests et modules nécessaires au fonctionnement de Rézine. Les tests sont effectués dans des machines virtuelles créées et provisionnées par "vagrant":http://vagrantup.com/.
17 4 olb  
18 4 olb  
h3. Démarrer rapidement
19 4 olb  
20 4 olb  
Récupérer jauge :
21 4 olb  
22 1 Nima Nima
<pre>
23 1 Nima Nima
git clone git://atelier.gresille.org/rezine/jauge jauge.git
24 3 Nima Nima
cd jauge.git
25 2 Nima Nima
git submodule update --init --recursive
26 2 Nima Nima
</pre>
27 1 Nima Nima
28 4 olb  
ou
29 1 Nima Nima
30 4 olb  
<pre>
31 4 olb  
git clone --recursive git://atelier.gresile.org/rezine/jauge.git
32 4 olb  
</pre>
33 4 olb  
34 7 Nima Nima
Vagrant a besoin d'une image de base pour générer les machines virtuelles. Nous diffusons cette image via bitTorrent : attachment:vagrant-debian-wheezy-jauge-v3.box.torrent, son empreinte sha1 est 110dc105b1a40b66be35f27c0085f0e2c7f16475 (sha1sum vagrant-debian-wheezy.box).
35 4 olb  
36 4 olb  
Pour ajouter l'image à vagrant :
37 4 olb  
    
38 4 olb  
    vagrant box add vagrant-debian-wheezy-jauge vagrant-debian-wheezy.box
39 4 olb  
 
40 5 olb  
Démarrer toutes les machines virtuelles. Les machines seront démarrées et provisionnées selon les manifests et modules récupérés sur le dépot 
41 4 olb  
42 4 olb  
    vagrant up
43 4 olb  
44 4 olb  
h3. Quelques commandes
45 4 olb  
46 4 olb  
Démarrer les machines virtuelles phloeme et houppier (l'ordre a une importance)
47 4 olb  
48 4 olb  
    vagrant up phloeme houppier
49 4 olb  
50 4 olb  
Accéder à la machine houppier
51 4 olb  
52 4 olb  
    vagrant ssh houppier
53 4 olb  
54 4 olb  
Provisionner la machine houppier (après modification de la configuration puppet par exemple)
55 4 olb  
56 4 olb  
    vagrant provision houppier
57 4 olb  
58 4 olb  
Éteindre l'ensemble des machines virtuelles
59 4 olb  
60 4 olb  
    vagrant halt
61 4 olb  
62 4 olb  
Supprimer toutes les machines virtuelles
63 4 olb  
64 4 olb  
    vagrant destroy
65 4 olb  
66 4 olb  
67 4 olb  
h3. Structure du dépot
68 4 olb  
69 4 olb  
* *Jauge*                      // Un dépot pour les controler tous
70 4 olb  
** *modules*
71 4 olb  
*** *module 1*           // Un dépot par module
72 4 olb  
*** *module 2*
73 4 olb  
***  …
74 4 olb  
** manifests
75 4 olb  
*** \*.pp                  
76 4 olb  
*** local/\*.pp         // configuration locale (ignorée par git)
77 4 olb  
*** local/readme.pp     // exemple de configuration locale
78 4 olb  
** Vagrantfile
79 4 olb  
  
80 4 olb  
81 4 olb  
82 4 olb  
h2. Découpage des machines & et du réseau
83 4 olb  
84 4 olb  
h3. Ensemble des fonctionalités
85 4 olb  
86 4 olb  
* gw
87 4 olb  
* resolver dns
88 4 olb  
* si
89 4 olb  
* radius
90 4 olb  
* dns rezine.org, puppetmaster, smtp
91 4 olb  
* lns
92 4 olb  
* tunnels chiffrés
93 4 olb  
94 4 olb  
h3. Principales dépendances fonctionnelles
95 4 olb  
96 4 olb  
* `*` => puppetmaster
97 4 olb  
* `*` => resolver dns
98 4 olb  
* `*` => gw
99 4 olb  
* radius => si
100 4 olb  
* lns => radius
101 4 olb  
* tunnels => radius
102 4 olb  
103 4 olb  
h3.  Machines effectives et réseaux associés
104 4 olb  
105 4 olb  
h4. Schéma des machines
106 4 olb  
107 4 olb  
<pre>                         
108 4 olb  
            +---------- Grenode -----------+
109 4 olb  
            |                              |
110 4 olb  
            |                              |
111 4 olb  
            |      +--- Collecte ---+      |
112 4 olb  
            |      |                |      |
113 4 olb  
            |      |                |      |
114 4 olb  
         +---------------+       +---------------+
115 4 olb  
         | PHLOEME       |-------| XYLEME        |
116 4 olb  
         | gw/lns/tunnel |       | gw/lns/tunnel |
117 4 olb  
         +---------------+       +---------------+
118 4 olb  
               |                        |        
119 4 olb  
               +----+---------------+---+
120 4 olb  
                    |               |
121 4 olb  
         +---------------+       +------------+
122 4 olb  
         | HOUPPIER      |       | CAMBIUM    |
123 4 olb  
         | outils/radius |       | si         |
124 4 olb  
         +---------------+       +------------+
125 4 olb  
126 4 olb  
</pre>
127 4 olb  
128 4 olb  
h4. Schéma réseau 
129 4 olb  
130 4 olb  
<pre>
131 4 olb  
      PHLOEME       XYLEME       HOUPPIER   CAMBIUM
132 4 olb  
    
133 4 olb  
      eth3          eth3                                     eth3             Grenode
134 4 olb  
    --X-------------x----------------------------------------X--------------- 10.255.8.0/24
135 4 olb  
                                                                      
136 4 olb  
      eth4          eth4                                               eth4   Collecte
137 4 olb  
    --X-------------X--------------------------------------------------X----- 10.255.9.0/24
138 1 Nima Nima
                                                                      
139 4 olb  
      eth2          eth2                                                      ADSL Membres
140 4 olb  
    --X-------------X-------------------------------------------------------- 10.255.7.0/24
141 4 olb  
                                                                      
142 4 olb  
      eth1          eth1         eth1       eth1                              Rézine infra
143 1 Nima Nima
    --X-------------X------------X----------X-------------------------------- 10.255.6.0/24
144 4 olb  
    
145 4 olb  
      eth0          eth0         eth0       eth0             eth0      eth0   Test
146 1 Nima Nima
    --X-------------X------------X----------X----------------X---------X----- 10.0.2.0/24
147 4 olb  
                                                             ESTRAN    LUCKY
148 4 olb  
    
149 4 olb  
                                                             (ip)      (l2tp)
150 4 olb  
    
151 4 olb  
                                                             M-VPN     M-ADSL
152 4 olb  
  
153 4 olb  
</pre>
154 4 olb  
155 5 olb  
Pour les des tests nous auront besoin d'autres machines dans l'environnement du FAI, il s'agit de ESTRAN (passerelle de rézine), LUCKY (machine de l'opérateur de collecte ADSL), M-VPN (client pour les tunnels chiffrés), M-ADSL (client pour l'adsl).
156 4 olb  
157 4 olb  
158 4 olb  
h3. Remarques sur la redondance
159 4 olb  
160 5 olb  
Si on souhaite redonder les lns ou les passerelles, il va falloir trouver un moyen de gérer automatiquement la topologie du réseau quand une passerelle tombe. Pour cela, il est possible de :
161 4 olb  
162 4 olb  
* heartbeat/ldirector ou CARP pour avoir une seule IP sur les 2 GW/LNS/TUNNEL
163 5 olb  
* faire du routage dynamique sur toutes les machines de Rézine (ospf, rip,…).   Ça a l'avantage qu'il n'y a pas besoin d'une IP partagée.
164 4 olb  
 
165 4 olb  
166 4 olb  
h2. Conf puppet
167 4 olb  
168 4 olb  
h3. Configuration locale
169 4 olb  
170 4 olb  
Voir fichier manifests/local/readme.pp
171 4 olb  
172 4 olb  
h3. Quelques liens sur puppet
173 4 olb  
174 4 olb  
* http://www.javacodegeeks.com/2012/06/serving-files-with-puppet-standalone-in.html
175 4 olb  
* http://docs.puppetlabs.com/guides/file_serving.html
176 4 olb  
* http://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/PUPPET
177 4 olb  
* https://we.riseup.net/riseup+tech/puppet