diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 6e2b8a87cb0a2ddd538300c5d0c6d38ccbabc479..36376443f808a841f74c9b5735cab50f48d47885 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -1551,20 +1551,16 @@ def _NICToTuple(lu, nic): @param nic: nic to convert to hooks tuple """ - ip = nic.ip - mac = nic.mac cluster = lu.cfg.GetClusterInfo() filled_params = cluster.SimpleFillNIC(nic.nicparams) mode = filled_params[constants.NIC_MODE] link = filled_params[constants.NIC_LINK] - net = nic.network netinfo = None - if net: - net_uuid = lu.cfg.LookupNetwork(net) - if net_uuid: - nobj = lu.cfg.GetNetwork(net_uuid) - netinfo = objects.Network.ToDict(nobj) - return (ip, mac, mode, link, net, netinfo) + if nic.network: + net_uuid = lu.cfg.LookupNetwork(nic.network) + netinfo = objects.Network.ToDict(lu.cfg.GetNetwork(net_uuid)) + + return (nic.ip, nic.mac, mode, link, nic.network, netinfo) def _NICListToTuple(lu, nics): @@ -13452,12 +13448,12 @@ class LUInstanceSetParams(LogicalUnit): elif new_net != old_net: def get_net_prefix(net): + mac_prefix = None if net: uuid = self.cfg.LookupNetwork(net) - if uuid: - nobj = self.cfg.GetNetwork(uuid) - return nobj.mac_prefix - return None + mac_prefix = self.cfg.GetNetwork(uuid).mac_prefix + + return mac_prefix new_prefix = get_net_prefix(new_net) old_prefix = get_net_prefix(old_net) @@ -16206,11 +16202,15 @@ class LUNetworkAdd(LogicalUnit): raise errors.OpPrereqError("Network must be given", errors.ECODE_INVAL) - uuid = self.cfg.LookupNetwork(self.op.network_name) - - if uuid: - raise errors.OpPrereqError(("Network with name '%s' already exists" % - self.op.network_name), errors.ECODE_EXISTS) + try: + existing_uuid = self.cfg.LookupNetwork(self.op.network_name) + except errors.OpPrereqError: + pass + else: + raise errors.OpPrereqError("Desired network name '%s' already exists as a" + " network (UUID: %s)" % + (self.op.network_name, existing_uuid), + errors.ECODE_EXISTS) # Check tag validity for tag in self.op.tags: @@ -16297,10 +16297,6 @@ class LUNetworkRemove(LogicalUnit): def ExpandNames(self): self.network_uuid = self.cfg.LookupNetwork(self.op.network_name) - if not self.network_uuid: - raise errors.OpPrereqError(("Network '%s' not found" % - self.op.network_name), errors.ECODE_NOENT) - self.share_locks[locking.LEVEL_NODEGROUP] = 1 self.needed_locks = { locking.LEVEL_NETWORK: [self.network_uuid], @@ -16369,9 +16365,6 @@ class LUNetworkSetParams(LogicalUnit): def ExpandNames(self): self.network_uuid = self.cfg.LookupNetwork(self.op.network_name) - if self.network_uuid is None: - raise errors.OpPrereqError(("Network '%s' not found" % - self.op.network_name), errors.ECODE_NOENT) self.needed_locks = { locking.LEVEL_NETWORK: [self.network_uuid], @@ -16633,14 +16626,7 @@ class LUNetworkConnect(LogicalUnit): self.network_link = self.op.network_link self.network_uuid = self.cfg.LookupNetwork(self.network_name) - if self.network_uuid is None: - raise errors.OpPrereqError("Network '%s' does not exist" % - self.network_name, errors.ECODE_NOENT) - self.group_uuid = self.cfg.LookupNodeGroup(self.group_name) - if self.group_uuid is None: - raise errors.OpPrereqError("Group '%s' does not exist" % - self.group_name, errors.ECODE_NOENT) self.needed_locks = { locking.LEVEL_INSTANCE: [], @@ -16769,14 +16755,7 @@ class LUNetworkDisconnect(LogicalUnit): self.group_name = self.op.group_name self.network_uuid = self.cfg.LookupNetwork(self.network_name) - if self.network_uuid is None: - raise errors.OpPrereqError("Network '%s' does not exist" % - self.network_name, errors.ECODE_NOENT) - self.group_uuid = self.cfg.LookupNodeGroup(self.group_name) - if self.group_uuid is None: - raise errors.OpPrereqError("Group '%s' does not exist" % - self.group_name, errors.ECODE_NOENT) self.needed_locks = { locking.LEVEL_INSTANCE: [], diff --git a/lib/config.py b/lib/config.py index 5a882da5e120dbdf73496a749a7e94ee3b68fd0f..4f8c36db0d01fa76ee81ed01ebf5b46b7bd2b0cd 100644 --- a/lib/config.py +++ b/lib/config.py @@ -277,10 +277,9 @@ class ConfigWriter: prefix = None if net: net_uuid = self._UnlockedLookupNetwork(net) - if net_uuid: - nobj = self._UnlockedGetNetwork(net_uuid) - if nobj.mac_prefix: - prefix = nobj.mac_prefix + nobj = self._UnlockedGetNetwork(net_uuid) + if nobj.mac_prefix: + prefix = nobj.mac_prefix return prefix @@ -366,8 +365,7 @@ class ConfigWriter: """ net_uuid = self._UnlockedLookupNetwork(net) - if net_uuid: - self._UnlockedReleaseIp(net_uuid, address, ec_id) + self._UnlockedReleaseIp(net_uuid, address, ec_id) @locking.ssynchronized(_config_lock, shared=1) def GenerateIp(self, net, ec_id): @@ -411,8 +409,7 @@ class ConfigWriter: """ net_uuid = self._UnlockedLookupNetwork(net) - if net_uuid: - return self._UnlockedReserveIp(net_uuid, address, ec_id) + return self._UnlockedReserveIp(net_uuid, address, ec_id) @locking.ssynchronized(_config_lock, shared=1) def ReserveLV(self, lv_name, ec_id): @@ -1457,9 +1454,8 @@ class ConfigWriter: for nic in instance.nics: if nic.network is not None and nic.ip is not None: net_uuid = self._UnlockedLookupNetwork(nic.network) - if net_uuid: - # Return all IP addresses to the respective address pools - self._UnlockedCommitIp(constants.RELEASE_ACTION, net_uuid, nic.ip) + # Return all IP addresses to the respective address pools + self._UnlockedCommitIp(constants.RELEASE_ACTION, net_uuid, nic.ip) del self._config_data.instances[instance_name] self._config_data.cluster.serial_no += 1 @@ -2477,12 +2473,6 @@ class ConfigWriter: if check_uuid: self._EnsureUUID(net, ec_id) - existing_uuid = self._UnlockedLookupNetwork(net.name) - if existing_uuid: - raise errors.OpPrereqError("Desired network name '%s' already" - " exists as a network (UUID: %s)" % - (net.name, existing_uuid), - errors.ECODE_EXISTS) net.serial_no = 1 self._config_data.networks[net.uuid] = net self._config_data.cluster.serial_no += 1 @@ -2502,7 +2492,8 @@ class ConfigWriter: for net in self._config_data.networks.values(): if net.name == target: return net.uuid - return None + raise errors.OpPrereqError("Network '%s' not found" % target, + errors.ECODE_NOENT) @locking.ssynchronized(_config_lock, shared=1) def LookupNetwork(self, target): @@ -2549,9 +2540,6 @@ class ConfigWriter: """ net_uuid = self._UnlockedLookupNetwork(net) - if net_uuid is None: - return None - node_info = self._UnlockedGetNodeInfo(node) nodegroup_info = self._UnlockedGetNodeGroup(node_info.group) netparams = nodegroup_info.networks.get(net_uuid, None)