diff --git a/rally/plugins/openstack/scenarios/neutron/utils.py b/rally/plugins/openstack/scenarios/neutron/utils.py index e1af7092..e1f81215 100644 --- a/rally/plugins/openstack/scenarios/neutron/utils.py +++ b/rally/plugins/openstack/scenarios/neutron/utils.py @@ -283,7 +283,8 @@ class NeutronScenario(scenario.OpenStackScenario): :returns: Network dict """ if "networks" in self.context["tenant"]: - return random.choice(self.context["tenant"]["networks"]) + return {"network": + random.choice(self.context["tenant"]["networks"])} else: LOG.warning(_("Running this scenario without either the 'network' " "or 'existing_network' context is deprecated")) diff --git a/tests/unit/plugins/openstack/scenarios/neutron/test_utils.py b/tests/unit/plugins/openstack/scenarios/neutron/test_utils.py index 746020b1..a5eb36d4 100644 --- a/tests/unit/plugins/openstack/scenarios/neutron/test_utils.py +++ b/tests/unit/plugins/openstack/scenarios/neutron/test_utils.py @@ -437,12 +437,17 @@ class NeutronScenarioTestCase(test.ScenarioTestCase): if context is None: context = {"tenant": {}} scenario = utils.NeutronScenario(context=context) - scenario._create_network = mock.Mock() + scenario._create_network = mock.Mock( + return_value={"network": mock.Mock()}) network = scenario._get_or_create_network(network_create_args) + # ensure that the return value is the proper type either way + self.assertIn("network", network) + if "networks" in context["tenant"]: - self.assertEqual(network, context["tenant"]["networks"][0]) + self.assertEqual(network, + {"network": context["tenant"]["networks"][0]}) self.assertFalse(scenario._create_network.called) else: self.assertEqual(network, scenario._create_network.return_value)