Sandro Bonazzola has uploaded a new change for review. Change subject: customization: defaults aligned to minimum requirements ......................................................................
customization: defaults aligned to minimum requirements Defaults aligned to minimum requirements. Added values validation against minimum requirements. The confirmation of entered values can be disabled using a CoreEnv variable. Change-Id: I6fbaabc72d8c6459d23054d147b70712c4e33e30 Signed-off-by: Sandro Bonazzola <[email protected]> --- M src/ovirt_hosted_engine_setup/constants.py M src/plugins/ovirt-hosted-engine-setup/core/misc.py M src/plugins/ovirt-hosted-engine-setup/vm/cpu.py M src/plugins/ovirt-hosted-engine-setup/vm/image.py M src/plugins/ovirt-hosted-engine-setup/vm/memory.py 5 files changed, 82 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-hosted-engine-setup refs/changes/76/16776/1 diff --git a/src/ovirt_hosted_engine_setup/constants.py b/src/ovirt_hosted_engine_setup/constants.py index 4edcf52..dca7a7f 100644 --- a/src/ovirt_hosted_engine_setup/constants.py +++ b/src/ovirt_hosted_engine_setup/constants.py @@ -136,6 +136,7 @@ @util.codegen class CoreEnv(object): ANSWER_FILE = 'OVEHOSTED_CORE/answerFile' + REQUIREMENTS_CHECK_ENABLED = 'OVEHOSTED_CORE/checkRequirements' @util.export @@ -330,7 +331,7 @@ DEFAULT_STORAGE_DATACENTER_NAME = 'hosted_datacenter' DEFAULT_VDSMD_SERVICE = 'vdsmd' DEFAULT_IMAGE_DESC = 'Hosted Engine Image' - DEFAULT_IMAGE_SIZE_GB = 20 # based on minimum requirements. + DEFAULT_IMAGE_SIZE_GB = 25 # based on minimum requirements. DEFAULT_MEM_SIZE_MB = 4096 # based on minimum requirements. DEFAULT_BOOT = 'cdrom' # boot device - drive C or cdrom or pxe DEFAULT_CDROM = '/dev/null' @@ -339,13 +340,16 @@ DEFAULT_BRIDGE_NAME = 'ovirtmgmt' DEFAULT_PKI_SUBJECT = '/C=EN/L=Test/O=Test/CN=Test' DEFAULT_VM_PASSWD_VALIDITY_SECS = "10800" # 3 hours to for engine install - DEFAULT_VM_VCPUS = 1 + DEFAULT_VM_VCPUS = 2 # based on minimum requirements. @util.export @util.codegen class Confirms(object): DEPLOY_PROCEED = 'DEPLOY_PROCEED' + CPU_PROCEED = 'CPU_PROCEED' + DISK_PROCEED = 'DISK_PROCEED' + MEMORY_PROCEED = 'MEMORY_PROCEED' # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/plugins/ovirt-hosted-engine-setup/core/misc.py b/src/plugins/ovirt-hosted-engine-setup/core/misc.py index 1bd24f9..4be62d7 100644 --- a/src/plugins/ovirt-hosted-engine-setup/core/misc.py +++ b/src/plugins/ovirt-hosted-engine-setup/core/misc.py @@ -74,6 +74,11 @@ ): raise context.Abort('Aborted by user') + self.environment.setdefault( + ohostedcons.CoreEnv.REQUIREMENTS_CHECK_ENABLED, + True + ) + @plugin.event( stage=plugin.Stages.STAGE_CUSTOMIZATION, ) diff --git a/src/plugins/ovirt-hosted-engine-setup/vm/cpu.py b/src/plugins/ovirt-hosted-engine-setup/vm/cpu.py index e9bce50..a47ab16 100644 --- a/src/plugins/ovirt-hosted-engine-setup/vm/cpu.py +++ b/src/plugins/ovirt-hosted-engine-setup/vm/cpu.py @@ -70,15 +70,36 @@ name='ovehosted_vmenv_cpu', note=_( 'Please specify the number of virtual CPUs for the VM ' - '[@DEFAULT@]: ' + '[Minimum requirement: @DEFAULT@]: ' ), prompt=True, default=ohostedcons.Defaults.DEFAULT_VM_VCPUS, ) try: - int(self.environment[ohostedcons.VMEnv.VCPUS]) valid = True + if int( + self.environment[ohostedcons.VMEnv.VCPUS] + ) < ohostedcons.Defaults.DEFAULT_VM_VCPUS: + self.logger.warning( + _('Minimum requirements for CPUs not met') + ) + if ( + interactive and + self.environment[ + ohostedcons.CoreEnv.REQUIREMENTS_CHECK_ENABLED + ] and + not self.dialog.confirm( + name=ohostedcons.Confirms.CPU_PROCEED, + description='Confirm CPUs', + note=_( + 'Continue with specified CPUs? (yes/no) ' + ), + prompt=True, + ) + ): + valid = False except ValueError: + valid = False if not interactive: raise RuntimeError( _('Invalid number of cpu specified: {vcpu}').format( diff --git a/src/plugins/ovirt-hosted-engine-setup/vm/image.py b/src/plugins/ovirt-hosted-engine-setup/vm/image.py index 796e22b..790b182 100644 --- a/src/plugins/ovirt-hosted-engine-setup/vm/image.py +++ b/src/plugins/ovirt-hosted-engine-setup/vm/image.py @@ -82,15 +82,36 @@ name='ovehosted_vmenv_mem', note=_( 'Please specify the disk size of the VM in GB ' - '[@DEFAULT@]: ' + '[Minimum requirement: @DEFAULT@]: ' ), prompt=True, default=ohostedcons.Defaults.DEFAULT_IMAGE_SIZE_GB, ) try: - int(self.environment[ohostedcons.StorageEnv.IMAGE_SIZE_GB]) valid = True + if int( + self.environment[ohostedcons.StorageEnv.IMAGE_SIZE_GB] + ) < ohostedcons.Defaults.DEFAULT_IMAGE_SIZE_GB: + self.logger.warning( + _('Minimum requirements for disk size not met') + ) + if ( + interactive and + self.environment[ + ohostedcons.CoreEnv.REQUIREMENTS_CHECK_ENABLED + ] and + not self.dialog.confirm( + name=ohostedcons.Confirms.DISK_PROCEED, + description='Confirm disk size', + note=_( + 'Continue with specified disk size? (yes/no) ' + ), + prompt=True, + ) + ): + valid = False except ValueError: + valid = False if not interactive: raise RuntimeError( _('Invalid disk size specified: {size}').format( diff --git a/src/plugins/ovirt-hosted-engine-setup/vm/memory.py b/src/plugins/ovirt-hosted-engine-setup/vm/memory.py index dd190b4..a9dc84d 100644 --- a/src/plugins/ovirt-hosted-engine-setup/vm/memory.py +++ b/src/plugins/ovirt-hosted-engine-setup/vm/memory.py @@ -70,15 +70,38 @@ name='ovehosted_vmenv_mem', note=_( 'Please specify the memory size of the VM in MB ' - '[@DEFAULT@]: ' + '[Minimum requirement: @DEFAULT@]: ' ), prompt=True, default=ohostedcons.Defaults.DEFAULT_MEM_SIZE_MB, ) try: - int(self.environment[ohostedcons.VMEnv.MEM_SIZE_MB]) valid = True + if int( + self.environment[ohostedcons.VMEnv.MEM_SIZE_MB] + ) < ohostedcons.Defaults.DEFAULT_MEM_SIZE_MB: + self.logger.warning( + _('Minimum requirements for memory size not met') + ) + if ( + interactive and + self.environment[ + ohostedcons.CoreEnv.REQUIREMENTS_CHECK_ENABLED + ] and + not self.dialog.confirm( + name=ohostedcons.Confirms.MEMORY_PROCEED, + description='Confirm memory size', + note=_( + 'Continue with specified memory size? ' + '(yes/no) ' + ), + prompt=True, + ) + ): + valid = False + except ValueError: + valid = False if not interactive: raise RuntimeError( _('Invalid memory size specified: {size}').format( -- To view, visit http://gerrit.ovirt.org/16776 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6fbaabc72d8c6459d23054d147b70712c4e33e30 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-hosted-engine-setup Gerrit-Branch: master Gerrit-Owner: Sandro Bonazzola <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
