From 715e3b8fa495ed2c8e9f4a5fbbb6398021ac9ec7 Mon Sep 17 00:00:00 2001 From: N Date: Fri, 24 Jan 2020 00:00:08 +0000 Subject: [PATCH] refactor(mapping): simplify py version handling --- salt/defaults.yaml | 1 + salt/osfamilymap.yaml | 30 +++++++++++++--------------- salt/osmap.yaml | 18 ++++++++--------- salt/ospyvermap.yaml | 34 -------------------------------- test/salt/pillar/v201707-py2.sls | 1 - test/salt/pillar/v201803-py2.sls | 1 - test/salt/pillar/v201902-py2.sls | 1 - 7 files changed, 23 insertions(+), 63 deletions(-) delete mode 100644 salt/ospyvermap.yaml diff --git a/salt/defaults.yaml b/salt/defaults.yaml index e2a8dbf..ee603e0 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -3,6 +3,7 @@ --- salt: version: '' + py_ver: '' ## py2 is default rootuser: root rootgroup: root install_packages: true diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml index 4c64e98..88d0638 100644 --- a/salt/osfamilymap.yaml +++ b/salt/osfamilymap.yaml @@ -2,9 +2,7 @@ # vim: ft=yaml --- -{%- import_yaml "salt/ospyvermap.yaml" as ospyvermap %} -{%- set ospyver = salt['grains.filter_by'](ospyvermap, grain='os_family') or {} %} -{%- set py_ver_repr = salt['pillar.filter_by'](ospyver, pillar='salt:py_ver', default='py2') %} +{%- set py_ver_repr = salt['pillar.get']('salt:py_ver', '') %} {%- set osrelease = salt['grains.get']('osrelease') %} {#- Workaround for OpenSuse Leap 15.1 until the repo is available #} @@ -26,8 +24,8 @@ {%- endif %} Debian: - pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_repr }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }} {{ oscodename }} main' - key_url: 'https://repo.saltstack.com/{{ py_ver_repr }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' + pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_repr or 'apt' }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }} {{ oscodename }} main' + key_url: 'https://repo.saltstack.com/{{ py_ver_repr or 'apt' }}/{{ osfamily_lower }}/{{ osmajorrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' libgit2: libgit2-22 pyinotify: python-pyinotify gitfs: @@ -43,8 +41,8 @@ Debian: RedHat: pkgrepo_name: saltstack pkgrepo_humanname: SaltStack repo for RHEL/CentOS $releasever - pkgrepo: 'https://repo.saltstack.com/{{ py_ver_repr }}/redhat/$releasever/$basearch/{{ salt_release }}' - key_url: 'https://repo.saltstack.com/{{ py_ver_repr }}/redhat/$releasever/$basearch/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' + pkgrepo: 'https://repo.saltstack.com/{{ py_ver_repr or 'yum' }}/redhat/$releasever/$basearch/{{ salt_release }}' + key_url: 'https://repo.saltstack.com/{{ py_ver_repr or 'yum' }}/redhat/$releasever/$basearch/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' pygit2: python-pygit2 python_git: GitPython gitfs: @@ -105,14 +103,14 @@ Alpine: FreeBSD: rootgroup: wheel - salt_master: py27-salt - salt_minion: py27-salt - salt_syndic: py27-salt - salt_cloud: py27-salt - salt_api: py27-salt - salt_ssh: py27-salt - python_git: py27-GitPython - pygit2: py27-pygit2 + salt_master: {{ py_ver_repr or 'py27' }}-salt + salt_minion: {{ py_ver_repr or 'py27' }}-salt + salt_syndic: {{ py_ver_repr or 'py27' }}-salt + salt_cloud: {{ py_ver_repr or 'py27' }}-salt + salt_api: {{ py_ver_repr or 'py27' }}-salt + salt_ssh: {{ py_ver_repr or 'py27' }}-salt + python_git: {{ py_ver_repr or 'py27' }}-GitPython + pygit2: {{ py_ver_repr or 'py27' }}-pygit2 config_path: /usr/local/etc/salt minion_service: salt_minion master_service: salt_master @@ -132,7 +130,7 @@ OpenBSD: python_git: py-GitPython Windows: - salt_minion: salt-minion{{ py_ver_repr }} + salt_minion: salt-minion{{ py_ver_repr or '-py3' }} config_path: 'C:\salt\conf' minion_service: salt-minion diff --git a/salt/osmap.yaml b/salt/osmap.yaml index 55d16b3..1196ba0 100644 --- a/salt/osmap.yaml +++ b/salt/osmap.yaml @@ -2,9 +2,7 @@ # vim: ft=yaml --- -{% import_yaml "salt/ospyvermap.yaml" as ospyvermap %} -{% set ospyver = salt['grains.filter_by'](ospyvermap, grain='os_family') or {} %} -{% set py_ver_dir = salt['pillar.filter_by'](ospyver, pillar='salt:py_ver', default='py2') %} +{%- set py_ver_dir = salt['pillar.get']('salt:py_ver', '') %} {% set osrelease = salt['grains.get']('osrelease') %} {% set salt_release = salt['pillar.get']('salt:release', 'latest') %} @@ -22,12 +20,12 @@ Fedora: Amazon: pkgrepo_name: saltstack-amzn-repo pkgrepo_humanname: SaltStack repo for Amazon Linux 2 - pkgrepo: 'https://repo.saltstack.com/yum/amazon/2/$basearch/{{ salt_release }}' - key_url: 'https://repo.saltstack.com/yum/amazon/2/$basearch/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' + pkgrepo: 'https://repo.saltstack.com/{{ py_ver_dir or 'yum' }}/amazon/2/$basearch/{{ salt_release }}' + key_url: 'https://repo.saltstack.com/{{ py_ver_dir or 'yum' }}/amazon/2/$basearch/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' Ubuntu: - pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_dir }}/{{ os_lower }}/{{ osrelease }}/amd64/{{ salt_release }} {{ oscodename }} main' - key_url: 'https://repo.saltstack.com/{{ py_ver_dir }}/{{ os_lower }}/{{ osrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' + pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_dir or 'apt' }}/{{ os_lower }}/{{ osrelease }}/amd64/{{ salt_release }} {{ oscodename }} main' + key_url: 'https://repo.saltstack.com/{{ py_ver_dir or 'apt' }}/{{ os_lower }}/{{ osrelease }}/amd64/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' pygit2: python-pygit2 gitfs: pygit2: @@ -37,8 +35,8 @@ Ubuntu: install_from_package: Null Raspbian: - pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_dir }}/{{ os_family_lower }}/{{ osmajorrelease }}/armhf/{{ salt_release }} {{ oscodename }} main' - key_url: 'https://repo.saltstack.com/{{ py_ver_dir }}/{{ os_family_lower }}/{{ osmajorrelease }}/armhf/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' + pkgrepo: 'deb http://repo.saltstack.com/{{ py_ver_dir or 'apt' }}/{{ os_family_lower }}/{{ osmajorrelease }}/armhf/{{ salt_release }} {{ oscodename }} main' + key_url: 'https://repo.saltstack.com/{{ py_ver_dir or 'apt' }}/{{ os_family_lower }}/{{ osmajorrelease }}/armhf/{{ salt_release }}/SALTSTACK-GPG-KEY.pub' SmartOS: salt_master: salt @@ -50,7 +48,7 @@ SmartOS: minion_service: 'salt:minion' master_service: 'salt:master' api_service: 'salt:api' - python_dulwich: 'py27-dulwich' + python_dulwich: {{ py_ver_dir or 'py27' }}{{ '-dulwich' }} gitfs: dulwich: install_from_source: false diff --git a/salt/ospyvermap.yaml b/salt/ospyvermap.yaml deleted file mode 100644 index 4df2d3d..0000000 --- a/salt/ospyvermap.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: ft=yaml ---- -Debian: - py2: 'apt' - py3: 'py3' - -RedHat: - py2: 'yum' - py3: 'py3' - -Suse: {} - -Gentoo: {} - -Arch: {} - -Alpine: {} - -FreeBSD: {} - -OpenBSD: {} - -# This is *not* used directly with https://repo.saltstack.com -# Rather, this is used with `salt-winrepo-ng`, where the package names are: -# * py2: salt-minion -# * py3: salt-minion-py3 -Windows: - py2: '' - py3: '-py3' - -MacOS: - py2: 'py2' - py3: 'py3' diff --git a/test/salt/pillar/v201707-py2.sls b/test/salt/pillar/v201707-py2.sls index d923400..341c0bf 100644 --- a/test/salt/pillar/v201707-py2.sls +++ b/test/salt/pillar/v201707-py2.sls @@ -3,4 +3,3 @@ --- salt: release: '2017.7' - py_ver: 'py2' diff --git a/test/salt/pillar/v201803-py2.sls b/test/salt/pillar/v201803-py2.sls index 802011c..523ab88 100644 --- a/test/salt/pillar/v201803-py2.sls +++ b/test/salt/pillar/v201803-py2.sls @@ -3,4 +3,3 @@ --- salt: release: '2018.3' - py_ver: 'py2' diff --git a/test/salt/pillar/v201902-py2.sls b/test/salt/pillar/v201902-py2.sls index 8888254..1627a0c 100644 --- a/test/salt/pillar/v201902-py2.sls +++ b/test/salt/pillar/v201902-py2.sls @@ -3,4 +3,3 @@ --- salt: release: '2019.2' - py_ver: 'py2'