Browse Source

Merge pull request #496 from myii/ci/update-for-new-pre-salted-images

ci(kitchen+gitlab): update for new pre-salted images
tags/v1.7.4
Imran Iqbal 3 years ago
parent
commit
14bac947fb
No account linked to committer's email address
12 changed files with 263 additions and 23 deletions
  1. +4
    -2
      .gitlab-ci.yml
  2. +4
    -2
      .travis.yml
  3. +26
    -0
      kitchen.yml
  4. +4
    -4
      salt/osfamilymap.yaml
  5. +4
    -0
      salt/pkgrepo/suse/install.sls
  6. +2
    -1
      test/integration/share/README.md
  7. +7
    -8
      test/integration/share/libraries/system.rb
  8. +2
    -2
      test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml
  9. +2
    -2
      test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml
  10. +103
    -0
      test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml
  11. +2
    -2
      test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml
  12. +103
    -0
      test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml

+ 4
- 2
.gitlab-ci.yml View File

@@ -132,7 +132,8 @@ v3002-py3-centos-8-3002-2-py3: {extends: '.test_instance'}
v3002-py3-centos-7-3002-2-py3: {extends: '.test_instance'}
v3002-py3-fedora-33-3002-2-py3: {extends: '.test_instance'}
# v3002-py3-fedora-32-3002-2-py3: {extends: '.test_instance'}
# v3002-py3-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'}
v3002-py3-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'}
v3002-py3-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'}
v3002-py3-amazonlinux-2-3002-2-py3: {extends: '.test_instance'}
v3002-py3-oraclelinux-8-3002-2-py3: {extends: '.test_instance'}
v3002-py3-oraclelinux-7-3002-2-py3: {extends: '.test_instance'}
@@ -148,6 +149,7 @@ v3001-py3-centos-8-3001-4-py3: {extends: '.test_instance'}
# v3001-py3-fedora-33-3001-4-py3: {extends: '.test_instance'}
v3001-py3-fedora-32-3001-4-py3: {extends: '.test_instance'}
# v3001-py3-opensuse-leap-152-3001-4-py3: {extends: '.test_instance'}
# v3001-py3-opensuse-tmbl-latest-3001-4-py3: {extends: '.test_instance'}
# v3001-py3-amazonlinux-2-3001-4-py3: {extends: '.test_instance'}
v3001-py3-oraclelinux-8-3001-4-py3: {extends: '.test_instance'}
# v3001-py3-oraclelinux-7-3001-4-py3: {extends: '.test_instance'}
@@ -159,7 +161,7 @@ v3000-py3-ubuntu-1804-3000-6-py3: {extends: '.test_instance'}
# v3000-py3-ubuntu-1604-3000-6-py3: {extends: '.test_instance'}
# v3000-py3-centos-8-3000-6-py3: {extends: '.test_instance'}
v3000-py3-centos-7-3000-6-py3: {extends: '.test_instance'}
v3000-py3-opensuse-leap-152-3000-6-py3: {extends: '.test_instance'}
# v3000-py3-opensuse-leap-152-3000-6-py3: {extends: '.test_instance'}
# v3000-py3-amazonlinux-2-3000-6-py3: {extends: '.test_instance'}
# v3000-py3-oraclelinux-8-3000-6-py3: {extends: '.test_instance'}
v3000-py3-oraclelinux-7-3000-6-py3: {extends: '.test_instance'}

+ 4
- 2
.travis.yml View File

