Statistics
| Branch: | Tag: | Revision:

root / doc / design-network.rst @ 9110fb4a

History | View | Annotate | Download (10.8 kB)

1 eec83a95 Apollon Oikonomopoulos
==================
2 eec83a95 Apollon Oikonomopoulos
Network management
3 eec83a95 Apollon Oikonomopoulos
==================
4 eec83a95 Apollon Oikonomopoulos
5 eec83a95 Apollon Oikonomopoulos
.. contents:: :depth: 4
6 eec83a95 Apollon Oikonomopoulos
7 eec83a95 Apollon Oikonomopoulos
This is a design document detailing the implementation of network resource
8 eec83a95 Apollon Oikonomopoulos
management in Ganeti.
9 eec83a95 Apollon Oikonomopoulos
10 eec83a95 Apollon Oikonomopoulos
Current state and shortcomings
11 eec83a95 Apollon Oikonomopoulos
==============================
12 eec83a95 Apollon Oikonomopoulos
13 eec83a95 Apollon Oikonomopoulos
Currently Ganeti supports two configuration modes for instance NICs:
14 eec83a95 Apollon Oikonomopoulos
routed and bridged mode. The ``ip`` NIC parameter, which is mandatory
15 eec83a95 Apollon Oikonomopoulos
for routed NICs and optional for bridged ones, holds the given NIC's IP
16 eec83a95 Apollon Oikonomopoulos
address and may be filled either manually, or via a DNS lookup for the
17 eec83a95 Apollon Oikonomopoulos
instance's hostname.
18 eec83a95 Apollon Oikonomopoulos
19 eec83a95 Apollon Oikonomopoulos
This approach presents some shortcomings:
20 eec83a95 Apollon Oikonomopoulos
21 eec83a95 Apollon Oikonomopoulos
a) It relies on external systems to perform network resource
22 eec83a95 Apollon Oikonomopoulos
   management. Although large organizations may already have IP pool
23 eec83a95 Apollon Oikonomopoulos
   management software in place, this is not usually the case with
24 eec83a95 Apollon Oikonomopoulos
   stand-alone deployments. For smaller installations it makes sense to
25 eec83a95 Apollon Oikonomopoulos
   allocate a pool of IP addresses to Ganeti and let it transparently
26 eec83a95 Apollon Oikonomopoulos
   assign these IPs to instances as appropriate.
27 eec83a95 Apollon Oikonomopoulos
28 eec83a95 Apollon Oikonomopoulos
b) The NIC network information is incomplete, lacking netmask and
29 eec83a95 Apollon Oikonomopoulos
   gateway.  Operating system providers could for example use the
30 eec83a95 Apollon Oikonomopoulos
   complete network information to fully configure an instance's
31 eec83a95 Apollon Oikonomopoulos
   network parameters upon its creation.
32 eec83a95 Apollon Oikonomopoulos
33 eec83a95 Apollon Oikonomopoulos
   Furthermore, having full network configuration information would
34 eec83a95 Apollon Oikonomopoulos
   enable Ganeti nodes to become more self-contained and be able to
35 eec83a95 Apollon Oikonomopoulos
   infer system configuration (e.g. /etc/network/interfaces content)
36 eec83a95 Apollon Oikonomopoulos
   from Ganeti configuration. This should make configuration of
37 eec83a95 Apollon Oikonomopoulos
   newly-added nodes a lot easier and less dependant on external
38 eec83a95 Apollon Oikonomopoulos
   tools/procedures.
39 eec83a95 Apollon Oikonomopoulos
40 eec83a95 Apollon Oikonomopoulos
c) Instance placement must explicitly take network availability in
41 eec83a95 Apollon Oikonomopoulos
   different node groups into account; the same ``link`` is implicitly
42 eec83a95 Apollon Oikonomopoulos
   expected to connect to the same network across the whole cluster,
43 eec83a95 Apollon Oikonomopoulos
   which may not always be the case with large clusters with multiple
