def create_designate_dns_domain(designate_client, domain_name, email, recreate=True): """Create the given domain in designate @param designate_client: designateclient.v1.Client Client to query designate @param domain_name: str Name of domain to lookup @param email: str Email address to associate with domain @param recreate: boolean Whether to delete any matching domains first. """ if recreate: delete_designate_dns_domain(designate_client, domain_name) for i in range(1, 10): try: dom_obj = create_designate_zone(designate_client, domain_name, email) except des_exceptions.Conflict: print("Waiting for delete {}/10".format(i)) time.sleep(10) else: break else: raise des_exceptions.Conflict else: domain = des_domains.Domain(name=domain_name, email=email) dom_obj = designate_client.domains.create(domain) return dom_obj
def v2_410_domain_creation(self): """Simple api calls to create domain""" u.log.debug('Checking if domain exists before trying to create it') old_dom_id = self.get_test_domain_id() if old_dom_id: u.log.debug('Deleting old domain') self.designate.domains.delete(old_dom_id) self.check_and_wait(self.check_test_domain_gone, desc='Waiting for domain to disappear') u.log.debug('Creating new domain') domain = domains.Domain(name=self.TEST_DOMAIN, email="*****@*****.**") new_domain = self.designate.domains.create(domain) assert (new_domain is not None) u.log.debug('Creating new test record') _record = records.Record(name=self.TEST_WWW_RECORD, type="A", data=self.TEST_RECORD[self.TEST_WWW_RECORD]) self.designate.records.create(new_domain.id, _record) self.check_and_wait(self.check_slave_resolve_test_record, desc='Waiting for dns record to propagate') u.log.debug('Tidy up delete test record') self.designate.domains.delete(new_domain.id) u.log.debug('OK')
def test_resource_show_resource(self): args = dict(name='test', description='updated description', ttl=4200, email='*****@*****.**') rsc = domains.Domain(args) mock_notification_get = self.test_client.domains.get mock_notification_get.return_value = rsc self.assertEqual(args, self.test_resource._show_resource(), 'Failed to show resource')
def test_400_domain_creation(self): """Simple api calls to create domain.""" logging.debug('Checking if domain exists before trying to create it') old_dom_id = self._get_domain_id(domain_name=self.TEST_DOMAIN) if old_dom_id: logging.debug('Deleting old domain') self._wait_on_domain_gone(old_dom_id) logging.debug('Creating new domain') domain = domains.Domain(name=self.TEST_DOMAIN, email="*****@*****.**") if self.post_xenial_queens: new_domain = self.domain_create(name=domain.name, email=domain.email) else: new_domain = self.domain_create(domain) self.assertIsNotNone(new_domain) logging.debug('Creating new test record') _record = records.Record(name=self.TEST_WWW_RECORD, type="A", data=self.TEST_RECORD[self.TEST_WWW_RECORD]) if self.post_xenial_queens: domain_id = new_domain['id'] self.designate.recordsets.create(domain_id, _record.name, _record.type, [_record.data]) else: domain_id = new_domain.id self.designate.records.create(domain_id, _record) self._wait_to_resolve_test_record() logging.debug('Tidy up delete test record') self._wait_on_domain_gone(domain_id) logging.debug('OK')
def test_300_default_soa_config_options(self): """Configure default SOA options.""" test_domain = "test_300_example.com." DEFAULT_TTL = 60 alternate_config = { 'default-soa-minimum': 600, 'default-ttl': DEFAULT_TTL, 'default-soa-refresh-min': 300, 'default-soa-refresh-max': 400, 'default-soa-retry': 30 } with self.config_change({}, alternate_config, "designate", reset_to_charm_default=True): for key, value in alternate_config.items(): expected = "\n%s = %s\n" % (key.replace('-', '_'), value) zaza.model.block_until_file_has_contents( self.application_name, self.DESIGNATE_CONF, expected) logging.debug('Creating domain %s' % test_domain) domain = domains.Domain(name=test_domain, email="*****@*****.**") if self.post_xenial_queens: new_domain = self.domain_create(name=domain.name, email=domain.email) domain_id = new_domain['id'] else: new_domain = self.domain_create(domain) domain_id = new_domain.id self.assertIsNotNone(new_domain) self.assertEqual(new_domain['ttl'], DEFAULT_TTL) logging.debug('Tidy up delete test record %s' % domain_id) self._wait_on_domain_gone(domain_id) logging.debug('Done with deletion of domain %s' % domain_id)
def test_400_domain_creation(self): """Simple api calls to create domain""" u.log.debug('Checking if domain exists before trying to create it') old_dom_id = self.get_test_domain_id() if old_dom_id: u.log.debug('Deleting old domain') self.zones_delete(old_dom_id) self.check_and_wait(self.check_test_domain_gone, desc='Waiting for domain to disappear') u.log.debug('Creating new domain') domain = domains.Domain(name=self.TEST_DOMAIN, email="*****@*****.**") if self._get_openstack_release() >= self.xenial_queens: new_domain = self.designate.zones.create(name=domain.name, email=domain.email) else: new_domain = self.designate.domains.create(domain) assert (new_domain is not None) u.log.debug('Creating new test record') _record = records.Record(name=self.TEST_WWW_RECORD, type="A", data=self.TEST_RECORD[self.TEST_WWW_RECORD]) if self._get_openstack_release() >= self.xenial_queens: _domain_id = new_domain['id'] self.designate.recordsets.create(_domain_id, _record.name, _record.type, [_record.data]) else: _domain_id = new_domain.id self.designate.records.create(_domain_id, _record) self.check_and_wait(self.check_slave_resolve_test_record, desc='Waiting for dns record to propagate') u.log.debug('Tidy up delete test record') self.zones_delete(_domain_id) u.log.debug('OK')
def domain_create(self, **kwargs): domain = domains.Domain(**kwargs) return self.client().domains.create(domain)