def METHOD_NAME(duthosts, enum_rand_one_per_hwsku_hostname,
                                     localhost, conn_graph_facts, xcvr_skip_list):      # noqa F811
    """
    @summary: This test case is to test various system checks in config reload
    """
    duthost = duthosts[enum_rand_one_per_hwsku_hostname]
    if not config_force_option_supported(duthost):
        return
    reboot(duthost, localhost, reboot_type="cold", wait=5,
           plt_reboot_ctrl_overwrite=False)
    # Check if all database containers have started
    wait_until(60, 1, 0, check_database_status, duthost)
    # Check if interfaces-config.service is exited
    wait_until(60, 1, 0, check_interfaces_config_service_status, duthost)
    logging.info("Reload configuration check")
    out = duthost.shell("sudo config reload -y",
                        executable="/bin/bash", module_ignore_errors=True)
    # config reload command shouldn't work immediately after system reboot
    assert "Retry later" in out['stdout']
    assert wait_until(300, 20, 0, config_system_checks_passed, duthost)
    # After the system checks succeed the config reload command should not throw error
    out = duthost.shell("sudo config reload -y",
                        executable="/bin/bash", module_ignore_errors=True)
    assert "Retry later" not in out['stdout']
    # Immediately after one config reload command, another shouldn't execute and wait for system checks
    logging.info("Checking config reload after system is up")
    # Check if all database containers have started
    wait_until(60, 1, 0, check_database_status, duthost)
    # Check if interfaces-config.service is exited
    wait_until(60, 1, 0, check_interfaces_config_service_status, duthost)
    out = duthost.shell("sudo config reload -y",
                        executable="/bin/bash", module_ignore_errors=True)
    assert "Retry later" in out['stdout']
    assert wait_until(300, 20, 0, config_system_checks_passed, duthost)
    logging.info("Stopping swss docker and checking config reload")
    if duthost.is_multi_asic:
        for asic in duthost.asics:
            duthost.shell("sudo service swss@{} stop".format(asic.asic_index))
    else:
        duthost.shell("sudo service swss stop")
    # Without swss running config reload option should not proceed
    out = duthost.shell("sudo config reload -y",
                        executable="/bin/bash", module_ignore_errors=True)
    assert "Retry later" in out['stdout']
    # However with force option config reload should proceed
    logging.info("Performing force config reload")
    out = duthost.shell("sudo config reload -y -f", executable="/bin/bash")
    assert "Retry later" not in out['stdout']
    assert wait_until(300, 20, 0, config_system_checks_passed, duthost)