Exemplo n.º 1
0
 def test_set_defaults_policy_file(self):
     opts._register(self.conf)
     self.assertNotEqual('new-value.json',
                         self.conf.oslo_policy.policy_file)
     opts.set_defaults(self.conf, policy_file='new-value.json')
     self.assertEqual('new-value.json',
                      self.conf.oslo_policy.policy_file)
Exemplo n.º 2
0
    def __init__(self,
                 conf,
                 policy_file=None,
                 rules=None,
                 default_rule=None,
                 use_conf=True,
                 overwrite=True):
        self.conf = conf
        opts._register(conf)

        self.default_rule = (default_rule
                             or self.conf.oslo_policy.policy_default_rule)
        self.rules = Rules(rules, self.default_rule)
        self.registered_rules = {}
        self.file_rules = {}

        self.policy_path = None

        self.policy_file = policy_file or self.conf.oslo_policy.policy_file
        self.use_conf = use_conf
        self.overwrite = overwrite
        self._loaded_files = []
        self._policy_dir_mtimes = {}
        self._file_cache = {}
        self._informed_no_policy_file = False
Exemplo n.º 3
0
    def setUp(self):
        super(HttpsCheckTestCase, self).setUp()
        opts._register(self.conf)
        self.requests_mock = self.useFixture(rm_fixture.Fixture())

        # ensure environment variables don't mess with our test results
        # https://requests.readthedocs.io/en/master/user/advanced/#ssl-cert-verification
        self.useFixture(fixtures.EnvironmentVariable('REQUESTS_CA_BUNDLE'))
        self.useFixture(fixtures.EnvironmentVariable('CURL_CA_BUNDLE'))
Exemplo n.º 4
0
    def __init__(self, conf, rules=None, default_rule=None,
                 use_conf=True, overwrite=True):
        self.conf = conf
        opts._register(conf)
        initialize(conf)

        self.policy_api = sql.Backend(conf)
        
        default_rule = 'role:domain_admin'
        self.sys_rules = _system.SystemRules(conf).sys_rules
        self.sys_rules = Rules.from_dict(self.sys_rules, default_rule)

        self.dflt_rules = _default_domain.DefaultRules().dflt_rules
        self.dflt_rules = Rules.from_dict(self.dflt_rules, default_rule)
Exemplo n.º 5
0
    def __init__(self, conf, policy_file=None, rules=None,
                 default_rule=None, use_conf=True, overwrite=True):
        self.conf = conf
        opts._register(conf)

        self.default_rule = (default_rule or
                             self.conf.oslo_policy.policy_default_rule)
        self.rules = Rules(rules, self.default_rule)

        self.policy_path = None

        self.policy_file = policy_file or self.conf.oslo_policy.policy_file
        self.use_conf = use_conf
        self.overwrite = overwrite
        self._loaded_files = []
Exemplo n.º 6
0
    def __init__(self, conf, policy_file=None, rules=None,
                 default_rule=None, use_conf=True, overwrite=True):
        self.conf = conf
        opts._register(conf)

        self.default_rule = (default_rule or
                             self.conf.oslo_policy.policy_default_rule)
        self.rules = Rules(rules, self.default_rule)

        self.policy_path = None

        self.policy_file = policy_file or self.conf.oslo_policy.policy_file
        self.use_conf = use_conf
        self.overwrite = overwrite
        self._loaded_files = []
        self._policy_dir_mtimes = {}
Exemplo n.º 7
0
LOG = logging.getLogger(__name__)

listener_opts = [
    cfg.IntOpt('workers',
               default=1,
               min=1,
               help='Number of workers for notification service. A single '
               'notification agent is enabled by default.'),
    cfg.StrOpt('notifications_pool',
               default='searchlight-listener',
               help='Use an oslo.messaging pool, which can be an alternative '
               'to multiple topics. ')
]

CONF = cfg.CONF
oslo_policy_opts._register(CONF)
CONF.register_opts(listener_opts, group="listener")


class NotificationEndpoint(object):

    def __init__(self, plugins):
        self.plugins = plugins
        self.notification_target_map = {}
        for plugin_type, plugin in six.iteritems(self.plugins):
            try:
                handler = plugin.obj.get_notification_handler()
                if not handler:
                    continue
                event_list = handler.get_notification_supported_events()
                for event in event_list:
Exemplo n.º 8
0
 def test_set_defaults_policy_file(self):
     opts._register(self.conf)
     self.assertNotEqual('new-value.json',
                         self.conf.oslo_policy.policy_file)
     opts.set_defaults(self.conf, policy_file='new-value.json')
     self.assertEqual('new-value.json', self.conf.oslo_policy.policy_file)
Exemplo n.º 9
0
LOG = logging.getLogger(__name__)

listener_opts = [
    cfg.IntOpt('workers',
               default=1,
               min=1,
               help='Number of workers for notification service. A single '
               'notification agent is enabled by default.'),
    cfg.StrOpt('notifications_pool',
               default='searchlight-listener',
               help='Use an oslo.messaging pool, which can be an alternative '
               'to multiple topics. ')
]

CONF = cfg.CONF
oslo_policy_opts._register(CONF)
CONF.register_opts(listener_opts, group="listener")


class NotificationEndpoint(object):
    def __init__(self, plugins, pipeline_manager):
        self.plugins = plugins
        self.pipeline_manager = pipeline_manager
        self.notification_target_map = {}
        for plugin_type, plugin in self.plugins.items():
            try:
                handler = plugin.obj.get_notification_handler()
                if not handler:
                    continue
                event_list = handler.get_notification_supported_events()
                for event in event_list:
Exemplo n.º 10
0
 def setUp(self):
     super(HttpCheckTestCase, self).setUp()
     opts._register(self.conf)
     self.requests_mock = self.useFixture(rm_fixture.Fixture())
Exemplo n.º 11
0
import oslo_messaging

# TODO(sjmc7): Figure this out better. The glance plugin uses the API
# policy module as the enforcer for property_utils
from oslo_policy import opts as oslo_policy_opts
from oslo_service import service as os_service

from searchlight.common import utils
from searchlight import i18n

LOG = logging.getLogger(__name__)
_ = i18n._
_LE = i18n._LE


oslo_policy_opts._register(cfg.CONF)


class NotificationEndpoint(object):
    def __init__(self, plugins):
        self.plugins = plugins
        self.notification_target_map = {}
        for plugin_type, plugin in six.iteritems(self.plugins):
            try:
                event_list = plugin.obj.get_notification_supported_events()
                for event in event_list:
                    LOG.debug("Registering event '%s' for plugin '%s'", event, plugin.name)
                    self.notification_target_map[event.lower()] = plugin.obj
            except Exception as e:
                LOG.error(
                    _LE("Failed to retrieve supported notification" " events from search plugins " "%(ext)s: %(e)s")