Esempio n. 1
0
    def setUp(self):
        super(TestCase, self).setUp()

        self.CONF = self.useFixture(cfg_fixture.Config(cfg.CONF)).conf

        self.messaging_conf = messaging_fixture.ConfFixture(cfg.CONF)
        self.messaging_conf.transport_driver = 'fake'
        self.messaging_conf.response_timeout = 5
        self.useFixture(self.messaging_conf)

        self.config(notification_driver='test')

        self.useFixture(fixtures.RPCFixture(cfg.CONF))

        self.config(storage_driver='sqlalchemy', group='service:central')

        self.config(emitter_type="noop", group="heartbeat_emitter")

        self.config(auth_strategy='noauth', group='service:api')

        # The database fixture needs to be set up here (as opposed to isolated
        # in a storage test case) because many tests end up using storage.
        REPOSITORY = os.path.abspath(
            os.path.join(os.path.dirname(__file__), '..', 'storage',
                         'impl_sqlalchemy', 'migrate_repo'))
        self.db_fixture = self.useFixture(
            fixtures.DatabaseFixture.get_fixture(REPOSITORY,
                                                 manage_database.INIT_VERSION))

        if os.getenv('DESIGNATE_SQL_DEBUG', "False").lower() in _TRUE_VALUES:
            connection_debug = 50
        else:
            connection_debug = 0

        self.config(connection=self.db_fixture.url,
                    connection_debug=connection_debug,
                    group='storage:sqlalchemy')

        self._setup_pool_manager_cache()

        self.config(network_api='fake')

        self.config(scheduler_filters=['pool_id_attribute', 'random'],
                    group='service:central')

        # "Read" Configuration
        self.CONF([], project='designate')
        utils.register_plugin_opts()

        self.useFixture(fixtures.PolicyFixture())
        self.network_api = fixtures.NetworkAPIFixture()
        self.useFixture(self.network_api)
        self.central_service = self.start_service('central')

        self.admin_context = self.get_admin_context()
        storage_driver = cfg.CONF['service:central'].storage_driver
        self.storage = storage.get_storage(storage_driver)

        # Setup the Default Pool with some useful settings
        self._setup_default_pool()
Esempio n. 2
0
from migrate.versioning import api as versioning_api
from oslo.config import cfg
from oslo_db.sqlalchemy.migration_cli import manager as migration_manager
from oslo_log import log as logging

from designate.manage import base
from designate import utils

LOG = logging.getLogger(__name__)

REPOSITORY = os.path.abspath(
    os.path.join(os.path.dirname(__file__), '..', 'backend', 'impl_powerdns',
                 'migrate_repo'))
CONF = cfg.CONF
utils.register_plugin_opts()


def get_manager(pool_target_id):
    pool_target_options = CONF['pool_target:%s' % pool_target_id].options
    connection = pool_target_options['connection']

    migration_config = {
        'migration_repo_path': REPOSITORY,
        'db_url': connection
    }
    return migration_manager.MigrationManager(migration_config)


class DatabaseCommands(base.Commands):
    @base.args('pool-target-id', help="Pool Target to Migrate", type=str)
Esempio n. 3
0
    def setUp(self):
        super(TestCase, self).setUp()

        self.CONF = self.useFixture(cfg_fixture.Config(cfg.CONF)).conf

        self.messaging_conf = messaging_fixture.ConfFixture(cfg.CONF)
        self.messaging_conf.transport_driver = 'fake'
        self.messaging_conf.response_timeout = 5
        self.useFixture(self.messaging_conf)

        self.config(notification_driver='test')

        self.useFixture(fixtures.RPCFixture(cfg.CONF))

        self.config(
            storage_driver='sqlalchemy',
            group='service:central'
        )

        self.config(
            auth_strategy='noauth',
            group='service:api'
        )

        # The database fixture needs to be set up here (as opposed to isolated
        # in a storage test case) because many tests end up using storage.
        REPOSITORY = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                                  '..', 'storage',
                                                  'impl_sqlalchemy',
                                                  'migrate_repo'))
        self.db_fixture = self.useFixture(
            fixtures.DatabaseFixture.get_fixture(
                REPOSITORY, manage_database.INIT_VERSION))

        if os.getenv('DESIGNATE_SQL_DEBUG', "True").lower() in _TRUE_VALUES:
            connection_debug = 50
        else:
            connection_debug = 0

        self.config(
            connection=self.db_fixture.url,
            connection_debug=connection_debug,
            group='storage:sqlalchemy'
        )

        self._setup_pool_manager_cache()

        self.config(network_api='fake')

        # "Read" Configuration
        self.CONF([], project='designate')
        utils.register_plugin_opts()

        self.useFixture(fixtures.PolicyFixture())
        self.network_api = fixtures.NetworkAPIFixture()
        self.useFixture(self.network_api)
        self.central_service = self.start_service('central')

        self.admin_context = self.get_admin_context()
        storage_driver = cfg.CONF['service:central'].storage_driver
        self.storage = storage.get_storage(storage_driver)

        # Setup the Default Pool with some useful settings
        self._setup_default_pool()
Esempio n. 4
0
from migrate.versioning import api as versioning_api
from oslo_config import cfg
from oslo_db.sqlalchemy.migration_cli import manager as migration_manager
from oslo_log import log as logging

from designate.manage import base
from designate import utils

LOG = logging.getLogger(__name__)

REPOSITORY = os.path.abspath(os.path.join(os.path.dirname(__file__), '..',
                                          'backend', 'impl_powerdns',
                                          'migrate_repo'))
CONF = cfg.CONF
utils.register_plugin_opts()


def get_manager(pool_target_id):
    pool_target_options = CONF['pool_target:%s' % pool_target_id].options
    connection = pool_target_options['connection']

    migration_config = {
        'migration_repo_path': REPOSITORY,
        'db_url': connection}
    return migration_manager.MigrationManager(migration_config)


class DatabaseCommands(base.Commands):
    @base.args('pool-target-id', help="Pool Target to Migrate", type=str)
    def version(self, pool_target_id):
Esempio n. 5
0
 def setUp(self):
     super(TaskTest, self).setUp()
     utils.register_plugin_opts()