Ejemplo n.º 1
0
 def init_generator(self,
                    module,
                    source,
                    node_type,
                    instance_id,
                    collectors,
                    client_context,
                    http_port,
                    sandesh_req_uve_pkg_list=None,
                    discovery_client=None,
                    connect_to_collector=True,
                    logger_class=None,
                    logger_config_file=None,
                    host_ip='127.0.0.1',
                    alarm_ack_callback=None):
     self._role = self.SandeshRole.GENERATOR
     self._module = module
     self._source = source
     self._node_type = node_type
     self._instance_id = instance_id
     self._host_ip = host_ip
     self._client_context = client_context
     self._collectors = collectors
     self._connect_to_collector = connect_to_collector
     self._rcv_queue = WorkQueue(self._process_rx_sandesh)
     self._init_logger(module,
                       logger_class=logger_class,
                       logger_config_file=logger_config_file)
     self._logger.info('SANDESH: CONNECT TO COLLECTOR: %s',
                       connect_to_collector)
     self._stats = SandeshStats()
     self._trace = trace.Trace()
     self._sandesh_request_dict = {}
     self._alarm_ack_callback = alarm_ack_callback
     self._uve_type_maps = SandeshUVETypeMaps(self._logger)
     if sandesh_req_uve_pkg_list is None:
         sandesh_req_uve_pkg_list = []
     # Initialize the request handling
     # Import here to break the cyclic import dependency
     import sandesh_req_impl
     sandesh_req_impl = sandesh_req_impl.SandeshReqImpl(self)
     sandesh_req_uve_pkg_list.append('pysandesh.gen_py')
     for pkg_name in sandesh_req_uve_pkg_list:
         self._create_sandesh_request_and_uve_lists(pkg_name)
     self._gev_httpd = None
     if http_port != -1:
         self._http_server = SandeshHttp(self, module, http_port,
                                         sandesh_req_uve_pkg_list)
         self._gev_httpd = gevent.spawn(self._http_server.start_http_server)
     primary_collector = None
     secondary_collector = None
     if self._collectors is not None:
         if len(self._collectors) > 0:
             primary_collector = self._collectors[0]
         if len(self._collectors) > 1:
             secondary_collector = self._collectors[1]
     if self._connect_to_collector:
         self._client = SandeshClient(self, primary_collector,
                                      secondary_collector, discovery_client)
         self._client.initiate()
Ejemplo n.º 2
0
 def run_introspect_server(self, http_port):
     self._logger.info('SANDESH: INTROSPECT IS ON: %s:%s',
                       self._config.http_server_ip, http_port)
     self._http_server = SandeshHttp(self, self._module, http_port,
                                     self._sandesh_req_uve_pkg_list,
                                     self._config,
                                     self._config.http_server_ip)
     self._gev_httpd = gevent.spawn(self._http_server.start_http_server)
Ejemplo n.º 3
0
 def init_generator(self,
                    module,
                    source,
                    node_type,
                    instance_id,
                    collectors,
                    client_context,
                    http_port,
                    sandesh_req_uve_pkg_list=None,
                    discovery_client=None):
     self._role = self.SandeshRole.GENERATOR
     self._module = module
     self._source = source
     self._node_type = node_type
     self._instance_id = instance_id
     self._client_context = client_context
     self._collectors = collectors
     self._rcv_queue = WorkQueue(self._process_rx_sandesh)
     self._init_logger(source + ':' + module + ':' + node_type + ':' \
         + instance_id)
     self._stats = SandeshStats()
     self._trace = trace.Trace()
     self._sandesh_request_dict = {}
     self._uve_type_maps = SandeshUVETypeMaps()
     if sandesh_req_uve_pkg_list is None:
         sandesh_req_uve_pkg_list = []
     # Initialize the request handling
     # Import here to break the cyclic import dependency
     import sandesh_req_impl
     sandesh_req_impl = sandesh_req_impl.SandeshReqImpl(self)
     sandesh_req_uve_pkg_list.append('pysandesh.gen_py')
     for pkg_name in sandesh_req_uve_pkg_list:
         self._create_sandesh_request_and_uve_lists(pkg_name)
     if http_port != -1:
         self._http_server = SandeshHttp(self, module, http_port,
                                         sandesh_req_uve_pkg_list)
         gevent.spawn(self._http_server.start_http_server)
     primary_collector = None
     secondary_collector = None
     if self._collectors is not None:
         if len(self._collectors) > 0:
             primary_collector = self._collectors[0]
         if len(self._collectors) > 1:
             secondary_collector = self._collectors[1]
     self._client = SandeshClient(self, primary_collector,
                                  secondary_collector, discovery_client)
     self._client.initiate()
Ejemplo n.º 4
0
 def run_introspect_server(self, http_port):
     self._http_server = SandeshHttp(self, self._module, http_port,
                                     self._sandesh_req_uve_pkg_list,
                                     self._config)
     self._gev_httpd = gevent.spawn(self._http_server.start_http_server)