diff --git a/lib/config.py b/lib/config.py index bb4adcaf66cd916f87ce7dc433bab627f67d07a0..d2b9c5633b124defaca9f6d665b7297f63c7ca3e 100644 --- a/lib/config.py +++ b/lib/config.py @@ -342,9 +342,9 @@ class ConfigWriter: """ nobj = self._UnlockedGetNetwork(net_uuid) pool = network.AddressPool(nobj) - if action == 'reserve': + if action == constants.RESERVE_ACTION: pool.Reserve(address) - elif action == 'release': + elif action == constants.RELEASE_ACTION: pool.Release(address) def _UnlockedReleaseIp(self, net_uuid, address, ec_id): @@ -354,7 +354,8 @@ class ConfigWriter: as reserved. """ - self._temporary_ips.Reserve(ec_id, ('release', address, net_uuid)) + self._temporary_ips.Reserve(ec_id, + (constants.RELEASE_ACTION, address, net_uuid)) @locking.ssynchronized(_config_lock, shared=1) def ReleaseIp(self, net, address, ec_id): @@ -382,7 +383,7 @@ class ConfigWriter: ip = gen_free() except StopIteration: raise errors.ReservationError("Cannot generate IP. Network is full") - return ("reserve", ip, net_uuid) + return (constants.RESERVE_ACTION, ip, net_uuid) _, address, _ = self._temporary_ips.Generate([], gen_one, ec_id) return address @@ -400,7 +401,9 @@ class ConfigWriter: if isreserved: raise errors.ReservationError("IP address already in use") - return self._temporary_ips.Reserve(ec_id, ('reserve', address, net_uuid)) + return self._temporary_ips.Reserve(ec_id, + (constants.RESERVE_ACTION, + address, net_uuid)) @locking.ssynchronized(_config_lock, shared=1) def ReserveIp(self, net, address, ec_id): @@ -1452,7 +1455,7 @@ class ConfigWriter: net_uuid = self._UnlockedLookupNetwork(nic.network) if net_uuid: # Return all IP addresses to the respective address pools - self._UnlockedCommitIp('release', net_uuid, nic.ip) + self._UnlockedCommitIp(constants.RELEASE_ACTION, net_uuid, nic.ip) del self._config_data.instances[instance_name] self._config_data.cluster.serial_no += 1 diff --git a/lib/constants.py b/lib/constants.py index 6e23fac266a05782334177d44e9e569ede4afabb..3f32d5e7d11158ea73782ef669b46a319830c975 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -1072,6 +1072,9 @@ NIC_IP_POOL = "pool" NIC_VALID_MODES = frozenset([NIC_MODE_BRIDGED, NIC_MODE_ROUTED]) +RESERVE_ACTION = 'reserve' +RELEASE_ACTION = 'release' + # An extra description of the network. # Can be used by hooks/kvm-vif-bridge to apply different rules NETWORK_TYPE_PRIVATE = "private"