Exemple #1
0
 def setUp(self):
     super(TestDispatcherDB, self).setUp()
     self.CONF = service.prepare_service([], [])
     self.CONF.set_override('connection', 'sqlite://', group='database')
     with mock.patch('panko.service.prepare_service') as f:
         f.return_value = self.CONF
         self.dispatcher = database.DatabaseDispatcher(None)
Exemple #2
0
    def setUp(self):
        super(TestBase, self).setUp()
        db_url = os.environ.get('PIFPAF_URL', "sqlite://").replace(
            "mysql://", "mysql+pymysql://")

        engine = urlparse.urlparse(db_url).scheme
        # in case some drivers have additional specification, for example:
        # PyMySQL will have scheme mysql+pymysql
        engine = engine.split('+')[0]

        # NOTE(Alexei_987) Shortcut to skip expensive db setUp
        test_method = self._get_test_method()
        if (hasattr(test_method, '_run_with')
                and engine not in test_method._run_with):
            raise testcase.TestSkipped(
                'Test is not applicable for %s' % engine)

        self.CONF = service.prepare_service([], [])

        manager = self.DRIVER_MANAGERS.get(engine)
        if not manager:
            self.skipTest("missing driver manager: %s" % engine)

        self.db_manager = manager(db_url, self.CONF)

        self.useFixture(self.db_manager)

        self.conn = self.db_manager.connection
        self.conn.upgrade()

        self.useFixture(fixtures.MockPatch('panko.storage.get_connection',
                                           side_effect=self._get_connection))
Exemple #3
0
    def setUp(self):
        super(TestBase, self).setUp()
        db_url = os.environ.get('PIFPAF_URL',
                                "sqlite://").replace("mysql://",
                                                     "mysql+pymysql://")

        engine = urlparse.urlparse(db_url).scheme
        # in case some drivers have additional specification, for example:
        # PyMySQL will have scheme mysql+pymysql
        engine = engine.split('+')[0]

        # NOTE(Alexei_987) Shortcut to skip expensive db setUp
        test_method = self._get_test_method()
        if (hasattr(test_method, '_run_with')
                and engine not in test_method._run_with):
            raise testcase.TestSkipped('Test is not applicable for %s' %
                                       engine)

        self.CONF = service.prepare_service([], [])

        manager = self.DRIVER_MANAGERS.get(engine)
        if not manager:
            self.skipTest("missing driver manager: %s" % engine)

        self.db_manager = manager(db_url, self.CONF)

        self.useFixture(self.db_manager)

        self.conn = self.db_manager.connection
        self.conn.upgrade()

        self.useFixture(
            mockpatch.Patch('panko.storage.get_connection',
                            side_effect=self._get_connection))
Exemple #4
0
    def setUp(self):
        super(FunctionalTest, self).setUp()
        self.CONF = service.prepare_service([], [])
        opts.set_defaults(self.CONF)

        self.CONF.set_override('api_paste_config',
                               self.path_get('etc/panko/api_paste.ini'))
        self.app = self._make_app(self.CONF)
Exemple #5
0
 def __init__(self, conf):
     debtcollector.deprecate(
         "Panko dispatcher is deprecated."
         "Use publisher to push data instead",
         version="3.0",
         removal_version="4.0")
     # NOTE(jd) The `conf' arg is the Ceilometer conf, but we don't really
     # need it here.
     conf = service.prepare_service([], share=True)
     self.conn = storage.get_connection_from_config(conf)
Exemple #6
0
def expirer():
    conf = service.prepare_service()

    if conf.database.event_time_to_live > 0:
        LOG.debug("Clearing expired event data")
        conn = storage.get_connection_from_config(conf)
        conn.clear_expired_data(conf.database.event_time_to_live)
    else:
        LOG.info("Nothing to clean, database event time to live "
                 "is disabled")
