From 52af46f2cac395e893007029d24d5365e27a4328 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Mon, 7 Aug 2017 19:45:01 +0200 Subject: [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 --- ...05-maas-module-Obtain-fabric-ID-from-CIDR.patch | 65 ---------------------- 1 file changed, 65 deletions(-) delete mode 100644 mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch (limited to 'mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch') 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 -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 -Signed-off-by: Guillermo Herrero ---- - -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) -- cgit 1.2.3-korg