Ejemplo n.º 1
0
    def _initialize_tests(self):
        """Perform final initialization before tests get run."""
        # Access the sentries for inspecting service units
        self.designate_sentry = self.d.sentry['designate'][0]
        self.designate_bind_sentry = self.d.sentry['designate-bind'][0]
        self.pxc_sentry = self.d.sentry['percona-cluster'][0]
        self.keystone_sentry = self.d.sentry['keystone'][0]
        self.rabbitmq_sentry = self.d.sentry['rabbitmq-server'][0]
        self.neutron_api_sentry = self.d.sentry['neutron-api'][0]
        u.log.debug('openstack release val: {}'.format(
            self._get_openstack_release()))
        u.log.debug('openstack release str: {}'.format(
            self._get_openstack_release_string()))
        self.dns_slave_ip = self.designate_bind_sentry.relation(
            'dns-backend', 'designate:dns-backend')['private-address']
        # bionic_rocky is the "first" rocky version, on Amulet list
        # that is why start comparing with this version
        if self._get_openstack_release() >= self.bionic_rocky:
            self.designate_svcs = [
                'designate-agent',
                'designate-api',
                'designate-central',
                'designate-mdns',
                'designate-worker',
                'designate-sink',
                'designate-producer',
            ]
        else:
            self.designate_svcs = [
                'designate-agent',
                'designate-api',
                'designate-central',
                'designate-mdns',
                'designate-pool-manager',
                'designate-sink',
                'designate-zone-manager',
            ]

        # Authenticate admin with keystone endpoint
        self.keystone_session, self.keystone = u.get_default_keystone_session(
            self.keystone_sentry,
            openstack_release=self._get_openstack_release())

        # Authenticate admin with designate endpoint
        designate_ep = self.keystone.service_catalog.url_for(
            service_type='dns', interface='publicURL')
        keystone_ep = self.keystone.service_catalog.url_for(
            service_type='identity', interface='publicURL')
        if self._get_openstack_release() >= self.xenial_queens:
            self.designate = designate_client.Client(
                version='2', session=self.keystone_session)
        else:
            self.designate = designate_client.Client(version='1',
                                                     auth_url=keystone_ep,
                                                     username="******",
                                                     password="******",
                                                     tenant_name="admin",
                                                     endpoint=designate_ep)
Ejemplo n.º 2
0
def get_designate_session_client(session,
                                 all_tenants=True,
                                 client_version=None):
    client_version = client_version or '2'
    if client_version == '1':
        client = designate_client.Client(version=client_version,
                                         session=session,
                                         all_tenants=all_tenants)
    else:
        client = designate_client.Client(version=client_version,
                                         session=session)
    return client
Ejemplo n.º 3
0
 def _create(self):
     endpoint_type = self._get_client_option(CLIENT_NAME, 'endpoint_type')
     return client.Client(version='2',
                          session=self.context.keystone_session,
                          endpoint_type=endpoint_type,
                          service_type=self.DNS,
                          region_name=self._get_region_name())
Ejemplo n.º 4
0
    def create_client(self, version=None, service_type=None):
        """Return designate client."""
        from designateclient import client

        version = self.choose_version(version)

        api_url = self._get_endpoint(service_type)
        api_url += "/v%s" % version

        session = self._get_session(endpoint=api_url)
        return client.Client(version, session=session)
Ejemplo n.º 5
0
def create_designate_client(api_version='2'):
    """Creates a Designate DNSaaS client."""
    loader = loading.get_plugin_loader('password')
    auth = loader.load_from_options(auth_url=DNS_AUTH_URL,
                                    username=DNS_USERNAME,
                                    password=DNS_PASSKEY,
                                    project_id=DNS_TENANT_ID,
                                    user_domain_id=DNS_USER_DOMAIN_ID,
                                    project_domain_id=DNS_PROJECT_DOMAIN_ID)
    sesh = session.Session(auth=auth)
    return client.Client(api_version, session=sesh)
Ejemplo n.º 6
0
    def _initialize_tests(self):
        """Perform final initialization before tests get run."""
        # Access the sentries for inspecting service units
        self.designate_sentry = self.d.sentry['designate'][0]
        self.designate_bind_sentry = self.d.sentry['designate-bind'][0]
        self.mysql_sentry = self.d.sentry['mysql'][0]
        self.keystone_sentry = self.d.sentry['keystone'][0]
        self.rabbitmq_sentry = self.d.sentry['rabbitmq-server'][0]
        u.log.debug('openstack release val: {}'.format(
            self._get_openstack_release()))
        u.log.debug('openstack release str: {}'.format(
            self._get_openstack_release_string()))
        self.dns_slave_ip = self.designate_bind_sentry.relation(
            'dns-backend', 'designate:dns-backend')['private-address']
        self.designate_svcs = [
            'designate-agent',
            'designate-api',
            'designate-central',
            'designate-mdns',
            'designate-pool-manager',
            'designate-sink',
            'designate-zone-manager',
        ]

        # Authenticate admin with keystone endpoint
        self.keystone = u.authenticate_keystone_admin(self.keystone_sentry,
                                                      user='******',
                                                      password='******',
                                                      tenant='admin')

        # Authenticate admin with designate endpoint
        designate_ep = self.keystone.service_catalog.url_for(
            service_type='dns', endpoint_type='publicURL')
        keystone_ep = self.keystone.service_catalog.url_for(
            service_type='identity', endpoint_type='publicURL')
        self.designate = designate_client.Client(version='1',
                                                 auth_url=keystone_ep,
                                                 username="******",
                                                 password="******",
                                                 tenant_name="admin",
                                                 endpoint=designate_ep)
Ejemplo n.º 7
0
def get_designate_client(**kwargs):
    return designateclient.Client('1')
Ejemplo n.º 8
0
 def get_client(self, version=None, session=None):
     version = version or self.VERSION
     session = session or keystone_session.Session()
     adapted = AdapterWithTimeout(session=session,
                                  endpoint_override=self.get_base())
     return client.Client(version, session=adapted)