Merge "Remove designateclient from commands related to zones"
This commit is contained in:
commit
1cb6a7e6e2
@ -407,26 +407,6 @@ class RolesForUser(task_manager.Task):
|
||||
return client.keystone_client.roles.roles_for_user(**self.args)
|
||||
|
||||
|
||||
class ZoneList(task_manager.Task):
|
||||
def main(self, client):
|
||||
return client.designate_client.zones.list()
|
||||
|
||||
|
||||
class ZoneCreate(task_manager.Task):
|
||||
def main(self, client):
|
||||
return client.designate_client.zones.create(**self.args)
|
||||
|
||||
|
||||
class ZoneUpdate(task_manager.Task):
|
||||
def main(self, client):
|
||||
return client.designate_client.zones.update(**self.args)
|
||||
|
||||
|
||||
class ZoneDelete(task_manager.Task):
|
||||
def main(self, client):
|
||||
return client.designate_client.zones.delete(**self.args)
|
||||
|
||||
|
||||
class RecordSetList(task_manager.Task):
|
||||
def main(self, client):
|
||||
return client.designate_client.recordsets.list(**self.args)
|
||||
|
@ -6928,8 +6928,9 @@ class OpenStackCloud(
|
||||
:returns: A list of zones dicts.
|
||||
|
||||
"""
|
||||
with _utils.shade_exceptions("Error fetching zones list"):
|
||||
return self.manager.submit_task(_tasks.ZoneList())
|
||||
return self._dns_client.get(
|
||||
"/v2/zones",
|
||||
error_message="Error fetching zones list")
|
||||
|
||||
def get_zone(self, name_or_id, filters=None):
|
||||
"""Get a zone by name or ID.
|
||||
@ -6948,7 +6949,7 @@ class OpenStackCloud(
|
||||
|
||||
def search_zones(self, name_or_id=None, filters=None):
|
||||
zones = self.list_zones()
|
||||
return _utils._filter_list(zones, name_or_id, filters)
|
||||
return _utils._filter_list(zones['zones'], name_or_id, filters)
|
||||
|
||||
def create_zone(self, name, zone_type=None, email=None, description=None,
|
||||
ttl=None, masters=None):
|
||||
@ -6977,11 +6978,23 @@ class OpenStackCloud(
|
||||
"Invalid type %s, valid choices are PRIMARY or SECONDARY" %
|
||||
zone_type)
|
||||
|
||||
with _utils.shade_exceptions("Unable to create zone {name}".format(
|
||||
name=name)):
|
||||
return self.manager.submit_task(_tasks.ZoneCreate(
|
||||
name=name, type_=zone_type, email=email,
|
||||
description=description, ttl=ttl, masters=masters))
|
||||
zone = {
|
||||
"name": name,
|
||||
"email": email,
|
||||
"description": description,
|
||||
}
|
||||
if ttl is not None:
|
||||
zone["ttl"] = ttl
|
||||
|
||||
if zone_type is not None:
|
||||
zone["type"] = zone_type
|
||||
|
||||
if masters is not None:
|
||||
zone["masters"] = masters
|
||||
|
||||
return self._dns_client.post(
|
||||
"/v2/zones", json=zone,
|
||||
error_message="Unable to create zone {name}".format(name=name))
|
||||
|
||||
@_utils.valid_kwargs('email', 'description', 'ttl', 'masters')
|
||||
def update_zone(self, name_or_id, **kwargs):
|
||||
@ -7004,13 +7017,9 @@ class OpenStackCloud(
|
||||
raise OpenStackCloudException(
|
||||
"Zone %s not found." % name_or_id)
|
||||
|
||||
with _utils.shade_exceptions(
|
||||
"Error updating zone {0}".format(name_or_id)):
|
||||
new_zone = self.manager.submit_task(
|
||||
_tasks.ZoneUpdate(
|
||||
zone=zone['id'], values=kwargs))
|
||||
|
||||
return new_zone
|
||||
return self._dns_client.patch(
|
||||
"/v2/zones/{zone_id}".format(zone_id=zone['id']), json=kwargs,
|
||||
error_message="Error updating zone {0}".format(name_or_id))
|
||||
|
||||
def delete_zone(self, name_or_id):
|
||||
"""Delete a zone.
|
||||
@ -7027,10 +7036,9 @@ class OpenStackCloud(
|
||||
self.log.debug("Zone %s not found for deleting", name_or_id)
|
||||
return False
|
||||
|
||||
with _utils.shade_exceptions(
|
||||
"Error deleting zone {0}".format(name_or_id)):
|
||||
self.manager.submit_task(
|
||||
_tasks.ZoneDelete(zone=zone['id']))
|
||||
return self._dns_client.delete(
|
||||
"/v2/zones/{zone_id}".format(zone_id=zone['id']),
|
||||
error_message="Error deleting zone {0}".format(name_or_id))
|
||||
|
||||
return True
|
||||
|
||||
|
@ -43,16 +43,16 @@ new_recordset['zone'] = recordset_zone
|
||||
|
||||
class TestRecordset(base.RequestsMockTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestRecordset, self).setUp()
|
||||
self.use_designate()
|
||||
|
||||
def test_create_recordset(self):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [zone]}),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [zone],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
@ -86,8 +86,12 @@ class TestRecordset(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [zone]}),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [zone],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
@ -128,8 +132,12 @@ class TestRecordset(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [zone]}),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [zone],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
@ -194,8 +202,12 @@ class TestRecordset(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [zone]}),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [zone],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
@ -256,6 +268,7 @@ class TestRecordset(base.RequestsMockTestCase):
|
||||
|
||||
def _prepare_get_recordset_calls(self, zone_id, name_or_id):
|
||||
self.register_uris([
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones'],
|
||||
@ -298,6 +311,7 @@ class TestRecordset(base.RequestsMockTestCase):
|
||||
def test_get_recordset_not_found_returns_false(self):
|
||||
recordset_name = "www.nonexistingrecord.net."
|
||||
self.register_uris([
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones'],
|
||||
|
@ -31,15 +31,11 @@ new_zone_dict['id'] = '1'
|
||||
|
||||
class TestZone(base.RequestsMockTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestZone, self).setUp()
|
||||
self.use_designate()
|
||||
|
||||
def test_create_zone(self):
|
||||
self.register_uris([
|
||||
dict(method='POST',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json=new_zone_dict,
|
||||
validate=dict(
|
||||
json=zone_dict))
|
||||
@ -58,11 +54,11 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='POST',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
status_code=500)
|
||||
])
|
||||
with testtools.ExpectedException(
|
||||
shade.OpenStackCloudException,
|
||||
shade.exc.OpenStackCloudHTTPError,
|
||||
"Unable to create zone example.net."
|
||||
):
|
||||
self.cloud.create_zone('example.net.')
|
||||
@ -75,18 +71,15 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [new_zone_dict]}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones'],
|
||||
qs_elements=['name=1']),
|
||||
json={'zones': [new_zone_dict]}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [new_zone_dict],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
dict(method='PATCH',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones', '1']),
|
||||
'dns', 'public', append=['v2', 'zones', '1']),
|
||||
json=updated_zone,
|
||||
validate=dict(
|
||||
json={"ttl": new_ttl}))
|
||||
@ -99,18 +92,15 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [new_zone_dict]}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones'],
|
||||
qs_elements=['name=1']),
|
||||
json={'zones': [new_zone_dict]}),
|
||||
self.get_designate_discovery_mock_dict(),
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [new_zone_dict],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}}),
|
||||
dict(method='DELETE',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones', '1']),
|
||||
'dns', 'public', append=['v2', 'zones', '1']),
|
||||
json=new_zone_dict)
|
||||
])
|
||||
self.assertTrue(self.cloud.delete_zone('1'))
|
||||
@ -120,8 +110,12 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [new_zone_dict]})
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [new_zone_dict],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}})
|
||||
])
|
||||
zone = self.cloud.get_zone('1')
|
||||
self.assertEqual(zone['id'], '1')
|
||||
@ -131,8 +125,12 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": [new_zone_dict]})
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [new_zone_dict],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}})
|
||||
])
|
||||
zone = self.cloud.get_zone('example.net.')
|
||||
self.assertEqual(zone['name'], 'example.net.')
|
||||
@ -142,8 +140,12 @@ class TestZone(base.RequestsMockTestCase):
|
||||
self.register_uris([
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
'dns', 'public', append=['zones']),
|
||||
json={"zones": []})
|
||||
'dns', 'public', append=['v2', 'zones']),
|
||||
json={
|
||||
"zones": [],
|
||||
"links": {},
|
||||
"metadata": {
|
||||
'total_count': 1}})
|
||||
])
|
||||
zone = self.cloud.get_zone('nonexistingzone.net.')
|
||||
self.assertFalse(zone)
|
||||
|
Loading…
x
Reference in New Issue
Block a user