[1246251] MGMT, Storage nets have no gateway
Management and storage networks must have no gateway for both Neutron and Nova-Network providers. Floating network must have no gateway in case of Nova-Network. Gateway field is set to 'None' for them. 'network_size' field is relevant for fixed network only. Small refactoring of networking-related tests. Closes-Bug: #1246251 Change-Id: Icfa425c094e3d0c45b0a9e979cdf3f0c719d106d
This commit is contained in:
parent
4c5a528cbf
commit
ad7c91f8f0
|
@ -44,10 +44,10 @@
|
|||
"name": "floating",
|
||||
"cidr": "172.16.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "172.16.0.1",
|
||||
"gateway": null,
|
||||
"ip_range": ["172.16.0.128", "172.16.0.254"],
|
||||
"vlan_start": null,
|
||||
"network_size": 256,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -57,24 +57,27 @@
|
|||
"gateway": "172.16.0.1",
|
||||
"ip_range": ["172.16.0.2", "172.16.0.127"],
|
||||
"vlan_start": null,
|
||||
"use_gateway": true,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"cidr": "192.168.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.0.1",
|
||||
"ip_range": ["192.168.0.1", "192.168.0.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.0.2", "192.168.0.254"],
|
||||
"vlan_start": 101,
|
||||
"use_gateway": false,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"cidr": "192.168.1.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.1.1",
|
||||
"ip_range": ["192.168.1.1", "192.168.1.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.1.2", "192.168.1.254"],
|
||||
"vlan_start": 102,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -83,7 +86,9 @@
|
|||
"netmask": "255.255.0.0",
|
||||
"gateway": "10.0.0.1",
|
||||
"ip_range": ["10.0.0.2", "10.0.255.254"],
|
||||
"network_size": 256,
|
||||
"vlan_start": 103,
|
||||
"use_gateway": true,
|
||||
"assign_vip": false
|
||||
}
|
||||
]
|
||||
|
@ -95,16 +100,19 @@
|
|||
"pool": ["172.16.0.0/24"],
|
||||
"ip_range": ["172.16.0.2", "172.16.0.126"],
|
||||
"vlan_start": null,
|
||||
"use_gateway": true,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"pool": ["192.168.0.0/24"],
|
||||
"use_gateway": false,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"pool": ["192.168.1.0/24"],
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
}
|
||||
],
|
||||
|
@ -606,10 +614,10 @@
|
|||
"name": "floating",
|
||||
"cidr": "172.16.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "172.16.0.1",
|
||||
"gateway": null,
|
||||
"ip_range": ["172.16.0.128", "172.16.0.254"],
|
||||
"vlan_start": null,
|
||||
"network_size": 256,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -619,24 +627,27 @@
|
|||
"gateway": "172.16.0.1",
|
||||
"ip_range": ["172.16.0.2", "172.16.0.127"],
|
||||
"vlan_start": null,
|
||||
"use_gateway": true,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"cidr": "192.168.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.0.1",
|
||||
"ip_range": ["192.168.0.1", "192.168.0.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.0.2", "192.168.0.254"],
|
||||
"vlan_start": 101,
|
||||
"use_gateway": false,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"cidr": "192.168.1.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.1.1",
|
||||
"ip_range": ["192.168.1.1", "192.168.1.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.1.2", "192.168.1.254"],
|
||||
"vlan_start": 102,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -645,7 +656,9 @@
|
|||
"netmask": "255.255.0.0",
|
||||
"gateway": "10.0.0.1",
|
||||
"ip_range": ["10.0.0.2", "10.0.255.254"],
|
||||
"network_size": 256,
|
||||
"vlan_start": 103,
|
||||
"use_gateway": true,
|
||||
"assign_vip": false
|
||||
}
|
||||
]
|
||||
|
@ -1012,10 +1025,10 @@
|
|||
"name": "floating",
|
||||
"cidr": "172.16.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "172.16.0.1",
|
||||
"gateway": null,
|
||||
"ip_range": ["172.16.0.128", "172.16.0.254"],
|
||||
"vlan_start": null,
|
||||
"network_size": 256,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -1025,24 +1038,27 @@
|
|||
"gateway": "172.16.0.1",
|
||||
"ip_range": ["172.16.0.2", "172.16.0.127"],
|
||||
"vlan_start": null,
|
||||
"use_gateway": true,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"cidr": "192.168.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.0.1",
|
||||
"ip_range": ["192.168.0.1", "192.168.0.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.0.2", "192.168.0.254"],
|
||||
"vlan_start": 101,
|
||||
"use_gateway": false,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"cidr": "192.168.1.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.1.1",
|
||||
"ip_range": ["192.168.1.1", "192.168.1.254"],
|
||||
"gateway": null,
|
||||
"ip_range": ["192.168.1.2", "192.168.1.254"],
|
||||
"vlan_start": 102,
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
},
|
||||
{
|
||||
|
@ -1051,7 +1067,9 @@
|
|||
"netmask": "255.255.0.0",
|
||||
"gateway": "10.0.0.1",
|
||||
"ip_range": ["10.0.0.2", "10.0.255.254"],
|
||||
"network_size": 256,
|
||||
"vlan_start": 103,
|
||||
"use_gateway": true,
|
||||
"assign_vip": false
|
||||
}
|
||||
]
|
||||
|
@ -1063,16 +1081,19 @@
|
|||
"pool": ["172.16.0.0/24"],
|
||||
"ip_range": ["172.16.0.2", "172.16.0.126"],
|
||||
"vlan_start": null,
|
||||
"use_gateway": true,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"pool": ["192.168.0.0/24"],
|
||||
"use_gateway": false,
|
||||
"assign_vip": true
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"pool": ["192.168.1.0/24"],
|
||||
"use_gateway": false,
|
||||
"assign_vip": false
|
||||
}
|
||||
],
|
||||
|
|
|
@ -145,13 +145,14 @@ class NetworkManager(object):
|
|||
first=network["ip_range"][0],
|
||||
last=network["ip_range"][1]
|
||||
)
|
||||
gw = network['gateway'] if network.get('use_gateway') else None
|
||||
|
||||
nw_group = NetworkGroup(
|
||||
release=cluster_db.release.id,
|
||||
name=network['name'],
|
||||
cidr=network['cidr'],
|
||||
netmask=network['netmask'],
|
||||
gateway=network['gateway'],
|
||||
gateway=gw,
|
||||
cluster_id=cluster_id,
|
||||
vlan_start=network['vlan_start'],
|
||||
amount=1,
|
||||
|
|
|
@ -304,13 +304,14 @@ class NeutronManager(NetworkManager):
|
|||
first=str(new_net[2]),
|
||||
last=str(new_net[-2])
|
||||
)
|
||||
gw = str(new_net[1]) if network.get('use_gateway') else None
|
||||
|
||||
nw_group = NetworkGroup(
|
||||
release=cluster_db.release.id,
|
||||
name=network['name'],
|
||||
cidr=str(new_net),
|
||||
netmask=str(new_net.netmask),
|
||||
gateway=str(new_net[1]),
|
||||
gateway=gw,
|
||||
cluster_id=cluster_id,
|
||||
vlan_start=vlan_start,
|
||||
amount=1
|
||||
|
|
|
@ -405,42 +405,6 @@ class Environment(object):
|
|||
self.set_admin_ip_for_for_single_interface(meta['interfaces'])
|
||||
return meta['interfaces']
|
||||
|
||||
def generate_ui_networks(self, cluster_id):
|
||||
start_id = self.db.query(NetworkGroup.id).order_by(
|
||||
NetworkGroup.id
|
||||
).first()
|
||||
start_id = 0 if not start_id else start_id[-1] + 1
|
||||
net_names = (
|
||||
"floating",
|
||||
"public",
|
||||
"management",
|
||||
"storage",
|
||||
"fixed"
|
||||
)
|
||||
net_cidrs = (
|
||||
"172.16.0.0/24",
|
||||
"172.16.1.0/24",
|
||||
"192.168.0.0/24",
|
||||
"192.168.1.0/24",
|
||||
"10.0.0.0/24"
|
||||
)
|
||||
nets = {'networks': [{
|
||||
"network_size": 256,
|
||||
"name": nd[0],
|
||||
"amount": 1,
|
||||
"cluster_id": cluster_id,
|
||||
"vlan_start": 100 + i,
|
||||
"cidr": nd[1],
|
||||
"id": start_id + i
|
||||
} for i, nd in enumerate(zip(net_names, net_cidrs))]}
|
||||
|
||||
public = filter(
|
||||
lambda net: net['name'] == 'public',
|
||||
nets['networks'])[0]
|
||||
public['netmask'] = '255.255.255.0'
|
||||
|
||||
return nets
|
||||
|
||||
def get_default_roles(self):
|
||||
return ['controller', 'compute', 'cinder', 'ceph-osd']
|
||||
|
||||
|
@ -449,103 +413,8 @@ class Environment(object):
|
|||
('openstack',))[0]['fields']['volumes_metadata']
|
||||
|
||||
def get_default_networks_metadata(self):
|
||||
return {
|
||||
"nova_network": {
|
||||
"networks": [
|
||||
{
|
||||
"name": "floating",
|
||||
"cidr": "172.16.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "172.16.0.1",
|
||||
"ip_range": ["172.16.0.128", "172.16.0.254"],
|
||||
"vlan_start": None,
|
||||
"network_size": 256,
|
||||
"assign_vip": False
|
||||
},
|
||||
{
|
||||
"name": "public",
|
||||
"cidr": "172.16.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "172.16.0.1",
|
||||
"ip_range": ["172.16.0.2", "172.16.0.127"],
|
||||
"vlan_start": None,
|
||||
"assign_vip": True
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"cidr": "192.168.0.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.0.1",
|
||||
"ip_range": ["192.168.0.1", "192.168.0.254"],
|
||||
"vlan_start": 101,
|
||||
"assign_vip": True
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"cidr": "192.168.1.0/24",
|
||||
"netmask": "255.255.255.0",
|
||||
"gateway": "192.168.1.1",
|
||||
"ip_range": ["192.168.1.1", "192.168.1.254"],
|
||||
"vlan_start": 102,
|
||||
"assign_vip": False
|
||||
},
|
||||
{
|
||||
"name": "fixed",
|
||||
"cidr": "10.0.0.0/16",
|
||||
"netmask": "255.255.0.0",
|
||||
"gateway": "10.0.0.1",
|
||||
"ip_range": ["10.0.0.2", "10.0.255.254"],
|
||||
"vlan_start": 103,
|
||||
"assign_vip": False
|
||||
}
|
||||
]
|
||||
},
|
||||
"neutron": {
|
||||
"networks": [
|
||||
{
|
||||
"name": "public",
|
||||
"pool": ["172.16.0.0/24"],
|
||||
"ip_range": ["172.16.0.2", "172.16.0.126"],
|
||||
"vlan_start": None,
|
||||
"assign_vip": True
|
||||
},
|
||||
{
|
||||
"name": "management",
|
||||
"pool": ["192.168.0.0/24"],
|
||||
"assign_vip": True
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"pool": ["192.168.1.0/24"],
|
||||
"assign_vip": False
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"parameters": {
|
||||
"amqp": {
|
||||
"provider": "rabbitmq",
|
||||
"username": None,
|
||||
"passwd": "",
|
||||
"hosts": "hostname1:5672, hostname2:5672"
|
||||
},
|
||||
"database": {
|
||||
"provider": "mysql",
|
||||
"port": "3306",
|
||||
"database": None,
|
||||
"username": None,
|
||||
"passwd": ""
|
||||
},
|
||||
"keystone": {
|
||||
"admin_user": None,
|
||||
"admin_password": ""
|
||||
},
|
||||
"metadata": {
|
||||
"metadata_proxy_shared_secret": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return self.read_fixtures(
|
||||
('openstack',))[0]['fields']['networks_metadata']
|
||||
|
||||
def get_default_attributes_metadata(self):
|
||||
return self.read_fixtures(
|
||||
|
|
|
@ -171,7 +171,7 @@ class TestHandlers(BaseIntegrationTest):
|
|||
'name': u'floating',
|
||||
'vlan_id': None,
|
||||
'cidr': '172.16.0.0/24',
|
||||
'gateway': '172.16.0.1'
|
||||
'gateway': None
|
||||
},
|
||||
{
|
||||
'release': release.id,
|
||||
|
@ -192,14 +192,14 @@ class TestHandlers(BaseIntegrationTest):
|
|||
'name': u'storage',
|
||||
'vlan_id': 102,
|
||||
'cidr': '192.168.1.0/24',
|
||||
'gateway': '192.168.1.1'
|
||||
'gateway': None
|
||||
},
|
||||
{
|
||||
'release': release.id,
|
||||
'name': u'management',
|
||||
'vlan_id': 101,
|
||||
'cidr': '192.168.0.0/24',
|
||||
'gateway': '192.168.0.1'
|
||||
'gateway': None
|
||||
}
|
||||
]
|
||||
self.assertItemsEqual(expected, obtained)
|
||||
|
@ -207,12 +207,9 @@ class TestHandlers(BaseIntegrationTest):
|
|||
@patch('nailgun.rpc.cast')
|
||||
def test_verify_networks(self, mocked_rpc):
|
||||
cluster = self.env.create_cluster(api=True)
|
||||
resp = self.app.put(
|
||||
reverse('NovaNetworkConfigurationHandler',
|
||||
kwargs={'cluster_id': cluster['id']}),
|
||||
json.dumps(self.env.generate_ui_networks(cluster["id"])),
|
||||
headers=self.default_headers
|
||||
)
|
||||
nets = json.loads(self.env.nova_networks_get(cluster['id']).body)
|
||||
|
||||
resp = self.env.nova_networks_put(cluster['id'], nets)
|
||||
self.assertEquals(202, resp.status)
|
||||
task = json.loads(resp.body)
|
||||
self.assertEquals(task['status'], 'ready')
|
||||
|
|
|
@ -169,6 +169,61 @@ class TestNovaNetworkConfigurationHandlerMultinode(BaseIntegrationTest):
|
|||
else:
|
||||
self.assertIsNotNone(net['vlan_start'])
|
||||
|
||||
def test_mgmt_storage_networks_have_no_gateway(self):
|
||||
resp = self.env.nova_networks_get(self.cluster.id)
|
||||
self.assertEquals(200, resp.status)
|
||||
data = json.loads(resp.body)
|
||||
for net in data['networks']:
|
||||
if net['name'] in ['management', 'storage']:
|
||||
self.assertIsNone(net['gateway'])
|
||||
|
||||
def test_management_network_has_gw(self):
|
||||
net_meta = self.env.get_default_networks_metadata().copy()
|
||||
mgmt = filter(lambda n: n['name'] == 'management',
|
||||
net_meta['nova_network']['networks'])[0]
|
||||
mgmt['use_gateway'] = True
|
||||
mgmt['gateway'] = '192.168.0.1'
|
||||
|
||||
def get_new_networks_metadata():
|
||||
return net_meta
|
||||
|
||||
self.env.get_default_networks_metadata = get_new_networks_metadata
|
||||
cluster = self.env.create(
|
||||
cluster_kwargs={},
|
||||
nodes_kwargs=[{"pending_addition": True}]
|
||||
)
|
||||
|
||||
resp = self.env.nova_networks_get(cluster['id'])
|
||||
data = json.loads(resp.body)
|
||||
mgmt = filter(lambda n: n['name'] == 'management',
|
||||
data['networks'])[0]
|
||||
self.assertEquals(mgmt['gateway'], '192.168.0.1')
|
||||
strg = filter(lambda n: n['name'] == 'storage',
|
||||
data['networks'])[0]
|
||||
self.assertIsNone(strg['gateway'])
|
||||
|
||||
def test_management_network_gw_set_but_not_in_use(self):
|
||||
net_meta = self.env.get_default_networks_metadata().copy()
|
||||
mgmt = filter(lambda n: n['name'] == 'management',
|
||||
net_meta['nova_network']['networks'])[0]
|
||||
mgmt['gateway'] = '192.168.0.1'
|
||||
self.assertEquals(mgmt['use_gateway'], False)
|
||||
|
||||
def get_new_networks_metadata():
|
||||
return net_meta
|
||||
|
||||
self.env.get_default_networks_metadata = get_new_networks_metadata
|
||||
cluster = self.env.create(
|
||||
cluster_kwargs={},
|
||||
nodes_kwargs=[{"pending_addition": True}]
|
||||
)
|
||||
|
||||
resp = self.env.nova_networks_get(cluster['id'])
|
||||
data = json.loads(resp.body)
|
||||
for n in data['networks']:
|
||||
if n['name'] in ('management', 'storage'):
|
||||
self.assertIsNone(n['gateway'])
|
||||
|
||||
|
||||
class TestNeutronNetworkConfigurationHandlerMultinode(BaseIntegrationTest):
|
||||
def setUp(self):
|
||||
|
@ -368,6 +423,39 @@ class TestNeutronNetworkConfigurationHandlerMultinode(BaseIntegrationTest):
|
|||
else:
|
||||
self.assertIsNotNone(net['vlan_start'])
|
||||
|
||||
def test_mgmt_storage_networks_have_no_gateway(self):
|
||||
resp = self.env.neutron_networks_get(self.cluster.id)
|
||||
self.assertEquals(200, resp.status)
|
||||
data = json.loads(resp.body)
|
||||
for net in data['networks']:
|
||||
if net['name'] in ['management', 'storage']:
|
||||
self.assertIsNone(net['gateway'])
|
||||
|
||||
def test_management_network_has_gw(self):
|
||||
net_meta = self.env.get_default_networks_metadata().copy()
|
||||
mgmt = filter(lambda n: n['name'] == 'management',
|
||||
net_meta['neutron']['networks'])[0]
|
||||
mgmt['use_gateway'] = True
|
||||
|
||||
def get_new_networks_metadata():
|
||||
return net_meta
|
||||
|
||||
self.env.get_default_networks_metadata = get_new_networks_metadata
|
||||
cluster = self.env.create(
|
||||
cluster_kwargs={'net_provider': 'neutron',
|
||||
'net_segment_type': 'gre'},
|
||||
nodes_kwargs=[{"pending_addition": True}]
|
||||
)
|
||||
|
||||
resp = self.env.neutron_networks_get(cluster['id'])
|
||||
data = json.loads(resp.body)
|
||||
mgmt = filter(lambda n: n['name'] == 'management',
|
||||
data['networks'])[0]
|
||||
self.assertEquals(mgmt['gateway'], '192.168.0.1')
|
||||
strg = filter(lambda n: n['name'] == 'storage',
|
||||
data['networks'])[0]
|
||||
self.assertIsNone(strg['gateway'])
|
||||
|
||||
|
||||
class TestNovaNetworkConfigurationHandlerHA(BaseIntegrationTest):
|
||||
def setUp(self):
|
||||
|
|
|
@ -68,30 +68,25 @@ class TestNetworkModels(BaseIntegrationTest):
|
|||
supertask = self.env.launch_deployment()
|
||||
self.env.wait_ready(supertask, 60)
|
||||
|
||||
test_nets = self.env.generate_ui_networks(
|
||||
test_nets = json.loads(self.env.nova_networks_get(
|
||||
self.env.clusters[0].id
|
||||
).body)
|
||||
|
||||
resp_nova_net = self.env.nova_networks_put(
|
||||
self.env.clusters[0].id,
|
||||
test_nets,
|
||||
expect_errors=True
|
||||
)
|
||||
|
||||
resp_nova_net = self.app.put(
|
||||
reverse(
|
||||
'NovaNetworkConfigurationHandler',
|
||||
kwargs={'cluster_id': self.env.clusters[0].id}),
|
||||
json.dumps(test_nets),
|
||||
headers=self.default_headers,
|
||||
expect_errors=True
|
||||
)
|
||||
resp_neutron_net = self.app.put(
|
||||
reverse(
|
||||
'NeutronNetworkConfigurationHandler',
|
||||
kwargs={'cluster_id': self.env.clusters[0].id}),
|
||||
json.dumps(test_nets),
|
||||
headers=self.default_headers,
|
||||
resp_neutron_net = self.env.neutron_networks_put(
|
||||
self.env.clusters[0].id,
|
||||
test_nets,
|
||||
expect_errors=True
|
||||
)
|
||||
|
||||
resp_cluster = self.app.put(
|
||||
reverse(
|
||||
'ClusterAttributesHandler',
|
||||
kwargs={'cluster_id': self.env.clusters[0].id}),
|
||||
reverse('ClusterAttributesHandler',
|
||||
kwargs={'cluster_id': self.env.clusters[0].id}),
|
||||
json.dumps({
|
||||
'editable': {
|
||||
"foo": "bar"
|
||||
|
|
|
@ -336,7 +336,7 @@ function(utils, models, commonViews, dialogViews, networkTabTemplate, networkTem
|
|||
cidr: $.trim(this.$('.cidr input').val()),
|
||||
vlan_start: fixedNetworkOnVlanManager || this.$('.use-vlan-tagging:checked').length ? Number(this.$('.vlan_start input').val()) : null,
|
||||
netmask: $.trim(this.$('.netmask input').val()),
|
||||
gateway: $.trim(this.$('.gateway input').val()),
|
||||
gateway: $.trim(this.$('.gateway input').val()) || null,
|
||||
amount: fixedNetworkOnVlanManager ? Number(this.$('input[name=fixed-amount]').val()) : 1,
|
||||
network_size: fixedNetworkOnVlanManager ? Number(this.$('.network_size select').val()) : utils.calculateNetworkSize(this.$('.cidr input').val())
|
||||
}, {
|
||||
|
|
Loading…
Reference in New Issue