Revision b11446c1

b/docs/index.rst
15 15

  
16 16
   Identity Management (codename: astakos) <astakos>
17 17
   Object Storage Service (codename: pithos+) <pithos>
18
   Compute/Network Service (codename: cyclades) <cyclades>
18
   Compute Service (codename: cyclades) <cyclades>
19
   Network Service (part of Cyclades) <networks>
19 20
   Image Registry (codename: plankton) <plankton>
20 21
   Billing Service (codename: aquarium) <http://docs.dev.grnet.gr/aquarium/latest/index.html>
21 22
   Volume Storage Service (codename: archipelago) <archipelago>
b/docs/networks.rst
1
.. _networks:
2

  
3
Network Service (part of Cyclades)
4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5

  
6
Network setup overview
7
======================
8

  
9
Currently the Network Service is part of Cyclades and comes along with the
10
Cyclades software components.
11

  
12
Networking is deployment-specific and must be customized based on the specific
13
needs of the system administrator. However, to do so, the administrator needs
14
to understand how each level handles Virtual Networks, to be able to setup the
15
backend appropriately.
16

  
17
Network @ Cyclades level
18
------------------------
19

  
20
Cyclades understands two types of Virtual Networks:
21

  
22
a) One common Public Network (Internet)
23
b) One or more distinct Private Networks (L2)
24

  
25
a) When a new VM is created, it instantly gets connected to the Public Network
26
   (Internet). This means it gets a public IPv4 and IPv6 and has access to the
27
   public Internet.
28

  
29
b) Then each user, is able to create one or more Private Networks manually and
30
   add VMs inside those Private Networks. Private Networks provide Layer 2
31
   connectivity. All VMs inside a Private Network are completely isolated.
32

  
33
From the VM perspective, every Network corresponds to a distinct NIC. So, the
34
above are translated as follows:
35

  
36
a) Every newly created VM, needs at least one NIC. This NIC, connects the VM
37
   to the Public Network and thus should get a public IPv4 and IPv6.
38

  
39
b) For every Private Network, the VM gets a new NIC, which is added during the
40
   connection of the VM to the Private Network (without an IP). This NIC should
41
   have L2 connectivity with all other NICs connected to this Private Network.
42

  
43
To achieve the above, first of all, we need Network and IP Pool management support
44
at Ganeti level, for Cyclades to be able to issue the corresponding commands.
45

  
46
Network @ Ganeti level
47
----------------------
48

  
49
Currently, Ganeti does not support IP Pool management. However, we've been
50
actively in touch with the official Ganeti team, who are reviewing a relatively
51
big patchset that implements this functionality (you can find it at the
52
ganeti-devel mailing list). We hope that the functionality will be merged to
53
the Ganeti master branch soon and appear on Ganeti 2.7.
54

  
55
Furthermore, currently the `~okeanos service <http://okeanos.grnet.gr>`_ uses
56
the same patchset with slight differencies on top of Ganeti 2.4.5. Cyclades
57
0.9 are compatible with this old patchset and we do not guarantee that will
58
work with the updated patchset sent to ganeti-devel.
59

  
60
We do *NOT* recommend you to apply the patchset yourself on the current Ganeti
61
master, unless you are an experienced Cyclades and Ganeti integrator and you
62
really know what you are doing.
63

  
64
Instead, be a little patient and we hope that everything will work out of the
65
box, once the patchset makes it into the Ganeti master. When so, Cyclades will
66
get updated to become compatible with that Ganeti version.
67

  
68
Network @ Physical host level
69
-----------------------------
70

  
71
We talked about the two types of Network from the Cyclades perspective, from the
72
VMs perspective and from Ganeti's perspective. Finally, we need to talk about
73
the Networks from the physical (VM container) host's perspective.
74

  
75
If your version of Ganeti supports IP pool management, then you need to setup
76
your physical hosts for the two types of Networks. For the second type
77
(Private Networks), our reference installation uses a number of pre-provisioned
78
bridges (one for each Network), which are connected to the corresponding number
79
of pre-provisioned vlans on each physical host (node1 and node2). For the first
80
type (Public Network), our reference installation uses routing over one
81
preprovisioned vlan on each host (node1 and node2). It also uses the `NFDHCPD`
82
package for dynamically serving specific public IPs managed by Ganeti.
b/docs/quick-install-admin-guide.rst
1072 1072
This part is deployment-specific and must be customized based on the specific
1073 1073
needs of the system administrator. However, to do so, the administrator needs
1074 1074
to understand how each level handles Virtual Networks, to be able to setup the
1075
backend appropriately, before installing Cyclades.
1076

  
1077
Network @ Cyclades level
1078
~~~~~~~~~~~~~~~~~~~~~~~~
1079

  
1080
Cyclades understands two types of Virtual Networks:
1081

  
1082
a) One common Public Network (Internet)
1083
b) One or more distinct Private Networks (L2)
1084

  
1085
a) When a new VM is created, it instantly gets connected to the Public Network
1086
   (Internet). This means it gets a public IPv4 and IPv6 and has access to the
