Hide ipv6 subnet API attributes

The attributes for ra mode and address mode should be hidden
until the IPv6 feature is fully implemented.

The changes in this patch will be reverted by another patch
which closes this bug.

Change-Id: I69a1a571b5beb566641200e60b84f0716c1ec138
Related-Bug: 1304093
(cherry picked from commit d739486a3f)
This commit is contained in:
Salvatore Orlando 2014-04-07 16:29:54 -07:00 committed by Mark McClain
parent 3c809003fa
commit bbc8008754
3 changed files with 16 additions and 6 deletions

View File

@ -727,15 +727,17 @@ RESOURCE_ATTRIBUTE_MAP = {
'default': True,
'convert_to': convert_to_boolean,
'is_visible': True},
'ipv6_ra_mode': {'allow_post': True, 'allow_put': True,
# NOTE: The following two attributes will be made visible once IPv6
# will be fully supported
'ipv6_ra_mode': {'allow_post': False, 'allow_put': False,
'default': ATTR_NOT_SPECIFIED,
'validate': {'type:values': constants.IPV6_MODES},
'is_visible': True},
'ipv6_address_mode': {'allow_post': True, 'allow_put': True,
'is_visible': False},
'ipv6_address_mode': {'allow_post': False, 'allow_put': False,
'default': ATTR_NOT_SPECIFIED,
'validate': {'type:values':
constants.IPV6_MODES},
'is_visible': True},
'is_visible': False},
SHARED: {'allow_post': False,
'allow_put': False,
'default': False,

View File

@ -1160,9 +1160,9 @@ class NeutronDbPluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2,
'gateway_ip': s['gateway_ip'],
'shared': network.shared}
if s['ip_version'] == 6 and s['enable_dhcp']:
if attributes.is_attr_set(s['ipv6_ra_mode']):
if attributes.is_attr_set(s.get('ipv6_ra_mode')):
args['ipv6_ra_mode'] = s['ipv6_ra_mode']
if attributes.is_attr_set(s['ipv6_address_mode']):
if attributes.is_attr_set(s.get('ipv6_address_mode')):
args['ipv6_address_mode'] = s['ipv6_address_mode']
subnet = models_v2.Subnet(**args)

View File

@ -22,6 +22,7 @@ import os
import mock
from oslo.config import cfg
from testtools import matchers
from testtools import testcase
import webob.exc
import neutron
@ -2998,6 +2999,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
res = subnet_req.get_response(self.api)
self.assertEqual(res.status_int, webob.exc.HTTPClientError.code)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_create_subnet_ipv6_attributes(self):
gateway_ip = 'fe80::1'
cidr = 'fe80::/80'
@ -3008,6 +3010,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
ipv6_ra_mode=mode,
ipv6_address_mode=mode)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_create_subnet_ipv6_attributes_no_dhcp_enabled(self):
gateway_ip = 'fe80::1'
cidr = 'fe80::/80'
@ -3058,6 +3061,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
self.assertEqual(ctx_manager.exception.code,
webob.exc.HTTPClientError.code)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_create_subnet_ipv6_single_attribute_set(self):
gateway_ip = 'fe80::1'
cidr = 'fe80::/80'
@ -3232,6 +3236,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
self.assertEqual(res.status_int,
webob.exc.HTTPConflict.code)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_update_subnet_ipv6_attributes(self):
with self.subnet(ip_version=6, cidr='fe80::/80',
ipv6_ra_mode=constants.IPV6_SLAAC,
@ -3246,6 +3251,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
self.assertEqual(res['subnet']['ipv6_address_mode'],
data['subnet']['ipv6_address_mode'])
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_update_subnet_ipv6_inconsistent_ra_attribute(self):
with self.subnet(ip_version=6, cidr='fe80::/80',
ipv6_ra_mode=constants.IPV6_SLAAC,
@ -3257,6 +3263,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
self.assertEqual(res.status_int,
webob.exc.HTTPClientError.code)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_update_subnet_ipv6_inconsistent_address_attribute(self):
with self.subnet(ip_version=6, cidr='fe80::/80',
ipv6_ra_mode=constants.IPV6_SLAAC,
@ -3268,6 +3275,7 @@ class TestSubnetsV2(NeutronDbPluginV2TestCase):
self.assertEqual(res.status_int,
webob.exc.HTTPClientError.code)
@testcase.skip("Skipped until bug 1304093 is fixed")
def test_update_subnet_ipv6_inconsistent_enable_dhcp(self):
with self.subnet(ip_version=6, cidr='fe80::/80',
ipv6_ra_mode=constants.IPV6_SLAAC,