Fix ranges creation, for multipe similar subnets
Change-Id: I7a0e2146da3e5c2fec3a7934a8c472eec74758ef
diff --git a/_modules/maasng.py b/_modules/maasng.py
index 65c5a0f..ace6c90 100644
--- a/_modules/maasng.py
+++ b/_modules/maasng.py
@@ -957,7 +957,7 @@
return ret
-def create_fabric(name, fabric_id, description, update=False):
+def create_fabric(name, description=None, fabric_id=None, update=False):
"""
Create new fabric.
@@ -977,6 +977,7 @@
data['description'] = description
maas = _create_maas_client()
+ json_res = None
try:
if update:
json_res = json.loads(
@@ -1246,7 +1247,7 @@
return ipranges
-def create_iprange(type_range, start_ip, end_ip, comment=None):
+def create_iprange(type_range, start_ip, end_ip, subnet=None, comment=None):
"""
Create ip range
@@ -1265,6 +1266,9 @@
}
if comment:
data['comment'] = comment
+ if subnet:
+ subnet_id = list_subnets()[subnet]['id']
+ data['subnet'] = str(subnet_id)
maas = _create_maas_client()
_name = "Type:{}: {}-{}".format(type_range, start_ip, end_ip)
try:
diff --git a/_states/maasng.py b/_states/maasng.py
index 7b14f99..b6eb01f 100644
--- a/_states/maasng.py
+++ b/_states/maasng.py
@@ -461,7 +461,7 @@
return ret
-def iprange_present(name, type_range, start_ip, end_ip, comment=''):
+def iprange_present(name, type_range, start_ip, end_ip, subnet=None, comment=None):
'''
:param name: Name of iprange
@@ -494,7 +494,7 @@
changes = __salt__['maasng.create_iprange'](type_range=type_range,
start_ip=start_ip,
- end_ip=end_ip, comment=comment)
+ end_ip=end_ip,subnet=subnet, comment=comment)
ret["changes"] = changes
if "error" in changes:
ret['comment'] = "State execution failed for iprange {0}".format(name)
@@ -551,7 +551,7 @@
return ret
-def fabric_present(name, description):
+def fabric_present(name, description=None):
"""
:param name: Name of fabric
diff --git a/maas/region.sls b/maas/region.sls
index 0f82cd8..e795585 100644
--- a/maas/region.sls
+++ b/maas/region.sls
@@ -345,6 +345,7 @@
- type_range: {{ iprange.type }}
- start_ip: {{ iprange.start }}
- end_ip: {{ iprange.end }}
+ - subnet: {{ iprange.get('subnet', '' ) }}
- comment: {{ iprange.get('comment', "") }}
- require:
- maas_create_subnet_{{ subnet.cidr }}