def check_os_version()

in src/tools/diagnostics/updatecenter_troubleshooter.py [0:0]


def check_os_version():
    rule_id = "Linux.OperatingSystemCheck"
    rule_group_id = "prerequisites"
    os_tuple = utils.get_linux_distribution()
    os_version = os_tuple[0] + "-" + os_tuple[1]
    supported_os_url = "https://docs.microsoft.com/en-us/azure/automation/automation-update-management#clients"
    # We support (Ubuntu 14.04, Ubuntu 16.04, SuSE 11, SuSE 12, Redhat 6, Redhat 7, CentOs 6, CentOs 7)
    if re.search("Ubuntu-20.04", os_version, re.IGNORECASE) or \
       re.search("Ubuntu-16.04", os_version, re.IGNORECASE) or \
       re.search("Ubuntu-18.04", os_version, re.IGNORECASE) or \
       re.search("SuSE-12", os_version, re.IGNORECASE) or \
       re.search("SLES-12", os_version, re.IGNORECASE) or \
       re.search("SLES-15", os_version, re.IGNORECASE) or \
       re.search("SuSE-15", os_version, re.IGNORECASE) or \
       re.search("rhel-7", os_version, re.IGNORECASE) or \
       re.search("rhel-8", os_version, re.IGNORECASE) or \
       re.search("centos-8", os_version, re.IGNORECASE) or \
       re.search("centos-7", os_version, re.IGNORECASE) or \
       re.search("Oracle-8", os_version, re.IGNORECASE) or \
       re.search("Oracle-7", os_version, re.IGNORECASE) :
        write_log_output(rule_id, rule_group_id, status_passed, empty_failure_reason, "Operating system version is supported")
    else:
        log_msg = "Operating System version (%s) is not supported. Supported versions listed here: %s" % (os_version, supported_os_url)
        write_log_output(rule_id, rule_group_id, status_failed, empty_failure_reason, log_msg, supported_os_url)