5619 |
5619 |
"hvparams", "beparams"]
|
5620 |
5620 |
REQ_BGL = False
|
5621 |
5621 |
|
|
5622 |
def CheckArguments(self):
|
|
5623 |
"""Check arguments.
|
|
5624 |
|
|
5625 |
"""
|
|
5626 |
# do not require name_check to ease forward/backward compatibility
|
|
5627 |
# for tools
|
|
5628 |
if not hasattr(self.op, "name_check"):
|
|
5629 |
self.op.name_check = True
|
|
5630 |
if self.op.ip_check and not self.op.name_check:
|
|
5631 |
# TODO: make the ip check more flexible and not depend on the name check
|
|
5632 |
raise errors.OpPrereqError("Cannot do ip checks without a name check",
|
|
5633 |
errors.ECODE_INVAL)
|
|
5634 |
|
5622 |
5635 |
def _ExpandNode(self, node):
|
5623 |
5636 |
"""Expands and checks one node name.
|
5624 |
5637 |
|
... | ... | |
5683 |
5696 |
#### instance parameters check
|
5684 |
5697 |
|
5685 |
5698 |
# instance name verification
|
5686 |
|
hostname1 = utils.GetHostInfo(self.op.instance_name)
|
5687 |
|
self.op.instance_name = instance_name = hostname1.name
|
|
5699 |
if self.op.name_check:
|
|
5700 |
hostname1 = utils.GetHostInfo(self.op.instance_name)
|
|
5701 |
self.op.instance_name = instance_name = hostname1.name
|
|
5702 |
# used in CheckPrereq for ip ping check
|
|
5703 |
self.check_ip = hostname1.ip
|
|
5704 |
else:
|
|
5705 |
instance_name = self.op.instance_name
|
|
5706 |
self.check_ip = None
|
5688 |
5707 |
|
5689 |
5708 |
# this is just a preventive check, but someone might still add this
|
5690 |
5709 |
# instance in the meantime, and creation will fail at lock-add time
|
... | ... | |
5713 |
5732 |
if ip is None or ip.lower() == constants.VALUE_NONE:
|
5714 |
5733 |
nic_ip = None
|
5715 |
5734 |
elif ip.lower() == constants.VALUE_AUTO:
|
|
5735 |
if not self.op.name_check:
|
|
5736 |
raise errors.OpPrereqError("IP address set to auto but name checks"
|
|
5737 |
" have been skipped. Aborting.",
|
|
5738 |
errors.ECODE_INVAL)
|
5716 |
5739 |
nic_ip = hostname1.ip
|
5717 |
5740 |
else:
|
5718 |
5741 |
if not utils.IsValidIP(ip):
|
... | ... | |
5780 |
5803 |
errors.ECODE_INVAL)
|
5781 |
5804 |
self.disks.append({"size": size, "mode": mode})
|
5782 |
5805 |
|
5783 |
|
# used in CheckPrereq for ip ping check
|
5784 |
|
self.check_ip = hostname1.ip
|
5785 |
|
|
5786 |
5806 |
# file storage checks
|
5787 |
5807 |
if (self.op.file_driver and
|
5788 |
5808 |
not self.op.file_driver in constants.FILE_DRIVER):
|