@@ -92,7 +92,8 @@ jobs:
- env: INSTANCE=v3002-py3-centos-7-3002-2-py3
- env: INSTANCE=v3002-py3-fedora-33-3002-2-py3
# - env: INSTANCE=v3002-py3-fedora-32-3002-2-py3
# - env: INSTANCE=v3002-py3-opensuse-leap-152-3002-2-py3
- env: INSTANCE=v3002-py3-opensuse-leap-152-3002-2-py3
- env: INSTANCE=v3002-py3-opensuse-tmbl-latest-3002-2-py3
- env: INSTANCE=v3002-py3-amazonlinux-2-3002-2-py3
- env: INSTANCE=v3002-py3-oraclelinux-8-3002-2-py3
- env: INSTANCE=v3002-py3-oraclelinux-7-3002-2-py3
@@ -108,6 +109,7 @@ jobs:
# - env: INSTANCE=v3001-py3-fedora-33-3001-4-py3
- env: INSTANCE=v3001-py3-fedora-32-3001-4-py3
# - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-4-py3
# - env: INSTANCE=v3001-py3-opensuse-tmbl-latest-3001-4-py3
# - env: INSTANCE=v3001-py3-amazonlinux-2-3001-4-py3
- env: INSTANCE=v3001-py3-oraclelinux-8-3001-4-py3
# - env: INSTANCE=v3001-py3-oraclelinux-7-3001-4-py3
@@ -119,7 +121,7 @@ jobs:
# - env: INSTANCE=v3000-py3-ubuntu-1604-3000-6-py3
# - env: INSTANCE=v3000-py3-centos-8-3000-6-py3
- env: INSTANCE=v3000-py3-centos-7-3000-6-py3
- env: INSTANCE=v3000-py3-opensuse-leap-152-3000-6-py3
# - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-6-py3
# - env: INSTANCE=v3000-py3-amazonlinux-2-3000-6-py3
# - env: INSTANCE=v3000-py3-oraclelinux-8-3000-6-py3
- env: INSTANCE=v3000-py3-oraclelinux-7-3000-6-py3

+ 26
- 0
kitchen.yml View File

@@ -79,6 +79,14 @@ platforms:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
@@ -129,6 +137,14 @@ platforms:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3002-2-py3
driver:
image: saltimages/salt-3002.2-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3002-2-py3
driver:
image: saltimages/salt-3002.2-py3:amazonlinux-2
@@ -186,6 +202,14 @@ platforms:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3001-4-py3
driver:
image: saltimages/salt-3001.4-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3001-4-py3
driver:
image: saltimages/salt-3001.4-py3:amazonlinux-2
@@ -292,6 +316,7 @@ suites:
- fedora-33-3002-2-py3
- fedora-32-3002-2-py3
- opensuse-leap-152-3002-2-py3
- opensuse-tmbl-latest-3002-2-py3
- amazonlinux-2-3002-2-py3
- oraclelinux-8-3002-2-py3
- oraclelinux-7-3002-2-py3
@@ -329,6 +354,7 @@ suites:
- fedora-33-3001-4-py3
- fedora-32-3001-4-py3
- opensuse-leap-152-3001-4-py3
- opensuse-tmbl-latest-3001-4-py3
- amazonlinux-2-3001-4-py3
- oraclelinux-8-3001-4-py3
- oraclelinux-7-3001-4-py3

+ 4
- 4
salt/osfamilymap.yaml View File

@@ -12,7 +12,7 @@
{%- set osfamily_lower = salt['grains.get']('os_family')|lower %}
{%- set osmajorrelease = salt['grains.get']('osmajorrelease', osrelease)|string %}
{%- set oscodename = salt['grains.get']('oscodename') %}
{%- set suse_testing_repo = ':/products:/next:/testing' if [osfamily_lower, osrelease] == ['suse', '15.2'] else '' %}
{%- set opensuse_repo_suffix = 'Leap_' ~ osrelease if salt['grains.get']('osfinger', '') == 'Leap-15' else 'Tumbleweed' %}

#from template-formula
{%- if grains.os_family == 'MacOS' %}
@@ -57,9 +57,9 @@ RedHat:
gitfs_provider: pygit2

Suse:
pkgrepo_humanname: 'Salt releases for SLE-based SUSE products (openSUSE_Leap_{{ osrelease }})'
pkgrepo: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack{{ suse_testing_repo }}/openSUSE_Leap_{{ osrelease }}/'
key_url: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack{{ suse_testing_repo }}/openSUSE_Leap_{{ osrelease }}/repodata/repomd.xml.key'
pkgrepo_humanname: 'Salt releases for SLE-based SUSE products (openSUSE_{{ opensuse_repo_suffix }})'
pkgrepo: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_{{ opensuse_repo_suffix }}/'
key_url: 'https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_{{ opensuse_repo_suffix }}/repodata/repomd.xml.key'
pygit2: python-pygit2
pyinotify: python-pyinotify
gitfs:

+ 4
- 0
salt/pkgrepo/suse/install.sls View File

@@ -2,6 +2,9 @@
# vim: ft=sls
{% from "salt/map.jinja" import salt_settings with context %}

