def __init__(self, config, rule_file, unit_names):

        if os.path.exists('/tmp/supervisord_config.sock'):
            supervisor_serverurl = "unix:///tmp/supervisord_config.sock"
        else:
            supervisor_serverurl = "unix:///var/run/supervisord_config.sock"

        self.db = package_installed('contrail-openstack-database')
        self.config_db = package_installed('contrail-database-common')
        if not self.db and self.config_db:
            unit_names.append('contrail-database.service')

        type_info = EventManagerTypeInfo(package_name = 'contrail-config',
            module_type = Module.CONFIG_NODE_MGR,
            object_table = 'ObjectConfigNode',
            supervisor_serverurl = supervisor_serverurl,
            third_party_processes =  {
                "cassandra" : "Dcassandra-pidfile=.*cassandra\.pid",
                "zookeeper" : "org.apache.zookeeper.server.quorum.QuorumPeerMain"
            },
            sandesh_packages = ['database.sandesh'],
            unit_names = unit_names)
        super(ConfigEventManager, self).__init__(config, type_info, rule_file,
                sandesh_global)
        self.hostip = config.hostip
        self.db_port = config.db_port
        self.minimum_diskgb = config.minimum_diskgb
        self.contrail_databases = config.contrail_databases
        self.cassandra_repair_interval = config.cassandra_repair_interval
        self.cassandra_repair_logdir = config.cassandra_repair_logdir
        self.cassandra_mgr = CassandraManager(self.cassandra_repair_logdir,
                                              'configDb', self.contrail_databases,
                                              self.hostip, self.minimum_diskgb,
                                              self.db_port)
    def __init__(self, config, rule_file, unit_names):

        if os.path.exists('/tmp/supervisord_config.sock'):
            supervisor_serverurl = "unix:///tmp/supervisord_config.sock"
        else:
            supervisor_serverurl = "unix:///var/run/supervisord_config.sock"

        self.db = package_installed('contrail-openstack-database')
        self.config_db = package_installed('contrail-database-common')
        if not self.db and self.config_db:
            unit_names.append('contrail-database.service')

        type_info = EventManagerTypeInfo(
            package_name='contrail-config',
            module_type=Module.CONFIG_NODE_MGR,
            object_table='ObjectConfigNode',
            supervisor_serverurl=supervisor_serverurl,
            third_party_processes={
                "cassandra": "Dcassandra-pidfile=.*cassandra\.pid",
                "zookeeper":
                "org.apache.zookeeper.server.quorum.QuorumPeerMain"
            },
            sandesh_packages=['database.sandesh'],
            unit_names=unit_names)
        super(ConfigEventManager, self).__init__(config, type_info, rule_file,
                                                 sandesh_global)
        self.hostip = config.hostip
        self.minimum_diskgb = config.minimum_diskgb
        self.contrail_databases = config.contrail_databases
        self.cassandra_repair_interval = config.cassandra_repair_interval
        self.cassandra_repair_logdir = config.cassandra_repair_logdir
        self.cassandra_mgr = CassandraManager(self.cassandra_repair_logdir,
                                              'configDb',
                                              self.contrail_databases,
                                              self.hostip, self.minimum_diskgb)
 def do_periodic_events(self):
     db = package_installed('contrail-openstack-database')
     config_db = package_installed('contrail-database-common')
     if not db and config_db:
         # Record cluster status and shut down cassandra if needed
         self.cassandra_mgr.status()
         # Perform nodetool repair every cassandra_repair_interval hours
         if self.tick_count % (60 * self.cassandra_repair_interval) == 0:
             self.cassandra_mgr.repair()
     self.event_tick_60()
 def do_periodic_events(self):
     db = package_installed('contrail-openstack-database')
     config_db = package_installed('contrail-database-common')
     if not db and config_db:
         # Record cluster status and shut down cassandra if needed
         self.cassandra_mgr.status()
         # Perform nodetool repair every cassandra_repair_interval hours
         if self.tick_count % (60 * self.cassandra_repair_interval) == 0:
             self.cassandra_mgr.repair()
     self.event_tick_60()
Exemple #5
0
    def __init__(self, rule_file, discovery_server,
                 discovery_port, collector_addr,
                 hostip, db_port, minimum_diskgb, contrail_databases,
                 cassandra_repair_interval,
                 cassandra_repair_logdir,
                 **kwargs):
        self.node_type = "contrail-config"
        self.uve_node_type = UVENodeTypeNames[NodeType.CONFIG]
        self.table = "ObjectConfigNode"
        self.module = Module.CONFIG_NODE_MGR
        self.module_id = ModuleNames[self.module]
        self.cassandra_repair_interval = cassandra_repair_interval
        self.cassandra_repair_logdir = cassandra_repair_logdir
        self.hostip = hostip
        self.db_port = db_port
        self.minimum_diskgb = minimum_diskgb
        self.contrail_databases = contrail_databases
        self.cassandra_mgr = CassandraManager(self.cassandra_repair_logdir,
                                              'configDb', self.table,
                                              self.contrail_databases,
                                              self.hostip, self.minimum_diskgb,
                                              self.db_port)
        self.cassandra_mgr.use_ssl = kwargs.get('cassandra_use_ssl', False)
        if os.path.exists('/tmp/supervisord_config.sock'):
            self.supervisor_serverurl = "unix:///tmp/supervisord_config.sock"
        else:
            self.supervisor_serverurl = "unix:///var/run/supervisord_config.sock"

        self.db = package_installed('contrail-openstack-database')
        self.config_db = package_installed('contrail-database-common')
        self.add_current_process()
        node_type = Module2NodeType[self.module]
        node_type_name = NodeTypeNames[node_type]
        self.sandesh_global = sandesh_global
        EventManager.__init__(
            self, rule_file, discovery_server,
            discovery_port, collector_addr, sandesh_global,
            **kwargs)
        _disc = self.get_discovery_client()
        sandesh_global.init_generator(
            self.module_id, socket.gethostname(),
            node_type_name, self.instance_id, self.collector_addr,
            self.module_id, 8100, ['database.sandesh', 'nodemgr.common.sandesh'], _disc)
        sandesh_global.set_logging_params(enable_local_log=True)
        ConnectionState.init(sandesh_global, socket.gethostname(),
		self.module_id, self.instance_id,
                staticmethod(ConnectionState.get_conn_state_cb),
                NodeStatusUVE, NodeStatus, self.table,
                self.get_process_state_cb)
        self.send_init_info()
        self.third_party_process_dict = {}
        self.third_party_process_dict["cassandra"] = "Dcassandra-pidfile=.*cassandra\.pid"
        self.third_party_process_dict["zookeeper"] = "org.apache.zookeeper.server.quorum.QuorumPeerMain"