mirror of
https://github.com/saltstack-formulas/salt-formula.git
synced 2026-10-10 00:26:22 +02:00
Merge pull request #305 from EvaSDK/salt-cloud-cleanups
salt-cloud handling cleanups
This commit is contained in:
commit
eb09c3bdc6
13 files changed
+26
-45
No files matched your search
+26
-45
@@ -1,27 +1,17 @@
|
||||
{% from "salt/map.jinja" import salt_settings with context %}
|
||||
|
||||
{% set cloudmaps = salt['pillar.get']('salt:cloud:maps', {}) -%}
|
||||
{% set cloudprofiles = salt['pillar.get']('salt:cloud:profiles', {}) -%}
|
||||
{% set cloudproviders = salt['pillar.get']('salt:cloud:providers', {}) -%}
|
||||
|
||||
{%- if salt_settings.use_pip %}
|
||||
python-pip:
|
||||
pkg.installed
|
||||
|
||||
pycrypto:
|
||||
pip.installed:
|
||||
- require:
|
||||
- pkg: python-pip
|
||||
|
||||
{% if grains['os_family'] not in ['Debian', 'RedHat'] %}
|
||||
crypto:
|
||||
pip.installed:
|
||||
- require:
|
||||
- pkg: python-pip
|
||||
{% endif %}
|
||||
|
||||
apache-libcloud:
|
||||
salt-cloud-pip-packages:
|
||||
pip.installed:
|
||||
- pkgs:
|
||||
- apache-libcloud
|
||||
{%- if grains['os_family'] not in ['Debian', 'RedHat'] %}
|
||||
- crypto
|
||||
{%- endif %}
|
||||
- pycrypto
|
||||
- require:
|
||||
- pkg: python-pip
|
||||
{%- endif %}
|
||||
@@ -32,11 +22,7 @@ salt-cloud:
|
||||
- name: {{ salt_settings.salt_cloud }}
|
||||
{%- if salt_settings.use_pip %}
|
||||
- require:
|
||||
- pip: apache-libcloud
|
||||
- pip: pycrypto
|
||||
{% if grains['os_family'] not in ['Debian', 'RedHat'] %}
|
||||
- pip: crypto
|
||||
{% endif %}
|
||||
- pip: salt-cloud-pip-packages
|
||||
{%- endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -62,34 +48,27 @@ cloud-cert-{{ cert }}-pem:
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{%- for dir, templ_path in salt_settings.cloud.template_sources.items() %}
|
||||
salt-cloud-{{ dir }}:
|
||||
{% for cloud_section in ["maps", "profiles", "providers"] %}
|
||||
salt-cloud-{{ cloud_section }}:
|
||||
file.recurse:
|
||||
- name: {{ salt_settings.config_path }}/cloud.{{ dir }}.d
|
||||
- source: {{ templ_path }}
|
||||
- name: {{ salt_settings.config_path }}/cloud.{{ cloud_section }}.d
|
||||
- source: {{ salt_settings.cloud.template_sources[cloud_section] }}
|
||||
- template: jinja
|
||||
- makedirs: True
|
||||
{%- endfor %}
|
||||
- exclude_pat: _*
|
||||
|
||||
{% for key, value in cloudmaps.items() %}
|
||||
/etc/salt/cloud.maps.d/{{ key }}:
|
||||
file.managed:
|
||||
- contents: |
|
||||
{{ value|yaml(False) | indent(8) }}
|
||||
{% for filename in salt['pillar.get']("salt:cloud:" ~ cloud_section, {}).keys() %}
|
||||
/etc/salt/cloud.{{ cloud_section }}.d/{{ filename }}:
|
||||
file.serialize:
|
||||
- dataset_pillar: salt:cloud:{{ cloud_section }}:{{ filename }}
|
||||
- formatter: yaml
|
||||
- require:
|
||||
- file: salt-cloud-{{ cloud_section }}
|
||||
{%- if cloud_section == "providers" %}
|
||||
- require_in:
|
||||
- file: salt-cloud-providers-permissions
|
||||
{%- endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% for key, value in cloudprofiles.items() %}
|
||||
/etc/salt/cloud.profiles.d/{{ key }}:
|
||||
file.managed:
|
||||
- contents: |
|
||||
{{ value|yaml(False) | indent(8) }}
|
||||
{% endfor %}
|
||||
|
||||
{% for key, value in cloudproviders.items() %}
|
||||
/etc/salt/cloud.providers.d/{{ key }}:
|
||||
file.managed:
|
||||
- contents: |
|
||||
{{ value|yaml(False) | indent(8) }}
|
||||
{% endfor %}
|
||||
|
||||
salt-cloud-providers-permissions:
|
||||
@@ -108,3 +87,5 @@ salt-cloud-providers-permissions:
|
||||
- user
|
||||
- group
|
||||
- mode
|
||||
- require:
|
||||
- file: salt-cloud-providers
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Reference in new issue
Block a user