code: def _detect_hardware_and_os(self, ssh):
          
  
          info = {
              'series': '',
              'arch': '',
              'cpu-cores': '',
              'mem': '',
          }
  
          stdout, stderr = self._run_command(
              ssh,
              ["sudo", "/bin/bash -c " + shlex.quote(DETECTION_SCRIPT)],
              pty=True,
          )
  
          lines = stdout.split("\n")
          info['series'] = lines[0].strip()
          info['arch'] = normalize_arch(lines[1].strip())
  
          memKb = re.split(r'\s+', lines[2])[1]
  
          # Convert megabytes -> kilobytes
          info['mem'] = round(int(memKb) / 1024)
  
          # Detect available CPUs
          recorded = {}
          for line in lines[3:]:
              physical_id = ""
              print(line)
  
              if line.find("physical id") == 0:
                  physical_id = line.split(":")[1].strip()
              elif line.find("cpu cores") == 0:
                  cores = line.split(":")[1].strip()
  
                  if physical_id not in recorded.keys():
                      info['cpu-cores'] += cores
                      recorded[physical_id] = True
  
          return info
docs: Detect the target hardware capabilities and OS series.
  
          :param object ssh: The SSHClient
          :return: str: A raw string containing OS and hardware information.