Skip to content

Commit b06867c

Browse files
author
Matt Riedemann
committed
neutron: remove deprecated allow_duplicate_networks config option
Commit 4306d91 deprecated the allow_duplicate_networks config option in Kilo and marked it for removal in Liberty where the default behavior is to just allow duplicate networks. This simply removes the option and checks/tests around it being False. DocImpact: Removed neutron.allow_duplicate_networks config option. The behavior in Liberty is now to simply allow duplicate networks. Change-Id: Icb3510bcf0c30e11d0304a86ead91a43f37602ec
1 parent 045ee03 commit b06867c

File tree

2 files changed

+4
-74
lines changed

2 files changed

+4
-74
lines changed

nova/network/neutronv2/api.py

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,6 @@
100100
default=600,
101101
help='Number of seconds before querying neutron for'
102102
' extensions'),
103-
cfg.BoolOpt('allow_duplicate_networks',
104-
default=False,
105-
help='DEPRECATED: Allow an instance to have multiple vNICs '
106-
'attached to the same Neutron network. This option is '
107-
'deprecated in the 2015.1 release and will be removed '
108-
'in the 2015.2 release where the default behavior will '
109-
'be to always allow multiple ports from the same network '
110-
'to be attached to an instance.',
111-
deprecated_for_removal=True),
112103
]
113104

114105
NEUTRON_GROUP = 'neutron'
@@ -1049,7 +1040,6 @@ def _ports_needed_per_instance(self, context, neutron, requested_networks):
10491040
else:
10501041
ports_needed_per_instance = 1
10511042
else:
1052-
instance_on_net_ids = []
10531043
net_ids_requested = []
10541044

10551045
# TODO(danms): Remove me when all callers pass an object
@@ -1095,12 +1085,6 @@ def _ports_needed_per_instance(self, context, neutron, requested_networks):
10951085
address=request.address,
10961086
instance_uuid=i_uuid)
10971087

