Example #1
0
 def _parseMemoryParameters(self, output):
     """
     This procedure parses and sets the values of the Memory Configuration for the Managed System
     @param output: output of 'lshwres -r mem --level sys <Managed System>' command
     @type output: String
     @param managedSysDo: data object of ManagedSystemDo
     @type managedSysDo: ManagedSystemDo class instace 
     """
     if output:
         propertiesDict = self.buildPropertiesDict(output)
         memoryParameters = ibm_hmc_lib.ManagedSystemMemoryParameters()
         memoryParameters.configurableSysMem = ibm_hmc_lib.toLong(
             propertiesDict.get('configurable_sys_mem'))
         memoryParameters.memRegSize = ibm_hmc_lib.toInteger(
             propertiesDict.get('mem_region_size'))
         memoryParameters.currAvailMem = ibm_hmc_lib.toLong(
             propertiesDict.get('curr_avail_sys_mem'))
         memoryParameters.installedMem = ibm_hmc_lib.toLong(
             propertiesDict.get('installed_sys_mem'))
         memoryParameters.reqHugePagesNum = ibm_hmc_lib.toLong(
             propertiesDict.get('requested_num_sys_huge_pages'))
         memoryParameters.pendingAvailMem = ibm_hmc_lib.toLong(
             propertiesDict.get('pend_avail_sys_mem'))
         memoryParameters.firmwareMem = ibm_hmc_lib.toLong(
             propertiesDict.get('sys_firmware_mem'))
         memoryParameters.hugePageSize = ibm_hmc_lib.toLong(
             propertiesDict.get('huge_page_size'))
         memoryParameters.maxNumberHugePages = ibm_hmc_lib.toInteger(
             propertiesDict.get('max_num_sys_huge_pages'))
         return memoryParameters
Example #2
0
 def _parseLparProfile(self, buffer):
     """
     This function performs parsing of the command output lssysscfg -r prof -m '<Managed System Name>' bloc
     and sets the values for IbmLparProfileDo
     @param buffer: command output buffer
     @type buffer: String
     @return: instance of IbmLparProfileDo class 
     """
     if buffer :
         propertiesDict = self.buildPropertiesDict(buffer)
         lparId = ibm_hmc_lib.toInteger(propertiesDict.get('lpar_id'))
         if not lparId:
             raise ValueError('Failed to parse out Lpar Id for buffer %s' % buffer)
         lparProfile = ibm_fsm.IbmLparProfile()
         lparProfile.desNumHugePages = ibm_hmc_lib.toInteger(propertiesDict.get('desired_num_huge_pages'))
         lparProfile.minNumHugePages = ibm_hmc_lib.toInteger(propertiesDict.get('min_num_huge_pages'))
         lparProfile.maxNumHugePages = ibm_hmc_lib.toInteger(propertiesDict.get('max_num_huge_pages'))
         lparProfile.desCpu = ibm_hmc_lib.toInteger(propertiesDict.get('desired_procs'))
         lparProfile.minCpu = ibm_hmc_lib.toInteger(propertiesDict.get('min_procs'))
         lparProfile.maxCpu = ibm_hmc_lib.toInteger(propertiesDict.get('max_procs'))
         lparProfile.desPhysCpu = ibm_hmc_lib.toFloat(propertiesDict.get('desired_proc_units'))
         lparProfile.minPhysCpu = ibm_hmc_lib.toFloat(propertiesDict.get('min_proc_units'))
         lparProfile.maxPhysCpu = ibm_hmc_lib.toFloat(propertiesDict.get('max_proc_units'))
         lparProfile.desMem = ibm_hmc_lib.toLong(propertiesDict.get('desired_mem'))
         lparProfile.minMem = ibm_hmc_lib.toLong(propertiesDict.get('min_mem'))
         lparProfile.maxMem = ibm_hmc_lib.toLong(propertiesDict.get('max_mem'))
         lparProfile.sharingMode = propertiesDict.get('sharing_mode')
         if lparProfile.sharingMode and lparProfile.sharingMode not in ibm_fsm.LPAR_SHARING_MODES:
             logger.warn('Unsupported sharing mode: %s. Setting to None.' % lparProfile.sharingMode)
             lparProfile.sharingMode = None
         lparProfile.cpuMode = propertiesDict.get('proc_mode')
         if lparProfile.cpuMode and ibm_fsm.LPAR_CPU_MODES.has_key(lparProfile.cpuMode):
             lparProfile.cpuMode = ibm_fsm.LPAR_CPU_MODES.get(lparProfile.cpuMode)
         else:
             logger.warn('Unsupported CPU mode %s. Setting to None' % lparProfile.cpuMode)
             lparProfile.cpuMode = None
         lparProfile.uncapWeight = ibm_hmc_lib.toInteger(propertiesDict.get('uncap_weight'))
         lparProfile.connMonEnabled = ibm_hmc_lib.toInteger(propertiesDict.get('conn_monitoring'))
         lparProfile.maxVirtSlots = ibm_hmc_lib.toInteger(propertiesDict.get('max_virtual_slots'))
         lparProfile.ioPoolIds = propertiesDict.get('lpar_io_pool_ids')
         lparProfile.virtSerialAdapters = propertiesDict.get('virtual_serial_adapters')
         
         return {lparId : lparProfile}