44 eec83a95 Apollon Oikonomopoulos
   node groups.
45 eec83a95 Apollon Oikonomopoulos
46 eec83a95 Apollon Oikonomopoulos
47 eec83a95 Apollon Oikonomopoulos
Proposed changes
48 eec83a95 Apollon Oikonomopoulos
----------------
49 eec83a95 Apollon Oikonomopoulos
50 eec83a95 Apollon Oikonomopoulos
In order to deal with the above shortcomings, we propose to extend
51 eec83a95 Apollon Oikonomopoulos
Ganeti with high-level network management logic, which consists of a new
52 2ac41278 Dimitris Aragiorgis
NIC slot called ``network``, a new ``Network`` configuration object
53 2ac41278 Dimitris Aragiorgis
(cluster level) and logic to perform IP address pool management, i.e.
54 2ac41278 Dimitris Aragiorgis
maintain a set of available and occupied IP addresses.
55 eec83a95 Apollon Oikonomopoulos
56 eec83a95 Apollon Oikonomopoulos
Configuration changes
57 eec83a95 Apollon Oikonomopoulos
+++++++++++++++++++++
58 eec83a95 Apollon Oikonomopoulos
59 eec83a95 Apollon Oikonomopoulos
We propose the introduction of a new high-level Network object,
60 eec83a95 Apollon Oikonomopoulos
containing (at least) the following data:
61 eec83a95 Apollon Oikonomopoulos
62 eec83a95 Apollon Oikonomopoulos
- Symbolic name
63 eec83a95 Apollon Oikonomopoulos
- UUID
64 eec83a95 Apollon Oikonomopoulos
- Network in CIDR notation (IPv4 + IPv6)
65 eec83a95 Apollon Oikonomopoulos
- Default gateway, if one exists (IPv4 + IPv6)
66 eec83a95 Apollon Oikonomopoulos
- IP pool management data (reservations)
67 eec83a95 Apollon Oikonomopoulos
- Default NIC connectivity mode (bridged, routed). This is the
68 eec83a95 Apollon Oikonomopoulos
  functional equivalent of the current NIC ``mode``.
69 eec83a95 Apollon Oikonomopoulos
- Default host interface (e.g. br0). This is the functional equivalent
70 eec83a95 Apollon Oikonomopoulos
  of the current NIC ``link``.
71 eec83a95 Apollon Oikonomopoulos
- Tags
72 eec83a95 Apollon Oikonomopoulos
73 2ac41278 Dimitris Aragiorgis
Each network will be connected to any number of node groups. During the
74 2ac41278 Dimitris Aragiorgis
connection of a network to a nodegroup, we define the corresponding
75 2ac41278 Dimitris Aragiorgis
connectivity mode (bridged or routed) and the host interface (br100 or
76 2ac41278 Dimitris Aragiorgis
routing_table_200). This is achieved by adding a ``networks`` slot to
77 2ac41278 Dimitris Aragiorgis
the NodeGroup object and using the networks' UUIDs as keys. The value
78 2ac41278 Dimitris Aragiorgis
for each key is a dictionary containing the network's ``mode`` and
79 2ac41278 Dimitris Aragiorgis
``link`` (netparams). Every NIC assigned to the network will eventually
80 2ac41278 Dimitris Aragiorgis
inherit the network's netparams, as its nicparams.
81 2ac41278 Dimitris Aragiorgis
82 eec83a95 Apollon Oikonomopoulos
83 eec83a95 Apollon Oikonomopoulos
IP pool management
84 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
85 eec83a95 Apollon Oikonomopoulos
86 eec83a95 Apollon Oikonomopoulos
A new helper library is introduced, wrapping around Network objects to
87 eec83a95 Apollon Oikonomopoulos
give IP pool management capabilities. A network's pool is defined by two
88 eec83a95 Apollon Oikonomopoulos
bitfields, the length of the network size each:
89 eec83a95 Apollon Oikonomopoulos
90 eec83a95 Apollon Oikonomopoulos
``reservations``
91 031d2db1 Dimitris Aragiorgis
  This field holds all IP addresses reserved by Ganeti instances.
