def main()

in src/slurm_plugin/fleet_status_manager.py [0:0]


def main():
    default_log_file = "/var/log/parallelcluster/slurm_fleet_status_manager.log"
    logging.basicConfig(
        filename=default_log_file,
        level=logging.INFO,
        format="%(asctime)s - [%(name)s:%(funcName)s] - %(levelname)s - %(message)s",
    )
    log.info("FleetManager startup.")
    args = _parse_arguments()
    try:
        config_file = os.environ.get(
            "CONFIG_FILE", os.path.join(CONFIG_FILE_DIR, "parallelcluster_slurm_fleet_status_manager.conf")
        )
        fleet_status_manager_config = SlurmFleetManagerConfig(config_file)
        try:
            # Configure root logger
            fileConfig(fleet_status_manager_config.logging_config, disable_existing_loggers=False)
        except Exception as e:
            log.warning(
                "Unable to configure logging from %s, using default settings and writing to %s.\nException: %s",
                fleet_status_manager_config.logging_config,
                default_log_file,
                e,
            )
        log.info("FleetManager config: %s", fleet_status_manager_config)
        _manage_fleet_status_transition(fleet_status_manager_config, args.computefleet_status_data)
        log.info("FleetManager finished.")
    except Exception as e:
        log.exception("Encountered exception when running fleet manager: %s", e)
        sys.exit(1)