summaryrefslogtreecommitdiffstats
path: root/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-08-07 19:45:01 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-05-22 16:12:34 +0000
commitc8babe3e64c1c958c4ef0f6573edf9a08e1726eb (patch)
tree19bc7841a0db48fcc9d9cca8472d71a8d85b4f3a /mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch
parent9ea104f5af69d2df15ab615f1e2382a03a5f61c5 (diff)
[maas] AArch64: Preseed Armband repositories
Preseed Armband common repo-comp for Pike, so we get the updated kernel & other packages from the start. Requires upstream PR [1]. While at it, also handle related PR merged upstream [2] by explicitly setting maas.region.subnets name via j2 instead of reclass param expansion in name (allows us to drop the remaining chunk of the fabric-from-CIDR patch we used to carry). Note: opnfv_infra_maas_pxe_network_addres can now be dropped from pod_config j2 template in Pharos Fuel installer adapter. [1] https://github.com/salt-formulas/salt-formula-maas/pull/26 [2] https://github.com/salt-formulas/salt-formula-maas/pull/22 Change-Id: I356adb73b80f0f2d85db4ab060e804cb9a053862 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 52af46f2cac395e893007029d24d5365e27a4328)
Diffstat (limited to 'mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch')
-rw-r--r--mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch65
1 files changed, 0 insertions, 65 deletions
diff --git a/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch b/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch
deleted file mode 100644
index 4a81786b2..000000000
--- a/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2018 Mirantis Inc., Enea AB and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sat, 19 Aug 2017 02:03:01 +0200
-Subject: [PATCH] maas: module: Obtain fabric ID from CIDR
-
-MaaS subnet update requires specifying the correct fabric via reclass,
-which we used to hardcode in our OPNFV reclass model to fabric-2.
-However, fabric index numbers are not deterministic, so the old
-method is unreliable.
-
-Update MaaS custom py module to determine fabric name/ID on the
-fly, based on CIDR matching (assuming we don't have CIDR conflicts).
-
-This change maintains backwards compatibility:
-- if fabric is specified via reclass model, it will be used as-is;
-- if fabric is not specified via reclass model, we try to deduce it
- based on CIDR; if no match is found, the old default ('') is used;
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
----
-
-diff --git a/_modules/maas.py b/_modules/maas.py
---- a/_modules/maas.py
-+++ b/_modules/maas.py
-@@ -126,6 +126,8 @@
-
- def process_single(name, config_data):
- self._update = False
-+ if isinstance(config_data, dict) and 'name' in config_data:
-+ name = config_data['name']
- try:
- data = self.fill_data(name, config_data, **extra)
- if data is None:
-@@ -198,7 +198,8 @@
- def fill_data(self, name, subnet, fabrics):
- data = {
- 'name': name,
-- 'fabric': str(fabrics[subnet.get('fabric', '')]),
-+ 'fabric': str(fabrics[subnet.get('fabric',
-+ self._get_fabric_from_cidr(subnet.get('cidr')))]),
- 'cidr': subnet.get('cidr'),
- 'gateway_ip': subnet['gateway_ip'],
- }
-@@ -215,6 +216,13 @@
- self._process_iprange(res_json['id'])
- return response
-
-+ def _get_fabric_from_cidr(self, cidr):
-+ subnets = json.loads(self._maas.get(u'api/2.0/subnets/').read())
-+ for subnet in subnets:
-+ if subnet['cidr'] == cidr:
-+ return subnet['vlan']['fabric']
-+ return ''
-+
- def _process_iprange(self, subnet_id):
- ipranges = json.loads(self._maas.get(u'api/2.0/ipranges/').read())
- LOG.warn('all %s ipranges %s', subnet_id, ipranges)