| {%- from "maas/map.jinja" import region with context %} |
| {%- if region.enabled %} |
| |
| maas_region_packages: |
| pkg.installed: |
| - names: {{ region.pkgs }} |
| |
| /etc/maas/regiond.conf: |
| file.managed: |
| - source: salt://maas/files/regiond.conf |
| - template: jinja |
| - group: maas |
| - require: |
| - pkg: maas_region_packages |
| |
| /usr/lib/python3/dist-packages/provisioningserver/templates/proxy/maas-proxy.conf.template: |
| file.managed: |
| - source: salt://maas/files/maas-proxy.conf.template |
| - template: jinja |
| - require: |
| - pkg: maas_region_packages |
| |
| {%- if region.database.initial_data is defined %} |
| |
| /root/maas/scripts/restore_{{ region.database.name }}.sh: |
| file.managed: |
| - source: salt://maas/files/restore.sh |
| - mode: 770 |
| - template: jinja |
| |
| restore_maas_database_{{ region.database.name }}: |
| cmd.run: |
| - name: /root/maas/scripts/restore_{{ region.database.name }}.sh |
| - unless: "[ -f /root/maas/flags/{{ region.database.name }}-installed ]" |
| - cwd: /root |
| - require: |
| - file: /root/maas/scripts/restore_{{ region.database.name }}.sh |
| |
| {%- endif %} |
| |
| {%- if region.get('enable_iframe', False) %} |
| |
| /etc/apache2/conf-enabled/maas-http.conf: |
| file.managed: |
| - source: salt://maas/files/maas-http.conf |
| - user: root |
| - group: root |
| - mode: 644 |
| - require: |
| - pkg: maas_region_packages |
| - require_in: |
| - service: maas_region_services |
| |
| maas_apache_headers: |
| cmd.run: |
| - name: "a2enmod headers" |
| - require: |
| - pkg: maas_region_packages |
| - require_in: |
| - service: maas_region_services |
| |
| {%- endif %} |
| |
| {% if region.theme is defined %} |
| |
| /usr/share/maas/web/static/css/maas-styles.css: |
| file.managed: |
| - source: salt://maas/files/{{ region.theme }}-styles.css |
| - mode: 644 |
| - watch_in: |
| - service: maas_region_services |
| |
| {%- endif %} |
| |
| /etc/maas/preseeds/curtin_userdata_amd64_generic_trusty: |
| file.managed: |
| - source: salt://maas/files/curtin_userdata_amd64_generic_trusty |
| - template: jinja |
| - user: root |
| - group: root |
| - mode: 644 |
| - context: |
| salt_master_ip: {{ region.salt_master_ip }} |
| - require: |
| - pkg: maas_region_packages |
| |
| /etc/maas/preseeds/curtin_userdata_amd64_generic_xenial: |
| file.managed: |
| - source: salt://maas/files/curtin_userdata_amd64_generic_xenial |
| - template: jinja |
| - user: root |
| - group: root |
| - mode: 644 |
| - context: |
| salt_master_ip: {{ region.salt_master_ip }} |
| - require: |
| - pkg: maas_region_packages |
| |
| /root/.pgpass: |
| file.managed: |
| - source: salt://maas/files/pgpass |
| - template: jinja |
| - user: root |
| - group: root |
| - mode: 600 |
| |
| maas_region_services: |
| service.running: |
| - enable: true |
| - names: {{ region.services }} |
| - require: |
| - cmd: maas_region_syncdb |
| - watch: |
| - file: /etc/maas/regiond.conf |
| |
| maas_region_syncdb: |
| cmd.run: |
| - names: |
| - maas-region syncdb |
| - require: |
| - file: /etc/maas/regiond.conf |
| |
| maas_set_admin_password: |
| cmd.run: |
| - name: "maas createadmin --username {{ region.admin.username }} --password {{ region.admin.password }} --email {{ region.admin.email }} && touch /var/lib/maas/.setup_admin" |
| - creates: /var/lib/maas/.setup_admin |
| - require: |
| - service: maas_region_services |
| |
| maas_login_admin: |
| cmd.run: |
| - name: "maas-region apikey --username {{ region.admin.username }} > /var/lib/maas/.maas_credentials" |
| |
| maas_config: |
| module.run: |
| - name: maas.process_maas_config |
| - require: |
| - cmd: maas_login_admin |
| |
| {%- if region.get('commissioning_scripts', False) %} |
| /etc/maas/files/commisioning_scripts/: |
| file.directory: |
| - user: root |
| - group: root |
| - mode: 755 |
| - makedirs: true |
| - require: |
| - pkg: maas_region_packages |
| |
| /etc/maas/files/commisioning_scripts/00-maas-05-simplify-network-interfaces: |
| file.managed: |
| - source: salt://maas/files/commisioning_scripts/00-maas-05-simplify-network-interfaces |
| - mode: 755 |
| - user: root |
| - group: root |
| - require: |
| - file: /etc/maas/files/commisioning_scripts/ |
| |
| maas_commissioning_scripts: |
| module.run: |
| - name: maas.process_commissioning_scripts |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| {%- if region.get('fabrics', False) %} |
| maas_fabrics: |
| module.run: |
| - name: maas.process_fabrics |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| {%- if region.get('subnets', False) %} |
| maas_subnets: |
| module.run: |
| - name: maas.process_subnets |
| - require: |
| - module: maas_config |
| {%- if region.get('fabrics', False) %} |
| - module: maas_fabrics |
| {%- endif %} |
| {%- endif %} |
| |
| {%- if region.get('devices', False) %} |
| maas_devices: |
| module.run: |
| - name: maas.process_devices |
| - require: |
| - module: maas_config |
| {%- if region.get('subnets', False) %} |
| - module: maas_subnets |
| {%- endif %} |
| {%- endif %} |
| |
| {%- if region.get('dhcp_snippets', False) %} |
| maas_dhcp_snippets: |
| module.run: |
| - name: maas.process_dhcp_snippets |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| {%- if region.get('package_repositories', False) %} |
| maas_package_repositories: |
| module.run: |
| - name: maas.process_package_repositories |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| {%- if region.get('boot_resources', False) %} |
| maas_boot_resources: |
| module.run: |
| - name: maas.process_boot_resources |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| maas_domain: |
| module.run: |
| - name: maas.process_domain |
| - require: |
| - module: maas_config |
| |
| {%- if region.get('sshprefs', False) %} |
| maas_sshprefs: |
| module.run: |
| - name: maas.process_sshprefs |
| - require: |
| - module: maas_config |
| {%- endif %} |
| |
| {%- endif %} |