Revision 74e642cd
b/lib/cmdlib.py | ||
---|---|---|
13495 | 13495 |
elif self.op.conflicts_check: |
13496 | 13496 |
_CheckForConflictingIp(self, new_ip, pnode) |
13497 | 13497 |
|
13498 |
if old_ip: |
|
13499 |
if old_net: |
|
13500 |
try: |
|
13501 |
self.cfg.ReleaseIp(old_net, old_ip, self.proc.GetECId()) |
|
13502 |
except errors.AddressPoolError: |
|
13503 |
logging.warning("Release IP %s not contained in network %s", |
|
13504 |
old_ip, old_net) |
|
13498 |
if old_ip and old_net: |
|
13499 |
try: |
|
13500 |
self.cfg.ReleaseIp(old_net, old_ip, self.proc.GetECId()) |
|
13501 |
except errors.AddressPoolError, err: |
|
13502 |
logging.warning("Releasing IP address '%s' from network '%s'" |
|
13503 |
" failed: %s", old_ip, old_net, err) |
|
13505 | 13504 |
|
13506 | 13505 |
# there are no changes in (net, ip) tuple |
13507 | 13506 |
elif (old_net is not None and |
... | ... | |
16246 | 16245 |
# Initialize the associated address pool |
16247 | 16246 |
try: |
16248 | 16247 |
pool = network.AddressPool.InitializeNetwork(nobj) |
16249 |
except errors.AddressPoolError, e: |
|
16250 |
raise errors.OpExecError("Cannot create IP pool for this network: %s" % e) |
|
16248 |
except errors.AddressPoolError, err: |
|
16249 |
raise errors.OpExecError("Cannot create IP address pool for network" |
|
16250 |
" '%s': %s" % (self.op.network_name, err)) |
|
16251 | 16251 |
|
16252 | 16252 |
# Check if we need to reserve the nodes and the cluster master IP |
16253 | 16253 |
# These may not be allocated to any instances in routed mode, as |
... | ... | |
16260 | 16260 |
pool.Reserve(ip) |
16261 | 16261 |
self.LogInfo("Reserved IP address of node '%s' (%s)", |
16262 | 16262 |
node.name, ip) |
16263 |
except errors.AddressPoolError: |
|
16264 |
self.LogWarning("Cannot reserve IP address of node '%s' (%s)",
|
|
16265 |
node.name, ip)
|
|
16263 |
except errors.AddressPoolError, err:
|
|
16264 |
self.LogWarning("Cannot reserve IP address '%s' of node '%s': %s",
|
|
16265 |
ip, node.name, err)
|
|
16266 | 16266 |
|
16267 | 16267 |
master_ip = self.cfg.GetClusterInfo().master_ip |
16268 | 16268 |
try: |
16269 | 16269 |
if pool.Contains(master_ip): |
16270 | 16270 |
pool.Reserve(master_ip) |
16271 | 16271 |
self.LogInfo("Reserved cluster master IP address (%s)", master_ip) |
16272 |
except errors.AddressPoolError: |
|
16273 |
self.LogWarning("Cannot reserve cluster master IP address (%s)", |
|
16274 |
master_ip) |
|
16272 |
except errors.AddressPoolError, err:
|
|
16273 |
self.LogWarning("Cannot reserve cluster master IP address (%s): %s",
|
|
16274 |
master_ip, err)
|
|
16275 | 16275 |
|
16276 | 16276 |
if self.op.add_reserved_ips: |
16277 | 16277 |
for ip in self.op.add_reserved_ips: |
16278 | 16278 |
try: |
16279 | 16279 |
pool.Reserve(ip, external=True) |
16280 |
except errors.AddressPoolError, e: |
|
16281 |
raise errors.OpExecError("Cannot reserve IP %s. %s " % (ip, e)) |
|
16280 |
except errors.AddressPoolError, err: |
|
16281 |
raise errors.OpExecError("Cannot reserve IP address '%s': %s" % |
|
16282 |
(ip, err)) |
|
16282 | 16283 |
|
16283 | 16284 |
if self.op.tags: |
16284 | 16285 |
for tag in self.op.tags: |
Also available in: Unified diff