Merge "Refactor mirror state"
diff --git a/README.rst b/README.rst
index d08ec42..0903a6e 100644
--- a/README.rst
+++ b/README.rst
@@ -225,6 +225,7 @@
.. code-block:: yaml
+
maas:
region:
machines:
@@ -405,7 +406,7 @@
-Setup image mirror
+Setup image mirror (Maas boot resources,)
.. code-block:: yaml
@@ -413,16 +414,23 @@
mirror:
enabled: true
image:
- release:
+ sections:
+ bootloaders:
+ keyring: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
+ upstream: http://images.maas.io/ephemeral-v3/daily/
+ local_dir: /var/www/html/maas/images/ephemeral-v3/daily
+ count: 1
+ # i386 need for pxe
+ filters: ['arch~(i386|amd64)', 'os~(grub*|pxelinux)']
xenial:
- keyring: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
- upstream: http://images.maas.io/ephemeral-v3/daily/
- local_dir: /var/www/html/maas/images/ephemeral-v3/daily
- arch: amd64
- subarch: 'generic|hwe-t'
+ keyring: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
+ upstream: http://images.maas.io/ephemeral-v3/daily/
+ local_dir: /var/www/html/maas/images/ephemeral-v3/daily
+ count: 1
+ filters: ['release~(xenial)', 'arch~(amd64)', 'subarch~(generic|hwe-16.04$|ga-16.04)']
count: 1
-Usage of local repos
+Usage of local deb repos
.. code-block:: yaml
@@ -464,6 +472,7 @@
MAAS region service with backup data
.. code-block:: yaml
+
maas:
region:
database:
diff --git a/maas/mirror.sls b/maas/mirror.sls
index f7c586d..0772e1c 100644
--- a/maas/mirror.sls
+++ b/maas/mirror.sls
@@ -8,11 +8,20 @@
pkg.installed:
- names: {{ mirror.pkgs }}
-{%- for release_name, release in mirror.image.release.iteritems() %}
+{%- for section_name, section in mirror.image.sections.iteritems() %}
-mirror_image_{{ release_name }}:
+mirror_image_{{ section_name }}:
cmd.run:
- - name: "sstream-mirror --keyring={{ release.keyring }} {{ release.upstream }} {{ release.local_dir }} {%- if release.get('arch') %} 'arch={{ release.arch }}'{%- endif %} {%- if release.get('subarch') %} 'subarch~({{ release.subarch }})'{%- endif %} 'release~({{ release_name }})' {%- if release.get('count') %} --max={{ release.count }}{%- endif %}"
+ - name: "sstream-mirror --keyring={{ section.keyring }} {{ section.upstream }} {{ section.local_dir }}
+ {%- if section.get('arch') %}
+ 'arch={{ section.arch }}'
+ {%- endif %}
+ {%- if section.get('filters') %}
+ {% for item in section.filters %} '{{ item }}' {%- endfor %}
+ {%- endif %}
+ {%- if section.get('count') %}
+ --max={{ section.count }}
+ {%- endif %}"
- require:
- pkg: maas_mirror_packages
@@ -21,3 +30,4 @@
{%- endif %}
{%- endif %}
+
diff --git a/tests/pillar/maas_mirror.sls b/tests/pillar/maas_mirror.sls
index 090c794..dbdcc25 100644
--- a/tests/pillar/maas_mirror.sls
+++ b/tests/pillar/maas_mirror.sls
@@ -2,11 +2,11 @@
mirror:
enabled: true
image:
- release:
- xenial:
- keyring: '/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg'
- upstream: 'http://images.maas.io/ephemeral-v3/daily/'
- local_dir: '/var/www/html/maas/images/ephemeral-v3/daily'
- arch: amd64
- subarch: 'generic|hwe-t'
- count: '1'
+ sections:
+ bootloaders:
+ keyring: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
+ upstream: http://images.maas.io/ephemeral-v3/daily/
+ local_dir: /var/www/html/maas/images/ephemeral-v3/daily
+ count: 1
+ # i386 need for pxe
+ filters: ['arch~(i386|amd64)', 'os~(grub*|pxelinux)']
diff --git a/tests/pillar/disk_layout.sls b/tests/pillar/maas_storage.sls
similarity index 100%
rename from tests/pillar/disk_layout.sls
rename to tests/pillar/maas_storage.sls