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/9] 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 30503b2f1f973c72765889dd07cdc171d35234ba Mon Sep 17 00:00:00 2001 From: N Date: Mon, 18 Feb 2019 14:16:44 +0000 Subject: [PATCH 2/9] Add Suse pips support --- packages/osfamilymap.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/osfamilymap.yaml b/packages/osfamilymap.yaml index 4873717..2346a7e 100644 --- a/packages/osfamilymap.yaml +++ b/packages/osfamilymap.yaml @@ -1,5 +1,11 @@ # -*- coding: utf-8 -*- # vim: ft=yaml +Suse: + pips: + required: + pkgs: + - python-pip + Debian: pips: required: From 570f47d3b3a4635d7ba7256d77f0b6608674806a Mon Sep 17 00:00:00 2001 From: N Date: Mon, 18 Feb 2019 14:16:44 +0000 Subject: [PATCH 3/9] Add Suse pips support --- packages/osfamilymap.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/osfamilymap.yaml b/packages/osfamilymap.yaml index 4873717..904594e 100644 --- a/packages/osfamilymap.yaml +++ b/packages/osfamilymap.yaml @@ -1,5 +1,11 @@ # -*- coding: utf-8 -*- # vim: ft=yaml +Suse: + pips: + required: + pkgs: + - python2-pip + Debian: pips: required: From 265120014a6eeba356a7357f4d4fc64fc96cbdba Mon Sep 17 00:00:00 2001 From: N Date: Tue, 19 Feb 2019 21:09:01 +0000 Subject: [PATCH 4/9] update pillar.example --- pillar.example | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pillar.example b/pillar.example index 70c24ed..b062dc3 100644 --- a/pillar.example +++ b/pillar.example @@ -24,6 +24,9 @@ packages: - wget - git pips: + #required: + # pkgs: + # - python2-pip wanted: - dxpy - attrs From 4244d6ed4ddf707561b1fbb054a8231b75c30561 Mon Sep 17 00:00:00 2001 From: N Date: Thu, 21 Feb 2019 12:20:47 +0000 Subject: [PATCH 5/9] Python3 is default on Suse 15.0 --- packages/osfamilymap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/osfamilymap.yaml b/packages/osfamilymap.yaml index 904594e..d767653 100644 --- a/packages/osfamilymap.yaml +++ b/packages/osfamilymap.yaml @@ -4,7 +4,7 @@ Suse: pips: required: pkgs: - - python2-pip + - python3-pip Debian: pips: From 452a80aec4dc06cdf0f5172cfb4ff51d2696a1e2 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Thu, 21 Feb 2019 14:47:30 +0000 Subject: [PATCH 6/9] fix(defaults): ensure `packages.archives.types` is a list --- packages/defaults.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/defaults.yaml b/packages/defaults.yaml index 2644134..7a414a6 100644 --- a/packages/defaults.yaml +++ b/packages/defaults.yaml @@ -36,7 +36,7 @@ packages: archives: pkgs: required: ['curl', 'bzip2', 'gzip'] - types: ('tar', 'zip', 'rar',) + types: ['tar', 'zip', 'rar'] wanted: {} #note: dict unwanted: [] required: From 7f76f4b179b4c8c056067cb24fd964e097222195 Mon Sep 17 00:00:00 2001 From: N Date: Thu, 21 Feb 2019 15:16:54 +0000 Subject: [PATCH 7/9] pip state is not working with Python3/OpenSUSE 15 --- packages/pips.sls | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/pips.sls b/packages/pips.sls index 4c3514d..4727858 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',) %} + 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 a309d24569c1141a6c69c3719bdff41d0b146f73 Mon Sep 17 00:00:00 2001 From: N Date: Thu, 21 Feb 2019 15:20:42 +0000 Subject: [PATCH 8/9] 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 9/9] 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 %}