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:
@@ -1041,3 +1041,35 @@
|
|||||||
sla:
|
sla:
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: 0
|
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."""
|
"""OpenStack services names, by rally convention."""
|
||||||
|
|
||||||
NOVA = "nova"
|
NOVA = "nova"
|
||||||
|
NOVA_NET = "nova-network"
|
||||||
NOVAV21 = "novav21"
|
NOVAV21 = "novav21"
|
||||||
NOVAV3 = "novav3"
|
NOVAV3 = "novav3"
|
||||||
CINDER = "cinder"
|
CINDER = "cinder"
|
||||||
|
@@ -798,3 +798,22 @@ class NovaScenario(scenario.OpenStackScenario):
|
|||||||
:param server: Server to unlock
|
:param server: Server to unlock
|
||||||
"""
|
"""
|
||||||
server.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()
|
server.unlock.assert_called_once_with()
|
||||||
self._test_atomic_action_timer(nova_scenario.atomic_actions(),
|
self._test_atomic_action_timer(nova_scenario.atomic_actions(),
|
||||||
"nova.unlock_server")
|
"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")
|
||||||
|
Reference in New Issue
Block a user