92 eec83a95 Apollon Oikonomopoulos
93 eec83a95 Apollon Oikonomopoulos
``external reservations``
94 eec83a95 Apollon Oikonomopoulos
  This field holds all IP addresses that are manually reserved by the
95 031d2db1 Dimitris Aragiorgis
  administrator (external gateway, IPs of external servers, etc) or
96 031d2db1 Dimitris Aragiorgis
  automatically by ganeti (the network/broadcast addresses,
97 031d2db1 Dimitris Aragiorgis
  Cluster IPs (node addresses + cluster master)). These IPs are excluded
98 031d2db1 Dimitris Aragiorgis
  from the IP pool and cannot be assigned automatically by ganeti to
99 031d2db1 Dimitris Aragiorgis
  instances (via ip=pool).
100 eec83a95 Apollon Oikonomopoulos
101 eec83a95 Apollon Oikonomopoulos
The bitfields are implemented using the python-bitarray package for
102 eec83a95 Apollon Oikonomopoulos
space efficiency and their binary value stored base64-encoded for JSON
103 eec83a95 Apollon Oikonomopoulos
compatibility. This approach gives relatively compact representations
104 eec83a95 Apollon Oikonomopoulos
even for large IPv4 networks (e.g. /20).
105 eec83a95 Apollon Oikonomopoulos
106 031d2db1 Dimitris Aragiorgis
Cluster IP addresses (node + master IPs) are reserved automatically
107 031d2db1 Dimitris Aragiorgis
as external if the cluster's data network itself is placed under
108 031d2db1 Dimitris Aragiorgis
pool management.
109 eec83a95 Apollon Oikonomopoulos
110 eec83a95 Apollon Oikonomopoulos
Helper ConfigWriter methods provide free IP address generation and
111 eec83a95 Apollon Oikonomopoulos
reservation, using a TemporaryReservationManager.
112 eec83a95 Apollon Oikonomopoulos
113 eec83a95 Apollon Oikonomopoulos
It should be noted that IP pool management is performed only for IPv4
114 eec83a95 Apollon Oikonomopoulos
networks, as they are expected to be densely populated. IPv6 networks
115 eec83a95 Apollon Oikonomopoulos
can use different approaches, e.g. sequential address asignment or
116 eec83a95 Apollon Oikonomopoulos
EUI-64 addresses.
117 eec83a95 Apollon Oikonomopoulos
118 2ac41278 Dimitris Aragiorgis
New NIC parameter: network
119 2ac41278 Dimitris Aragiorgis
++++++++++++++++++++++++++
120 eec83a95 Apollon Oikonomopoulos
121 eec83a95 Apollon Oikonomopoulos
In order to be able to use the new network facility while maintaining
122 2ac41278 Dimitris Aragiorgis
compatibility with the current networking model, a new NIC parameter is
123 2ac41278 Dimitris Aragiorgis
introduced, called ``network`` to reflect the fact that the given NIC
124 2ac41278 Dimitris Aragiorgis
belongs to the given network and its configuration is managed by Ganeti
125 2ac41278 Dimitris Aragiorgis
itself. To keep backwards compatibility, existing code is executed if
126 2ac41278 Dimitris Aragiorgis
the ``network`` value is 'none' or omitted during NIC creation. If we
127 2ac41278 Dimitris Aragiorgis
want our NIC to be assigned to a network, then only the ip (optional)
128 2ac41278 Dimitris Aragiorgis
and the network parameters should be passed. Mode and link are inherited
129 2ac41278 Dimitris Aragiorgis
from the network-nodegroup mapping configuration (netparams). This
130 2ac41278 Dimitris Aragiorgis
provides the desired abstraction between the VM's network and the
131 2ac41278 Dimitris Aragiorgis
node-specific underlying infrastructure.
132 eec83a95 Apollon Oikonomopoulos
133 eec83a95 Apollon Oikonomopoulos
We also introduce a new ``ip`` address value, ``constants.NIC_IP_POOL``,
134 eec83a95 Apollon Oikonomopoulos
that specifies that a given NIC's IP address should be obtained using
135 031d2db1 Dimitris Aragiorgis
the first available IP address inside the pool of the specified network.
136 031d2db1 Dimitris Aragiorgis
(reservations OR external_reservations). This value is only valid
137 2ac41278 Dimitris Aragiorgis
for NICs belonging to a network. A NIC's IP address can also be
138 2ac41278 Dimitris Aragiorgis
specified manually, as long as it is contained in the network the NIC
139 031d2db1 Dimitris Aragiorgis
is connected to. In case this IP is externally reserved, Ganeti will produce
140 031d2db1 Dimitris Aragiorgis
an error which the user can override if explicitly requested. Of course
141 031d2db1 Dimitris Aragiorgis
this IP will be reserved and will not be able to be assigned to another
142 031d2db1 Dimitris Aragiorgis
instance.
143 eec83a95 Apollon Oikonomopoulos
144 eec83a95 Apollon Oikonomopoulos
145 eec83a95 Apollon Oikonomopoulos
Hooks
146 eec83a95 Apollon Oikonomopoulos
+++++
147 eec83a95 Apollon Oikonomopoulos
148 2ac41278 Dimitris Aragiorgis
Introduce new hooks concerning network operations:
149 2ac41278 Dimitris Aragiorgis
150 eec83a95 Apollon Oikonomopoulos
``OP_NETWORK_ADD``
151 eec83a95 Apollon Oikonomopoulos
  Add a network to Ganeti
