Add Nova network scenarios
Added base methods (create/delete) for nova network and added scenario to rally jobs for functional test. Change-Id: I8c1f11e0f84345e10423b2117fc88513ca206fe0 Co-Authored-By: Andrey Kurilin <akurilin@mirantis.com>
This commit is contained in:
parent
f667f3b04b
commit
703f2edbee
@ -1041,3 +1041,35 @@
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
NovaNetworks.create_and_list_networks:
|
||||
-
|
||||
args:
|
||||
start_cidr: "10.10.0.0/24"
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 5
|
||||
concurrency: 2
|
||||
context:
|
||||
users:
|
||||
tenants: 3
|
||||
users_per_tenant: 2
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
NovaNetworks.create_and_delete_network:
|
||||
-
|
||||
args:
|
||||
start_cidr: "10.10.0.0/24"
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 5
|
||||
concurrency: 2
|
||||
context:
|
||||
users:
|
||||
tenants: 3
|
||||
users_per_tenant: 2
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
@ -86,6 +86,7 @@ class _Service(utils.ImmutableMixin, utils.EnumMixin):
|
||||
"""OpenStack services names, by rally convention."""
|
||||
|
||||
NOVA = "nova"
|
||||
NOVA_NET = "nova-network"
|
||||
NOVAV21 = "novav21"
|
||||
NOVAV3 = "novav3"
|
||||
CINDER = "cinder"
|
||||
|
@ -798,3 +798,22 @@ class NovaScenario(scenario.OpenStackScenario):
|
||||
:param server: Server to unlock
|
||||
"""
|
||||
server.unlock()
|
||||
|
||||
@base.atomic_action_timer("nova.create_network")
|
||||
def _create_network(self, ip_range, **kwargs):
|
||||
"""Create nova network.
|
||||
|
||||
:param ip_range: IP range in CIDR notation to create
|
||||
"""
|
||||
net_label = self._generate_random_name(prefix="rally_novanet")
|
||||
ip_range = network_wrapper.generate_cidr(start_cidr=ip_range)
|
||||
return self.admin_clients("nova").networks.create(
|
||||
label=net_label, cidr=ip_range, **kwargs)
|
||||
|
||||
@base.atomic_action_timer("nova.delete_network")
|
||||
def _delete_network(self, net_id):
|
||||
"""Delete nova network.
|
||||
|
||||
:param net_id: The nova-network ID to delete
|
||||
"""
|
||||
return self.admin_clients("nova").networks.delete(net_id)
|
||||
|
@ -796,3 +796,33 @@ class NovaScenarioTestCase(test.ScenarioTestCase):
|
||||
server.unlock.assert_called_once_with()
|
||||
self._test_atomic_action_timer(nova_scenario.atomic_actions(),
|
||||
"nova.unlock_server")
|
||||
|
||||
def test__delete_network(self):
|
||||
fake_netlabel = "test1"
|
||||
nova_scenario = utils.NovaScenario()
|
||||
nova_scenario._delete_network(fake_netlabel)
|
||||
self.admin_clients("nova").networks.delete.assert_called_once_with(
|
||||
fake_netlabel)
|
||||
self._test_atomic_action_timer(nova_scenario.atomic_actions(),
|
||||
"nova.delete_network")
|
||||
|
||||
@mock.patch(NOVA_UTILS + ".network_wrapper.generate_cidr")
|
||||
def test__create_network(self, mock_generate_cidr):
|
||||
fake_cidr = "10.2.0.0/24"
|
||||
fake_net = mock.MagicMock()
|
||||
fake_net.cidr = fake_cidr
|
||||
self.admin_clients("nova").networks.create.return_value = (fake_net)
|
||||
|
||||
nova_scenario = utils.NovaScenario()
|
||||
nova_scenario._generate_random_name = mock.Mock(
|
||||
return_value="rally_novanet_fake")
|
||||
|
||||
return_netlabel = nova_scenario._create_network(fake_cidr,
|
||||
fakearg="fakearg")
|
||||
mock_generate_cidr.assert_called_once_with(start_cidr=fake_cidr)
|
||||
self.admin_clients("nova").networks.create.assert_called_once_with(
|
||||
label="rally_novanet_fake", cidr=mock_generate_cidr.return_value,
|
||||
fakearg="fakearg")
|
||||
self.assertEqual(return_netlabel, fake_net)
|
||||
self._test_atomic_action_timer(nova_scenario.atomic_actions(),
|
||||
"nova.create_network")
|
||||
|
Loading…
x
Reference in New Issue
Block a user