Merge pull request #231 from rackerlabs/conf_show_ipam_strategy
Added config to show ipam_strategy
This commit is contained in:
@@ -35,6 +35,9 @@ quark_view_opts = [
|
||||
default=True,
|
||||
help=_('Controls whether or not to calculate and display'
|
||||
'allocation pools or not')),
|
||||
cfg.BoolOpt('show_ipam_strategy',
|
||||
default=False,
|
||||
help=_('Controls whether or not to show ipam_strategy')),
|
||||
cfg.BoolOpt('show_subnet_ip_policy_id',
|
||||
default=True,
|
||||
help=_('Controls whether or not to show ip_policy_id for'
|
||||
@@ -54,9 +57,11 @@ def _make_network_dict(network, fields=None):
|
||||
"name": network.get("name"),
|
||||
"tenant_id": network.get("tenant_id"),
|
||||
"admin_state_up": None,
|
||||
"ipam_strategy": network.get("ipam_strategy"),
|
||||
"status": "ACTIVE",
|
||||
"shared": shared_net}
|
||||
if CONF.QUARK.show_ipam_strategy:
|
||||
res['ipam_strategy'] = network.get("ipam_strategy")
|
||||
|
||||
if not shared_net:
|
||||
if fields and "all_subnets" in fields:
|
||||
res["subnets"] = [_make_subnet_dict(s)
|
||||
|
||||
@@ -19,6 +19,7 @@ import mock
|
||||
import netaddr
|
||||
from neutron.common import exceptions
|
||||
from neutron.common import rpc
|
||||
from oslo.config import cfg
|
||||
|
||||
from quark.db import api as db_api
|
||||
import quark.ipam
|
||||
@@ -36,6 +37,29 @@ class QuarkNetworkFunctionalTest(BaseFunctionalTest):
|
||||
rpc.init(mock.MagicMock())
|
||||
|
||||
|
||||
class QuarkGetNetwork(QuarkNetworkFunctionalTest):
|
||||
|
||||
def test_show_ipam_strategy(self):
|
||||
plugin = quark.plugin.Plugin()
|
||||
network = dict(name="public", tenant_id="fake", network_plugin="BASE")
|
||||
network = dict(network=network)
|
||||
original = cfg.CONF.QUARK.show_ipam_strategy
|
||||
|
||||
cfg.CONF.set_override('show_ipam_strategy', True, "QUARK")
|
||||
net = plugin.create_network(self.context, network)
|
||||
self.assertTrue('ipam_strategy' in net)
|
||||
net = plugin.get_network(self.context, net['id'])
|
||||
self.assertTrue('ipam_strategy' in net)
|
||||
|
||||
cfg.CONF.set_override('show_ipam_strategy', False, "QUARK")
|
||||
net = plugin.create_network(self.context, network)
|
||||
self.assertFalse('ipam_strategy' in net)
|
||||
net = plugin.get_network(self.context, net['id'])
|
||||
self.assertFalse('ipam_strategy' in net)
|
||||
|
||||
cfg.CONF.set_override('show_ipam_strategy', original, "QUARK")
|
||||
|
||||
|
||||
class QuarkDeleteNetworKDeallocatedIPs(QuarkNetworkFunctionalTest):
|
||||
@contextlib.contextmanager
|
||||
def _stubs(self, network, subnet, dealloc=True):
|
||||
|
||||
@@ -324,7 +324,7 @@ class TestQuarkCreateNetwork(test_quark_plugin.TestQuarkPlugin):
|
||||
with self._stubs(net=net) as net_create:
|
||||
net = self.plugin.create_network(self.context, dict(network=net))
|
||||
self.assertTrue(net_create.called)
|
||||
self.assertEqual(len(net.keys()), 8)
|
||||
self.assertEqual(len(net.keys()), 7)
|
||||
self.assertIsNotNone(net["id"])
|
||||
self.assertEqual(net["name"], "public")
|
||||
self.assertIsNone(net["admin_state_up"])
|
||||
@@ -332,7 +332,6 @@ class TestQuarkCreateNetwork(test_quark_plugin.TestQuarkPlugin):
|
||||
self.assertEqual(net["subnets"], [])
|
||||
self.assertEqual(net["shared"], False)
|
||||
self.assertEqual(net["tenant_id"], 0)
|
||||
self.assertEqual(net["ipam_strategy"], None)
|
||||
|
||||
def test_create_network_with_subnets(self):
|
||||
subnet = dict(id=2, cidr="172.168.0.0/24", tenant_id=0)
|
||||
@@ -342,7 +341,7 @@ class TestQuarkCreateNetwork(test_quark_plugin.TestQuarkPlugin):
|
||||
net.update(dict(subnets=[dict(subnet=subnet)]))
|
||||
net = self.plugin.create_network(self.context, dict(network=net))
|
||||
self.assertTrue(net_create.called)
|
||||
self.assertEqual(len(net.keys()), 8)
|
||||
self.assertEqual(len(net.keys()), 7)
|
||||
self.assertIsNotNone(net["id"])
|
||||
self.assertEqual(net["name"], "public")
|
||||
self.assertIsNone(net["admin_state_up"])
|
||||
@@ -350,7 +349,6 @@ class TestQuarkCreateNetwork(test_quark_plugin.TestQuarkPlugin):
|
||||
self.assertEqual(net["subnets"], [2])
|
||||
self.assertEqual(net["shared"], False)
|
||||
self.assertEqual(net["tenant_id"], 0)
|
||||
self.assertEqual(net["ipam_strategy"], None)
|
||||
|
||||
def test_create_network_with_id(self):
|
||||
net = dict(id="abcdef", name="public", admin_state_up=True,
|
||||
@@ -381,9 +379,13 @@ class TestQuarkCreateNetwork(test_quark_plugin.TestQuarkPlugin):
|
||||
net = dict(id="abcdef", name="public", admin_state_up=True,
|
||||
tenant_id=0, ipam_strategy="BOTH")
|
||||
admin_context = self.context.elevated()
|
||||
original = cfg.CONF.QUARK.show_ipam_strategy
|
||||
|
||||
cfg.CONF.set_override('show_ipam_strategy', True, "QUARK")
|
||||
with self._stubs(net=net):
|
||||
res = self.plugin.create_network(admin_context, dict(network=net))
|
||||
self.assertEqual(res["ipam_strategy"], net["ipam_strategy"])
|
||||
cfg.CONF.set_override('show_ipam_strategy', original, "QUARK")
|
||||
|
||||
def test_create_network_with_bad_ipam_strategy_raises(self):
|
||||
net = dict(id="abcdef", name="public", admin_state_up=True,
|
||||
|
||||
Reference in New Issue
Block a user