diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml new file mode 100644 index 000000000..1ea1c46cc --- /dev/null +++ b/.github/workflows/kitchen.vagrant.yml @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +name: 'Kitchen Vagrant (FreeBSD, OpenBSD & Windows)' +'on': ['push', 'pull_request'] + +env: + KITCHEN_LOCAL_YAML: 'kitchen.vagrant.yml' + +jobs: + test: + runs-on: 'macos-10.15' + strategy: + fail-fast: false + matrix: + instance: + - v3002-py3-freebsd-122-latest-py3 + - v3002-py3-freebsd-114-latest-py3 + - v3001-py3-openbsd-68-latest-py3 + - v3002-py3-windows-81-latest-py3 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen verify ${{ matrix.instance }}' diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index 09c1af941..be35bf8de 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -1,39 +1,101 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml --- name: 'Kitchen (Windows)' - -'on': [push, pull_request] +'on': ['push', 'pull_request'] env: machine_user: kitchen machine_pass: Pass@word1 machine_port: 5985 - KITCHEN_LOCAL_YAML: kitchen.windows.yml + KITCHEN_LOCAL_YAML: 'kitchen.windows.yml' jobs: - build: - runs-on: windows-latest - + test-2019: + runs-on: 'windows-2019' + strategy: + fail-fast: false + matrix: + instance: + - v3002-py3-windows-2019-latest-py3 steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v1 + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Install Chef' + uses: 'actionshub/chef-install@1.1.0' + with: + project: 'chef' + version: '16.10.8' + - name: 'Add Chef bindir to PATH' + uses: 'myci-actions/export-env-var-powershell@1' + with: + name: 'PATH' + value: "C:\\opscode\\chef\\bin;\ + C:\\opscode\\chef\\embedded\\bin;$env:PATH" + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Set up test user' + run: | + $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force + New-LocalUser $env:machine_user -Password $password + Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user + - name: 'Set up WinRM' + run: > + Set-WSManQuickConfig -Force; + Set-WSManInstance -ResourceURI winrm/config/service + -ValueSet @{AllowUnencrypted="true"} + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen verify ${{ matrix.instance }}' + test-2016: + runs-on: 'windows-2016' + strategy: + fail-fast: false + matrix: + instance: + - v3002-py3-windows-2016-latest-py3 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Install Chef' + uses: 'actionshub/chef-install@1.1.0' + with: + project: 'chef' + version: '16.10.8' + - name: 'Add Chef bindir to PATH' + uses: 'myci-actions/export-env-var-powershell@1' + with: + name: 'PATH' + value: "C:\\opscode\\chef\\bin;\ + C:\\opscode\\chef\\embedded\\bin;$env:PATH" + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' with: - path: vendor/bundle - key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gems- - - shell: powershell + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Set up test user' run: | $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force New-LocalUser $env:machine_user -Password $password Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - - shell: powershell + - name: 'Set up WinRM' run: > Set-WSManQuickConfig -Force; Set-WSManInstance -ResourceURI winrm/config/service -ValueSet @{AllowUnencrypted="true"} - - run: gem install bundler --quiet --no-document - - name: Bundle install + - name: 'Run Bundler' run: | + ruby --version bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - - run: bundle exec kitchen test + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen verify ${{ matrix.instance }}' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 032b3d8c6..512953a47 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -135,7 +135,7 @@ v3002-py3-fedora-33-3002-5-py3: {extends: '.test_instance'} v3002-py3-amazonlinux-2-3002-5-py3: {extends: '.test_instance'} v3002-py3-oraclelinux-8-3002-5-py3: {extends: '.test_instance'} v3002-py3-oraclelinux-7-3002-5-py3: {extends: '.test_instance'} -# v3002-py3-arch-base-latest-3002-5-py3: {extends: '.test_instance'} +v3002-py3-arch-base-latest-3002-5-py3: {extends: '.test_instance'} v3002-py3-gentoo-stage3-latest-3002-5-py3: {extends: '.test_instance'} v3002-py3-gentoo-stage3-systemd-3002-5-py3: {extends: '.test_instance'} v3001-py3-debian-10-3001-6-py3: {extends: '.test_instance'} diff --git a/.travis.yml b/.travis.yml index eecc29163..2a4e50f77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -95,7 +95,7 @@ jobs: - env: INSTANCE=v3002-py3-amazonlinux-2-3002-5-py3 - env: INSTANCE=v3002-py3-oraclelinux-8-3002-5-py3 - env: INSTANCE=v3002-py3-oraclelinux-7-3002-5-py3 - # - env: INSTANCE=v3002-py3-arch-base-latest-3002-5-py3 + - env: INSTANCE=v3002-py3-arch-base-latest-3002-5-py3 - env: INSTANCE=v3002-py3-gentoo-stage3-latest-3002-5-py3 - env: INSTANCE=v3002-py3-gentoo-stage3-systemd-3002-5-py3 - env: INSTANCE=v3001-py3-debian-10-3001-6-py3 diff --git a/docs/README.rst b/docs/README.rst index fde8eb3c4..436910998 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -255,7 +255,7 @@ Gives you SSH access to the instance for manual testing. Testing with Vagrant -------------------- -Windows testing is done with ``kitchen-salt``. +Windows/FreeBSD/OpenBSD testing is done with ``kitchen-salt``. Requirements ^^^^^^^^^^^^ @@ -273,8 +273,8 @@ Setup $ bundle install --with=vagrant $ bin/kitchen test [platform] -Where ``[platform]`` is the platform name defined in ``kitchen.yml``, -e.g. ``windows``. +Where ``[platform]`` is the platform name defined in ``kitchen.vagrant.yml``, +e.g. ``windows-81-latest-py3``. Note ^^^^ @@ -292,7 +292,7 @@ Then run the following commands as needed. ``bin/kitchen converge`` ^^^^^^^^^^^^^^^^^^^^^^^^ -Creates the Vagrant instance and runs the ``salt.minion`` main state, ready for testing. +Creates the Vagrant instance and runs the ``salt`` main states, ready for testing. ``bin/kitchen verify`` ^^^^^^^^^^^^^^^^^^^^^^ @@ -312,4 +312,4 @@ Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``veri ``bin/kitchen login`` ^^^^^^^^^^^^^^^^^^^^^ -Gives you RDP access to the instance for manual testing. +Gives you RDP/SSH access to the instance for manual testing. diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index 55e38e5ac..824863836 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -3,37 +3,48 @@ --- driver: name: vagrant + cache_directory: false + customize: + usbxhci: 'off' + gui: false + linked_clone: true + ssh: + shell: /bin/sh platforms: - - name: windows-81 + - name: freebsd-122-latest-py3 + driver: + box: bento/freebsd-12.2 + - name: freebsd-114-latest-py3 + driver: + box: bento/freebsd-11.4 + - name: openbsd-68-latest-py3 + driver: + box: generic/openbsd6 + ssh: + shell: /bin/ksh + - name: windows-81-latest-py3 driver: box: techneg/win81x64-pro-salt - gui: false - linked_clone: true + cache_directory: "/omnibus/cache" + customize: {} + ssh: {} provisioner: - init_environment: > - salt-call --local state.single file.managed - C:\Users\vagrant\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls - source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls - skip_verify=True makedirs=True + salt_install: none + # yamllint disable rule:line-length + init_environment: | + # Workaround to allow `kitchen converge` to be used multiple times + # without having to `kitchen destroy` first: remove state files cached by + # Salt during the previous `converge` (if present) + rm -recurse ` + C:\Users\vagrant\AppData\Local\Temp\kitchen\var\cache\salt\minion\files\base ` + -ErrorAction SilentlyContinue + salt-call --local state.single file.managed ` + C:\Users\vagrant\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls ` + source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls ` + skip_verify=True makedirs=True + exit 0 + # yamllint enable rule:line-length -suites: - - name: v3000-py3 - provisioner: - state_top: - base: - '*': - - salt._mapdata - - salt.minion - pillars: - top.sls: - base: - '*': - - salt - - v3000-py3 - pillars_from_files: - salt.sls: test/salt/pillar/salt.sls - v3000-py3.sls: test/salt/pillar/v3000-py3.sls - verifier: - inspec_tests: - - path: test/integration/v3000-py3 +provisioner: + salt_install: bootstrap diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 0a4ec0053..7c3cc6f1b 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml --- driver: name: proxy @@ -8,34 +10,16 @@ driver: password: Pass@word1 platforms: - - name: windows + - name: windows-2019-latest-py3 + - name: windows-2016-latest-py3 provisioner: salt_install: bootstrap - salt_bootstrap_options: -pythonVersion 3 -version 3000.3 - init_environment: > - C:\salt\salt-call --local state.single file.managed - C:\Users\kitchen\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls - source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls - skip_verify=True makedirs=True - -suites: - - name: v3000-py3 - provisioner: - state_top: - base: - '*': - - salt._mapdata - - salt.minion - pillars: - top.sls: - base: - '*': - - salt - - v3000-py3 - pillars_from_files: - salt.sls: test/salt/pillar/salt.sls - v3000-py3.sls: test/salt/pillar/v3000-py3.sls - verifier: - inspec_tests: - - path: test/integration/v3000-py3 + salt_bootstrap_options: -pythonVersion 3 -version 3002.5 + # yamllint disable rule:line-length + init_environment: | + C:\salt\salt-call --local state.single file.managed ` + C:\Users\kitchen\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\salt-minion-py3.sls ` + source=https://github.com/saltstack/salt-winrepo-ng/raw/master/salt-minion-py3.sls ` + skip_verify=True makedirs=True + # yamllint enable rule:line-length diff --git a/kitchen.yml b/kitchen.yml index f4416a181..e4e4c76d3 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -324,6 +324,11 @@ suites: - arch-base-latest-3002-5-py3 - gentoo-stage3-latest-3002-5-py3 - gentoo-stage3-systemd-3002-5-py3 + - freebsd-122-latest-py3 + - freebsd-114-latest-py3 + - windows-81-latest-py3 + - windows-2019-latest-py3 + - windows-2016-latest-py3 provisioner: state_top: base: @@ -363,6 +368,7 @@ suites: - arch-base-latest-3001-6-py3 - gentoo-stage3-latest-3001-6-py3 - gentoo-stage3-systemd-3001-6-py3 + - openbsd-68-latest-py3 provisioner: state_top: base: diff --git a/pillar.example b/pillar.example index 586015250..748eb279f 100644 --- a/pillar.example +++ b/pillar.example @@ -369,6 +369,13 @@ salt: - 'deploy': - /srv/salt/reactors/deploy.sls + # https://docs.saltstack.com/en/latest/ref/states/requisites.html#retrying-states + retry_options: + attempts: 2 + until: true + interval: 10 + splay: 10 + salt_cloud_certs: aws: pem: | diff --git a/salt/defaults.yaml b/salt/defaults.yaml index b35c4189d..cc225c14c 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -85,6 +85,13 @@ salt: profiles: salt://salt/files/cloud.profiles.d maps: salt://salt/files/cloud.maps.d + # https://docs.saltstack.com/en/latest/ref/states/requisites.html#retrying-states + retry_options: + attempts: 2 + until: true + interval: 10 + splay: 10 + salt_formulas: list: {} # via pillar data checkout_orig_branch: false diff --git a/salt/master.sls b/salt/master.sls index 3a6835df8..81902df51 100644 --- a/salt/master.sls +++ b/salt/master.sls @@ -15,11 +15,7 @@ salt-master-macos: - name: /Library/LaunchDaemons/com.saltstack.salt.master.plist - source: https://raw.githubusercontent.com/saltstack/salt/master/pkg/osx/scripts/com.saltstack.salt.master.plist - source_hash: {{ salt_settings.salt_master_macos_plist_hash }} - - retry: - attempts: 2 - until: True - interval: 10 - splay: 10 + - retry: {{ salt_settings.retry_options | json }} - require_in: - service: salt-master {%- endif %} @@ -31,6 +27,9 @@ salt-master: {%- if salt_settings.version is defined %} - version: {{ salt_settings.version }} {%- endif %} + {%- if grains.os_family == 'FreeBSD' %} + - unless: pkg info | grep {{ salt_settings.salt_master }} + {%- endif %} {% if salt_settings.master_service_details.state != 'ignore' %} - require_in: - service: salt-master diff --git a/salt/minion.sls b/salt/minion.sls index 0963282d9..676ce42b7 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -27,11 +27,7 @@ download-salt-minion: - test -n "{{ salt_settings.version }}" && '/opt/salt/bin/salt-minion --version=.*{{ salt_settings.version }}.*' - require_in: - macpackage: salt-minion - - retry: - attempts: 2 - until: True - interval: 10 - splay: 10 + - retry: {{ salt_settings.retry_options | json }} {%- elif "workaround https://github.com/saltstack/salt/issues/49348" %} cmd.run: - name: /usr/local/bin/brew install {{ salt_settings.salt_minion }} @@ -45,11 +41,7 @@ salt-minion-macos: - name: /Library/LaunchDaemons/com.saltstack.salt.minion.plist - source: https://raw.githubusercontent.com/saltstack/salt/master/pkg/osx/scripts/com.saltstack.salt.master.plist - source_hash: {{ salt_settings.salt_minion_macos_plist_hash }} - - retry: - attempts: 2 - until: True - interval: 10 - splay: 10 + - retry: {{ salt_settings.retry_options | json }} - require_in: - service: salt-minion - watch_in: @@ -79,6 +71,9 @@ salt-minion: {%- if salt_settings.version %} - version: {{ salt_settings.version }} {%- endif %} + {%- if grains.os_family == 'FreeBSD' %} + - unless: pkg info | grep {{ salt_settings.salt_master }} + {%- endif %} {% if salt_settings.minion_service_details.state != 'ignore' %} - require_in: - service: salt-minion @@ -105,6 +100,9 @@ salt-minion: service.{{ salt_settings.minion_service_details.state }}: - enable: {{ salt_settings.minion_service_details.enabled }} - name: {{ salt_settings.minion_service }} + {%- if grains.os_family == 'FreeBSD' %} + - retry: {{ salt_settings.retry_options | json }} + {%- endif %} - watch: - file: remove-old-minion-conf-file - order: last diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml index 7f31b2498..327470c00 100644 --- a/salt/osfamilymap.yaml +++ b/salt/osfamilymap.yaml @@ -20,7 +20,7 @@ {%- set rootuser = salt['cmd.run']("stat -f '%Su' /dev/console") %} {%- set rootgroup = salt['cmd.run']("stat -f '%Sg' /dev/console") %} {%- elif grains.os_family == 'Windows' %} -{%- set rootuser = salt['cmd.run']("id -un") %} +{%- set rootuser = salt['cmd.run']("whoami").split("\\")[1] %} {%- endif %} diff --git a/salt/osmap.yaml b/salt/osmap.yaml index 3eb0b5ae5..de9c8dcee 100644 --- a/salt/osmap.yaml +++ b/salt/osmap.yaml @@ -63,5 +63,22 @@ MacOS: salt_master_macos_plist_hash: 8435331b2d48ca8f0759f216e5b15ec9171a4216b1441328c732c6906728b7c9 salt_minion_macos_plist_hash: 26b33da12e0d8960ee96b488c8352002c22a377c19bf3df3f986a1e49eca8b20 +FreeBSD: + salt_master: py37-salt-3002.6 + salt_minion: py37-salt-3002.6 + salt_syndic: py37-salt-3002.6 + salt_cloud: py37-salt-3002.6 + salt_api: py37-salt-3002.6 + salt_ssh: py37-salt-3002.6 + python_git: py37-GitPython-3.1.11 + pygit2: py37-pygit2-1.3.0 + python_dulwich: py37-dulwich-0.19.16 + +# If `osfingermap.yaml` is introduced in the future, perhaps better to move to there, +# since this is probably specific to `OpenBSD-6` +OpenBSD: + python_git: py3-GitPython + python_dulwich: py3-dulwich + Windows: parallel: false # not supported on windows/cygwin diff --git a/test/integration/v3000-py2/controls/pkgs_spec.rb b/test/integration/v3000-py2/controls/pkgs_spec.rb index 74d48dd9d..818f70efa 100644 --- a/test/integration/v3000-py2/controls/pkgs_spec.rb +++ b/test/integration/v3000-py2/controls/pkgs_spec.rb @@ -1,14 +1,23 @@ # frozen_string_literal: true +pkgs = + case system.platform[:name] + when 'arch' + %w[salt] + when /bsd$/ + %w[py37-salt-3002.6] + when 'windows' + %w[Salt\ Minion] + else + %w[salt-master salt-minion] + end + control 'salt packages' do title 'should be installed' version = '3000' - %w[ - salt-master - salt-minion - ].each do |p| + pkgs.each do |p| describe package(p) do it { should be_installed } its('version') { should match(/^#{version}/) } diff --git a/test/integration/v3000-py2/controls/service_spec.rb b/test/integration/v3000-py2/controls/service_spec.rb index 9d9988322..be3dab720 100644 --- a/test/integration/v3000-py2/controls/service_spec.rb +++ b/test/integration/v3000-py2/controls/service_spec.rb @@ -1,12 +1,19 @@ # frozen_string_literal: true +services = + case system.platform[:family] + when 'bsd' + %w[salt_master salt_minion] + when 'windows' + %w[salt-minion] + else + %w[salt-master salt-minion] + end + control 'salt services' do title 'should be running' - %w[ - salt-master - salt-minion - ].each do |p| + services.each do |p| describe service(p) do it { should be_installed } it { should be_enabled } diff --git a/test/integration/v3000-py2/files/_mapdata/ubuntu-16.yaml b/test/integration/v3000-py2/files/_mapdata/ubuntu-16.yaml index ba55dc8f7..331ddc45b 100644 --- a/test/integration/v3000-py2/files/_mapdata/ubuntu-16.yaml +++ b/test/integration/v3000-py2/files/_mapdata/ubuntu-16.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py2/files/_mapdata/ubuntu-18.yaml b/test/integration/v3000-py2/files/_mapdata/ubuntu-18.yaml index f099f2709..566002347 100644 --- a/test/integration/v3000-py2/files/_mapdata/ubuntu-18.yaml +++ b/test/integration/v3000-py2/files/_mapdata/ubuntu-18.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/controls/pkgs_spec.rb b/test/integration/v3000-py3/controls/pkgs_spec.rb index 06a4c2a97..818f70efa 100644 --- a/test/integration/v3000-py3/controls/pkgs_spec.rb +++ b/test/integration/v3000-py3/controls/pkgs_spec.rb @@ -1,7 +1,11 @@ # frozen_string_literal: true pkgs = - case platform[:family] + case system.platform[:name] + when 'arch' + %w[salt] + when /bsd$/ + %w[py37-salt-3002.6] when 'windows' %w[Salt\ Minion] else diff --git a/test/integration/v3000-py3/controls/service_spec.rb b/test/integration/v3000-py3/controls/service_spec.rb index 303b136f5..be3dab720 100644 --- a/test/integration/v3000-py3/controls/service_spec.rb +++ b/test/integration/v3000-py3/controls/service_spec.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true services = - case platform[:family] + case system.platform[:family] + when 'bsd' + %w[salt_master salt_minion] when 'windows' %w[salt-minion] else diff --git a/test/integration/v3000-py3/files/_mapdata/amazonlinux-2.yaml b/test/integration/v3000-py3/files/_mapdata/amazonlinux-2.yaml index 21239a9c4..a3e84ea44 100644 --- a/test/integration/v3000-py3/files/_mapdata/amazonlinux-2.yaml +++ b/test/integration/v3000-py3/files/_mapdata/amazonlinux-2.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/centos-7.yaml b/test/integration/v3000-py3/files/_mapdata/centos-7.yaml index 3ea4b2dd8..807aa8376 100644 --- a/test/integration/v3000-py3/files/_mapdata/centos-7.yaml +++ b/test/integration/v3000-py3/files/_mapdata/centos-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/centos-8.yaml b/test/integration/v3000-py3/files/_mapdata/centos-8.yaml index 4e3e20914..ece7d0e45 100644 --- a/test/integration/v3000-py3/files/_mapdata/centos-8.yaml +++ b/test/integration/v3000-py3/files/_mapdata/centos-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/debian-10.yaml b/test/integration/v3000-py3/files/_mapdata/debian-10.yaml index e94449e4d..d0c1007f8 100644 --- a/test/integration/v3000-py3/files/_mapdata/debian-10.yaml +++ b/test/integration/v3000-py3/files/_mapdata/debian-10.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/debian-9.yaml b/test/integration/v3000-py3/files/_mapdata/debian-9.yaml index 5b6a56f0f..2d810e83d 100644 --- a/test/integration/v3000-py3/files/_mapdata/debian-9.yaml +++ b/test/integration/v3000-py3/files/_mapdata/debian-9.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysd.yaml b/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysd.yaml index 2e57c3201..0f27eaaec 100644 --- a/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysd.yaml +++ b/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysd.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysv.yaml b/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysv.yaml index 2e57c3201..0f27eaaec 100644 --- a/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysv.yaml +++ b/test/integration/v3000-py3/files/_mapdata/gentoo-2-sysv.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml b/test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml index 9b1b79cde..41aa635f2 100644 --- a/test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml +++ b/test/integration/v3000-py3/files/_mapdata/opensuse-15.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/oraclelinux-7.yaml b/test/integration/v3000-py3/files/_mapdata/oraclelinux-7.yaml index 71c6a0479..74a55ecbc 100644 --- a/test/integration/v3000-py3/files/_mapdata/oraclelinux-7.yaml +++ b/test/integration/v3000-py3/files/_mapdata/oraclelinux-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/oraclelinux-8.yaml b/test/integration/v3000-py3/files/_mapdata/oraclelinux-8.yaml index 29b840022..d5edf93ab 100644 --- a/test/integration/v3000-py3/files/_mapdata/oraclelinux-8.yaml +++ b/test/integration/v3000-py3/files/_mapdata/oraclelinux-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/ubuntu-16.yaml b/test/integration/v3000-py3/files/_mapdata/ubuntu-16.yaml index 09ce99c56..398f0f55c 100644 --- a/test/integration/v3000-py3/files/_mapdata/ubuntu-16.yaml +++ b/test/integration/v3000-py3/files/_mapdata/ubuntu-16.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/ubuntu-18.yaml b/test/integration/v3000-py3/files/_mapdata/ubuntu-18.yaml index 08ed091e0..71289e7cd 100644 --- a/test/integration/v3000-py3/files/_mapdata/ubuntu-18.yaml +++ b/test/integration/v3000-py3/files/_mapdata/ubuntu-18.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3000-py3/files/_mapdata/windows-2019-server.yaml b/test/integration/v3000-py3/files/_mapdata/windows-2019-server.yaml index 4f3b4f3e3..f62d8767d 100644 --- a/test/integration/v3000-py3/files/_mapdata/windows-2019-server.yaml +++ b/test/integration/v3000-py3/files/_mapdata/windows-2019-server.yaml @@ -90,6 +90,11 @@ values: python_git: python-git release: '3000' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: kitchen salt_api: salt-api diff --git a/test/integration/v3001-py3/controls/pkgs_spec.rb b/test/integration/v3001-py3/controls/pkgs_spec.rb index 91d629d7e..4ba2b86e5 100644 --- a/test/integration/v3001-py3/controls/pkgs_spec.rb +++ b/test/integration/v3001-py3/controls/pkgs_spec.rb @@ -1,14 +1,23 @@ # frozen_string_literal: true +pkgs = + case system.platform[:name] + when 'arch' + %w[salt] + when /bsd$/ + %w[py37-salt-3002.6] + when 'windows' + %w[Salt\ Minion] + else + %w[salt-master salt-minion] + end + control 'salt packages' do title 'should be installed' version = '3001' - %w[ - salt-master - salt-minion - ].each do |p| + pkgs.each do |p| describe package(p) do it { should be_installed } its('version') { should match(/^#{version}/) } diff --git a/test/integration/v3001-py3/controls/service_spec.rb b/test/integration/v3001-py3/controls/service_spec.rb index 9d9988322..be3dab720 100644 --- a/test/integration/v3001-py3/controls/service_spec.rb +++ b/test/integration/v3001-py3/controls/service_spec.rb @@ -1,12 +1,19 @@ # frozen_string_literal: true +services = + case system.platform[:family] + when 'bsd' + %w[salt_master salt_minion] + when 'windows' + %w[salt-minion] + else + %w[salt-master salt-minion] + end + control 'salt services' do title 'should be running' - %w[ - salt-master - salt-minion - ].each do |p| + services.each do |p| describe service(p) do it { should be_installed } it { should be_enabled } diff --git a/test/integration/v3001-py3/files/_mapdata/amazonlinux-2.yaml b/test/integration/v3001-py3/files/_mapdata/amazonlinux-2.yaml index 7df717edb..c80a02496 100644 --- a/test/integration/v3001-py3/files/_mapdata/amazonlinux-2.yaml +++ b/test/integration/v3001-py3/files/_mapdata/amazonlinux-2.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/centos-7.yaml b/test/integration/v3001-py3/files/_mapdata/centos-7.yaml index 88806c02b..961ca8b7b 100644 --- a/test/integration/v3001-py3/files/_mapdata/centos-7.yaml +++ b/test/integration/v3001-py3/files/_mapdata/centos-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/centos-8.yaml b/test/integration/v3001-py3/files/_mapdata/centos-8.yaml index 8d68a74af..c99d3a0a1 100644 --- a/test/integration/v3001-py3/files/_mapdata/centos-8.yaml +++ b/test/integration/v3001-py3/files/_mapdata/centos-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/debian-10.yaml b/test/integration/v3001-py3/files/_mapdata/debian-10.yaml index fe4ecc542..6334d69e6 100644 --- a/test/integration/v3001-py3/files/_mapdata/debian-10.yaml +++ b/test/integration/v3001-py3/files/_mapdata/debian-10.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/debian-9.yaml b/test/integration/v3001-py3/files/_mapdata/debian-9.yaml index 5f67a36b0..589601d01 100644 --- a/test/integration/v3001-py3/files/_mapdata/debian-9.yaml +++ b/test/integration/v3001-py3/files/_mapdata/debian-9.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/fedora-32.yaml b/test/integration/v3001-py3/files/_mapdata/fedora-32.yaml index be8c9f398..37a58824a 100644 --- a/test/integration/v3001-py3/files/_mapdata/fedora-32.yaml +++ b/test/integration/v3001-py3/files/_mapdata/fedora-32.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/fedora-33.yaml b/test/integration/v3001-py3/files/_mapdata/fedora-33.yaml index 2a4690eb3..3ea0c28ac 100644 --- a/test/integration/v3001-py3/files/_mapdata/fedora-33.yaml +++ b/test/integration/v3001-py3/files/_mapdata/fedora-33.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysd.yaml b/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysd.yaml index 9e2168bf1..976c00c72 100644 --- a/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysd.yaml +++ b/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysd.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysv.yaml b/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysv.yaml index 9e2168bf1..976c00c72 100644 --- a/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysv.yaml +++ b/test/integration/v3001-py3/files/_mapdata/gentoo-2-sysv.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3001-py3/files/_mapdata/openbsd-6.yaml b/test/integration/v3001-py3/files/_mapdata/openbsd-6.yaml new file mode 100644 index 000000000..624f7e5ae --- /dev/null +++ b/test/integration/v3001-py3/files/_mapdata/openbsd-6.yaml @@ -0,0 +1,111 @@ +# yamllint disable rule:indentation rule:line-length +# OpenBSD-6 +--- +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: true + libgit2: + build_parent_dir: /usr/src/ + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - /srv/salt + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: '' + py_ver: py3 + python_dulwich: py3-dulwich + python_git: py3-GitPython + release: '3001' + restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true + rootgroup: root + rootuser: root + salt_api: salt + salt_cloud: salt + salt_master: salt + salt_master_macos_plist_hash: '' + salt_minion: salt + salt_minion_macos_plist_hash: '' + salt_ssh: salt + salt_syndic: salt + ssh_roster: {} + syndic_service: salt-syndic + use_pip: false + version: '' diff --git a/test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml b/test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml index cbcaf2b66..09a52a2bc 100644 --- a/test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml +++ b/test/integration/v3001-py3/files/_mapdata/opensuse-15.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml b/test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml index 73f7f5acd..a6c8a6daa 100644 --- a/test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml +++ b/test/integration/v3001-py3/files/_mapdata/opensuse-tumbleweed.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/oraclelinux-7.yaml b/test/integration/v3001-py3/files/_mapdata/oraclelinux-7.yaml index cb2d895bc..7ad70f6b2 100644 --- a/test/integration/v3001-py3/files/_mapdata/oraclelinux-7.yaml +++ b/test/integration/v3001-py3/files/_mapdata/oraclelinux-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/oraclelinux-8.yaml b/test/integration/v3001-py3/files/_mapdata/oraclelinux-8.yaml index 1027a5cb7..ae7f877d8 100644 --- a/test/integration/v3001-py3/files/_mapdata/oraclelinux-8.yaml +++ b/test/integration/v3001-py3/files/_mapdata/oraclelinux-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/ubuntu-16.yaml b/test/integration/v3001-py3/files/_mapdata/ubuntu-16.yaml index 4959e5e5e..09739e1bf 100644 --- a/test/integration/v3001-py3/files/_mapdata/ubuntu-16.yaml +++ b/test/integration/v3001-py3/files/_mapdata/ubuntu-16.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/ubuntu-18.yaml b/test/integration/v3001-py3/files/_mapdata/ubuntu-18.yaml index 0f0b46b9c..0e4dbefc4 100644 --- a/test/integration/v3001-py3/files/_mapdata/ubuntu-18.yaml +++ b/test/integration/v3001-py3/files/_mapdata/ubuntu-18.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3001-py3/files/_mapdata/ubuntu-20.yaml b/test/integration/v3001-py3/files/_mapdata/ubuntu-20.yaml index 9f1a5d578..d3755d7fd 100644 --- a/test/integration/v3001-py3/files/_mapdata/ubuntu-20.yaml +++ b/test/integration/v3001-py3/files/_mapdata/ubuntu-20.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3001' restart_via_at: false + retry_options: + attempts: 2 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/controls/pkgs_spec.rb b/test/integration/v3002-py3/controls/pkgs_spec.rb index b1aa8abfb..73aee8a61 100644 --- a/test/integration/v3002-py3/controls/pkgs_spec.rb +++ b/test/integration/v3002-py3/controls/pkgs_spec.rb @@ -1,14 +1,23 @@ # frozen_string_literal: true +pkgs = + case system.platform[:name] + when 'arch' + %w[salt] + when /bsd$/ + %w[py37-salt-3002.6] + when 'windows' + %w[Salt\ Minion] + else + %w[salt-master salt-minion] + end + control 'salt packages' do title 'should be installed' version = '3002' - %w[ - salt-master - salt-minion - ].each do |p| + pkgs.each do |p| describe package(p) do it { should be_installed } its('version') { should match(/^#{version}/) } diff --git a/test/integration/v3002-py3/controls/service_spec.rb b/test/integration/v3002-py3/controls/service_spec.rb index 9d9988322..be3dab720 100644 --- a/test/integration/v3002-py3/controls/service_spec.rb +++ b/test/integration/v3002-py3/controls/service_spec.rb @@ -1,12 +1,19 @@ # frozen_string_literal: true +services = + case system.platform[:family] + when 'bsd' + %w[salt_master salt_minion] + when 'windows' + %w[salt-minion] + else + %w[salt-master salt-minion] + end + control 'salt services' do title 'should be running' - %w[ - salt-master - salt-minion - ].each do |p| + services.each do |p| describe service(p) do it { should be_installed } it { should be_enabled } diff --git a/test/integration/v3002-py3/files/_mapdata/amazonlinux-2.yaml b/test/integration/v3002-py3/files/_mapdata/amazonlinux-2.yaml index 245164389..238322f2e 100644 --- a/test/integration/v3002-py3/files/_mapdata/amazonlinux-2.yaml +++ b/test/integration/v3002-py3/files/_mapdata/amazonlinux-2.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/arch-base-latest.yaml b/test/integration/v3002-py3/files/_mapdata/arch-base-latest.yaml new file mode 100644 index 000000000..58cc0403d --- /dev/null +++ b/test/integration/v3002-py3/files/_mapdata/arch-base-latest.yaml @@ -0,0 +1,114 @@ +# yamllint disable rule:indentation rule:line-length +# Arch +--- +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: true + libgit2: + build_parent_dir: /usr/src/ + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + libgit2: libgit2 + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - /srv/salt + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: '' + py_ver: py3 + pygit2: python2-pygit2 + pyinotify: python2-pyinotify + python_dulwich: python-dulwich + python_git: python2-gitpython + release: '3002' + restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true + rootgroup: root + rootuser: root + salt_api: salt + salt_cloud: salt + salt_master: salt + salt_master_macos_plist_hash: '' + salt_minion: salt + salt_minion_macos_plist_hash: '' + salt_ssh: salt + salt_syndic: salt + ssh_roster: {} + syndic_service: salt-syndic + use_pip: false + version: '' diff --git a/test/integration/v3002-py3/files/_mapdata/centos-7.yaml b/test/integration/v3002-py3/files/_mapdata/centos-7.yaml index e18143084..52fcc3bcc 100644 --- a/test/integration/v3002-py3/files/_mapdata/centos-7.yaml +++ b/test/integration/v3002-py3/files/_mapdata/centos-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/centos-8.yaml b/test/integration/v3002-py3/files/_mapdata/centos-8.yaml index 93d8311bf..303d85326 100644 --- a/test/integration/v3002-py3/files/_mapdata/centos-8.yaml +++ b/test/integration/v3002-py3/files/_mapdata/centos-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/debian-10.yaml b/test/integration/v3002-py3/files/_mapdata/debian-10.yaml index cf4a608ae..7ab5075b9 100644 --- a/test/integration/v3002-py3/files/_mapdata/debian-10.yaml +++ b/test/integration/v3002-py3/files/_mapdata/debian-10.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/debian-9.yaml b/test/integration/v3002-py3/files/_mapdata/debian-9.yaml index 6681f6847..1119a48d3 100644 --- a/test/integration/v3002-py3/files/_mapdata/debian-9.yaml +++ b/test/integration/v3002-py3/files/_mapdata/debian-9.yaml @@ -93,6 +93,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/fedora-32.yaml b/test/integration/v3002-py3/files/_mapdata/fedora-32.yaml index b71343698..ac21406a2 100644 --- a/test/integration/v3002-py3/files/_mapdata/fedora-32.yaml +++ b/test/integration/v3002-py3/files/_mapdata/fedora-32.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/fedora-33.yaml b/test/integration/v3002-py3/files/_mapdata/fedora-33.yaml index 3736f2f80..3d83a1730 100644 --- a/test/integration/v3002-py3/files/_mapdata/fedora-33.yaml +++ b/test/integration/v3002-py3/files/_mapdata/fedora-33.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/freebsd-11.yaml b/test/integration/v3002-py3/files/_mapdata/freebsd-11.yaml new file mode 100644 index 000000000..e50ae8457 --- /dev/null +++ b/test/integration/v3002-py3/files/_mapdata/freebsd-11.yaml @@ -0,0 +1,112 @@ +# yamllint disable rule:indentation rule:line-length +# FreeBSD-12 +--- +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: /usr/local/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: true + libgit2: + build_parent_dir: /usr/src/ + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - /srv/salt + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: '' + py_ver: py3 + pygit2: py37-pygit2-1.3.0 + python_dulwich: py37-dulwich-0.19.16 + python_git: py37-GitPython-3.1.11 + release: '3002' + restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true + rootgroup: wheel + rootuser: root + salt_api: py37-salt-3002.6 + salt_cloud: py37-salt-3002.6 + salt_master: py37-salt-3002.6 + salt_master_macos_plist_hash: '' + salt_minion: py37-salt-3002.6 + salt_minion_macos_plist_hash: '' + salt_ssh: py37-salt-3002.6 + salt_syndic: py37-salt-3002.6 + ssh_roster: {} + syndic_service: salt_syndic + use_pip: false + version: '' diff --git a/test/integration/v3002-py3/files/_mapdata/freebsd-12.yaml b/test/integration/v3002-py3/files/_mapdata/freebsd-12.yaml new file mode 100644 index 000000000..e50ae8457 --- /dev/null +++ b/test/integration/v3002-py3/files/_mapdata/freebsd-12.yaml @@ -0,0 +1,112 @@ +# yamllint disable rule:indentation rule:line-length +# FreeBSD-12 +--- +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: /usr/local/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: true + libgit2: + build_parent_dir: /usr/src/ + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - /srv/salt + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: '' + py_ver: py3 + pygit2: py37-pygit2-1.3.0 + python_dulwich: py37-dulwich-0.19.16 + python_git: py37-GitPython-3.1.11 + release: '3002' + restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true + rootgroup: wheel + rootuser: root + salt_api: py37-salt-3002.6 + salt_cloud: py37-salt-3002.6 + salt_master: py37-salt-3002.6 + salt_master_macos_plist_hash: '' + salt_minion: py37-salt-3002.6 + salt_minion_macos_plist_hash: '' + salt_ssh: py37-salt-3002.6 + salt_syndic: py37-salt-3002.6 + ssh_roster: {} + syndic_service: salt_syndic + use_pip: false + version: '' diff --git a/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysd.yaml b/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysd.yaml index eff157d22..6a3416d53 100644 --- a/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysd.yaml +++ b/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysd.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysv.yaml b/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysv.yaml index eff157d22..6a3416d53 100644 --- a/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysv.yaml +++ b/test/integration/v3002-py3/files/_mapdata/gentoo-2-sysv.yaml @@ -91,6 +91,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: app-admin/salt diff --git a/test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml b/test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml index 1df95c747..72411fee5 100644 --- a/test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml +++ b/test/integration/v3002-py3/files/_mapdata/opensuse-15.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml b/test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml index 244d7f2e8..387251bdd 100644 --- a/test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml +++ b/test/integration/v3002-py3/files/_mapdata/opensuse-tumbleweed.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/oraclelinux-7.yaml b/test/integration/v3002-py3/files/_mapdata/oraclelinux-7.yaml index d0407e254..060286697 100644 --- a/test/integration/v3002-py3/files/_mapdata/oraclelinux-7.yaml +++ b/test/integration/v3002-py3/files/_mapdata/oraclelinux-7.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/oraclelinux-8.yaml b/test/integration/v3002-py3/files/_mapdata/oraclelinux-8.yaml index ea2572c19..01f394917 100644 --- a/test/integration/v3002-py3/files/_mapdata/oraclelinux-8.yaml +++ b/test/integration/v3002-py3/files/_mapdata/oraclelinux-8.yaml @@ -94,6 +94,11 @@ values: python_git: GitPython release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/ubuntu-16.yaml b/test/integration/v3002-py3/files/_mapdata/ubuntu-16.yaml index 8fca9f20f..6d89c6fa3 100644 --- a/test/integration/v3002-py3/files/_mapdata/ubuntu-16.yaml +++ b/test/integration/v3002-py3/files/_mapdata/ubuntu-16.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/ubuntu-18.yaml b/test/integration/v3002-py3/files/_mapdata/ubuntu-18.yaml index b9b2f8a88..e6329eb98 100644 --- a/test/integration/v3002-py3/files/_mapdata/ubuntu-18.yaml +++ b/test/integration/v3002-py3/files/_mapdata/ubuntu-18.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/ubuntu-20.yaml b/test/integration/v3002-py3/files/_mapdata/ubuntu-20.yaml index 30602761a..e87d9ef1e 100644 --- a/test/integration/v3002-py3/files/_mapdata/ubuntu-20.yaml +++ b/test/integration/v3002-py3/files/_mapdata/ubuntu-20.yaml @@ -94,6 +94,11 @@ values: python_git: python-git release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root rootuser: root salt_api: salt-api diff --git a/test/integration/v3002-py3/files/_mapdata/windows-2016-server.yaml b/test/integration/v3002-py3/files/_mapdata/windows-2016-server.yaml new file mode 100644 index 000000000..a9396b92a --- /dev/null +++ b/test/integration/v3002-py3/files/_mapdata/windows-2016-server.yaml @@ -0,0 +1,111 @@ +# yamllint disable rule:indentation rule:line-length +# Windows-2016Server +--- +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: C:\salt\conf + gitfs: + dulwich: + install_from_source: true + gitpython: + install_from_source: false + pygit2: + git: + install_from_package: git + require_state: false + install_from_source: true + libgit2: + build_parent_dir: "/usr/src/" + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - "/srv/salt" + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: false + pin_version: false + pkgrepo: '' + py_ver: py3 + python_dulwich: python-dulwich + python_git: python-git + release: '3002' + restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true + rootgroup: root + rootuser: kitchen + salt_api: salt-api + salt_cloud: salt-cloud + salt_master: salt-master + salt_master_macos_plist_hash: '' + salt_minion: salt-minion-py3 + salt_minion_macos_plist_hash: '' + salt_ssh: salt-ssh + salt_syndic: salt-syndic + ssh_roster: {} + syndic_service: salt-syndic + use_pip: false + version: '' diff --git a/test/integration/v3002-py3/files/_mapdata/windows-2019-server.yaml b/test/integration/v3002-py3/files/_mapdata/windows-2019-server.yaml new file mode 100644 index 000000000..df3a49aa2 --- /dev/null +++ b/test/integration/v3002-py3/files/_mapdata/windows-2019-server.yaml @@ -0,0 +1,111 @@ +# yamllint disable rule:indentation rule:line-length +# Windows-2019Server +--- +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: C:\salt\conf + gitfs: + dulwich: + install_from_source: true + gitpython: + install_from_source: false + pygit2: + git: + install_from_package: git + require_state: false + install_from_source: true + libgit2: + build_parent_dir: "/usr/src/" + download_hash: 683d1164e361e2a0a8d52652840e2340 + install_from_source: true + version: 0.23.0 + version: 0.23.0 + install_packages: true + master: + ext_pillar: + - cmd_yaml: cat /etc/salt/yaml + - stack: + - /path/to/stack1.cfg + - /path/to/stack2.cfg + - reclass: + inventory_base_uri: /etc/reclass + file_roots: + base: + - "/srv/salt" + fileserver_backend: + - rootfs + gitfs_provider: gitpython + 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: false + pin_version: false + pkgrepo: '' + py_ver: py3 + python_dulwich: python-dulwich + python_git: python-git + release: '3002' + restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true + rootgroup: root + rootuser: kitchen + salt_api: salt-api + salt_cloud: salt-cloud + salt_master: salt-master + salt_master_macos_plist_hash: '' + salt_minion: salt-minion-py3 + salt_minion_macos_plist_hash: '' + salt_ssh: salt-ssh + salt_syndic: salt-syndic + ssh_roster: {} + syndic_service: salt-syndic + use_pip: false + version: '' diff --git a/test/integration/v3000-py3/files/_mapdata/windows-8.yaml b/test/integration/v3002-py3/files/_mapdata/windows-8.yaml similarity index 95% rename from test/integration/v3000-py3/files/_mapdata/windows-8.yaml rename to test/integration/v3002-py3/files/_mapdata/windows-8.yaml index befbbef73..c2e81af75 100644 --- a/test/integration/v3000-py3/files/_mapdata/windows-8.yaml +++ b/test/integration/v3002-py3/files/_mapdata/windows-8.yaml @@ -88,10 +88,15 @@ values: py_ver: py3 python_dulwich: python-dulwich python_git: python-git - release: '3000' + release: '3002' restart_via_at: false + retry_options: + attempts: 5 + interval: 10 + splay: 10 + until: true rootgroup: root - rootuser: kitchen + rootuser: vagrant salt_api: salt-api salt_cloud: salt-cloud salt_master: salt-master diff --git a/test/salt/pillar/v3002-py3.sls b/test/salt/pillar/v3002-py3.sls index aca53066b..e9298e8a6 100644 --- a/test/salt/pillar/v3002-py3.sls +++ b/test/salt/pillar/v3002-py3.sls @@ -4,3 +4,10 @@ salt: release: '3002' py_ver: 'py3' + + # Override used for FreeBSD minion service + retry_options: + attempts: 5 + until: true + interval: 10 + splay: 10