From 9aa8d59660fd9c74f18cdce35522e27ec6794618 Mon Sep 17 00:00:00 2001 From: "Adrien \"ze\" Urban" Date: Wed, 13 Feb 2019 17:52:49 +0100 Subject: [PATCH 1/3] pip: allow to drop a config file first --- packages/files/pip.conf | 6 ++++++ packages/pips.sls | 15 +++++++++++++++ pillar.example | 5 +++++ 3 files changed, 26 insertions(+) create mode 100644 packages/files/pip.conf diff --git a/packages/files/pip.conf b/packages/files/pip.conf new file mode 100644 index 0000000..23e4597 --- /dev/null +++ b/packages/files/pip.conf @@ -0,0 +1,6 @@ +{%- for section, settings in config.items()|sort -%} +[{{ section }}] +{%- for key, value in settings.items()|sort %} +{{ key }} = {{ value }} +{%- endfor %} +{% endfor %} diff --git a/packages/pips.sls b/packages/pips.sls index 4c3514d..fa6fbb2 100644 --- a/packages/pips.sls +++ b/packages/pips.sls @@ -6,12 +6,24 @@ {% set req_pkgs = packages.pips.required.pkgs %} {% set wanted_pips = packages.pips.wanted %} {% set unwanted_pips = packages.pips.unwanted %} +{% set pip_config = packages.pips.config %} ### REQ PKGS (without these, some of the WANTED PIPS will fail to install) pip_req_pkgs: pkg.installed: - pkgs: {{ req_pkgs }} +{% if pip_config %} +pip_config: + file.managed: + - name: /etc/pip.conf + - source: salt://{{ slspath }}/files/pip.conf + - template: jinja + - makedirs: True + - context: + config: {{ pip_config|json }} +{% endif %} + ### PYTHON PKGS to install using PIP # (requires the python-pip deb/rpm installed, either by the system or listed in # the required packages @@ -26,6 +38,9 @@ pip_req_pkgs: - sls: {{ dep }} {% endfor %} {% endif %} + {% if pip_config %} + - file: pip_config + {% endif %} {% endfor %} {% for upn in unwanted_pips %} diff --git a/pillar.example b/pillar.example index 70c24ed..e4d8fe8 100644 --- a/pillar.example +++ b/pillar.example @@ -31,6 +31,11 @@ packages: - campbel - reverse_geocode - indy-crypto + config: + global: + timeout: 120 + default-timeout: 120 + proxy: http://proxy.example.com:3128 gems: wanted: - progressbar From a309d24569c1141a6c69c3719bdff41d0b146f73 Mon Sep 17 00:00:00 2001 From: N Date: Thu, 21 Feb 2019 15:20:42 +0000 Subject: [PATCH 2/3] salt pip states are broken on python3/Suse15.0 --- packages/pips.sls | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/pips.sls b/packages/pips.sls index 4c3514d..18a3886 100644 --- a/packages/pips.sls +++ b/packages/pips.sls @@ -16,9 +16,14 @@ pip_req_pkgs: # (requires the python-pip deb/rpm installed, either by the system or listed in # the required packages {% for pn in wanted_pips %} -{{ pn }}: +packages pips install {{ pn }}: + {%- if grains.os_family in ('Suse',) %} ##workaround https://github.com/saltstack-formulas/docker-formula/issues/198 + cmd.run: + - name: /usr/bin/pip install {{ pn }} + {%- else %} pip.installed: - reload_modules: true + {%- endif %} - require: - pkg: pip_req_pkgs {% if req_states %} @@ -29,6 +34,12 @@ pip_req_pkgs: {% endfor %} {% for upn in unwanted_pips %} -{{ upn }}: +packages pips remove {{ upn }}: + {%- if grains.os_family in ('Suse',) %} + cmd.run: + - name: /usr/bin/pip uninstall {{ pn }} + {%- else %} pip.removed + - name: {{ upn }} + {%- endif %} {% endfor %} From 05666ce5a854fe82ade80c57542b82dbc3d9408c Mon Sep 17 00:00:00 2001 From: N Date: Thu, 21 Feb 2019 16:33:54 +0000 Subject: [PATCH 3/3] Fix regression --- packages/pips.sls | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/pips.sls b/packages/pips.sls index 18a3886..2bc6f7e 100644 --- a/packages/pips.sls +++ b/packages/pips.sls @@ -22,6 +22,7 @@ packages pips install {{ pn }}: - name: /usr/bin/pip install {{ pn }} {%- else %} pip.installed: + - name: {{ pn }} - reload_modules: true {%- endif %} - require: @@ -39,7 +40,7 @@ packages pips remove {{ upn }}: cmd.run: - name: /usr/bin/pip uninstall {{ pn }} {%- else %} - pip.removed + pip.removed: - name: {{ upn }} {%- endif %} {% endfor %}