{#- Resorting to this ugly hack since the state doesn't handle if the `baseurl` is
already configured under another name, such as used by the `salt-bootstrap` #}
{%- if not salt["cmd.run"]("zypper lr --uri | grep " ~ salt_settings.pkgrepo) %}
salt-pkgrepo-install-saltstack-suse:
pkgrepo.managed:
- name: systemsmanagement_saltstack_products
@@ -11,3 +14,4 @@ salt-pkgrepo-install-saltstack-suse:
- gpgcheck: 1
- gpgkey: {{ salt_settings.key_url }}
- gpgautoimport: true
{%- endif %}

+ 2
- 1
test/integration/share/README.md View File

@@ -13,9 +13,10 @@ The `system` library provides easy access to system dependent information:
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective
- `system.platform[:family]` provide a family name for Arch and Gentoo
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows`
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo and Windows:
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows:
- `Arch` is always `base-latest`
- `Amazon Linux` release `2018` is resolved as `1`
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`)
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example)

+ 7
- 8
test/integration/share/libraries/system.rb View File

@@ -45,7 +45,7 @@ class SystemResource < Inspec.resource(1)
end
end

# rubocop:disable Metrics/MethodLength
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def build_platform_release
case inspec.platform[:name]
when 'amazon'
@@ -55,6 +55,10 @@ class SystemResource < Inspec.resource(1)
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
when 'opensuse'
# rubocop:disable Style/NumericLiterals,Layout/LineLength
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release]
# rubocop:enable Style/NumericLiterals,Layout/LineLength
when 'windows_8.1_pro'
'8.1'
when 'windows_server_2019_datacenter'
@@ -63,15 +67,10 @@ class SystemResource < Inspec.resource(1)
inspec.platform[:release]
end
end
# rubocop:enable Metrics/MethodLength
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity

def derive_gentoo_init_system
case inspec.command('systemctl').exist?
when true
'sysd'
else
'sysv'
end
inspec.command('systemctl').exist? ? 'sysd' : 'sysv'
end

def build_platform_finger

+ 2
- 2
test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml View File

@@ -42,7 +42,7 @@ values:
version: 0.23.0
version: 0.23.0
install_packages: true
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/repodata/repomd.xml.key
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/repodata/repomd.xml.key
master:
file_roots:
base:
@@ -78,7 +78,7 @@ values:
state: running
parallel: true
pin_version: false
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/
pkgrepo_humanname: Salt releases for SLE-based SUSE products (openSUSE_Leap_15.2)
py_ver: py3
pygit2: python-pygit2

+ 2
- 2
test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml View File

@@ -42,7 +42,7 @@ values:
version: 0.23.0
version: 0.23.0
install_packages: true
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/repodata/repomd.xml.key
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/repodata/repomd.xml.key
master:
file_roots:
base:
@@ -78,7 +78,7 @@ values:
state: running
parallel: true
pin_version: false
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/
pkgrepo_humanname: Salt releases for SLE-based SUSE products (openSUSE_Leap_15.2)
py_ver: py3
pygit2: python-pygit2

+ 103
- 0
test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml View File

