From 3ed2d8dab3d75628cd1f7edd47051623c643592c Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Tue, 19 Jun 2018 16:34:20 +0200 Subject: [MaaS] Adopt boot-resources control from maasng JIRA: FUEL-364 Change-Id: I891514f85cf694509003a3b0a6f3568524d0a461 Signed-off-by: Alexandru Avadanii --- .../0003-maas-region-force-artifact-download.patch | 79 ---------------------- mcp/patches/0016-Set-boot-source-selections.patch | 31 --------- mcp/patches/patches.list | 2 - .../cluster/mcp-common-ha/infra/maas.yml.j2 | 21 +++++- 4 files changed, 19 insertions(+), 114 deletions(-) delete mode 100644 mcp/patches/0003-maas-region-force-artifact-download.patch delete mode 100644 mcp/patches/0016-Set-boot-source-selections.patch (limited to 'mcp') diff --git a/mcp/patches/0003-maas-region-force-artifact-download.patch b/mcp/patches/0003-maas-region-force-artifact-download.patch deleted file mode 100644 index 2982f3621..000000000 --- a/mcp/patches/0003-maas-region-force-artifact-download.patch +++ /dev/null @@ -1,79 +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, 5 Aug 2017 02:03:01 +0200 -Subject: [PATCH] maas: region: force artifact download - -MaaS configuration fails until all required artifacts are in place, -including bootloaders and target images. - -Hack around this by forcing an explicit artifact sync. - -NOTE: This is probably achievable through existing maas salt custom -module (py) and/or minor rework on that. -This fixup should be temporary at best. - -Signed-off-by: Alexandru Avadanii ---- - maas/files/maas-artifact-sync.sh | 20 ++++++++++++++++++++ - maas/region.sls | 10 +++++++++- - 2 files changed, 29 insertions(+), 1 deletion(-) - create mode 100644 maas/files/maas-artifact-sync.sh - -diff --git a/maas/files/maas-artifact-sync.sh b/maas/files/maas-artifact-sync.sh -new file mode 100644 -index 0000000..1715c51 ---- /dev/null -+++ b/maas/files/maas-artifact-sync.sh -@@ -0,0 +1,20 @@ -+{%- from "maas/map.jinja" import region with context %} -+#!/bin/bash -+function wait_for { -+ local total_attempts=$1; shift -+ local cmdstr=$@ -+ local sleep_time=10 -+ echo -e "\n[NOTE] Waiting for cmd to return success: ${cmdstr}\n" -+ for attempt in $(seq "${total_attempts}"); do -+ eval "${cmdstr}" && break || true -+ echo -n '.'; sleep "${sleep_time}" -+ done -+} -+maas login {{ region.admin.username }} \ -+ http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < \ -+ /var/lib/maas/.maas_credentials || exit 1 -+# wait max 5 min for service up, 15 min image download, 5 min region to rack sync -+wait_for 30 "maas opnfv boot-resources import" -+wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'" -+maas opnfv rack-controllers import-boot-images || exit 3 -+wait_for 30 "true {%- for arch in region.opnfv_arches.split(' ') %} && test -d /var/lib/maas/boot-resources/current/ubuntu/{{ arch }}{%- endfor %}" -diff --git a/maas/region.sls b/maas/region.sls -index aed295d..d6d28bb 100644 ---- a/maas/region.sls -+++ b/maas/region.sls -@@ -161,11 +161,19 @@ maas_login_admin: - - onlyif: /bin/false - {%- endif %} - -+maas_force_artifact_sync: -+ cmd.script: -+ - name: salt://maas/files/maas-artifact-sync.sh -+ - template: jinja -+ - shell: /bin/bash -+ - require: -+ - cmd: maas_login_admin -+ - maas_config: - module.run: - - name: maas.process_maas_config - - require: -- - cmd: maas_login_admin -+ - cmd: maas_force_artifact_sync - {%- if grains.get('kitchen-test') %} - - onlyif: /bin/false - {%- endif %} diff --git a/mcp/patches/0016-Set-boot-source-selections.patch b/mcp/patches/0016-Set-boot-source-selections.patch deleted file mode 100644 index 972810931..000000000 --- a/mcp/patches/0016-Set-boot-source-selections.patch +++ /dev/null @@ -1,31 +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: Michael Polenchuk -Date: Thu, 26 Apr 2018 16:29:02 +0400 -Subject: [PATCH] Set boot source selections - -Change-Id: I8dc738b3e6e6f1bfcc1348873f162651aff8bbdf - -diff --git a/maas/region.sls b/maas/region.sls ---- a/maas/region.sls -+++ b/maas/region.sls -@@ -171,6 +171,13 @@ maas_login_admin: - cmd.run: - - name: "maas-region apikey --username {{ region.admin.username }} > /var/lib/maas/.maas_credentials" - -+boot_source_selections: -+ cmd.run: -+ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv boot-resources stop-import && maas opnfv boot-source-selection update 1 1 release='{{ region.maas_config.default_distro_series }}' {%- for arch in region.opnfv_arches.split(' ') %} arches='{{ arch }}' subarches='generic' subarches='ga-16.04' subarches='hwe-16.04' {%- endfor %}" -+ - require: -+ - cmd: maas_login_admin -+ - unless: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv boot-source-selections read 1 | grep -q {{ region.maas_config.default_distro_series }}" -+ - maas_force_artifact_sync: - cmd.script: - - name: salt://maas/files/maas-artifact-sync.sh diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list index fbc671f31..4d22c6178 100644 --- a/mcp/patches/patches.list +++ b/mcp/patches/patches.list @@ -6,11 +6,9 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## /usr/share/salt-formulas/env: 0002-maas-region-skip-credentials-update.patch -/usr/share/salt-formulas/env: 0003-maas-region-force-artifact-download.patch /usr/share/salt-formulas/env: 0006-maas-module-Add-VLAN-DHCP-enable-support.patch /usr/share/salt-formulas/env: 0007-network.interface-Fix-ifup-OVS-port-with-route.patch /usr/share/salt-formulas/env: 0008-Handle-extra-environment-variables.patch /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.patch /usr/share/salt-formulas/env: 0015-Set-ovs-bridges-as-L3-interfaces.patch -/usr/share/salt-formulas/env: 0016-Set-boot-source-selections.patch diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 index 8df5ebaa1..edec24ee1 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 @@ -33,6 +33,25 @@ parameters: opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }} maas: region: + boot_sources_delete_all_others: true + boot_sources: + resources_mirror: + url: http://images.maas.io/ephemeral-v3/daily + keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg + boot_sources_selections: + xenial: + url: "http://images.maas.io/ephemeral-v3/daily" + os: "ubuntu" + release: "${_param:linux_system_codename}" + arches: +{%- for arch in nm.cluster.arch %} + - "{{ arch | dpkg_arch }}" +{%- endfor %} + subarches: + - "generic" + - "ga-16.04" + - "hwe-16.04" + labels: '"*"' subnets: {{ nm.net_admin }}: name: {{ nm.net_admin }} @@ -47,8 +66,6 @@ parameters: vid: 0 dhcp_on: true primary_rack: ${_param:infra_maas_node01_hostname} - # Space-separated list of dpkg architectures to be supported by MaaS - opnfv_arches:{%- for arch in nm.cluster.arch %} {{ arch | dpkg_arch }}{%- endfor %} sshprefs: - '{{ conf.MAAS_SSH_KEY }}' {%- if 'aarch64' in nm.cluster.arch %} -- cgit 1.2.3-korg