def main()

in image_test/configuration/linux/configuration-test.py [0:0]


def main():
  # detect distros to instantiate the correct class
  if sys.version_info >= (3, 7):
    import distro
  else:
    import platform as distro

  distribution = distro.linux_distribution()
  distro_name = distribution[0].lower()
  distro_version = distribution[1].split('.')[0]
  DistroClass = None

  if 'red hat enterprise linux' in distro_name and distro_version == '6':
    from redhat import RedHat6Tests as DistroClass
  elif 'red hat enterprise linux' in distro_name:
    from redhat import RedHat7Tests as DistroClass
  elif 'centos' in distro_name and distro_version == '6':
    from centos import CentOS6Tests as DistroClass
  elif 'centos' in distro_name:
    from centos import CentOS7Tests as DistroClass
  elif 'debian' in distro_name and distro_version == '8':
    from debian import Debian8Tests as DistroClass
  elif 'debian' in distro_name and distro_version == '9':
    from debian import Debian9Tests as DistroClass
  elif 'debian' in distro_name:
    from debian import Debian10Tests as DistroClass
  elif 'ubuntu' in distro_name:
    from ubuntu import UbuntuTests as DistroClass
  elif 'suse' in distro_name:
    from suse import SuseTests as DistroClass
  elif 'FreeBSD' in distro.system():
    from freebsd import FreeBSDTests as DistroClass
  else:
    raise Exception('Distribution %s is not supported' % distro_name)

  instance_name = utils.MetadataManager.FetchMetadataDefault('instance_name')

  distro_tests = DistroClass()
  distro_tests.TestPackageInstallation()
  distro_tests.TestNoIrqbalanceInstalled()
  distro_tests.TestKernelCmdargs()
  distro_tests.TestHostname(instance_name)
  distro_tests.TestRsyslogConfig()
  distro_tests.TestRootPasswordDisabled()
  distro_tests.TestSshdConfig()
  distro_tests.TestPackageManagerConfig()
  distro_tests.TestNetworkInterfaceMTU()
  distro_tests.TestNTPConfig()
  distro_tests.TestAutomaticSecurityUpdates()
  distro_tests.TestSysctlSecurityParams()
  distro_tests.TestGcloudUpToDate()