@@ -0,0 +1,103 @@
# yamllint disable rule:indentation rule:line-length
# openSUSE Tumbleweed-yyyymmdd
---
values:
formulas_settings:
checkout_orig_branch: false
git_opts:
default:
basedir: /srv/formulas
baseurl: https://github.com/saltstack-formulas
options:
output_loglevel: quiet
rev: master
update: false
list: {}
salt_settings:
api_service: salt-api
api_service_details:
enabled: true
state: running
clean_config_d_dir: true
cloud:
template_sources:
maps: salt://salt/files/cloud.maps.d
profiles: salt://salt/files/cloud.profiles.d
providers: salt://salt/files/cloud.providers.d
config_path: /etc/salt
gitfs:
dulwich:
install_from_source: true
gitpython:
install_from_source: false
pygit2:
git:
install_from_package: git
require_state: false
install_from_source: false
libgit2:
build_parent_dir: /usr/src/
download_hash: 683d1164e361e2a0a8d52652840e2340
install_from_source: true
version: 0.23.0
version: 0.23.0
install_packages: true
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Tumbleweed/repodata/repomd.xml.key
master:
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
gitfs_provider: pygit2
pillar_roots:
base:
- /srv/pillar
master_config_use_TOFS: false
master_remove_config: false
master_service: salt-master
master_service_details:
enabled: true
state: running
minion:
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
master: localhost
master_type: true
pillar_roots:
base:
- /srv/pillar
minion_config_use_TOFS: false
minion_remove_config: false
minion_service: salt-minion
minion_service_details:
enabled: true
state: running
parallel: true
pin_version: false
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Tumbleweed/
pkgrepo_humanname: Salt releases for SLE-based SUSE products (openSUSE_Tumbleweed)
py_ver: py3
pygit2: python-pygit2
pyinotify: python-pyinotify
python_dulwich: python-dulwich
python_git: python-git
release: '3001'
restart_via_at: false
rootgroup: root
rootuser: root
salt_api: salt-api
salt_cloud: salt-cloud
salt_master: salt-master
salt_master_macos_plist_hash: ''
salt_minion: salt-minion
salt_minion_macos_plist_hash: ''
salt_ssh: salt-ssh
salt_syndic: salt-syndic
ssh_roster: {}
syndic_service: salt-syndic
use_pip: false
version: ''

+ 2
- 2
test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml View File

@@ -42,7 +42,7 @@ values:
version: 0.23.0
version: 0.23.0
install_packages: true
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/repodata/repomd.xml.key
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/repodata/repomd.xml.key
master:
file_roots:
base:
@@ -78,7 +78,7 @@ values:
state: running
parallel: true
pin_version: false
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products:/next:/testing/openSUSE_Leap_15.2/
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Leap_15.2/
pkgrepo_humanname: Salt releases for SLE-based SUSE products (openSUSE_Leap_15.2)
py_ver: py3
pygit2: python-pygit2

+ 103
- 0
test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml View File

@@ -0,0 +1,103 @@
# yamllint disable rule:indentation rule:line-length
# openSUSE Tumbleweed-yyyymmdd
---
values:
formulas_settings:
checkout_orig_branch: false
git_opts:
default:
basedir: /srv/formulas
baseurl: https://github.com/saltstack-formulas
options:
output_loglevel: quiet
rev: master
update: false
list: {}
salt_settings:
api_service: salt-api
api_service_details:
enabled: true
state: running
clean_config_d_dir: true
cloud:
template_sources:
maps: salt://salt/files/cloud.maps.d
profiles: salt://salt/files/cloud.profiles.d
providers: salt://salt/files/cloud.providers.d
config_path: /etc/salt
gitfs:
dulwich:
install_from_source: true
gitpython:
install_from_source: false
pygit2:
git:
install_from_package: git
require_state: false
install_from_source: false
libgit2:
build_parent_dir: /usr/src/
download_hash: 683d1164e361e2a0a8d52652840e2340
install_from_source: true
version: 0.23.0
version: 0.23.0
install_packages: true
key_url: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Tumbleweed/repodata/repomd.xml.key
master:
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
gitfs_provider: pygit2
pillar_roots:
base:
- /srv/pillar
master_config_use_TOFS: false
master_remove_config: false
master_service: salt-master
master_service_details:
enabled: true
state: running
minion:
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
master: localhost
master_type: true
pillar_roots:
base:
- /srv/pillar
minion_config_use_TOFS: false
minion_remove_config: false
minion_service: salt-minion
minion_service_details:
enabled: true
state: running
parallel: true
pin_version: false
pkgrepo: https://download.opensuse.org/repositories/systemsmanagement:/saltstack/openSUSE_Tumbleweed/
pkgrepo_humanname: Salt releases for SLE-based SUSE products (openSUSE_Tumbleweed)
py_ver: py3
pygit2: python-pygit2
pyinotify: python-pyinotify
python_dulwich: python-dulwich
python_git: python-git
release: '3002'
restart_via_at: false
rootgroup: root
rootuser: root
salt_api: salt-api
salt_cloud: salt-cloud
salt_master: salt-master
salt_master_macos_plist_hash: ''
salt_minion: salt-minion
salt_minion_macos_plist_hash: ''
salt_ssh: salt-ssh
salt_syndic: salt-syndic
ssh_roster: {}
syndic_service: salt-syndic
use_pip: false
version: ''

Loading…
Cancel
Save