Revision 651cc3e2 lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
10186 | 10186 |
# check nics' parameter names |
10187 | 10187 |
for nic in self.op.nics: |
10188 | 10188 |
utils.ForceDictType(nic, constants.INIC_PARAMS_TYPES) |
10189 |
# check that NIC's parameters names are unique and valid |
|
10190 |
utils.ValidateDeviceNames("NIC", self.op.nics) |
|
10191 |
|
|
10192 |
# check that disk's names are unique and valid |
|
10193 |
utils.ValidateDeviceNames("disk", self.op.disks) |
|
10189 | 10194 |
|
10190 | 10195 |
cluster = self.cfg.GetClusterInfo() |
10191 | 10196 |
if not self.op.disk_template in cluster.enabled_disk_templates: |
... | ... | |
14009 | 14014 |
" (%d), cannot add more" % constants.MAX_NICS, |
14010 | 14015 |
errors.ECODE_STATE) |
14011 | 14016 |
|
14017 |
def _PrepareDiskMod(_, disk, params, __): |
|
14018 |
disk.name = params.get(constants.IDISK_NAME, None) |
|
14019 |
|
|
14012 | 14020 |
# Verify disk changes (operating on a copy) |
14013 |
disks = instance.disks[:] |
|
14014 |
ApplyContainerMods("disk", disks, None, self.diskmod, None, None, None) |
|
14021 |
disks = copy.deepcopy(instance.disks) |
|
14022 |
ApplyContainerMods("disk", disks, None, self.diskmod, None, _PrepareDiskMod, |
|
14023 |
None) |
|
14024 |
utils.ValidateDeviceNames("disk", disks) |
|
14015 | 14025 |
if len(disks) > constants.MAX_DISKS: |
14016 | 14026 |
raise errors.OpPrereqError("Instance has too many disks (%d), cannot add" |
14017 | 14027 |
" more" % constants.MAX_DISKS, |
... | ... | |
14033 | 14043 |
nics = [nic.Copy() for nic in instance.nics] |
14034 | 14044 |
ApplyContainerMods("NIC", nics, self._nic_chgdesc, self.nicmod, |
14035 | 14045 |
self._CreateNewNic, self._ApplyNicMods, None) |
14046 |
# Verify that NIC names are unique and valid |
|
14047 |
utils.ValidateDeviceNames("NIC", nics) |
|
14036 | 14048 |
self._new_nics = nics |
14037 | 14049 |
ispec[constants.ISPEC_NIC_COUNT] = len(self._new_nics) |
14038 | 14050 |
else: |
Also available in: Unified diff