maas: region: credentials workaround, force sync 53/38853/2
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 5 Aug 2017 00:25:38 +0000 (02:25 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 10 Aug 2017 18:34:29 +0000 (20:34 +0200)
Workaround the issues described in [1], stating that salt-formula-maas
package cannot set an autogenerated PostgreSQL password, respectively
the known error thrown during initial setup.

FIXME: These should be reverted later, after fixing the MaaS password
update and initial artifact sync in the salt formula / scripts.

[1] https://docs.mirantis.com/mcp/1.0/mcp-deployment-guide/\
    install-base-infra/set-up-bare-metal-provisioner/configure-maas-vm.html

Change-Id: I8b37f55d3caa4119c64f9549578850dd4eb9e3ad
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
mcp/patches/0001-opendaylight-formula-neutron.patch [moved from mcp/patches/0002-opendaylight-formula-neutron.patch with 100% similarity]
mcp/patches/0002-maas-region-skip-credentials-update.patch [new file with mode: 0644]
mcp/patches/0003-maas-region-force-artifact-download.patch [new file with mode: 0644]
mcp/patches/patches.list

diff --git a/mcp/patches/0002-maas-region-skip-credentials-update.patch b/mcp/patches/0002-maas-region-skip-credentials-update.patch
new file mode 100644 (file)
index 0000000..f2104e5
--- /dev/null
@@ -0,0 +1,30 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sat, 5 Aug 2017 02:03:01 +0200
+Subject: [PATCH] maas: region: skip credentials update
+
+Password update for maas psql database breaks ulterior acesses
+to maas-region syncdb.
+For now, limit regiond.conf changes to maas_url, and skip
+updating credentials.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+
+diff --git a/maas/region.sls b/maas/region.sls
+index d3227ca..8a2243d 100644
+--- a/maas/region.sls
++++ b/maas/region.sls
+@@ -6,10 +6,9 @@
+     - names: {{ region.pkgs }}
+
+ /etc/maas/regiond.conf:
+-  file.managed:
+-  - source: salt://maas/files/regiond.conf
+-  - template: jinja
+-  - group: maas
++  file.replace:
++  - pattern: ^maas_url.*$
++  - repl: "maas_url: http://{{ region.bind.host }}/MAAS"
+   - require:
+     - pkg: maas_region_packages
+
diff --git a/mcp/patches/0003-maas-region-force-artifact-download.patch b/mcp/patches/0003-maas-region-force-artifact-download.patch
new file mode 100644 (file)
index 0000000..72114bb
--- /dev/null
@@ -0,0 +1,39 @@
+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>
+---
+
+diff --git a/maas/region.sls b/maas/region.sls
+index d3227ca..8a2243d 100644
+--- a/maas/region.sls
++++ b/maas/region.sls
+@@ -109,11 +109,17 @@
+   cmd.run:
+   - name: "maas-region apikey --username {{ region.admin.username }} > /var/lib/maas/.maas_credentials"
+
++maas_force_artifact_sync:
++  cmd.run:
++  - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && while ! grep -qzE '(Unable to probe for DHCP servers|DHCP probe complete).*Rack controller' /var/log/maas/rackd.log; do sleep 5; echo -n '.'; done && maas opnfv boot-resources import && while maas opnfv boot-resources is-importing | grep -q -e 'true'; do sleep 5; echo -n '.'; done && maas opnfv rack-controllers import-boot-images && while ! test -d /var/lib/maas/boot-resources/current/ubuntu; do sleep 5; echo -n '.'; done"
++  - require:
++    - cmd: maas_login_admin
++
+ maas_config:
+   module.run:
+   - name: maas.process_maas_config
+   - require:
+-    - cmd: maas_login_admin
++    - cmd: maas_force_artifact_sync
+
+ maas_commissioning_scripts:
+   module.run:
index 0542433..e55e679 100644 (file)
@@ -1 +1,3 @@
-/usr/share/salt-formulas/env: 0002-opendaylight-formula-neutron.patch
+/usr/share/salt-formulas/env: 0001-opendaylight-formula-neutron.patch
+/usr/share/salt-formulas/env: 0002-maas-region-skip-credentials-update.patch
+/usr/share/salt-formulas/env: 0003-maas-region-force-artifact-download.patch