docs: def get_essential_properties(self):
          """Gets essential scheduling properties as required by ironic
  
          :returns: a dictionary of server properties like memory size,
                    disk size, number of cpus, cpu arch, port numbers
                    and mac addresses.
          :raises:IloError if iLO returns an error in command execution.
  
          """
          data = self.get_host_health_data()
          properties = {
              'memory_mb': self._parse_memory_embedded_health(data)
          }
          cpus, cpu_arch = self._parse_processor_embedded_health(data)
          properties['cpus'] = cpus
          properties['cpu_arch'] = cpu_arch
          properties['local_gb'] = self._parse_storage_embedded_health(data)
          macs = self._parse_nics_embedded_health(data)
          return_value = {'properties': properties, 'macs': macs}
          return return_value