コード例 #1
0
ファイル: status_mod.py プロジェクト: walong365/icsw
 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,
         )
コード例 #2
0
 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,
     )
コード例 #3
0
ファイル: main.py プロジェクト: bopopescu/icsw
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")
コード例 #4
0
ファイル: changeuuid.py プロジェクト: bopopescu/icsw
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")