152 eec83a95 Apollon Oikonomopoulos
153 eec83a95 Apollon Oikonomopoulos
  :directory: network-add
154 eec83a95 Apollon Oikonomopoulos
  :pre-execution: master node
155 eec83a95 Apollon Oikonomopoulos
  :post-execution: master node
156 eec83a95 Apollon Oikonomopoulos
157 2ac41278 Dimitris Aragiorgis
``OP_NETWORK_REMOVE``
158 2ac41278 Dimitris Aragiorgis
  Remove a network from Ganeti
159 2ac41278 Dimitris Aragiorgis
160 2ac41278 Dimitris Aragiorgis
  :directory: network-remove
161 2ac41278 Dimitris Aragiorgis
  :pre-execution: master node
162 2ac41278 Dimitris Aragiorgis
  :post-execution: master node
163 eec83a95 Apollon Oikonomopoulos
164 2ac41278 Dimitris Aragiorgis
``OP_NETWORK_SET_PARAMS``
165 2ac41278 Dimitris Aragiorgis
  Modify a network
166 eec83a95 Apollon Oikonomopoulos
167 2ac41278 Dimitris Aragiorgis
  :directory: network-modify
168 2ac41278 Dimitris Aragiorgis
  :pre-execution: master node
169 2ac41278 Dimitris Aragiorgis
  :post-execution: master node
170 eec83a95 Apollon Oikonomopoulos
171 2ac41278 Dimitris Aragiorgis
For connect/disconnect operations use existing:
172 eec83a95 Apollon Oikonomopoulos
173 2ac41278 Dimitris Aragiorgis
``OP_GROUP_SET_PARAMS``
174 2ac41278 Dimitris Aragiorgis
  Modify a nodegroup
175 eec83a95 Apollon Oikonomopoulos
176 2ac41278 Dimitris Aragiorgis
  :directory: group-modify
177 2ac41278 Dimitris Aragiorgis
  :pre-execution: master node
178 2ac41278 Dimitris Aragiorgis
  :post-execution: master node
