summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-06-19 16:34:20 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-06-25 14:29:09 +0200
commit3ed2d8dab3d75628cd1f7edd47051623c643592c (patch)
treeec600dc907dbc6d767dc1fc45a30f6240f3026e6
parent3772a3e49e09f6cf9864c56a3ac0170cc0134329 (diff)
[MaaS] Adopt boot-resources control from maasng
JIRA: FUEL-364 Change-Id: I891514f85cf694509003a3b0a6f3568524d0a461 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rw-r--r--mcp/patches/0003-maas-region-force-artifact-download.patch79
-rw-r--r--mcp/patches/0016-Set-boot-source-selections.patch31
-rw-r--r--mcp/patches/patches.list2
-rw-r--r--mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j221
4 files changed, 19 insertions, 114 deletions
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 <Alexandru.Avadanii@enea.com>
-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 <Alexandru.Avadanii@enea.com>
----
- 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 <mpolenchuk@mirantis.com>
-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 %}