def _call(self, cur_inst): # from initat.cluster.backbone.models import device # print("devcount=", device.objects.all().count()) inst_xml = instance.InstanceXML(cur_inst.log) cur_c = container.ServiceContainer(cur_inst.log) _def_ns = service_parser.Parser.get_default_ns() cur_c.check_system(_def_ns, inst_xml) cur_inst.srv_com["status"] = inst_xml.tree _local_state = query_local_meta_server(inst_xml, "overview") if _local_state is not None: _bldr = cur_inst.srv_com.builder() cur_inst.srv_com["metastatus"] = _local_state["overview:instances"] cur_inst.srv_com["version_info"] = _bldr( "sys", **settings.ICSW_VERSION_DICT ) cur_inst.srv_com["fingerprint"] = hfp_tools.get_local_hfp(serialize=True) cur_inst.srv_com.set_result( "checked system {}".format(global_config["SERVER_FULL_NAME"]), ) else: cur_inst.srv_com.set_result( "error querying local meta-server (timeout?)", server_command.SRV_REPLY_STATE_ERROR, )
def _init_statemachine(self): self.__transitions = [] self.def_ns = service_parser.Parser.get_default_ns(call_meta=False) self.server_instance = instance.InstanceXML(self.log) self.service_state = ServiceState(self.log, self.server_instance) self.container = container.ServiceContainer(self.log) self.service_state.sync_with_instance(self.server_instance) self.__watcher.add_watcher( "xml", self.server_instance.source_dir, inotify_tools.IN_CLOSE_WRITE | inotify_tools.IN_DELETE, self._instance_event, )
def reload_relay(): print("reloading relayer") from initat.icsw.service import transition, container, instance cur_c = container.ServiceContainer(log_com) cur_t = transition.ServiceTransition( "reload", ["host-relay"], cur_c, instance.InstanceXML(log_com), log_com, ) while True: _left = cur_t.step(cur_c) if _left: time.sleep(1) else: break print("done")
def restart_services(): from initat.icsw.service import transition, container, instance srv_list = ["host-monitoring", "cluster-server"] print("restarting {}: {}".format( logging_tools.get_plural("service", len(srv_list)), ", ".join(srv_list), )) cur_c = container.ServiceContainer(log_com) cur_t = transition.ServiceTransition( "restart", srv_list, cur_c, instance.InstanceXML(log_com), log_com, ) while True: _left = cur_t.step(cur_c) if _left: time.sleep(1) else: break print("done")