1087
   public Internet.
1088

  
1089
b) Then each user, is able to create one or more Private Networks manually and
1090
   add VMs inside those Private Networks. Private Networks provide Layer 2
1091
   connectivity. All VMs inside a Private Network are completely isolated.
1092

  
1093
From the VM perspective, every Network corresponds to a distinct NIC. So, the
1094
above are translated as follows:
1095

  
1096
a) Every newly created VM, needs at least one NIC. This NIC, connects the VM
1097
   to the Public Network and thus should get a public IPv4 and IPv6.
1098

  
1099
b) For every Private Network, the VM gets a new NIC, which is added during the
1100
   connection of the VM to the Private Network (without an IP). This NIC should
1101
   have L2 connectivity with all other NICs connected to this Private Network.
1102

  
1103
To achieve the above, first of all, we need Network and IP Pool management support
1104
at Ganeti level, for Cyclades to be able to issue the corresponding commands.
1105

  
1106
Network @ Ganeti level
1107
~~~~~~~~~~~~~~~~~~~~~~
1108

  
1109
Currently, Ganeti does not support IP Pool management. However, we've been
1110
actively in touch with the official Ganeti team, who are reviewing a relatively
1111
big patchset that implements this functionality (you can find it at the
1112
ganeti-devel mailing list). We hope that the functionality will be merged to
1113
the Ganeti master branch soon and appear on Ganeti 2.7.
1114

  
1115
Furthermore, currently the `~okeanos service <http://okeanos.grnet.gr>`_ uses
1116
the same patchset with slight differencies on top of Ganeti 2.4.5. Cyclades
1117
0.9 are compatible with this old patchset and we do not guarantee that will
1118
work with the updated patchset sent to ganeti-devel.
1119

  
1120
We do *NOT* recommend you to apply the patchset yourself on the current Ganeti
1121
master, unless you are an experienced Cyclades and Ganeti integrator and you
1122
really know what you are doing.
1123

  
1124
Instead, be a little patient and we hope that everything will work out of the
1125
box, once the patchset makes it into the Ganeti master. When so, Cyclades will
1126
get updated to become compatible with that Ganeti version.
1127

  
1128
Network @ Physical host level
1129
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1130

  
1131
We talked about the two types of Network from the Cyclades perspective, from the
1132
VMs perspective and from Ganeti's perspective. Finally, we need to talk about
1133
the Networks from the physical (VM container) host's perspective.
1134

  
1135
If your version of Ganeti supports IP pool management, then you need to setup
1136
your physical hosts for the two types of Networks. For the second type
1137
(Private Networks), our reference installation uses a number of pre-provisioned
1138
bridges (one for each Network), which are connected to the corresponding number
1139
of pre-provisioned vlans on each physical host (node1 and node2). For the first
1140
type (Public Network), our reference installation uses routing over one
1141
preprovisioned vlan on each host (node1 and node2). It also uses the `NFDHCPD`
1142
package for dynamically serving specific public IPs managed by Ganeti.
1075
backend appropriately, before installing Cyclades. To do so, please read the
1076
:ref:`Network <networks>` section before proceeding.
1143 1077

  
1144 1078
Public Network setup
1145 1079
--------------------

Also available in: Unified diff