def __init__(self, pack, file_path, class_name, trigger_types, poll_interval=None, parent_args=None): """ :param pack: Name of the pack this sensor belongs to. :type pack: ``str`` :param file_path: Path to the sensor module file. :type file_path: ``str`` :param class_name: Sensor class name. :type class_name: ``str`` :param trigger_types: A list of references to trigger types which belong to this sensor. :type trigger_types: ``list`` of ``str`` :param poll_interval: Sensor poll interval (in seconds). :type poll_interval: ``int`` or ``None`` :param parent_args: Command line arguments passed to the parent process. :type parse_args: ``list`` """ self._pack = pack self._file_path = file_path self._class_name = class_name self._trigger_types = trigger_types or [] self._poll_interval = poll_interval self._parent_args = parent_args or [] self._trigger_names = {} # 1. Parse the config with inherited parent args try: config.parse_args(args=self._parent_args) except Exception: pass # 2. Establish DB connection username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_setup_with_retry(cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password) # 3. Instantiate the watcher self._trigger_watcher = TriggerWatcher(create_handler=self._handle_create_trigger, update_handler=self._handle_update_trigger, delete_handler=self._handle_delete_trigger, trigger_types=self._trigger_types, queue_suffix='sensorwrapper_%s_%s' % (self._pack, self._class_name), exclusive=True) # 4. Set up logging self._logger = logging.getLogger('SensorWrapper.%s.%s' % (self._pack, self._class_name)) logging.setup(cfg.CONF.sensorcontainer.logging) if '--debug' in parent_args: set_log_level_for_all_loggers() self._sensor_instance = self._get_sensor_instance()
def __init__(self, pack, file_path, class_name, trigger_types, poll_interval=None, parent_args=None): """ :param pack: Name of the pack this sensor belongs to. :type pack: ``str`` :param file_path: Path to the sensor module file. :type file_path: ``str`` :param class_name: Sensor class name. :type class_name: ``str`` :param trigger_types: A list of references to trigger types which belong to this sensor. :type trigger_types: ``list`` of ``str`` :param poll_interval: Sensor poll interval (in seconds). :type poll_interval: ``int`` or ``None`` :param parent_args: Command line arguments passed to the parent process. :type parse_args: ``list`` """ self._pack = pack self._file_path = file_path self._class_name = class_name self._trigger_types = trigger_types or [] self._poll_interval = poll_interval self._parent_args = parent_args or [] self._trigger_names = {} # 1. Parse the config with inherited parent args try: config.parse_args(args=self._parent_args) except Exception: pass # 2. Establish DB connection username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_setup_with_retry(cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password) # 3. Instantiate the watcher self._trigger_watcher = TriggerWatcher(create_handler=self._handle_create_trigger, update_handler=self._handle_update_trigger, delete_handler=self._handle_delete_trigger, trigger_types=self._trigger_types, queue_suffix='sensorwrapper_%s_%s' % (self._pack, self._class_name), exclusive=True) # 4. Set up logging self._logger = logging.getLogger('SensorWrapper.%s.%s' % (self._pack, self._class_name)) logging.setup(cfg.CONF.sensorcontainer.logging) if '--debug' in parent_args: set_log_level_for_all_loggers() self._sensor_instance = self._get_sensor_instance()
def db_setup(ensure_indexes=True): """ Creates the database and indexes (optional). """ db_cfg = db_config() db_cfg['ensure_indexes'] = ensure_indexes connection = db_init.db_setup_with_retry(**db_cfg) return connection
def db_setup(ensure_indexes=True): """ Creates the database and indexes (optional). """ db_cfg = db_config() db_cfg['ensure_indexes'] = ensure_indexes connection = db_init.db_setup_with_retry(**db_cfg) return connection
def db_setup(): username = getattr(cfg.CONF.database, 'username', None) password = getattr(cfg.CONF.database, 'password', None) connection = db_init.db_setup_with_retry( db_name=cfg.CONF.database.db_name, db_host=cfg.CONF.database.host, db_port=cfg.CONF.database.port, username=username, password=password ) return connection
def db_setup(): username = getattr(cfg.CONF.database, 'username', None) password = getattr(cfg.CONF.database, 'password', None) connection = db_init.db_setup_with_retry(db_name=cfg.CONF.database.db_name, db_host=cfg.CONF.database.host, db_port=cfg.CONF.database.port, username=username, password=password) return connection
def db_setup(): username = getattr(cfg.CONF.database, 'username', None) password = getattr(cfg.CONF.database, 'password', None) connection = db_init.db_setup_with_retry( db_name=cfg.CONF.database.db_name, db_host=cfg.CONF.database.host, db_port=cfg.CONF.database.port, username=username, password=password, ssl=cfg.CONF.database.ssl, ssl_keyfile=cfg.CONF.database.ssl_keyfile, ssl_certfile=cfg.CONF.database.ssl_certfile, ssl_cert_reqs=cfg.CONF.database.ssl_cert_reqs, ssl_ca_certs=cfg.CONF.database.ssl_ca_certs, ssl_match_hostname=cfg.CONF.database.ssl_match_hostname) return connection
def db_setup(): username = getattr(cfg.CONF.database, 'username', None) password = getattr(cfg.CONF.database, 'password', None) connection = db_init.db_setup_with_retry( db_name=cfg.CONF.database.db_name, db_host=cfg.CONF.database.host, db_port=cfg.CONF.database.port, username=username, password=password, ssl=cfg.CONF.database.ssl, ssl_keyfile=cfg.CONF.database.ssl_keyfile, ssl_certfile=cfg.CONF.database.ssl_certfile, ssl_cert_reqs=cfg.CONF.database.ssl_cert_reqs, ssl_ca_certs=cfg.CONF.database.ssl_ca_certs, ssl_match_hostname=cfg.CONF.database.ssl_match_hostname) return connection
# See the License for the specific language governing permissions and # limitations under the License. from pecan import load_app from oslo_config import cfg from st2auth import config # noqa from st2common import log as logging from st2common.persistence import db_init cfg.CONF(args=['--config-file', '/etc/st2/st2.conf']) logging.setup(cfg.CONF.auth.logging) username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_init.db_setup_with_retry(cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password) pecan_config = { 'app': { 'root': 'st2auth.controllers.root.RootController', 'modules': ['st2auth'], 'debug': cfg.CONF.auth.debug, 'errors': {'__force_dict__': True} } } application = load_app(pecan_config)
'--config-file', os.environ.get('ST2_CONFIG_PATH', '/etc/st2/st2.conf') ]) logging.setup(cfg.CONF.auth.logging) username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_init.db_setup_with_retry( cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password, ssl=cfg.CONF.database.ssl, ssl_keyfile=cfg.CONF.database.ssl_keyfile, ssl_certfile=cfg.CONF.database.ssl_certfile, ssl_cert_reqs=cfg.CONF.database.ssl_cert_reqs, ssl_ca_certs=cfg.CONF.database.ssl_ca_certs, ssl_match_hostname=cfg.CONF.database.ssl_match_hostname) pecan_config = { 'app': { 'root': 'st2auth.controllers.root.RootController', 'modules': ['st2auth'], 'debug': cfg.CONF.auth.debug, 'errors': { '__force_dict__': True } }
from st2auth import config # noqa from st2common import log as logging from st2common.persistence import db_init cfg.CONF(args=['--config-file', '/etc/st2/st2.conf']) logging.setup(cfg.CONF.auth.logging) username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_init.db_setup_with_retry(cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password) pecan_config = { 'app': { 'root': 'st2auth.controllers.root.RootController', 'modules': ['st2auth'], 'debug': cfg.CONF.auth.debug, 'errors': { '__force_dict__': True } } } application = load_app(pecan_config)
def __init__( self, pack, file_path, class_name, trigger_types, poll_interval=None, parent_args=None, db_ensure_indexes=True, ): """ :param pack: Name of the pack this sensor belongs to. :type pack: ``str`` :param file_path: Path to the sensor module file. :type file_path: ``str`` :param class_name: Sensor class name. :type class_name: ``str`` :param trigger_types: A list of references to trigger types which belong to this sensor. :type trigger_types: ``list`` of ``str`` :param poll_interval: Sensor poll interval (in seconds). :type poll_interval: ``int`` or ``None`` :param parent_args: Command line arguments passed to the parent process. :type parse_args: ``list`` :param db_ensure_indexes: True to ensure indexes. This should really only be set to False in tests to speed things up. """ self._pack = pack self._file_path = file_path self._class_name = class_name self._trigger_types = trigger_types or [] self._poll_interval = poll_interval self._parent_args = parent_args or [] self._trigger_names = {} # 1. Parse the config with inherited parent args try: config.parse_args(args=self._parent_args) except Exception: LOG.exception("Failed to parse config using parent args " '(parent_args=%s): "%s".' % (str(self._parent_args))) # 2. Establish DB connection username = (cfg.CONF.database.username if hasattr( cfg.CONF.database, "username") else None) password = (cfg.CONF.database.password if hasattr( cfg.CONF.database, "password") else None) db_setup_with_retry( cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password, ensure_indexes=db_ensure_indexes, ssl=cfg.CONF.database.ssl, ssl_keyfile=cfg.CONF.database.ssl_keyfile, ssl_certfile=cfg.CONF.database.ssl_certfile, ssl_cert_reqs=cfg.CONF.database.ssl_cert_reqs, ssl_ca_certs=cfg.CONF.database.ssl_ca_certs, authentication_mechanism=cfg.CONF.database. authentication_mechanism, ssl_match_hostname=cfg.CONF.database.ssl_match_hostname, ) # 3. Instantiate the watcher self._trigger_watcher = TriggerWatcher( create_handler=self._handle_create_trigger, update_handler=self._handle_update_trigger, delete_handler=self._handle_delete_trigger, trigger_types=self._trigger_types, queue_suffix="sensorwrapper_%s_%s" % (self._pack, self._class_name), exclusive=True, ) # 4. Set up logging self._logger = logging.getLogger("SensorWrapper.%s.%s" % (self._pack, self._class_name)) logging.setup(cfg.CONF.sensorcontainer.logging) if "--debug" in parent_args: set_log_level_for_all_loggers() else: # NOTE: statsd logger logs everything by default under INFO so we ignore those log # messages unless verbose / debug mode is used logging.ignore_statsd_log_messages() self._sensor_instance = self._get_sensor_instance()
from st2auth import config # noqa config.register_opts() from st2common import log as logging from st2common.persistence import db_init cfg.CONF(args=['--config-file', os.environ.get('ST2_CONFIG_PATH', '/etc/st2/st2.conf')]) logging.setup(cfg.CONF.auth.logging) username = cfg.CONF.database.username if hasattr(cfg.CONF.database, 'username') else None password = cfg.CONF.database.password if hasattr(cfg.CONF.database, 'password') else None db_init.db_setup_with_retry(cfg.CONF.database.db_name, cfg.CONF.database.host, cfg.CONF.database.port, username=username, password=password, ssl=cfg.CONF.database.ssl, ssl_keyfile=cfg.CONF.database.ssl_keyfile, ssl_certfile=cfg.CONF.database.ssl_certfile, ssl_cert_reqs=cfg.CONF.database.ssl_cert_reqs, ssl_ca_certs=cfg.CONF.database.ssl_ca_certs, ssl_match_hostname=cfg.CONF.database.ssl_match_hostname) pecan_config = { 'app': { 'root': 'st2auth.controllers.root.RootController', 'modules': ['st2auth'], 'debug': cfg.CONF.auth.debug, 'errors': {'__force_dict__': True} } } application = load_app(pecan_config)