Exemple #7
0
    def setUp(self):
        super(FunctionalTest, self).setUp()
        self.CONF = service.prepare_service([], [])
        opts.set_defaults(self.CONF)

        self.CONF.set_override("policy_file",
                               self.path_get('etc/panko/policy.json'),
                               group='oslo_policy')

        self.app = self._make_app(self.CONF)
Exemple #8
0
def expirer():
    conf = service.prepare_service()

    if conf.database.event_time_to_live > 0:
        LOG.debug("Clearing expired event data")
        conn = storage.get_connection_from_config(conf)
        conn.clear_expired_data(conf.database.event_time_to_live)
    else:
        LOG.info("Nothing to clean, database event time to live "
                 "is disabled")
def main(argv):
    if os.getenv("PANKO_TEST_STORAGE_URL", "").startswith("hbase://"):
        url = ("%s?table_prefix=%s" %
               (os.getenv("PANKO_TEST_STORAGE_URL"),
                os.getenv("PANKO_TEST_HBASE_TABLE_PREFIX", "test")))
        event_conn = storage.get_connection(url, service.prepare_service())
        for arg in argv:
            if arg == "--upgrade":
                event_conn.upgrade()
            if arg == "--clear":
                event_conn.clear()
Exemple #10
0
    def start_fixture(self):
        """Set up config."""

        global LOAD_APP_KWARGS

        self.conf = None

        # Determine the database connection.
        db_url = os.environ.get('PIFPAF_URL', "sqlite://").replace(
            "mysql://", "mysql+pymysql://")
        if not db_url:
            raise case.SkipTest('No database connection configured')

        conf = self.conf = service.prepare_service([], [])
        opts.set_defaults(self.conf)

        content = ('{"default": ""}')
        if six.PY3:
            content = content.encode('utf-8')
        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='policy',
                                                    suffix='.json')

        conf.set_override("policy_file", self.tempfile,
                          group='oslo_policy')
        conf.set_override(
            'api_paste_config',
            os.path.abspath(
                'panko/tests/functional/gabbi/gabbi_paste.ini')
        )

        parsed_url = list(urlparse.urlparse(db_url))
        parsed_url[2] += '-%s' % str(uuid.uuid4()).replace('-', '')
        db_url = urlparse.urlunparse(parsed_url)

        conf.set_override('connection', db_url, group='database')
        conf.set_override('event_connection', '', group='database')

        if (parsed_url[0].startswith("mysql")
           or parsed_url[0].startswith("postgresql")):
            sqlalchemy_utils.create_database(conf.database.connection)

        self.conn = storage.get_connection_from_config(self.conf)
        self.conn.upgrade()

        LOAD_APP_KWARGS = {
            'conf': conf,
        }
Exemple #11
0
    def start_fixture(self):
        """Set up config."""

        global LOAD_APP_KWARGS

        self.conf = None

        # Determine the database connection.
        db_url = os.environ.get('PIFPAF_URL', "sqlite://").replace(
            "mysql://", "mysql+pymysql://")
        if not db_url:
            raise case.SkipTest('No database connection configured')

        conf = self.conf = service.prepare_service([], [])
        opts.set_defaults(self.conf)

        content = ('{"default": ""}')
        if six.PY3:
            content = content.encode('utf-8')
        self.tempfile = fileutils.write_to_tempfile(content=content,
                                                    prefix='policy',
                                                    suffix='.json')

        conf.set_override("policy_file", self.tempfile,
                          group='oslo_policy')
        conf.set_override(
            'api_paste_config',
            os.path.abspath('etc/panko/api_paste.ini')
        )

        parsed_url = list(urlparse.urlparse(db_url))
        parsed_url[2] += '-%s' % uuidutils.generate_uuid(dashed=False)
        db_url = urlparse.urlunparse(parsed_url)

        conf.set_override('connection', db_url, group='database')

        if (parsed_url[0].startswith("mysql")
           or parsed_url[0].startswith("postgresql")):
            sqlalchemy_utils.create_database(conf.database.connection)

        self.conn = storage.get_connection_from_config(self.conf)
        self.conn.upgrade()

        LOAD_APP_KWARGS = {
            'conf': conf, 'appname': 'panko+noauth',
        }
