Statistics
| Branch: | Tag: | Revision:

root / doc / design-network.rst @ 832f8c6a

History | View | Annotate | Download (10.1 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 eec83a95 Apollon Oikonomopoulos
NIC mode called ``managed``, a new "Network" configuration object and
53 eec83a95 Apollon Oikonomopoulos
logic to perform IP address pool management, i.e. maintain a set of
54 eec83a95 Apollon Oikonomopoulos
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 eec83a95 Apollon Oikonomopoulos
Each network will be connected to any number of node groups, possibly
74 eec83a95 Apollon Oikonomopoulos
overriding connectivity mode and host interface for each node group.
75 eec83a95 Apollon Oikonomopoulos
This is achieved by adding a ``networks`` slot to the NodeGroup object
76 eec83a95 Apollon Oikonomopoulos
and using the networks' UUIDs as keys.
77 eec83a95 Apollon Oikonomopoulos
78 eec83a95 Apollon Oikonomopoulos
IP pool management
79 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
80 eec83a95 Apollon Oikonomopoulos
81 eec83a95 Apollon Oikonomopoulos
A new helper library is introduced, wrapping around Network objects to
82 eec83a95 Apollon Oikonomopoulos
give IP pool management capabilities. A network's pool is defined by two
83 eec83a95 Apollon Oikonomopoulos
bitfields, the length of the network size each:
84 eec83a95 Apollon Oikonomopoulos
85 eec83a95 Apollon Oikonomopoulos
``reservations``
86 eec83a95 Apollon Oikonomopoulos
  This field holds all IP addresses reserved by Ganeti instances, as
87 eec83a95 Apollon Oikonomopoulos
  well as cluster IP addresses (node addresses + cluster master)
88 eec83a95 Apollon Oikonomopoulos
89 eec83a95 Apollon Oikonomopoulos
``external reservations``
90 eec83a95 Apollon Oikonomopoulos
  This field holds all IP addresses that are manually reserved by the
91 eec83a95 Apollon Oikonomopoulos
  administrator, because some other equipment is using them outside the
92 eec83a95 Apollon Oikonomopoulos
  scope of Ganeti.
93 eec83a95 Apollon Oikonomopoulos
94 eec83a95 Apollon Oikonomopoulos
The bitfields are implemented using the python-bitarray package for
95 eec83a95 Apollon Oikonomopoulos
space efficiency and their binary value stored base64-encoded for JSON
96 eec83a95 Apollon Oikonomopoulos
compatibility. This approach gives relatively compact representations
97 eec83a95 Apollon Oikonomopoulos
even for large IPv4 networks (e.g. /20).
98 eec83a95 Apollon Oikonomopoulos
99 eec83a95 Apollon Oikonomopoulos
Ganeti-owned IP addresses (node + master IPs) are reserved automatically
100 eec83a95 Apollon Oikonomopoulos
if the cluster's data network itself is placed under pool management.
101 eec83a95 Apollon Oikonomopoulos
102 eec83a95 Apollon Oikonomopoulos
Helper ConfigWriter methods provide free IP address generation and
103 eec83a95 Apollon Oikonomopoulos
reservation, using a TemporaryReservationManager.
104 eec83a95 Apollon Oikonomopoulos
105 eec83a95 Apollon Oikonomopoulos
It should be noted that IP pool management is performed only for IPv4
106 eec83a95 Apollon Oikonomopoulos
networks, as they are expected to be densely populated. IPv6 networks
107 eec83a95 Apollon Oikonomopoulos
can use different approaches, e.g. sequential address asignment or
108 eec83a95 Apollon Oikonomopoulos
EUI-64 addresses.
109 eec83a95 Apollon Oikonomopoulos
110 eec83a95 Apollon Oikonomopoulos
Managed NIC mode
111 eec83a95 Apollon Oikonomopoulos
++++++++++++++++
112 eec83a95 Apollon Oikonomopoulos
113 eec83a95 Apollon Oikonomopoulos
In order to be able to use the new network facility while maintaining
114 eec83a95 Apollon Oikonomopoulos
compatibility with the current networking model, a new network mode is
115 eec83a95 Apollon Oikonomopoulos
introduced, called ``managed`` to reflect the fact that the given NICs
116 eec83a95 Apollon Oikonomopoulos
network configuration is managed by Ganeti itself. A managed mode NIC
117 eec83a95 Apollon Oikonomopoulos
accepts the network it is connected to in its ``link`` argument.
118 eec83a95 Apollon Oikonomopoulos
Userspace tools can refer to networks using their symbolic names,
119 eec83a95 Apollon Oikonomopoulos
however internally, the link argument stores the network's UUID.
120 eec83a95 Apollon Oikonomopoulos
121 eec83a95 Apollon Oikonomopoulos
We also introduce a new ``ip`` address value, ``constants.NIC_IP_POOL``,
122 eec83a95 Apollon Oikonomopoulos
that specifies that a given NIC's IP address should be obtained using
123 eec83a95 Apollon Oikonomopoulos
the IP address pool of the specified network. This value is only valid
124 eec83a95 Apollon Oikonomopoulos
for managed-mode NICs, where it is also used as a default instead of
125 eec83a95 Apollon Oikonomopoulos
``constants.VALUE_AUTO``. A managed-mode NIC's IP address can also be
126 eec83a95 Apollon Oikonomopoulos
specified manually, as long as it is compatible with the network the NIC
127 eec83a95 Apollon Oikonomopoulos
is connected to.
128 eec83a95 Apollon Oikonomopoulos
129 eec83a95 Apollon Oikonomopoulos
130 eec83a95 Apollon Oikonomopoulos
Hooks
131 eec83a95 Apollon Oikonomopoulos
+++++
132 eec83a95 Apollon Oikonomopoulos
133 eec83a95 Apollon Oikonomopoulos
``OP_NETWORK_ADD``
134 eec83a95 Apollon Oikonomopoulos
  Add a network to Ganeti
135 eec83a95 Apollon Oikonomopoulos
136 eec83a95 Apollon Oikonomopoulos
  :directory: network-add
137 eec83a95 Apollon Oikonomopoulos
  :pre-execution: master node
138 eec83a95 Apollon Oikonomopoulos
  :post-execution: master node
139 eec83a95 Apollon Oikonomopoulos
140 eec83a95 Apollon Oikonomopoulos
``OP_NETWORK_CONNECT``
141 eec83a95 Apollon Oikonomopoulos
  Connect a network to a node group. This hook can be used to e.g.
142 eec83a95 Apollon Oikonomopoulos
  configure network interfaces on the group's nodes.
143 eec83a95 Apollon Oikonomopoulos
144 eec83a95 Apollon Oikonomopoulos
  :directory: network-connect
145 eec83a95 Apollon Oikonomopoulos
  :pre-execution: master node, all nodes in the connected group
146 eec83a95 Apollon Oikonomopoulos
  :post-execution: master node, all nodes in the connected group
147 eec83a95 Apollon Oikonomopoulos
148 eec83a95 Apollon Oikonomopoulos
``OP_NETWORK_DISCONNECT``
149 eec83a95 Apollon Oikonomopoulos
  Disconnect a network to a node group. This hook can be used to e.g.
150 eec83a95 Apollon Oikonomopoulos
  deconfigure network interfaces on the group's nodes.
151 eec83a95 Apollon Oikonomopoulos
152 eec83a95 Apollon Oikonomopoulos
  :directory: network-disconnect
153 eec83a95 Apollon Oikonomopoulos
  :pre-execution: master node, all nodes in the connected group
154 eec83a95 Apollon Oikonomopoulos
  :post-execution: master node, all nodes in the connected group
155 eec83a95 Apollon Oikonomopoulos
156 eec83a95 Apollon Oikonomopoulos
``OP_NETWORK_REMOVE``
157 eec83a95 Apollon Oikonomopoulos
  Remove a network from Ganeti
158 eec83a95 Apollon Oikonomopoulos
159 eec83a95 Apollon Oikonomopoulos
  :directory: network-add
160 eec83a95 Apollon Oikonomopoulos
  :pre-execution: master node, all nodes
161 eec83a95 Apollon Oikonomopoulos
  :post-execution: master node, all nodes
162 eec83a95 Apollon Oikonomopoulos
163 eec83a95 Apollon Oikonomopoulos
Hook variables
164 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^
165 eec83a95 Apollon Oikonomopoulos
166 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_MANAGED``
167 eec83a95 Apollon Oikonomopoulos
  Non-zero if NIC n is a managed-mode NIC
168 eec83a95 Apollon Oikonomopoulos
169 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK``
170 eec83a95 Apollon Oikonomopoulos
  The friendly name of the network
171 eec83a95 Apollon Oikonomopoulos
172 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK_UUID``
173 eec83a95 Apollon Oikonomopoulos
  The network's UUID
174 eec83a95 Apollon Oikonomopoulos
175 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK_TAGS``
176 eec83a95 Apollon Oikonomopoulos
  The network's tags
177 eec83a95 Apollon Oikonomopoulos
178 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK_IPV4_CIDR``, ``INSTANCE_NICn_NETWORK_IPV6_CIDR``
179 eec83a95 Apollon Oikonomopoulos
  The subnet in CIDR notation
180 eec83a95 Apollon Oikonomopoulos
181 eec83a95 Apollon Oikonomopoulos
``INSTANCE_NICn_NETWORK_IPV4_GATEWAY``, ``INSTANCE_NICn_NETWORK_IPV6_GATEWAY``
182 eec83a95 Apollon Oikonomopoulos
  The subnet's default gateway
183 eec83a95 Apollon Oikonomopoulos
184 eec83a95 Apollon Oikonomopoulos
185 eec83a95 Apollon Oikonomopoulos
Backend changes
186 eec83a95 Apollon Oikonomopoulos
+++++++++++++++
187 eec83a95 Apollon Oikonomopoulos
188 eec83a95 Apollon Oikonomopoulos
In order to keep the hypervisor-visible changes to a minimum, and
189 eec83a95 Apollon Oikonomopoulos
maintain compatibility with the existing network configuration scripts,
190 eec83a95 Apollon Oikonomopoulos
the instance's hypervisor configuration will have host-level link and
191 eec83a95 Apollon Oikonomopoulos
mode replaced by the *connectivity mode* and *host interface* of the
192 eec83a95 Apollon Oikonomopoulos
given network on the current node group.
193 eec83a95 Apollon Oikonomopoulos
194 eec83a95 Apollon Oikonomopoulos
The managed mode can be detected by the presence of new environment
195 eec83a95 Apollon Oikonomopoulos
variables in network configuration scripts:
196 eec83a95 Apollon Oikonomopoulos
197 eec83a95 Apollon Oikonomopoulos
Network configuration script variables
198 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
199 eec83a95 Apollon Oikonomopoulos
200 eec83a95 Apollon Oikonomopoulos
``MANAGED``
201 eec83a95 Apollon Oikonomopoulos
  Non-zero if NIC is a managed-mode NIC
202 eec83a95 Apollon Oikonomopoulos
203 eec83a95 Apollon Oikonomopoulos
``NETWORK``
204 eec83a95 Apollon Oikonomopoulos
  The friendly name of the network
205 eec83a95 Apollon Oikonomopoulos
206 eec83a95 Apollon Oikonomopoulos
``NETWORK_UUID``
207 eec83a95 Apollon Oikonomopoulos
  The network's UUID
208 eec83a95 Apollon Oikonomopoulos
209 eec83a95 Apollon Oikonomopoulos
``NETWORK_TAGS``
210 eec83a95 Apollon Oikonomopoulos
  The network's tags
211 eec83a95 Apollon Oikonomopoulos
212 eec83a95 Apollon Oikonomopoulos
``NETWORK_IPv4_CIDR``, ``NETWORK_IPv6_CIDR``
213 eec83a95 Apollon Oikonomopoulos
  The subnet in CIDR notation
214 eec83a95 Apollon Oikonomopoulos
215 eec83a95 Apollon Oikonomopoulos
``NETWORK_IPV4_GATEWAY``, ``NETWORK_IPV6_GATEWAY``
216 eec83a95 Apollon Oikonomopoulos
  The subnet's default gateway
217 eec83a95 Apollon Oikonomopoulos
218 eec83a95 Apollon Oikonomopoulos
Userland interface
219 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
220 eec83a95 Apollon Oikonomopoulos
221 eec83a95 Apollon Oikonomopoulos
A new client script is introduced, ``gnt-network``, which handles
222 eec83a95 Apollon Oikonomopoulos
network-related configuration in Ganeti.
223 eec83a95 Apollon Oikonomopoulos
224 eec83a95 Apollon Oikonomopoulos
Network addition/deletion
225 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^
226 eec83a95 Apollon Oikonomopoulos
::
227 eec83a95 Apollon Oikonomopoulos
228 eec83a95 Apollon Oikonomopoulos
 gnt-network add --cidr=192.0.2.0/24 --gateway=192.0.2.1 \
229 eec83a95 Apollon Oikonomopoulos
                --cidr6=2001:db8:2ffc::/64 --gateway6=2001:db8:2ffc::1 \
230 eec83a95 Apollon Oikonomopoulos
                --nic_connectivity=bridged --host_interface=br0 public
231 eec83a95 Apollon Oikonomopoulos
 gnt-network remove public (only allowed if no instances are using the network)
232 eec83a95 Apollon Oikonomopoulos
233 eec83a95 Apollon Oikonomopoulos
Manual IP address reservation
234 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
235 eec83a95 Apollon Oikonomopoulos
::
236 eec83a95 Apollon Oikonomopoulos
237 eec83a95 Apollon Oikonomopoulos
 gnt-network reserve-ips public 192.0.2.2 192.0.2.10-192.0.2.20
238 eec83a95 Apollon Oikonomopoulos
 gnt-network release-ips public 192.0.2.3
239 eec83a95 Apollon Oikonomopoulos
240 eec83a95 Apollon Oikonomopoulos
241 eec83a95 Apollon Oikonomopoulos
Network modification
242 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^
243 eec83a95 Apollon Oikonomopoulos
::
244 eec83a95 Apollon Oikonomopoulos
245 eec83a95 Apollon Oikonomopoulos
 gnt-network modify --cidr=192.0.2.0/25 public (only allowed if all current reservations fit in the new network)
246 eec83a95 Apollon Oikonomopoulos
 gnt-network modify --gateway=192.0.2.126 public
247 eec83a95 Apollon Oikonomopoulos
 gnt-network modify --host_interface=test --nic_connectivity=routed public (issues warning about instances that need to be rebooted)
248 eec83a95 Apollon Oikonomopoulos
 gnt-network rename public public2
249 eec83a95 Apollon Oikonomopoulos
250 eec83a95 Apollon Oikonomopoulos
251 eec83a95 Apollon Oikonomopoulos
Assignment to node groups
252 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^^^^^^^
253 eec83a95 Apollon Oikonomopoulos
::
254 eec83a95 Apollon Oikonomopoulos
255 eec83a95 Apollon Oikonomopoulos
 gnt-network connect public nodegroup1
256 eec83a95 Apollon Oikonomopoulos
 gnt-network connect --host_interface=br1 public nodegroup2
257 eec83a95 Apollon Oikonomopoulos
 gnt-network disconnect public nodegroup1 (only permitted if no instances are currently using this network in the group)
258 eec83a95 Apollon Oikonomopoulos
259 eec83a95 Apollon Oikonomopoulos
Tagging
260 eec83a95 Apollon Oikonomopoulos
^^^^^^^
261 eec83a95 Apollon Oikonomopoulos
::
262 eec83a95 Apollon Oikonomopoulos
263 eec83a95 Apollon Oikonomopoulos
 gnt-network add-tags public foo bar:baz
264 eec83a95 Apollon Oikonomopoulos
265 eec83a95 Apollon Oikonomopoulos
Network listing
266 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^
267 eec83a95 Apollon Oikonomopoulos
::
268 eec83a95 Apollon Oikonomopoulos
269 eec83a95 Apollon Oikonomopoulos
 gnt-network list
270 eec83a95 Apollon Oikonomopoulos
  Name		IPv4 Network	IPv4 Gateway	      IPv6 Network	       IPv6 Gateway		Connected to
271 eec83a95 Apollon Oikonomopoulos
  public	 192.0.2.0/24	192.0.2.1	2001:db8:dead:beef::/64	   2001:db8:dead:beef::1       nodegroup1:br0
272 eec83a95 Apollon Oikonomopoulos
  private	 10.0.1.0/24	   -			 -				-
273 eec83a95 Apollon Oikonomopoulos
274 eec83a95 Apollon Oikonomopoulos
Network information
275 eec83a95 Apollon Oikonomopoulos
^^^^^^^^^^^^^^^^^^^
276 eec83a95 Apollon Oikonomopoulos
::
277 eec83a95 Apollon Oikonomopoulos
278 eec83a95 Apollon Oikonomopoulos
 gnt-network info public
279 eec83a95 Apollon Oikonomopoulos
  Name: public
280 eec83a95 Apollon Oikonomopoulos
  IPv4 Network: 192.0.2.0/24
281 eec83a95 Apollon Oikonomopoulos
  IPv4 Gateway: 192.0.2.1
282 eec83a95 Apollon Oikonomopoulos
  IPv6 Network: 2001:db8:dead:beef::/64
283 eec83a95 Apollon Oikonomopoulos
  IPv6 Gateway: 2001:db8:dead:beef::1
284 eec83a95 Apollon Oikonomopoulos
  Total IPv4 count: 256
285 eec83a95 Apollon Oikonomopoulos
  Free address count: 201 (80% free)
286 eec83a95 Apollon Oikonomopoulos
  IPv4 pool status: XXX.........XXXXXXXXXXXXXX...XX.............
287 eec83a95 Apollon Oikonomopoulos
                    XXX..........XXX...........................X
288 eec83a95 Apollon Oikonomopoulos
                    ....XXX..........XXX.....................XXX
289 eec83a95 Apollon Oikonomopoulos
                                            X: occupied  .: free
290 eec83a95 Apollon Oikonomopoulos
  Externally reserved IPv4 addresses:
291 eec83a95 Apollon Oikonomopoulos
    192.0.2.3, 192.0.2.22
292 eec83a95 Apollon Oikonomopoulos
  Connected to node groups:
293 eec83a95 Apollon Oikonomopoulos
   default (link br0), other_group(link br1)
294 eec83a95 Apollon Oikonomopoulos
  Used by 22 instances:
295 eec83a95 Apollon Oikonomopoulos
   inst1
296 eec83a95 Apollon Oikonomopoulos
   inst2
297 eec83a95 Apollon Oikonomopoulos
   inst32
298 eec83a95 Apollon Oikonomopoulos
   ..
299 eec83a95 Apollon Oikonomopoulos
300 eec83a95 Apollon Oikonomopoulos
301 eec83a95 Apollon Oikonomopoulos
IAllocator changes
302 eec83a95 Apollon Oikonomopoulos
++++++++++++++++++
303 eec83a95 Apollon Oikonomopoulos
304 eec83a95 Apollon Oikonomopoulos
The IAllocator protocol can be made network-aware, i.e. also consider
305 eec83a95 Apollon Oikonomopoulos
network availability for node group selection. Networks, as well as
306 eec83a95 Apollon Oikonomopoulos
future shared storage pools, can be seen as constraints used to rule out
307 eec83a95 Apollon Oikonomopoulos
the placement on certain node groups.
308 eec83a95 Apollon Oikonomopoulos
309 eec83a95 Apollon Oikonomopoulos
.. vim: set textwidth=72 :
310 eec83a95 Apollon Oikonomopoulos
.. Local Variables:
311 eec83a95 Apollon Oikonomopoulos
.. mode: rst
312 eec83a95 Apollon Oikonomopoulos
.. fill-column: 72
313 eec83a95 Apollon Oikonomopoulos
.. End: