def do_housekeeping(): terminating = False server_delete_timeout = JBoxCfg.get('interactive.expire') inactive_timeout = JBoxCfg.get('interactive.inactivity_timeout') SessContainer.maintain(max_timeout=server_delete_timeout, inactive_timeout=inactive_timeout) is_leader = is_cluster_leader() if is_leader: terminating = False else: try: terminating = JBoxAsyncJob.sync_is_terminating() if terminating['code'] == 0: terminating = terminating['data'] else: JBox.log_error("Error checking if instance is terminating. Assuming False.") terminating = False except: JBox.log_error("Exception checking if instance is terminating. Assuming False.") terminating = False if is_leader: JBox.log_info("I am the cluster leader") JBox.update_juliabox_status() JBox.monitor_registrations() if not JBoxDynConfig.is_stat_collected_within(Compute.get_install_id(), 1): JBoxAsyncJob.async_collect_stats() if terminating: JBox.log_warn("terminating to scale down") else: JBox.do_update_user_home_image() JBoxAsyncJob.async_plugin_maintenance(is_leader)
def do_housekeeping(): JBox.do_update_user_home_image() server_delete_timeout = JBox.cfg['expire'] JBoxContainer.maintain(max_timeout=server_delete_timeout, inactive_timeout=JBox.cfg['inactivity_timeout'], protected_names=JBox.cfg['protected_docknames']) if JBox.cfg['cloud_host']['scale_down'] and (JBoxContainer.num_active() == 0) and \ (JBoxContainer.num_stopped() == 0) and CloudHost.should_terminate(): JBox.log_info("terminating to scale down") try: CloudHost.deregister_instance_dns() except: CloudHost.log_error("Error deregistering instance dns") CloudHost.terminate_instance() elif is_cluster_leader(): CloudHost.log_info("I am the cluster leader") JBox.monitor_registrations() if not JBoxDynConfig.is_stat_collected_within(CloudHost.INSTALL_ID, 7): JBoxContainer.async_collect_stats()
def do_housekeeping(): terminating = False server_delete_timeout = JBox.cfg['expire'] JBoxContainer.maintain(max_timeout=server_delete_timeout, inactive_timeout=JBox.cfg['inactivity_timeout'], protected_names=JBox.cfg['protected_docknames']) if is_cluster_leader(): CloudHost.log_info("I am the cluster leader") JBox.monitor_registrations() if not JBoxDynConfig.is_stat_collected_within(CloudHost.INSTALL_ID, 1): JBoxContainer.async_collect_stats() JBoxContainer.async_update_disk_state() elif JBox.is_ready_to_terminate(): terminating = True JBox.log_warn("terminating to scale down") try: CloudHost.deregister_instance_dns() except: CloudHost.log_error("Error deregistering instance dns") CloudHost.terminate_instance() if not terminating: JBox.do_update_user_home_image()
def do_housekeeping(): terminating = False server_delete_timeout = JBoxCfg.get('interactive.expire') inactive_timeout = JBoxCfg.get('interactive.inactivity_timeout') SessContainer.maintain(max_timeout=server_delete_timeout, inactive_timeout=inactive_timeout) is_leader = is_cluster_leader() if is_leader: terminating = False else: try: terminating = JBoxAsyncJob.sync_is_terminating() if terminating['code'] == 0: terminating = terminating['data'] else: JBox.log_error( "Error checking if instance is terminating. Assuming False." ) terminating = False except: JBox.log_error( "Exception checking if instance is terminating. Assuming False." ) terminating = False if is_leader: JBox.log_info("I am the cluster leader") JBox.update_juliabox_status() JBox.monitor_registrations() if not JBoxDynConfig.is_stat_collected_within( Compute.get_install_id(), 1): JBoxAsyncJob.async_collect_stats() if terminating: JBox.log_warn("terminating to scale down") else: JBox.do_update_user_home_image() JBoxAsyncJob.async_plugin_maintenance(is_leader)
def do_housekeeping(): terminating = False server_delete_timeout = JBox.cfg['expire'] JBoxContainer.maintain(max_timeout=server_delete_timeout, inactive_timeout=JBox.cfg['inactivity_timeout'], protected_names=JBox.cfg['protected_docknames']) if is_cluster_leader(): CloudHost.log_info("I am the cluster leader") JBox.monitor_registrations() if not JBoxDynConfig.is_stat_collected_within( CloudHost.INSTALL_ID, 7): JBoxContainer.async_collect_stats() elif JBox.is_ready_to_terminate(): terminating = True JBox.log_info("terminating to scale down") try: CloudHost.deregister_instance_dns() except: CloudHost.log_error("Error deregistering instance dns") CloudHost.terminate_instance() if not terminating: JBox.do_update_user_home_image()