summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-11-05 20:49:30 +0000
committerGerrit Code Review <review@openstack.org>2014-11-05 20:49:30 +0000
commit1bc5d405bdfc3e493c2040b33941cf9a8bb2461f (patch)
tree587cf154167bc3717663564d7b022e33777666f9
parentee9c51db50621e92ce7261d60b0eaf3f20498b84 (diff)
parent8575fe95a6f1b46fb8ad645f26928471d5f53c9e (diff)
downloadneutron-1bc5d405bdfc3e493c2040b33941cf9a8bb2461f.tar.gz
Merge "Create DHCP port for IPv6 subnet" into stable/juno
-rw-r--r--neutron/agent/dhcp_agent.py5
-rw-r--r--neutron/tests/unit/test_dhcp_agent.py15
2 files changed, 18 insertions, 2 deletions
diff --git a/neutron/agent/dhcp_agent.py b/neutron/agent/dhcp_agent.py
index 5a501faa91..c8ea89b021 100644
--- a/neutron/agent/dhcp_agent.py
+++ b/neutron/agent/dhcp_agent.py
@@ -227,9 +227,10 @@ class DhcpAgent(manager.Manager):
self.conf, network)
for subnet in network.subnets:
- if subnet.enable_dhcp and subnet.ip_version == 4:
+ if subnet.enable_dhcp:
if self.call_driver('enable', network):
- if self.conf.use_namespaces and enable_metadata:
+ if (subnet.ip_version == 4 and self.conf.use_namespaces
+ and enable_metadata):
self.enable_isolated_metadata_proxy(network)
enable_metadata = False # Don't trigger twice
self.cache.put(network)
diff --git a/neutron/tests/unit/test_dhcp_agent.py b/neutron/tests/unit/test_dhcp_agent.py
index c6f98643fe..5e02428b0d 100644
--- a/neutron/tests/unit/test_dhcp_agent.py
+++ b/neutron/tests/unit/test_dhcp_agent.py
@@ -64,6 +64,12 @@ fake_subnet3 = dhcp.DictModel(dict(id='bbbbbbbb-1111-2222-bbbbbbbbbbbb',
network_id='12345678-1234-5678-1234567890ab',
cidr='192.168.1.1/24', enable_dhcp=True))
+fake_ipv6_subnet = dhcp.DictModel(dict(id='bbbbbbbb-1111-2222-bbbbbbbbbbbb',
+ network_id='12345678-1234-5678-1234567890ab',
+ cidr='2001:0db8::1:0:0:1/128', enable_dhcp=True,
+ tenant_id=fake_tenant_id,
+ gateway_ip='2001:0db8::1:0:0:1', ip_version=6))
+
fake_meta_subnet = dhcp.DictModel(dict(id='bbbbbbbb-1111-2222-bbbbbbbbbbbb',
network_id='12345678-1234-5678-1234567890ab',
cidr='169.254.169.252/30',
@@ -104,6 +110,12 @@ fake_network = dhcp.NetModel(True, dict(id='12345678-1234-5678-1234567890ab',
subnets=[fake_subnet1, fake_subnet2],
ports=[fake_port1]))
+fake_network_ipv6 = dhcp.NetModel(True, dict(
+ id='12345678-1234-5678-1234567890ab',
+ tenant_id='aaaaaaaa-aaaa-aaaa-aaaaaaaaaaaa',
+ admin_state_up=True,
+ subnets=[fake_ipv6_subnet]))
+
isolated_network = dhcp.NetModel(
True, dict(
id='12345678-1234-5678-1234567890ab',
@@ -555,6 +567,9 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
def test_enable_dhcp_helper(self):
self._enable_dhcp_helper(fake_network)
+ def test_enable_dhcp_helper_ipv6_network(self):
+ self._enable_dhcp_helper(fake_network_ipv6)
+
def test_enable_dhcp_helper_down_network(self):
self.plugin.get_network_info.return_value = fake_down_network
self.dhcp.enable_dhcp_helper(fake_down_network.id)