Corrections in DHCP Agent Resource listing.

In patch [1] DHCP Agent resource was introduced. But while implementing
the respective OpenStack clients [2], it was seen that the agent and network
listing classes needs to swapped for correct output at the OpenStack client
side. This patch fixes the issue.

[1] - https://review.openstack.org/#/c/387602/
[2] - https://review.openstack.org/#/c/387611/

Change-Id: I5abe69859081615aa3b02ac6fb37beaaac5ff634
This commit is contained in:
Shashank Kumar Shankar 2017-01-17 22:26:28 +00:00
parent 8b7e0492bc
commit 991b9ebb20
6 changed files with 28 additions and 28 deletions

View File

@ -212,7 +212,7 @@ class Proxy(proxy2.BaseProxy):
:return: A generator of networks
"""
agent_obj = self._get_resource(_agent.Agent, agent)
return self._list(_agent.DHCPAgentHostingNetwork, paginated=False,
return self._list(_network.DHCPAgentHostingNetwork, paginated=False,
agent_id=agent_obj.id, **query)
def add_dhcp_agent_to_network(self, agent, network):
@ -252,7 +252,7 @@ class Proxy(proxy2.BaseProxy):
:return: A generator of hosted DHCP agents
"""
net = self._get_resource(_network.Network, network)
return self._list(_network.NetworkHostingDHCPAgent, paginated=False,
return self._list(_agent.NetworkHostingDHCPAgent, paginated=False,
network_id=net.id, **query)
def get_auto_allocated_topology(self, project=None):

View File

@ -76,11 +76,11 @@ class Agent(resource.Resource):
session.delete(url, endpoint_filter=self.service, json=body)
class DHCPAgentHostingNetwork(resource.Resource):
resource_key = 'network'
resources_key = 'networks'
base_path = '/agents/%(agent_id)s/dhcp-networks'
resource_name = 'dhcp-network'
class NetworkHostingDHCPAgent(Agent):
resource_key = 'agent'
resources_key = 'agents'
resource_name = 'dhcp-agent'
base_path = '/networks/%(network_id)s/dhcp-agents'
service = network_service.NetworkService()
# capabilities
@ -90,4 +90,4 @@ class DHCPAgentHostingNetwork(resource.Resource):
allow_delete = False
allow_list = True
# NOTE: No query parameter is supported
# NOTE: Doesn't support query yet.

View File

@ -110,11 +110,11 @@ class Network(resource.Resource):
updated_at = resource.Body('updated_at')
class NetworkHostingDHCPAgent(resource.Resource):
resource_key = 'agent'
resources_key = 'agents'
resource_name = 'dhcp-agent'
base_path = '/networks/%(network_id)s/dhcp-agents'
class DHCPAgentHostingNetwork(Network):
resource_key = 'network'
resources_key = 'networks'
base_path = '/agents/%(agent_id)s/dhcp-networks'
resource_name = 'dhcp-network'
service = network_service.NetworkService()
# capabilities
@ -124,4 +124,4 @@ class NetworkHostingDHCPAgent(resource.Resource):
allow_delete = False
allow_list = True
# NOTE: Doesn't support query yet.
# NOTE: No query parameter is supported

View File

@ -90,14 +90,14 @@ class TestAgent(testtools.TestCase):
endpoint_filter=net.service, json=body)
class TestDHCPAgentHostingNetwork(testtools.TestCase):
class TestNetworkHostingDHCPAgent(testtools.TestCase):
def test_basic(self):
net = agent.DHCPAgentHostingNetwork()
self.assertEqual('network', net.resource_key)
self.assertEqual('networks', net.resources_key)
self.assertEqual('/agents/%(agent_id)s/dhcp-networks', net.base_path)
self.assertEqual('dhcp-network', net.resource_name)
net = agent.NetworkHostingDHCPAgent()
self.assertEqual('agent', net.resource_key)
self.assertEqual('agents', net.resources_key)
self.assertEqual('/networks/%(network_id)s/dhcp-agents', net.base_path)
self.assertEqual('dhcp-agent', net.resource_name)
self.assertEqual('network', net.service.service_type)
self.assertFalse(net.allow_create)
self.assertTrue(net.allow_get)

View File

@ -94,14 +94,14 @@ class TestNetwork(testtools.TestCase):
self.assertEqual(EXAMPLE['updated_at'], sot.updated_at)
class TestNetworkHostingDHCPAgent(testtools.TestCase):
class TestDHCPAgentHostingNetwork(testtools.TestCase):
def test_basic(self):
net = network.NetworkHostingDHCPAgent()
self.assertEqual('agent', net.resource_key)
self.assertEqual('agents', net.resources_key)
self.assertEqual('/networks/%(network_id)s/dhcp-agents', net.base_path)
self.assertEqual('dhcp-agent', net.resource_name)
net = network.DHCPAgentHostingNetwork()
self.assertEqual('network', net.resource_key)
self.assertEqual('networks', net.resources_key)
self.assertEqual('/agents/%(agent_id)s/dhcp-networks', net.base_path)
self.assertEqual('dhcp-network', net.resource_name)
self.assertEqual('network', net.service.service_type)
self.assertFalse(net.allow_create)
self.assertTrue(net.allow_get)

View File

@ -114,7 +114,7 @@ class TestNetworkProxy(test_proxy_base2.TestProxyBase):
def test_dhcp_agent_hosting_networks(self):
self.verify_list(
self.proxy.dhcp_agent_hosting_networks,
agent.DHCPAgentHostingNetwork,
network.DHCPAgentHostingNetwork,
paginated=False,
method_kwargs={'agent': AGENT_ID},
expected_kwargs={'agent_id': AGENT_ID}
@ -123,7 +123,7 @@ class TestNetworkProxy(test_proxy_base2.TestProxyBase):
def test_network_hosting_dhcp_agents(self):
self.verify_list(
self.proxy.network_hosting_dhcp_agents,
network.NetworkHostingDHCPAgent,
agent.NetworkHostingDHCPAgent,
paginated=False,
method_kwargs={'network': NETWORK_ID},
expected_kwargs={'network_id': NETWORK_ID}