Revision 4b2f38dd lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
3175 | 3175 |
if not hasattr(self.op, attr): |
3176 | 3176 |
setattr(self.op, attr, None) |
3177 | 3177 |
|
3178 |
# cheap checks, mostly valid constants given |
|
3179 |
|
|
3178 | 3180 |
# verify creation mode |
3179 | 3181 |
if self.op.mode not in (constants.INSTANCE_CREATE, |
3180 | 3182 |
constants.INSTANCE_IMPORT): |
3181 | 3183 |
raise errors.OpPrereqError("Invalid instance creation mode '%s'" % |
3182 | 3184 |
self.op.mode) |
3185 |
|
|
3183 | 3186 |
# disk template and mirror node verification |
3184 | 3187 |
if self.op.disk_template not in constants.DISK_TEMPLATES: |
3185 | 3188 |
raise errors.OpPrereqError("Invalid disk template name") |
3186 | 3189 |
|
3190 |
if self.op.hypervisor is None: |
|
3191 |
self.op.hypervisor = self.cfg.GetHypervisorType() |
|
3192 |
|
|
3193 |
enabled_hvs = self.cfg.GetClusterInfo().enabled_hypervisors |
|
3194 |
if self.op.hypervisor not in enabled_hvs: |
|
3195 |
raise errors.OpPrereqError("Selected hypervisor (%s) not enabled in the" |
|
3196 |
" cluster (%s)" % (self.op.hypervisor, |
|
3197 |
",".join(enabled_hvs))) |
|
3198 |
|
|
3187 | 3199 |
#### instance parameters check |
3188 | 3200 |
|
3189 | 3201 |
# instance name verification |
... | ... | |
3348 | 3360 |
raise errors.OpPrereqError("Cluster does not support lvm-based" |
3349 | 3361 |
" instances") |
3350 | 3362 |
|
3351 |
# cheap checks (from the config only) |
|
3352 |
|
|
3353 |
if self.op.hypervisor is None: |
|
3354 |
self.op.hypervisor = self.cfg.GetHypervisorType() |
|
3355 |
|
|
3356 |
enabled_hvs = self.cfg.GetClusterInfo().enabled_hypervisors |
|
3357 |
if self.op.hypervisor not in enabled_hvs: |
|
3358 |
raise errors.OpPrereqError("Selected hypervisor (%s) not enabled in the" |
|
3359 |
" cluster (%s)" % (self.op.hypervisor, |
|
3360 |
",".join(enabled_hvs))) |
|
3361 |
|
|
3362 |
# costly checks (from nodes) |
|
3363 | 3363 |
|
3364 | 3364 |
if self.op.mode == constants.INSTANCE_IMPORT: |
3365 | 3365 |
src_node = self.op.src_node |
Also available in: Unified diff