Exemple #12
0
def main():
    conf = service.prepare_service()

    parser = argparse.ArgumentParser(
        description='generate event data',
    )
    parser.add_argument(
        '--interval',
        default=10,
        type=int,
        help='The period between events, in minutes.',
    )
    parser.add_argument(
        '--start',
        default=31,
        type=int,
        help='The number of days in the past to start timestamps.',
    )
    parser.add_argument(
        '--end',
        default=2,
        type=int,
        help='The number of days into the future to continue timestamps.',
    )
    parser.add_argument(
        '--event_types',
        default=3,
        type=int,
        help='The number of unique event_types.',
    )
    args = parser.parse_args()

    # Connect to the event database
    conn = storage.get_connection_from_config(conf)

    # Compute the correct time span
    start = datetime.datetime.utcnow() - datetime.timedelta(days=args.start)
    end = datetime.datetime.utcnow() + datetime.timedelta(days=args.end)

    make_test_data(conn=conn,
                   start=start,
                   end=end,
                   interval=args.interval,
                   event_types=args.event_types)
def main():
    conf = service.prepare_service()

    parser = argparse.ArgumentParser(
        description='generate event data',
    )
    parser.add_argument(
        '--interval',
        default=10,
        type=int,
        help='The period between events, in minutes.',
    )
    parser.add_argument(
        '--start',
        default=31,
        type=int,
        help='The number of days in the past to start timestamps.',
    )
    parser.add_argument(
        '--end',
        default=2,
        type=int,
        help='The number of days into the future to continue timestamps.',
    )
    parser.add_argument(
        '--event_types',
        default=3,
        type=int,
        help='The number of unique event_types.',
    )
    args = parser.parse_args()

    # Connect to the event database
    conn = storage.get_connection_from_config(conf)

    # Compute the correct time span
    start = datetime.datetime.utcnow() - datetime.timedelta(days=args.start)
    end = datetime.datetime.utcnow() + datetime.timedelta(days=args.end)

    make_test_data(conn=conn,
                   start=start,
                   end=end,
                   interval=args.interval,
                   event_types=args.event_types)
Exemple #14
0
 def setUp(self):
     super(ConnectionConfigTest, self).setUp()
     self.CONF = service.prepare_service([], config_files=[])
Exemple #15
0
def build_wsgi_app(argv=None):
    return load_app(service.prepare_service(argv=argv))
Exemple #16
0
 def __init__(self, ceilo_conf, parsed_url):
     conf = service.prepare_service([], share=True)
     self.conn = storage.get_connection_from_config(conf)
Exemple #17
0
 def setUp(self):
     super(TestApp, self).setUp()
     self.CONF = service.prepare_service([], [])
 def setUp(self):
     super(ConnectionConfigTest, self).setUp()
     self.CONF = service.prepare_service([], config_files=[])
Exemple #19
0
 def __init__(self, ceilo_conf, parsed_url):
     conf = service.prepare_service([], share=True)
     self.conn = storage.get_connection_from_config(conf)
Exemple #20
0
def build_wsgi_app(argv=None):
    return load_app(service.prepare_service(argv=argv))
Exemple #21
0
 def __init__(self, conf):
     # NOTE(jd) The `conf' arg is the Ceilometer conf, but we don't really
     # need it here.
     conf = service.prepare_service([])
     self.event_conn = storage.get_connection_from_config(conf)
Exemple #22
0
def dbsync():
    conf = service.prepare_service()
    storage.get_connection_from_config(conf).upgrade()
Exemple #23
0
def dbsync():
    conf = service.prepare_service()
    storage.get_connection_from_config(conf).upgrade()