Example #3
0
 def _parseMemoryParameters(self, output):
     """
     This procedure parses and sets the values of the Memory Configuration for the Managed System
     @param output: output of 'lshwres -r mem --level sys <Managed System>' command
     @type output: String
     @param managedSysDo: data object of ManagedSystemDo
     @type managedSysDo: ManagedSystemDo class instace 
     """
     if output:
         propertiesDict = self.buildPropertiesDict(output)
         memoryParameters = ibm_hmc_lib.ManagedSystemMemoryParameters()
         memoryParameters.configurableSysMem = ibm_hmc_lib.toLong(propertiesDict.get('configurable_sys_mem'))
         memoryParameters.memRegSize = ibm_hmc_lib.toInteger(propertiesDict.get('mem_region_size'))
         memoryParameters.currAvailMem = ibm_hmc_lib.toLong(propertiesDict.get('curr_avail_sys_mem'))
         memoryParameters.installedMem = ibm_hmc_lib.toLong(propertiesDict.get('installed_sys_mem'))
         memoryParameters.reqHugePagesNum = ibm_hmc_lib.toLong(propertiesDict.get('requested_num_sys_huge_pages'))
         memoryParameters.pendingAvailMem = ibm_hmc_lib.toLong(propertiesDict.get('pend_avail_sys_mem'))
         memoryParameters.firmwareMem = ibm_hmc_lib.toLong(propertiesDict.get('sys_firmware_mem'))
         memoryParameters.hugePageSize = ibm_hmc_lib.toLong(propertiesDict.get('huge_page_size'))
         memoryParameters.maxNumberHugePages = ibm_hmc_lib.toInteger(propertiesDict.get('max_num_sys_huge_pages'))
         return memoryParameters
Example #4
0
    def _parseLparProfile(self, buffer):
        """
        This function performs parsing of the command output lssysscfg -r prof -m '<Managed System Name>' bloc
        and sets the values for IbmLparProfileDo
        @param buffer: command output buffer
        @type buffer: String
        @return: instance of IbmLparProfileDo class 
        """
        if buffer:
            propertiesDict = self.buildPropertiesDict(buffer)
            lparId = ibm_hmc_lib.toInteger(propertiesDict.get('lpar_id'))
            if not lparId:
                raise ValueError('Failed to parse out Lpar Id for buffer %s' %
                                 buffer)
            lparProfile = ibm_fsm.IbmLparProfile()
            lparProfile.desNumHugePages = ibm_hmc_lib.toInteger(
                propertiesDict.get('desired_num_huge_pages'))
            lparProfile.minNumHugePages = ibm_hmc_lib.toInteger(
                propertiesDict.get('min_num_huge_pages'))
            lparProfile.maxNumHugePages = ibm_hmc_lib.toInteger(
                propertiesDict.get('max_num_huge_pages'))
            lparProfile.desCpu = ibm_hmc_lib.toInteger(
                propertiesDict.get('desired_procs'))
            lparProfile.minCpu = ibm_hmc_lib.toInteger(
                propertiesDict.get('min_procs'))
            lparProfile.maxCpu = ibm_hmc_lib.toInteger(
                propertiesDict.get('max_procs'))
            lparProfile.desPhysCpu = ibm_hmc_lib.toFloat(
                propertiesDict.get('desired_proc_units'))
            lparProfile.minPhysCpu = ibm_hmc_lib.toFloat(
                propertiesDict.get('min_proc_units'))
            lparProfile.maxPhysCpu = ibm_hmc_lib.toFloat(
                propertiesDict.get('max_proc_units'))
            lparProfile.desMem = ibm_hmc_lib.toLong(
                propertiesDict.get('desired_mem'))
            lparProfile.minMem = ibm_hmc_lib.toLong(
                propertiesDict.get('min_mem'))
            lparProfile.maxMem = ibm_hmc_lib.toLong(
                propertiesDict.get('max_mem'))
            lparProfile.sharingMode = propertiesDict.get('sharing_mode')
            if lparProfile.sharingMode and lparProfile.sharingMode not in ibm_fsm.LPAR_SHARING_MODES:
                logger.warn('Unsupported sharing mode: %s. Setting to None.' %
                            lparProfile.sharingMode)
                lparProfile.sharingMode = None
            lparProfile.cpuMode = propertiesDict.get('proc_mode')
            if lparProfile.cpuMode and ibm_fsm.LPAR_CPU_MODES.has_key(
                    lparProfile.cpuMode):
                lparProfile.cpuMode = ibm_fsm.LPAR_CPU_MODES.get(
                    lparProfile.cpuMode)
            else:
                logger.warn('Unsupported CPU mode %s. Setting to None' %
                            lparProfile.cpuMode)
                lparProfile.cpuMode = None
            lparProfile.uncapWeight = ibm_hmc_lib.toInteger(
                propertiesDict.get('uncap_weight'))
            lparProfile.connMonEnabled = ibm_hmc_lib.toInteger(
                propertiesDict.get('conn_monitoring'))
            lparProfile.maxVirtSlots = ibm_hmc_lib.toInteger(
                propertiesDict.get('max_virtual_slots'))
            lparProfile.ioPoolIds = propertiesDict.get('lpar_io_pool_ids')
            lparProfile.virtSerialAdapters = propertiesDict.get(
                'virtual_serial_adapters')

            return {lparId: lparProfile}