179 eec83a95 Apollon Oikonomopoulos
180 eec83a95 Apollon Oikonomopoulos
Hook variables
181 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^
182 eec83a95 Apollon Oikonomopoulos
183 2ac41278 Dimitris Aragiorgis
During instance related operations:
184 eec83a95 Apollon Oikonomopoulos
185 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK``
186 eec83a95 Apollon Oikonomopoulos
  The friendly name of the network
187 eec83a95 Apollon Oikonomopoulos
188 2ac41278 Dimitris Aragiorgis
During network related operations:
189 eec83a95 Apollon Oikonomopoulos
190 2ac41278 Dimitris Aragiorgis
``NETWORK_NAME``
191 2ac41278 Dimitris Aragiorgis
  The friendly name of the network
192 2ac41278 Dimitris Aragiorgis
193 2ac41278 Dimitris Aragiorgis
``NETWORK_SUBNET``
194 2ac41278 Dimitris Aragiorgis
  The ip range of the network
195 eec83a95 Apollon Oikonomopoulos
196 2ac41278 Dimitris Aragiorgis
``NETWORK_GATEWAY``
197 2ac41278 Dimitris Aragiorgis
  The gateway of the network
198 eec83a95 Apollon Oikonomopoulos
199 2ac41278 Dimitris Aragiorgis
During nodegroup related operations:
200 2ac41278 Dimitris Aragiorgis
201 2ac41278 Dimitris Aragiorgis
``GROUP_NETWORK``
202 2ac41278 Dimitris Aragiorgis
  The friendly name of the network
203 eec83a95 Apollon Oikonomopoulos
204 2ac41278 Dimitris Aragiorgis
``GROUP_NETWORK_MODE``
205 2ac41278 Dimitris Aragiorgis
  The mode (bridged or routed) of the netparams
206 2ac41278 Dimitris Aragiorgis
207 2ac41278 Dimitris Aragiorgis
``GROUP_NETWORK_LINK``
208 2ac41278 Dimitris Aragiorgis
  The link of the netparams
209 eec83a95 Apollon Oikonomopoulos
210 eec83a95 Apollon Oikonomopoulos
Backend changes
211 eec83a95 Apollon Oikonomopoulos
+++++++++++++++
212 eec83a95 Apollon Oikonomopoulos
213 2ac41278 Dimitris Aragiorgis
To keep the hypervisor-visible changes to a minimum, and maintain
214 2ac41278 Dimitris Aragiorgis
compatibility with the existing network configuration scripts, the
215 2ac41278 Dimitris Aragiorgis
instance's hypervisor configuration will have host-level mode and link
216 2ac41278 Dimitris Aragiorgis
replaced by the *connectivity mode* and *host interface* (netparams) of
217 2ac41278 Dimitris Aragiorgis
the given network on the current node group.
218 eec83a95 Apollon Oikonomopoulos
219 2ac41278 Dimitris Aragiorgis
Network configuration scripts detect if a NIC is assigned to a Network
220 2ac41278 Dimitris Aragiorgis
by the presence of the new environment variable:
221 eec83a95 Apollon Oikonomopoulos
222 eec83a95 Apollon Oikonomopoulos
Network configuration script variables
223 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
224 eec83a95 Apollon Oikonomopoulos
225 eec83a95 Apollon Oikonomopoulos
``NETWORK``
226 eec83a95 Apollon Oikonomopoulos
  The friendly name of the network
