Add NeutronNetworks.list_agents
List all neutron agents. This simple scenario tests the "neutron agent-list" command by listing all the neutron agents. Change-Id: I96c1ba7b2be085f5436c5fa4ae85959b3e60b99d
This commit is contained in:
parent
a5a1f0dab0
commit
cf3456e4aa
@ -174,6 +174,22 @@
|
||||
failure_rate:
|
||||
max: 20
|
||||
|
||||
NeutronNetworks.list_agents:
|
||||
-
|
||||
args:
|
||||
agent_args: {}
|
||||
runner:
|
||||
type: "constant"
|
||||
times: {{smoke or 10}}
|
||||
concurrency: {{smoke or 3}}
|
||||
context:
|
||||
users:
|
||||
tenants: {{smoke or 3}}
|
||||
users_per_tenant: {{smoke or 2}}
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
NeutronNetworks.create_and_update_networks:
|
||||
-
|
||||
args:
|
||||
|
@ -367,4 +367,21 @@ class CreateAndDeleteFloatingIps(utils.NeutronScenario):
|
||||
floating_ip_args = floating_ip_args or {}
|
||||
floating_ip = self._create_floatingip(floating_network,
|
||||
**floating_ip_args)
|
||||
self._delete_floating_ip(floating_ip["floatingip"])
|
||||
self._delete_floating_ip(floating_ip["floatingip"])
|
||||
|
||||
|
||||
@validation.required_services(consts.Service.NEUTRON)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(name="NeutronNetworks.list_agents")
|
||||
class ListAgents(utils.NeutronScenario):
|
||||
|
||||
def run(self, agent_args=None):
|
||||
"""List all neutron agents.
|
||||
|
||||
This simple scenario tests the "neutron agent-list" command by
|
||||
listing all the neutron agents.
|
||||
|
||||
:param agent_args: dict, POST /v2.0/agents request options
|
||||
"""
|
||||
agent_args = agent_args or {}
|
||||
self._list_agents(**agent_args)
|
||||
|
@ -74,6 +74,15 @@ class NeutronScenario(scenario.OpenStackScenario):
|
||||
"""
|
||||
return self.clients("neutron").list_networks(**kwargs)["networks"]
|
||||
|
||||
@atomic.action_timer("neutron.list_agents")
|
||||
def _list_agents(self, **kwargs):
|
||||
"""Fetches agents.
|
||||
|
||||
:param kwargs: neutron agent list options
|
||||
:returns: user agents list
|
||||
"""
|
||||
return self.clients("neutron").list_agents(**kwargs)["agents"]
|
||||
|
||||
@atomic.action_timer("neutron.update_network")
|
||||
def _update_network(self, network, network_update_args):
|
||||
"""Update the network.
|
||||
|
25
samples/tasks/scenarios/neutron/list-agents.json
Normal file
25
samples/tasks/scenarios/neutron/list-agents.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"NeutronNetworks.list_agents": [
|
||||
{
|
||||
"args": {
|
||||
"agent_args": {}
|
||||
},
|
||||
"runner": {
|
||||
"type": "constant",
|
||||
"times": 10,
|
||||
"concurrency": 2
|
||||
},
|
||||
"context": {
|
||||
"users": {
|
||||
"tenants": 2,
|
||||
"users_per_tenant": 3
|
||||
}
|
||||
},
|
||||
"sla": {
|
||||
"failure_rate": {
|
||||
"max": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
16
samples/tasks/scenarios/neutron/list-agents.yaml
Normal file
16
samples/tasks/scenarios/neutron/list-agents.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
NeutronNetworks.list_agents:
|
||||
-
|
||||
args:
|
||||
agent_args: {}
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 10
|
||||
concurrency: 2
|
||||
context:
|
||||
users:
|
||||
tenants: 2
|
||||
users_per_tenant: 3
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
@ -209,6 +209,17 @@ class NeutronNetworksTestCase(test.ScenarioTestCase):
|
||||
subnets_per_network, router_create_args)
|
||||
scenario._list_routers.assert_called_once_with()
|
||||
|
||||
def test_list_agents(self):
|
||||
agent_args = {
|
||||
"F": "id",
|
||||
"sort-dir": "asc"
|
||||
}
|
||||
scenario = network.ListAgents(self.context)
|
||||
scenario._list_agents = mock.Mock()
|
||||
|
||||
scenario.run(agent_args=agent_args)
|
||||
scenario._list_agents.assert_called_once_with(**agent_args)
|
||||
|
||||
def test_create_and_update_routers(self):
|
||||
router_update_args = {"admin_state_up": False}
|
||||
network_create_args = {"router:external": True}
|
||||
|
@ -270,6 +270,14 @@ class NeutronScenarioTestCase(test.ScenarioTestCase):
|
||||
self._test_atomic_action_timer(self.scenario.atomic_actions(),
|
||||
"neutron.list_routers")
|
||||
|
||||
def test_list_agents(self):
|
||||
agents = [mock.Mock()]
|
||||
self.clients("neutron").list_agents.return_value = {
|
||||
"agents": agents}
|
||||
self.assertEqual(agents, self.scenario._list_agents())
|
||||
self._test_atomic_action_timer(self.scenario.atomic_actions(),
|
||||
"neutron.list_agents")
|
||||
|
||||
def test_update_router(self):
|
||||
expected_router = {
|
||||
"router": {
|
||||
|
Loading…
Reference in New Issue
Block a user