1098-
if (not CONF.neutron.allow_duplicate_networks and
1099-
request.network_id in instance_on_net_ids):
1100-
raise exception.NetworkDuplicated(
1101-
network_id=request.network_id)
1102-
instance_on_net_ids.append(request.network_id)
1103-
11041088
# Now check to see if all requested networks exist
11051089
if net_ids_requested:
11061090
nets = self._get_available_networks(

nova/tests/unit/network/test_neutronv2.py

Lines changed: 4 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1497,27 +1497,9 @@ def test_validate_networks_ex_2(self):
14971497
self.assertIn("my_netid2", six.text_type(ex))
14981498
self.assertIn("my_netid3", six.text_type(ex))
14991499

1500-
def test_validate_networks_duplicate_disable(self):
1501-
"""Verify that the correct exception is thrown when duplicate
1502-
network ids are passed to validate_networks, when nova config flag
1503-
allow_duplicate_networks is set to its default value: False
1504-
"""
1505-
requested_networks = [('my_netid1', None, None, None),
1506-
('my_netid1', None, None, None)]
1507-
self.mox.ReplayAll()
1508-
# Expected call from setUp.
1509-
neutronapi.get_client(None)
1510-
api = neutronapi.API()
1511-
self.assertRaises(exception.NetworkDuplicated,
1512-
api.validate_networks,
1513-
self.context, requested_networks, 1)
1514-
15151500
def test_validate_networks_duplicate_enable(self):
1516-
"""Verify that no duplicateNetworks exception is thrown when duplicate
1517-
network ids are passed to validate_networks, when nova config flag
1518-
allow_duplicate_networks is set to its non default value: True
1519-
"""
1520-
self.flags(allow_duplicate_networks=True, group='neutron')
1501+
# Verify that no duplicateNetworks exception is thrown when duplicate
1502+
# network ids are passed to validate_networks.
15211503
requested_networks = objects.NetworkRequestList(
15221504
objects=[objects.NetworkRequest(network_id='my_netid1'),
15231505
objects.NetworkRequest(network_id='my_netid1')])
@@ -1537,7 +1519,6 @@ def test_validate_networks_duplicate_enable(self):
15371519

15381520
def test_allocate_for_instance_with_requested_networks_duplicates(self):
15391521
# specify a duplicate network to allocate to instance
1540-
self.flags(allow_duplicate_networks=True, group='neutron')
15411522
requested_networks = objects.NetworkRequestList(
15421523
objects=[objects.NetworkRequest(network_id=net['id'])
15431524
for net in (self.nets6[0], self.nets6[1])])
@@ -1546,7 +1527,6 @@ def test_allocate_for_instance_with_requested_networks_duplicates(self):
15461527

15471528
def test_allocate_for_instance_requested_networks_duplicates_port(self):
15481529
# specify first port and last port that are in same network
1549-
self.flags(allow_duplicate_networks=True, group='neutron')
15501530
requested_networks = objects.NetworkRequestList(
15511531
objects=[objects.NetworkRequest(port_id=port['id'])
15521532
for port in (self.port_data1[0], self.port_data3[0])])
@@ -1555,7 +1535,6 @@ def test_allocate_for_instance_requested_networks_duplicates_port(self):
15551535

15561536
def test_allocate_for_instance_requested_networks_duplicates_combo(self):
15571537
# specify a combo net_idx=7 : net2, port in net1, net2, port in net1
1558-
self.flags(allow_duplicate_networks=True, group='neutron')
15591538
requested_networks = objects.NetworkRequestList(
15601539
objects=[objects.NetworkRequest(network_id='my_netid2'),
15611540
objects.NetworkRequest(port_id=self.port_data1[0]['id']),
@@ -1661,42 +1640,9 @@ def test_validate_networks_no_subnet_id(self):
16611640
api.validate_networks,
16621641
self.context, requested_networks, 1)
16631642

1664-
def test_validate_networks_ports_in_same_network_disable(self):
1665-
"""Verify that duplicateNetworks exception is thrown when ports on same
1666-
duplicate network are passed to validate_networks, when nova config
1667-
flag allow_duplicate_networks is set to its default False
1668-
"""
1669-
self.flags(allow_duplicate_networks=False, group='neutron')
1670-
port_a = self.port_data3[0]
1671-
port_a['fixed_ips'] = {'ip_address': '10.0.0.2',
1672-
'subnet_id': 'subnet_id'}
1673-
port_b = self.port_data1[0]
1674-
self.assertEqual(port_a['network_id'], port_b['network_id'])
1675-
for port in [port_a, port_b]:
1676-
port['device_id'] = None
1677-
port['device_owner'] = None
1678-
1679-
requested_networks = objects.NetworkRequestList(
1680-
objects=[objects.NetworkRequest(port_id=port_a['id']),
1681-
objects.NetworkRequest(port_id=port_b['id'])])
1682-
self.moxed_client.show_port(port_a['id']).AndReturn(
1683-
{'port': port_a})
1684-
self.moxed_client.show_port(port_b['id']).AndReturn(
1685-
{'port': port_b})
1686-
1687-
self.mox.ReplayAll()
1688-
1689-
api = neutronapi.API()
1690-
self.assertRaises(exception.NetworkDuplicated,
1691-
api.validate_networks,
1692-
self.context, requested_networks, 1)
1693-
16941643
def test_validate_networks_ports_in_same_network_enable(self):
1695-
"""Verify that duplicateNetworks exception is not thrown when ports
1696-
on same duplicate network are passed to validate_networks, when nova
1697-
config flag allow_duplicate_networks is set to its True
1698-
"""
1699-
self.flags(allow_duplicate_networks=True, group='neutron')
1644+
# Verify that duplicateNetworks exception is not thrown when ports
1645+
# on same duplicate network are passed to validate_networks.
17001646
port_a = self.port_data3[0]
17011647
port_a['fixed_ips'] = {'ip_address': '10.0.0.2',
17021648
'subnet_id': 'subnet_id'}

0 commit comments

Comments
 (0)