227 eec83a95 Apollon Oikonomopoulos
228 2ac41278 Dimitris Aragiorgis
Conflicting IPs
229 2ac41278 Dimitris Aragiorgis
+++++++++++++++
230 2ac41278 Dimitris Aragiorgis
231 2ac41278 Dimitris Aragiorgis
To ensure IP uniqueness inside a nodegroup, we introduce the term
232 2ac41278 Dimitris Aragiorgis
``conflicting ips``. Conflicting IPs occur: (a) when creating a
233 2ac41278 Dimitris Aragiorgis
networkless NIC with IP contained in a network already connected to the
234 2ac41278 Dimitris Aragiorgis
instance's nodegroup  (b) when connecting/disconnecting a network
235 2ac41278 Dimitris Aragiorgis
to/from a nodegroup and at the same time instances with IPs inside the
236 2ac41278 Dimitris Aragiorgis
network's range still exist. Conflicting IPs produce prereq errors.
237 eec83a95 Apollon Oikonomopoulos
238 2ac41278 Dimitris Aragiorgis
Handling of conflicting IP with --force option:
239 eec83a95 Apollon Oikonomopoulos
240 2ac41278 Dimitris Aragiorgis
For case (a) reserve the IP and assign the NIC to the Network.
241 2ac41278 Dimitris Aragiorgis
For case (b) during connect same as (a), during disconnect release IP and
242 2ac41278 Dimitris Aragiorgis
reset NIC's network parameter to None
243 eec83a95 Apollon Oikonomopoulos
244 eec83a95 Apollon Oikonomopoulos
245 eec83a95 Apollon Oikonomopoulos
Userland interface
246 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
247 eec83a95 Apollon Oikonomopoulos
248 eec83a95 Apollon Oikonomopoulos
A new client script is introduced, ``gnt-network``, which handles
249 eec83a95 Apollon Oikonomopoulos
network-related configuration in Ganeti.
250 eec83a95 Apollon Oikonomopoulos
251 eec83a95 Apollon Oikonomopoulos
Network addition/deletion
252 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^
253 eec83a95 Apollon Oikonomopoulos
::
254 eec83a95 Apollon Oikonomopoulos
255 2ac41278 Dimitris Aragiorgis
 gnt-network add --network=192.168.100.0/28 --gateway=192.168.100.1 \
256 2ac41278 Dimitris Aragiorgis
                 --network6=2001:db8:2ffc::/64 --gateway6=2001:db8:2ffc::1 \
257 4bb02813 Helga Velroyen
                 --add-reserved-ips=192.168.100.10,192.168.100.11 net100
258 2ac41278 Dimitris Aragiorgis
  (Checks for already exising name and valid IP values)
259 2ac41278 Dimitris Aragiorgis
 gnt-network remove network_name
260 2ac41278 Dimitris Aragiorgis
  (Checks if not connected to any nodegroup)
261 eec83a95 Apollon Oikonomopoulos
262 eec83a95 Apollon Oikonomopoulos
263 eec83a95 Apollon Oikonomopoulos
Network modification
264 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^
265 eec83a95 Apollon Oikonomopoulos
::
266 eec83a95 Apollon Oikonomopoulos
267 2ac41278 Dimitris Aragiorgis
 gnt-network modify --gateway=192.168.100.5 net100
268 2ac41278 Dimitris Aragiorgis
  (Changes the gateway only if ip is available)
269 4bb02813 Helga Velroyen
 gnt-network modify --add-reserved-ips=192.168.100.11 net100
270 4bb02813 Helga Velroyen
  (Adds externally reserved ip)
271 4bb02813 Helga Velroyen
 gnt-network modify --remove-reserved-ips=192.168.100.11 net100
272 4bb02813 Helga Velroyen
  (Removes externally reserved ip)
273 eec83a95 Apollon Oikonomopoulos
274 eec83a95 Apollon Oikonomopoulos
275 eec83a95 Apollon Oikonomopoulos
Assignment to node groups
276 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^
277 eec83a95 Apollon Oikonomopoulos
::
278 eec83a95 Apollon Oikonomopoulos
279 2ac41278 Dimitris Aragiorgis
 gnt-network connect net100 nodegroup1 bridged br100
280 2ac41278 Dimitris Aragiorgis
  (Checks for existing bridge among nodegroup)
281 2ac41278 Dimitris Aragiorgis
 gnt-network connect net100 nodegroup2 routed rt_table
282 2ac41278 Dimitris Aragiorgis
  (Checks for conflicting IPs)
