Revision 031d2db1 doc/design-network.rst

b/doc/design-network.rst
88 88
bitfields, the length of the network size each:
89 89

  
90 90
``reservations``
91
  This field holds all IP addresses reserved by Ganeti instances, as
92
  well as cluster IP addresses (node addresses + cluster master)
91
  This field holds all IP addresses reserved by Ganeti instances.
93 92

  
94 93
``external reservations``
95 94
  This field holds all IP addresses that are manually reserved by the
96
  administrator, because some other equipment is using them outside the
97
  scope of Ganeti.
95
  administrator (external gateway, IPs of external servers, etc) or
96
  automatically by ganeti (the network/broadcast addresses,
97
  Cluster IPs (node addresses + cluster master)). These IPs are excluded
98
  from the IP pool and cannot be assigned automatically by ganeti to
99
  instances (via ip=pool).
98 100

  
99 101
The bitfields are implemented using the python-bitarray package for
100 102
space efficiency and their binary value stored base64-encoded for JSON
101 103
compatibility. This approach gives relatively compact representations
102 104
even for large IPv4 networks (e.g. /20).
103 105

  
104
Ganeti-owned IP addresses (node + master IPs) are reserved automatically
105
if the cluster's data network itself is placed under pool management.
106
Cluster IP addresses (node + master IPs) are reserved automatically
107
as external if the cluster's data network itself is placed under
108
pool management.
106 109

  
107 110
Helper ConfigWriter methods provide free IP address generation and
108 111
reservation, using a TemporaryReservationManager.
......
129 132

  
130 133
We also introduce a new ``ip`` address value, ``constants.NIC_IP_POOL``,
131 134
that specifies that a given NIC's IP address should be obtained using
132
the IP address pool of the specified network. This value is only valid
135
the first available IP address inside the pool of the specified network.
136
(reservations OR external_reservations). This value is only valid
133 137
for NICs belonging to a network. A NIC's IP address can also be
134 138
specified manually, as long as it is contained in the network the NIC
135
is connected to.
139
is connected to. In case this IP is externally reserved, Ganeti will produce
140
an error which the user can override if explicitly requested. Of course
141
this IP will be reserved and will not be able to be assigned to another
142
instance.
136 143

  
137 144

  
138 145
Hooks

Also available in: Unified diff