docs: def get_essential_properties(report, prop_keys):
      """get essential properties
  
      This function returns a dictionary which contains keys as in
      prop_keys and its values from the report.
  
      :param report: SCCI report element
      :param prop_keys: a list of keys for essential properties
      :returns: a dictionary which contains keys as in
                prop_keys and its values.
      """
      v = {}
      v['memory_mb'] = int(report.find('./System/Memory/Installed').text)
      v['local_gb'] = sum(
          [int(int(size.text) / 1024)
           for size in report.findall('.//PhysicalDrive/ConfigurableSize')])
      v['cpus'] = sum([int(cpu.find('./CoreNumber').text)
                       for cpu in report.find('./System/Processor')
                       if cpu.find('./CoreNumber') is not None])
      # v['cpus'] = sum([int(cpu.find('./LogicalCpuNumber').text)
      #                 for cpu in report.find('./System/Processor')])
      v['cpu_arch'] = 'x86_64'
  
      return {k: v[k] for k in prop_keys}