283 2ac41278 Dimitris Aragiorgis
 gnt-network disconnect net101 nodegroup1
284 2ac41278 Dimitris Aragiorgis
  (Checks for conflicting IPs)
285 eec83a95 Apollon Oikonomopoulos
286 eec83a95 Apollon Oikonomopoulos
287 eec83a95 Apollon Oikonomopoulos
Network listing
288 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^
289 eec83a95 Apollon Oikonomopoulos
::
290 eec83a95 Apollon Oikonomopoulos
291 eec83a95 Apollon Oikonomopoulos
 gnt-network list
292 2ac41278 Dimitris Aragiorgis
293 2ac41278 Dimitris Aragiorgis
 Network      Subnet           Gateway       NodeGroups GroupList
294 2ac41278 Dimitris Aragiorgis
 net100       192.168.100.0/28 192.168.100.1          1 default(bridged, br100)
295 2ac41278 Dimitris Aragiorgis
 net101       192.168.101.0/28 192.168.101.1          1 default(routed, rt_tab)
296 eec83a95 Apollon Oikonomopoulos
297 eec83a95 Apollon Oikonomopoulos
Network information
298 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^
299 eec83a95 Apollon Oikonomopoulos
::
300 eec83a95 Apollon Oikonomopoulos
301 2ac41278 Dimitris Aragiorgis
 gnt-network info testnet1
302 2ac41278 Dimitris Aragiorgis
303 2ac41278 Dimitris Aragiorgis
 Network name: testnet1
304 2ac41278 Dimitris Aragiorgis
  subnet: 192.168.100.0/28
305 2ac41278 Dimitris Aragiorgis
  gateway: 192.168.100.1
306 2ac41278 Dimitris Aragiorgis
  size: 16
307 2ac41278 Dimitris Aragiorgis
  free: 10 (62.50%)
308 2ac41278 Dimitris Aragiorgis
  usage map:
309 2ac41278 Dimitris Aragiorgis
        0 XXXXX..........X                                                 63
310 2ac41278 Dimitris Aragiorgis
          (X) used    (.) free
311 2ac41278 Dimitris Aragiorgis
  externally reserved IPs:
312 2ac41278 Dimitris Aragiorgis
    192.168.100.0, 192.168.100.1, 192.168.100.15
313 2ac41278 Dimitris Aragiorgis
  connected to node groups:
314 2ac41278 Dimitris Aragiorgis
    default(bridged, br100)
315 2ac41278 Dimitris Aragiorgis
  used by 3 instances:
316 2ac41278 Dimitris Aragiorgis
    test1 : 0:192.168.100.4
317 2ac41278 Dimitris Aragiorgis
    test2 : 0:192.168.100.2
318 2ac41278 Dimitris Aragiorgis
    test3 : 0:192.168.100.3
319 eec83a95 Apollon Oikonomopoulos
320 eec83a95 Apollon Oikonomopoulos
321 eec83a95 Apollon Oikonomopoulos
IAllocator changes
322 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
323 eec83a95 Apollon Oikonomopoulos
324 eec83a95 Apollon Oikonomopoulos
The IAllocator protocol can be made network-aware, i.e. also consider
325 eec83a95 Apollon Oikonomopoulos
network availability for node group selection. Networks, as well as
326 eec83a95 Apollon Oikonomopoulos
future shared storage pools, can be seen as constraints used to rule out
327 eec83a95 Apollon Oikonomopoulos
the placement on certain node groups.
328 eec83a95 Apollon Oikonomopoulos
329 eec83a95 Apollon Oikonomopoulos
.. vim: set textwidth=72 :
330 eec83a95 Apollon Oikonomopoulos
.. Local Variables:
331 eec83a95 Apollon Oikonomopoulos
.. mode: rst
332 eec83a95 Apollon Oikonomopoulos
.. fill-column: 72
333 eec83a95 Apollon Oikonomopoulos
.. End: