diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 0000000..42a5375 --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +name: Commitlint +'on': [pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: wagoid/commitlint-github-action@v1 diff --git a/.gitignore b/.gitignore index e71a695..4b45182 100644 --- a/.gitignore +++ b/.gitignore @@ -105,7 +105,7 @@ ENV/ .mypy_cache/ # Bundler -Gemfile.lock +.bundle/ # copied `.md` files used for conversion to `.rst` using `m2r` docs/*.md @@ -123,4 +123,4 @@ tmp/ #Vagrant Specific files .vagrant -top.sls \ No newline at end of file +top.sls diff --git a/.rubocop.yml b/.rubocop.yml index 96fd6e5..7fd75ac 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,5 +6,11 @@ Layout/LineLength: # Increase from default of `80` # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) Max: 88 +Metrics/BlockLength: + ExcludedMethods: + - control + - describe + # Increase from default of `25` + Max: 30 # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` diff --git a/.travis.yml b/.travis.yml index c5835de..db9c125 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,30 +58,26 @@ jobs: ## Define the rest of the matrix based on Kitchen testing # Make sure the instances listed below match up with # the `platforms` defined in `kitchen.yml` - # The ordering used below has been selected based on the time required in Travis - # The slower ones are kept as high up as possible, to run concurrently rather than - # slow down the entire run at the end (i.e. `centos-6` and `opensuse`) - # However, the groupings needed to be maintained in some semblance of order - # so this is a best-effort matrix, in the circumstances - # - env: INSTANCE=v201707-py2-debian-8-2017-7-py2 - - env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2 - - env: INSTANCE=v201707-py2-centos-6-2017-7-py2 - # - env: INSTANCE=v201707-py2-amazonlinux-1-2017-7-py2 - # - env: INSTANCE=v201707-py2-arch-base-latest-2017-7-py2 - - env: INSTANCE=v201803-py2-debian-9-2018-3-py2 - # - env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2 - - env: INSTANCE=v201803-py2-centos-7-2018-3-py2 - # - env: INSTANCE=v201803-py2-amazonlinux-1-2018-3-py2 - # - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2 - - env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2 - # - env: INSTANCE=v201902-py2-centos-7-2019-2-py2 - - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3 - # - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2 - - env: INSTANCE=v201902-py3-debian-10-2019-2-py3 - # - env: INSTANCE=v201902-py3-debian-9-2019-2-py3 + - env: INSTANCE=v3000-py3-debian-10-3000-3-py3 + # - env: INSTANCE=v3000-py3-debian-9-3000-3-py3 + # - env: INSTANCE=v3000-py3-ubuntu-1804-3000-3-py3 + - env: INSTANCE=v3000-py3-centos-8-3000-3-py3 + # - env: INSTANCE=v3000-py3-centos-7-3000-3-py3 + - env: INSTANCE=v3000-py3-fedora-31-3000-3-py3 + - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-3-py3 + - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-3-py3 + - env: INSTANCE=v3000-py3-amazonlinux-2-3000-3-py3 + - env: INSTANCE=v3000-py2-ubuntu-1804-3000-3-py2 + # - env: INSTANCE=v3000-py2-ubuntu-1604-3000-3-py2 + # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3 + - env: INSTANCE=v201902-py3-debian-9-2019-2-py3 # - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3 + - env: INSTANCE=v201902-py3-ubuntu-1604-2019-2-py3 # - env: INSTANCE=v201902-py3-centos-8-2019-2-py3 - - env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3 + - env: INSTANCE=v201902-py3-centos-7-2019-2-py3 + # - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3 + - env: INSTANCE=v201902-py2-centos-6-2019-2-py2 + # - env: INSTANCE=v201902-py2-amazonlinux-1-2019-2-py2 ## Define the release stage that runs `semantic-release` - stage: 'release' @@ -108,3 +104,15 @@ jobs: edge: true # Run `semantic-release` script: 'npx semantic-release@15.14' + +# Notification options: `always`, `never` or `change` +notifications: + webhooks: + if: 'repo = saltstack-formulas/salt-formula' + urls: + - https://saltstack-formulas.zulipchat.com/api/v1/external/travis?api_key=HsIq3o5QmLxdnVCKF9is0FUIpkpAY79P&stream=CI&topic=saltstack-formulas%2Fsalt-formula&ignore_pull_requests=true + on_success: always # default: always + on_failure: always # default: always + on_start: always # default: never + on_cancel: always # default: always + on_error: always # default: always diff --git a/AUTHORS.md b/AUTHORS.md index c4bf346..a31c70e 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -4,15 +4,15 @@ This list is sorted by the number of commits per contributor in _descending_ ord Avatar|Contributor|Contributions :-:|---|:-: +@myii|[@myii](https://github.com/myii)|109 @aboe76|[@aboe76](https://github.com/aboe76)|100 -@myii|[@myii](https://github.com/myii)|72 @gravyboat|[@gravyboat](https://github.com/gravyboat)|71 @nmadhok|[@nmadhok](https://github.com/nmadhok)|54 @iggy|[@iggy](https://github.com/iggy)|22 @puneetk|[@puneetk](https://github.com/puneetk)|21 @javierbertoli|[@javierbertoli](https://github.com/javierbertoli)|20 +@noelmcloughlin|[@noelmcloughlin](https://github.com/noelmcloughlin)|20 @xenophonf|[@xenophonf](https://github.com/xenophonf)|18 -@noelmcloughlin|[@noelmcloughlin](https://github.com/noelmcloughlin)|16 @andrew-vant|[@andrew-vant](https://github.com/andrew-vant)|13 @whiteinge|[@whiteinge](https://github.com/whiteinge)|12 @rhertzog|[@rhertzog](https://github.com/rhertzog)|11 @@ -34,6 +34,7 @@ Avatar|Contributor|Contributions @tampakrap|[@tampakrap](https://github.com/tampakrap)|4 @MSeven|[@MSeven](https://github.com/MSeven)|4 @dafyddj|[@dafyddj](https://github.com/dafyddj)|3 +@pprkut|[@pprkut](https://github.com/pprkut)|3 @jcftang|[@jcftang](https://github.com/jcftang)|3 @johtso|[@johtso](https://github.com/johtso)|3 @kev009|[@kev009](https://github.com/kev009)|3 @@ -48,7 +49,6 @@ Avatar|Contributor|Contributions @raizyr|[@raizyr](https://github.com/raizyr)|2 @basepi|[@basepi](https://github.com/basepi)|2 @quixoten|[@quixoten](https://github.com/quixoten)|2 -@pprkut|[@pprkut](https://github.com/pprkut)|2 @hemebond|[@hemebond](https://github.com/hemebond)|2 @centromere|[@centromere](https://github.com/centromere)|2 @jerrykan|[@jerrykan](https://github.com/jerrykan)|2 @@ -98,6 +98,8 @@ Avatar|Contributor|Contributions @TiagoTT|[@TiagoTT](https://github.com/TiagoTT)|1 @westurner|[@westurner](https://github.com/westurner)|1 @abednarik|[@abednarik](https://github.com/abednarik)|1 +@cr1st1p|[@cr1st1p](https://github.com/cr1st1p)|1 +@hatifnatt|[@hatifnatt](https://github.com/hatifnatt)|1 @jpic|[@jpic](https://github.com/jpic)|1 @kabakaev|[@kabakaev](https://github.com/kabakaev)|1 @mechleg|[@mechleg](https://github.com/mechleg)|1 @@ -107,4 +109,4 @@ Avatar|Contributor|Contributions --- -Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-02-13. +Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-05-26. diff --git a/CHANGELOG.md b/CHANGELOG.md index d8e8501..480d3ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,124 @@ # Changelog +## [1.4.2](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.1...v1.4.2) (2020-05-26) + + +### Bug Fixes + +* **opensuse:** use appropriate upstream repo ([5d9a92b](https://github.com/saltstack-formulas/salt-formula/commit/5d9a92bf1d567cf25916239c2b11828fe625fd17)) + + +### Continuous Integration + +* **kitchen+travis:** adjust matrix to add `3000.3` [skip ci] ([a333801](https://github.com/saltstack-formulas/salt-formula/commit/a3338018fbf0f770c41a6523473eb42123daa435)) +* **kitchen+travis:** adjust matrix to add `opensuse-leap-15.2` ([7fc32fb](https://github.com/saltstack-formulas/salt-formula/commit/7fc32fb0fb739a713c58d1642cd206106270322e)) +* **kitchen+travis:** adjust matrix to add `opensuse-leap-15.2` ([1afa84e](https://github.com/saltstack-formulas/salt-formula/commit/1afa84e1af2132763b6dbdaff98892dd35bf9f1c)) +* **travis:** add notifications => zulip [skip ci] ([7e2a9c0](https://github.com/saltstack-formulas/salt-formula/commit/7e2a9c0acd8dff358cfb80a14eaa596e3abf3e60)) +* **workflows/commitlint:** add to repo [skip ci] ([38ebe56](https://github.com/saltstack-formulas/salt-formula/commit/38ebe5653b72fb5b9e11fdeef9c8f394600bd2ff)) + + +### Tests + +* **pkgs_spec:** update for releases `3000.3` & `2019.2.5` ([5917569](https://github.com/saltstack-formulas/salt-formula/commit/591756946403d17228a59b46ab48f6d1985743e2)) +* **pkgs_spec:** update version installed on `fedora` ([301a988](https://github.com/saltstack-formulas/salt-formula/commit/301a9884ac0159ead8324b6ab4eaa170943b92f8)) + +## [1.4.1](https://github.com/saltstack-formulas/salt-formula/compare/v1.4.0...v1.4.1) (2020-05-02) + + +### Continuous Integration + +* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([f10a85f](https://github.com/saltstack-formulas/salt-formula/commit/f10a85fc706aeba06453234b02bb5d8b0f00ad34)) +* **kitchen+travis:** adjust matrix to add `3000.2` & remove `2018.3` ([433a2c1](https://github.com/saltstack-formulas/salt-formula/commit/433a2c1597fca67762cc41617d1a4056b6b6adc3)) + + +### Tests + +* add tests for `v3000-py2` ([c228029](https://github.com/saltstack-formulas/salt-formula/commit/c228029879f36ee5aaa5f3cd3d3684ede29808bb)) +* **pkgs_spec:** update for CVE releases `3000.2` & `2019.2.4` ([965588b](https://github.com/saltstack-formulas/salt-formula/commit/965588b10808dea7dcf13fa651c95f61f2e4f83b)) +* remove deprecated Salt/Python versions ([7f19796](https://github.com/saltstack-formulas/salt-formula/commit/7f19796517e920d0b1773b22724c68d5a8de681b)) + +# [1.4.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.4...v1.4.0) (2020-04-18) + + +### Features + +* **package:** use apt-pinning to pin specific package version ([98ad87a](https://github.com/saltstack-formulas/salt-formula/commit/98ad87a0014114f79fde1854dfb3731fad772ac4)) + + +### Tests + +* **pkgs_spec:** update `fedora` version [skip ci] ([e786eb6](https://github.com/saltstack-formulas/salt-formula/commit/e786eb6b8e8e3892046f6d56e719e119b16591b7)) + +## [1.3.4](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.3...v1.3.4) (2020-04-03) + + +### Bug Fixes + +* **api:** remove spurious colon in salt.api state ([02fbcd4](https://github.com/saltstack-formulas/salt-formula/commit/02fbcd43fc56e99fa62d7ab78658fa19e5d83372)) + +## [1.3.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.2...v1.3.3) (2020-04-01) + + +### Continuous Integration + +* **kitchen+travis:** adjust matrix to update `3000` to `3000.1` ([a8fe65a](https://github.com/saltstack-formulas/salt-formula/commit/a8fe65a2c80a63cb167ea6f7f88b1198b6e07b97)) + + +### Tests + +* **pkgs_spec:** update `3000` to `3000.1` ([1e677cd](https://github.com/saltstack-formulas/salt-formula/commit/1e677cd761ab82ff6160d7b96ce7f6920b2e02e4)) +* **service_spec:** add `should be_installed` ([b5461a0](https://github.com/saltstack-formulas/salt-formula/commit/b5461a0ebab63fb77186ea5960e71bd1426609a1)) + +## [1.3.2](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.1...v1.3.2) (2020-03-21) + + +### Code Refactoring + +* **osfamilymap:** remove workaround for OpenSUSE 15.1 ([0da366c](https://github.com/saltstack-formulas/salt-formula/commit/0da366c7b25778dcec12f2a4a80cd4072c3d4d29)) + + +### Continuous Integration + +* **kitchen+travis:** adjust matrix to add `3000` & remove `2017.7` ([4a5f805](https://github.com/saltstack-formulas/salt-formula/commit/4a5f8053e938569814a2043405416c74b8c990fd)) + + +### Tests + +* **neon:** add pillar and tests for `3000` ([f91f10c](https://github.com/saltstack-formulas/salt-formula/commit/f91f10c2800edfc1b59fd731a6b6f82a47f74fcc)) +* **nitrogen:** remove pillar and tests for `2017.7` ([f246a5e](https://github.com/saltstack-formulas/salt-formula/commit/f246a5e0af84f527df2f87428d929440c716361b)) + +## [1.3.1](https://github.com/saltstack-formulas/salt-formula/compare/v1.3.0...v1.3.1) (2020-03-19) + + +### Bug Fixes + +* **jinja:** replace version_cmp with grains lookup ([dd37869](https://github.com/saltstack-formulas/salt-formula/commit/dd37869d2842927a87273b940fd76945ff6a05ec)) +* **jinja:** replace version_cmp with grains lookup ([325f6c0](https://github.com/saltstack-formulas/salt-formula/commit/325f6c061beb2721cb55777e206922d728f62e69)) + +# [1.3.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.2.0...v1.3.0) (2020-03-11) + + +### Features + +* **mapping:** better control of the service's state ([29ffd68](https://github.com/saltstack-formulas/salt-formula/commit/29ffd68d3419b61b938221130911844f48134817)) + +# [1.2.0](https://github.com/saltstack-formulas/salt-formula/compare/v1.1.3...v1.2.0) (2020-02-20) + + +### Bug Fixes + +* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] ([4955737](https://github.com/saltstack-formulas/salt-formula/commit/4955737f844678ca3ca208340fe73fcd47aab256)) + + +### Continuous Integration + +* **kitchen+travis+inspec:** fix `amazonlinux-2-py3` [skip ci] ([10e2ce0](https://github.com/saltstack-formulas/salt-formula/commit/10e2ce07a4293ad46d785bcbc16b822280f17142)) + + +### Features + +* **metastate:** add metastate per community convention ([fbaa456](https://github.com/saltstack-formulas/salt-formula/commit/fbaa456ca69fafa2a8a4ef910b5e09dafffe5ece)) + ## [1.1.3](https://github.com/saltstack-formulas/salt-formula/compare/v1.1.2...v1.1.3) (2020-02-13) diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..d2f372c --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,43 @@ +# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners + +# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence +# FILE PATTERN OWNER(S) +* @saltstack-formulas/wg + +# SECTION: Owner(s) for specific directories +# FILE PATTERN OWNER(S) +/test/ @myii + +# SECTION: Owner(s) for files/directories related to `semantic-release` +# FILE PATTERN OWNER(S) +/.github/workflows/ @saltstack-formulas/ssf +/bin/kitchen @saltstack-formulas/ssf +/docs/AUTHORS.rst @saltstack-formulas/ssf +/docs/CHANGELOG.rst @saltstack-formulas/ssf +/docs/TOFS_pattern.rst @saltstack-formulas/ssf +/salt/libsaltcli.jinja @saltstack-formulas/ssf +/salt/libtofs.jinja @saltstack-formulas/ssf +/test/integration/**/inspec.yml @saltstack-formulas/ssf +/test/integration/**/README.md @saltstack-formulas/ssf +/.gitignore @saltstack-formulas/ssf +/.cirrus.yml @saltstack-formulas/ssf +/.rubocop.yml @saltstack-formulas/ssf +/.salt-lint @saltstack-formulas/ssf +/.travis.yml @saltstack-formulas/ssf +/.yamllint @saltstack-formulas/ssf +/AUTHORS.md @saltstack-formulas/ssf +/CHANGELOG.md @saltstack-formulas/ssf +/CODEOWNERS @saltstack-formulas/ssf +/commitlint.config.js @saltstack-formulas/ssf +/FORMULA @saltstack-formulas/ssf +/Gemfile @saltstack-formulas/ssf +/Gemfile.lock @saltstack-formulas/ssf +/kitchen.yml @saltstack-formulas/ssf +/pre-commit_semantic-release.sh @saltstack-formulas/ssf +/release-rules.js @saltstack-formulas/ssf +/release.config.js @saltstack-formulas/ssf + +# SECTION: Owner(s) for specific files +# FILE PATTERN OWNER(S) +/salt/formulas.sls @sticky-note @myii +/salt/pin.sls @hatifnatt diff --git a/FORMULA b/FORMULA index 29549a9..5b9182b 100644 --- a/FORMULA +++ b/FORMULA @@ -1,7 +1,7 @@ name: salt os: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows os_family: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows -version: 1.1.3 +version: 1.4.2 release: 1 minimum_version: 2015.8 summary: Formula for install Saltstack diff --git a/Gemfile b/Gemfile index 8da7a69..5a232b6 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,3 @@ source 'https://rubygems.org' gem 'kitchen-docker', '>= 2.9' gem 'kitchen-inspec', '>= 1.1' gem 'kitchen-salt', '>= 0.6.0' -# Latest versions of `train` cause failure when running `kitchen verify` -# Downgrading to `3.2.0` until this is fixed upstream -# https://github.com/inspec/train/pull/544#issuecomment-566055052 -gem 'train', '3.2.0' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..452d60e --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,540 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (5.2.4.3) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + aws-eventstream (1.1.0) + aws-partitions (1.322.0) + aws-sdk-apigateway (1.40.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-apigatewayv2 (1.20.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-athena (1.25.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-autoscaling (1.22.0) + aws-sdk-core (~> 3, >= 3.52.1) + aws-sigv4 (~> 1.1) + aws-sdk-budgets (1.29.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudformation (1.35.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudhsm (1.21.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudhsmv2 (1.22.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudtrail (1.22.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatch (1.37.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatchlogs (1.30.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-codecommit (1.32.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-codedeploy (1.30.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-codepipeline (1.30.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-configservice (1.44.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.96.1) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-costandusagereportservice (1.20.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-dynamodb (1.47.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-ec2 (1.163.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecr (1.29.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecs (1.62.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-efs (1.28.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-eks (1.36.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticache (1.34.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticbeanstalk (1.29.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancing (1.21.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancingv2 (1.43.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticsearchservice (1.34.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-firehose (1.27.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-iam (1.37.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-kafka (1.20.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-kinesis (1.22.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-kms (1.31.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-lambda (1.41.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-organizations (1.17.0) + aws-sdk-core (~> 3, >= 3.39.0) + aws-sigv4 (~> 1.0) + aws-sdk-rds (1.84.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-redshift (1.42.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53 (1.34.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53domains (1.21.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53resolver (1.13.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.66.0) + aws-sdk-core (~> 3, >= 3.96.1) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sdk-securityhub (1.25.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-ses (1.29.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-sms (1.19.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-sns (1.23.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-sqs (1.25.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-ssm (1.78.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.1.3) + aws-eventstream (~> 1.0, >= 1.0.2) + azure_graph_rbac (0.17.1) + ms_rest_azure (~> 0.11.0) + azure_mgmt_key_vault (0.17.5) + ms_rest_azure (~> 0.11.1) + azure_mgmt_resources (0.17.8) + ms_rest_azure (~> 0.11.1) + azure_mgmt_security (0.18.0) + ms_rest_azure (~> 0.11.1) + azure_mgmt_storage (0.21.0) + ms_rest_azure (~> 0.11.1) + bcrypt_pbkdf (1.0.1) + builder (3.2.4) + chef-config (16.1.16) + addressable + chef-utils (= 16.1.16) + fuzzyurl + mixlib-config (>= 2.2.12, < 4.0) + mixlib-shellout (>= 2.0, < 4.0) + tomlrb (~> 1.2) + chef-telemetry (1.0.5) + chef-config + concurrent-ruby (~> 1.0) + ffi-yajl (~> 2.2) + http (~> 4) + chef-utils (16.1.16) + coderay (1.1.2) + concurrent-ruby (1.1.6) + declarative (0.0.10) + declarative-option (0.1.0) + diff-lcs (1.3) + docker-api (1.34.2) + excon (>= 0.47.0) + multi_json + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + ecma-re-validator (0.2.1) + regexp_parser (~> 1.2) + ed25519 (1.2.4) + equatable (0.6.1) + erubi (1.9.0) + excon (0.73.0) + faraday (0.17.3) + multipart-post (>= 1.2, < 3) + faraday-cookie_jar (0.0.6) + faraday (>= 0.7.4) + http-cookie (~> 1.0.0) + faraday_middleware (0.12.2) + faraday (>= 0.7.4, < 1.0) + ffi (1.12.2) + ffi-compiler (1.0.1) + ffi (>= 1.0.0) + rake + ffi-yajl (2.3.3) + libyajl2 (~> 1.2) + fuzzyurl (0.9.0) + google-api-client (0.34.1) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.12) + googleauth (0.10.0) + faraday (~> 0.12) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.12) + gssapi (1.3.0) + ffi (>= 1.0.1) + gyoku (1.3.1) + builder (>= 2.1.2) + hana (1.3.6) + hashie (3.6.0) + htmlentities (4.3.4) + http (4.4.1) + addressable (~> 2.3) + http-cookie (~> 1.0) + http-form_data (~> 2.2) + http-parser (~> 1.2.0) + http-cookie (1.0.3) + domain_name (~> 0.5) + http-form_data (2.3.0) + http-parser (1.2.1) + ffi-compiler (>= 1.0, < 2.0) + httpclient (2.8.3) + i18n (1.8.2) + concurrent-ruby (~> 1.0) + inifile (3.0.0) + inspec (4.18.114) + faraday_middleware (~> 0.12.2) + inspec-core (= 4.18.114) + train (~> 3.0) + train-aws (~> 0.1) + train-habitat (~> 0.1) + train-winrm (~> 0.2) + inspec-core (4.18.114) + addressable (~> 2.4) + chef-telemetry (~> 1.0) + faraday (>= 0.9.0) + hashie (~> 3.4) + htmlentities (~> 4.3) + json_schemer (~> 0.2.1) + license-acceptance (>= 0.2.13, < 2.0) + method_source (>= 0.8, < 2.0) + mixlib-log (~> 3.0) + multipart-post (~> 2.0) + parallel (~> 1.9) + parslet (~> 1.5) + pry (~> 0.13) + rspec (~> 3.9) + rspec-its (~> 1.2) + rubyzip (~> 1.2, >= 1.2.2) + semverse (~> 3.0) + sslshake (~> 1.2) + term-ansicolor (~> 1.7) + thor (>= 0.20, < 2.0) + tomlrb (~> 1.2) + train-core (~> 3.0) + tty-prompt (~> 0.17) + tty-table (~> 0.10) + jmespath (1.4.0) + json (2.3.0) + json_schemer (0.2.11) + ecma-re-validator (~> 0.2) + hana (~> 1.3) + regexp_parser (~> 1.5) + uri_template (~> 0.7) + jwt (2.2.1) + kitchen-docker (2.10.0) + test-kitchen (>= 1.0.0) + kitchen-inspec (1.3.2) + hashie (~> 3.4) + inspec (>= 1.47, < 5.0) + test-kitchen (>= 1.6, < 3) + kitchen-salt (0.6.3) + hashie (>= 3.5) + test-kitchen (>= 1.4) + libyajl2 (1.2.0) + license-acceptance (1.0.19) + pastel (~> 0.7) + tomlrb (~> 1.2) + tty-box (~> 0.3) + tty-prompt (~> 0.18) + little-plugger (1.1.4) + logging (2.2.2) + little-plugger (~> 1.1) + multi_json (~> 1.10) + memoist (0.16.2) + method_source (1.0.0) + mini_mime (1.0.2) + minitest (5.14.1) + mixlib-config (3.0.6) + tomlrb + mixlib-install (3.12.1) + mixlib-shellout + mixlib-versioning + thor + mixlib-log (3.0.8) + mixlib-shellout (3.0.9) + mixlib-versioning (1.2.12) + ms_rest (0.7.6) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + timeliness (~> 0.3.10) + ms_rest_azure (0.11.2) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + faraday-cookie_jar (~> 0.0.6) + ms_rest (~> 0.7.6) + unf_ext (= 0.0.7.2) + multi_json (1.14.1) + multipart-post (2.1.1) + necromancer (0.5.1) + net-scp (2.0.0) + net-ssh (>= 2.6.5, < 6.0.0) + net-ssh (5.2.0) + net-ssh-gateway (2.0.0) + net-ssh (>= 4.0.0) + nori (2.6.0) + os (1.1.0) + parallel (1.19.1) + parslet (1.8.2) + pastel (0.7.4) + equatable (~> 0.6) + tty-color (~> 0.5) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) + public_suffix (4.0.5) + rake (13.0.1) + regexp_parser (1.7.0) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.2) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-its (1.3.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.9.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.9.0) + rspec-support (3.9.3) + rubyntlm (0.6.2) + rubyzip (1.3.0) + semverse (3.0.0) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + sslshake (1.3.0) + strings (0.1.8) + strings-ansi (~> 0.1) + unicode-display_width (~> 1.5) + unicode_utils (~> 1.4) + strings-ansi (0.2.0) + sync (0.5.0) + term-ansicolor (1.7.1) + tins (~> 1.0) + test-kitchen (2.5.1) + bcrypt_pbkdf (~> 1.0) + ed25519 (~> 1.2) + license-acceptance (~> 1.0, >= 1.0.11) + mixlib-install (~> 3.6) + mixlib-shellout (>= 1.2, < 4.0) + net-scp (>= 1.1, < 4.0) + net-ssh (>= 2.9, < 7.0) + net-ssh-gateway (>= 1.2, < 3.0) + thor (~> 0.19) + winrm (~> 2.0) + winrm-elevated (~> 1.0) + winrm-fs (~> 1.1) + thor (0.20.3) + thread_safe (0.3.6) + timeliness (0.3.10) + tins (1.25.0) + sync + tomlrb (1.3.0) + train (3.2.28) + activesupport (~> 5.2.3) + azure_graph_rbac (~> 0.16) + azure_mgmt_key_vault (~> 0.17) + azure_mgmt_resources (~> 0.15) + azure_mgmt_security (~> 0.18) + azure_mgmt_storage (~> 0.18) + docker-api (~> 1.26) + google-api-client (>= 0.23.9, < 0.35.0) + googleauth (>= 0.6.6, < 0.11.0) + inifile (~> 3.0) + train-core (= 3.2.28) + train-winrm (~> 0.2) + train-aws (0.1.16) + aws-sdk-apigateway (~> 1.0) + aws-sdk-apigatewayv2 (~> 1.0) + aws-sdk-athena (~> 1.0) + aws-sdk-autoscaling (~> 1.22.0) + aws-sdk-budgets (~> 1.0) + aws-sdk-cloudformation (~> 1.0) + aws-sdk-cloudhsm (~> 1.0) + aws-sdk-cloudhsmv2 (~> 1.0) + aws-sdk-cloudtrail (~> 1.8) + aws-sdk-cloudwatch (~> 1.13) + aws-sdk-cloudwatchlogs (~> 1.13) + aws-sdk-codecommit (~> 1.0) + aws-sdk-codedeploy (~> 1.0) + aws-sdk-codepipeline (~> 1.0) + aws-sdk-configservice (~> 1.21) + aws-sdk-core (~> 3.0) + aws-sdk-costandusagereportservice (~> 1.6) + aws-sdk-dynamodb (~> 1.31) + aws-sdk-ec2 (~> 1.70) + aws-sdk-ecr (~> 1.18) + aws-sdk-ecs (~> 1.30) + aws-sdk-efs (~> 1.0) + aws-sdk-eks (~> 1.9) + aws-sdk-elasticache (~> 1.0) + aws-sdk-elasticbeanstalk (~> 1.0) + aws-sdk-elasticloadbalancing (~> 1.8) + aws-sdk-elasticloadbalancingv2 (~> 1.0) + aws-sdk-elasticsearchservice (~> 1.0) + aws-sdk-firehose (~> 1.0) + aws-sdk-iam (~> 1.13) + aws-sdk-kafka (~> 1.0) + aws-sdk-kinesis (~> 1.0) + aws-sdk-kms (~> 1.13) + aws-sdk-lambda (~> 1.0) + aws-sdk-organizations (~> 1.17.0) + aws-sdk-rds (~> 1.43) + aws-sdk-redshift (~> 1.0) + aws-sdk-route53 (~> 1.0) + aws-sdk-route53domains (~> 1.0) + aws-sdk-route53resolver (~> 1.0) + aws-sdk-s3 (~> 1.30) + aws-sdk-securityhub (~> 1.0) + aws-sdk-ses (~> 1.0) + aws-sdk-sms (~> 1.0) + aws-sdk-sns (~> 1.9) + aws-sdk-sqs (~> 1.10) + aws-sdk-ssm (~> 1.0) + train-core (3.2.28) + addressable (~> 2.5) + json (>= 1.8, < 3.0) + mixlib-shellout (>= 2.0, < 4.0) + net-scp (>= 1.2, < 3.0) + net-ssh (>= 2.9, < 6.0) + train-habitat (0.2.13) + train-winrm (0.2.6) + winrm (~> 2.0) + winrm-fs (~> 1.0) + tty-box (0.5.0) + pastel (~> 0.7.2) + strings (~> 0.1.6) + tty-cursor (~> 0.7) + tty-color (0.5.1) + tty-cursor (0.7.1) + tty-prompt (0.21.0) + necromancer (~> 0.5.0) + pastel (~> 0.7.0) + tty-reader (~> 0.7.0) + tty-reader (0.7.0) + tty-cursor (~> 0.7) + tty-screen (~> 0.7) + wisper (~> 2.0.0) + tty-screen (0.7.1) + tty-table (0.11.0) + equatable (~> 0.6) + necromancer (~> 0.5) + pastel (~> 0.7.2) + strings (~> 0.1.5) + tty-screen (~> 0.7) + tzinfo (1.2.7) + thread_safe (~> 0.1) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.2) + unicode-display_width (1.7.0) + unicode_utils (1.4.0) + uri_template (0.7.0) + winrm (2.3.4) + builder (>= 2.1.2) + erubi (~> 1.8) + gssapi (~> 1.2) + gyoku (~> 1.0) + httpclient (~> 2.2, >= 2.2.0.2) + logging (>= 1.6.1, < 3.0) + nori (~> 2.0) + rubyntlm (~> 0.6.0, >= 0.6.1) + winrm-elevated (1.2.1) + erubi (~> 1.8) + winrm (~> 2.0) + winrm-fs (~> 1.0) + winrm-fs (1.3.3) + erubi (~> 1.8) + logging (>= 1.6.1, < 3.0) + rubyzip (~> 1.1) + winrm (~> 2.0) + wisper (2.0.1) + +PLATFORMS + ruby + +DEPENDENCIES + kitchen-docker (>= 2.9) + kitchen-inspec (>= 1.1) + kitchen-salt (>= 0.6.0) + +BUNDLED WITH + 2.1.2 diff --git a/docs/AUTHORS.rst b/docs/AUTHORS.rst index 37312b8..835566a 100644 --- a/docs/AUTHORS.rst +++ b/docs/AUTHORS.rst @@ -13,12 +13,12 @@ This list is sorted by the number of commits per contributor in *descending* ord * - Avatar - Contributor - Contributions + * - :raw-html-m2r:`@myii` + - `@myii `_ + - 109 * - :raw-html-m2r:`@aboe76` - `@aboe76 `_ - 100 - * - :raw-html-m2r:`@myii` - - `@myii `_ - - 72 * - :raw-html-m2r:`@gravyboat` - `@gravyboat `_ - 71 @@ -34,12 +34,12 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@javierbertoli` - `@javierbertoli `_ - 20 + * - :raw-html-m2r:`@noelmcloughlin` + - `@noelmcloughlin `_ + - 20 * - :raw-html-m2r:`@xenophonf` - `@xenophonf `_ - 18 - * - :raw-html-m2r:`@noelmcloughlin` - - `@noelmcloughlin `_ - - 16 * - :raw-html-m2r:`@andrew-vant` - `@andrew-vant `_ - 13 @@ -103,6 +103,9 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@dafyddj` - `@dafyddj `_ - 3 + * - :raw-html-m2r:`@pprkut` + - `@pprkut `_ + - 3 * - :raw-html-m2r:`@jcftang` - `@jcftang `_ - 3 @@ -145,9 +148,6 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@quixoten` - `@quixoten `_ - 2 - * - :raw-html-m2r:`@pprkut` - - `@pprkut `_ - - 2 * - :raw-html-m2r:`@hemebond` - `@hemebond `_ - 2 @@ -295,6 +295,12 @@ This list is sorted by the number of commits per contributor in *descending* ord * - :raw-html-m2r:`@abednarik` - `@abednarik `_ - 1 + * - :raw-html-m2r:`@cr1st1p` + - `@cr1st1p `_ + - 1 + * - :raw-html-m2r:`@hatifnatt` + - `@hatifnatt `_ + - 1 * - :raw-html-m2r:`@jpic` - `@jpic `_ - 1 @@ -317,4 +323,4 @@ This list is sorted by the number of commits per contributor in *descending* ord ---- -Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2020-02-13. +Auto-generated by a `forked version `_ of `gaocegege/maintainer `_ on 2020-05-26. diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 9bea250..405abca 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -2,6 +2,152 @@ Changelog ========= +`1.4.2 `_ (2020-05-26) +------------------------------------------------------------------------------------------------------ + +Bug Fixes +^^^^^^^^^ + + +* **opensuse:** use appropriate upstream repo (\ `5d9a92b `_\ ) + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **kitchen+travis:** adjust matrix to add ``3000.3`` [skip ci] (\ `a333801 `_\ ) +* **kitchen+travis:** adjust matrix to add ``opensuse-leap-15.2`` (\ `7fc32fb `_\ ) +* **kitchen+travis:** adjust matrix to add ``opensuse-leap-15.2`` (\ `1afa84e `_\ ) +* **travis:** add notifications => zulip [skip ci] (\ `7e2a9c0 `_\ ) +* **workflows/commitlint:** add to repo [skip ci] (\ `38ebe56 `_\ ) + +Tests +^^^^^ + + +* **pkgs_spec:** update for releases ``3000.3`` & ``2019.2.5`` (\ `5917569 `_\ ) +* **pkgs_spec:** update version installed on ``fedora`` (\ `301a988 `_\ ) + +`1.4.1 `_ (2020-05-02) +------------------------------------------------------------------------------------------------------ + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **gemfile.lock:** add to repo with updated ``Gemfile`` [skip ci] (\ `f10a85f `_\ ) +* **kitchen+travis:** adjust matrix to add ``3000.2`` & remove ``2018.3`` (\ `433a2c1 `_\ ) + +Tests +^^^^^ + + +* add tests for ``v3000-py2`` (\ `c228029 `_\ ) +* **pkgs_spec:** update for CVE releases ``3000.2`` & ``2019.2.4`` (\ `965588b `_\ ) +* remove deprecated Salt/Python versions (\ `7f19796 `_\ ) + +`1.4.0 `_ (2020-04-18) +------------------------------------------------------------------------------------------------------ + +Features +^^^^^^^^ + + +* **package:** use apt-pinning to pin specific package version (\ `98ad87a `_\ ) + +Tests +^^^^^ + + +* **pkgs_spec:** update ``fedora`` version [skip ci] (\ `e786eb6 `_\ ) + +`1.3.4 `_ (2020-04-03) +------------------------------------------------------------------------------------------------------ + +Bug Fixes +^^^^^^^^^ + + +* **api:** remove spurious colon in salt.api state (\ `02fbcd4 `_\ ) + +`1.3.3 `_ (2020-04-01) +------------------------------------------------------------------------------------------------------ + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **kitchen+travis:** adjust matrix to update ``3000`` to ``3000.1`` (\ `a8fe65a `_\ ) + +Tests +^^^^^ + + +* **pkgs_spec:** update ``3000`` to ``3000.1`` (\ `1e677cd `_\ ) +* **service_spec:** add ``should be_installed`` (\ `b5461a0 `_\ ) + +`1.3.2 `_ (2020-03-21) +------------------------------------------------------------------------------------------------------ + +Code Refactoring +^^^^^^^^^^^^^^^^ + + +* **osfamilymap:** remove workaround for OpenSUSE 15.1 (\ `0da366c `_\ ) + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **kitchen+travis:** adjust matrix to add ``3000`` & remove ``2017.7`` (\ `4a5f805 `_\ ) + +Tests +^^^^^ + + +* **neon:** add pillar and tests for ``3000`` (\ `f91f10c `_\ ) +* **nitrogen:** remove pillar and tests for ``2017.7`` (\ `f246a5e `_\ ) + +`1.3.1 `_ (2020-03-19) +------------------------------------------------------------------------------------------------------ + +Bug Fixes +^^^^^^^^^ + + +* **jinja:** replace version_cmp with grains lookup (\ `dd37869 `_\ ) +* **jinja:** replace version_cmp with grains lookup (\ `325f6c0 `_\ ) + +`1.3.0 `_ (2020-03-11) +------------------------------------------------------------------------------------------------------ + +Features +^^^^^^^^ + + +* **mapping:** better control of the service's state (\ `29ffd68 `_\ ) + +`1.2.0 `_ (2020-02-20) +------------------------------------------------------------------------------------------------------ + +Bug Fixes +^^^^^^^^^ + + +* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] (\ `4955737 `_\ ) + +Continuous Integration +^^^^^^^^^^^^^^^^^^^^^^ + + +* **kitchen+travis+inspec:** fix ``amazonlinux-2-py3`` [skip ci] (\ `10e2ce0 `_\ ) + +Features +^^^^^^^^ + + +* **metastate:** add metastate per community convention (\ `fbaa456 `_\ ) + `1.1.3 `_ (2020-02-13) ------------------------------------------------------------------------------------------------------ diff --git a/docs/README.rst b/docs/README.rst index 517d135..fa8d29c 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -45,6 +45,13 @@ Available states .. contents:: :local: +``salt`` +^^^^^^^^ + +*Meta-state (This is a state that includes other states)*. + +This calls all runable states based on configured pillar data. + ``salt.minion`` ^^^^^^^^^^^^^^^ diff --git a/kitchen.yml b/kitchen.yml index 6c69f74..314c194 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -11,59 +11,52 @@ driver: # Make sure the platforms listed below match up with # the `env.matrix` instances defined in `.travis.yml` platforms: - ## SALT `2017.7` - - name: debian-8-2017-7-py2 + ## SALT `3000.3` + - name: debian-10-3000-3-py3 driver: - image: netmanagers/salt-2017.7-py2:debian-8 - - name: ubuntu-1604-2017-7-py2 + image: netmanagers/salt-3000.3-py3:debian-10 + - name: debian-9-3000-3-py3 driver: - image: netmanagers/salt-2017.7-py2:ubuntu-16.04 - - name: centos-6-2017-7-py2 + image: netmanagers/salt-3000.3-py3:debian-9 + - name: ubuntu-1804-3000-3-py3 driver: - image: netmanagers/salt-2017.7-py2:centos-6 - run_command: /sbin/init - - name: amazonlinux-1-2017-7-py2 + image: netmanagers/salt-3000.3-py3:ubuntu-18.04 + - name: centos-8-3000-3-py3 driver: - image: netmanagers/salt-2017.7-py2:amazonlinux-1 - run_command: /sbin/init - - name: arch-base-latest-2017-7-py2 + image: netmanagers/salt-3000.3-py3:centos-8 + - name: centos-7-3000-3-py3 driver: - image: netmanagers/salt-2017.7-py2:arch-base-latest + image: netmanagers/salt-3000.3-py3:centos-7 + - name: fedora-31-3000-3-py3 + driver: + image: netmanagers/salt-3000.3-py3:fedora-31 + - name: opensuse-leap-152-3000-3-py3 + driver: + image: netmanagers/salt-3000.3-py3:opensuse-leap-15.2 run_command: /usr/lib/systemd/systemd - - ## SALT `2018.3` - - name: debian-9-2018-3-py2 + # Workaround to avoid intermittent failures on `opensuse-leap-15.2`: + # => SCP did not finish successfully (255): (Net::SCP::Error) + transport: + max_ssh_sessions: 1 + - name: opensuse-leap-151-3000-3-py3 driver: - image: netmanagers/salt-2018.3-py2:debian-9 - - name: ubuntu-1604-2018-3-py2 - driver: - image: netmanagers/salt-2018.3-py2:ubuntu-16.04 - - name: centos-7-2018-3-py2 - driver: - image: netmanagers/salt-2018.3-py2:centos-7 - - name: amazonlinux-1-2018-3-py2 - driver: - image: netmanagers/salt-2018.3-py2:amazonlinux-1 - run_command: /sbin/init - - name: arch-base-latest-2018-3-py2 - driver: - image: netmanagers/salt-2018.3-py2:arch-base-latest + image: netmanagers/salt-3000.3-py3:opensuse-leap-15.1 run_command: /usr/lib/systemd/systemd + # Workaround to avoid intermittent failures on `opensuse-leap-15.1`: + # => SCP did not finish successfully (255): (Net::SCP::Error) + transport: + max_ssh_sessions: 1 + - name: amazonlinux-2-3000-3-py3 + driver: + image: netmanagers/salt-3000.3-py3:amazonlinux-2 + - name: ubuntu-1804-3000-3-py2 + driver: + image: netmanagers/salt-3000.3-py2:ubuntu-18.04 + - name: ubuntu-1604-3000-3-py2 + driver: + image: netmanagers/salt-3000.3-py2:ubuntu-16.04 ## SALT `2019.2` - - name: ubuntu-1804-2019-2-py2 - driver: - image: netmanagers/salt-2019.2-py2:ubuntu-18.04 - - name: centos-7-2019-2-py2 - driver: - image: netmanagers/salt-2019.2-py2:centos-7 - - name: amazonlinux-2-2019-2-py3 - driver: - image: netmanagers/salt-2019.2-py3:amazonlinux-2 - - name: arch-base-latest-2019-2-py2 - driver: - image: netmanagers/salt-2019.2-py2:arch-base-latest - run_command: /usr/lib/systemd/systemd - name: debian-10-2019-2-py3 driver: image: netmanagers/salt-2019.2-py3:debian-10 @@ -73,20 +66,26 @@ platforms: - name: ubuntu-1804-2019-2-py3 driver: image: netmanagers/salt-2019.2-py3:ubuntu-18.04 + - name: ubuntu-1604-2019-2-py3 + driver: + image: netmanagers/salt-2019.2-py3:ubuntu-16.04 - name: centos-8-2019-2-py3 driver: image: netmanagers/salt-2019.2-py3:centos-8 - - name: fedora-31-2019-2-py3 + - name: centos-7-2019-2-py3 driver: - image: netmanagers/salt-2019.2-py3:fedora-31 - - name: opensuse-leap-151-2019-2-py3 + image: netmanagers/salt-2019.2-py3:centos-7 + - name: amazonlinux-2-2019-2-py3 driver: - image: netmanagers/salt-2019.2-py3:opensuse-leap-15.1 - run_command: /usr/lib/systemd/systemd - # Workaround to avoid intermittent failures on `opensuse-leap-15.1`: - # => SCP did not finish successfully (255): (Net::SCP::Error) - transport: - max_ssh_sessions: 1 + image: netmanagers/salt-2019.2-py3:amazonlinux-2 + - name: centos-6-2019-2-py2 + driver: + image: netmanagers/salt-2019.2-py2:centos-6 + run_command: /sbin/init + - name: amazonlinux-1-2019-2-py2 + driver: + image: netmanagers/salt-2019.2-py2:amazonlinux-1 + run_command: /sbin/init provisioner: name: salt_solo @@ -107,13 +106,67 @@ verifier: - cli suites: + - name: v3000-py3 + includes: + - debian-10-3000-3-py3 + - debian-9-3000-3-py3 + - ubuntu-1804-3000-3-py3 + - centos-8-3000-3-py3 + - centos-7-3000-3-py3 + - fedora-31-3000-3-py3 + - opensuse-leap-152-3000-3-py3 + - opensuse-leap-151-3000-3-py3 + - amazonlinux-2-3000-3-py3 + provisioner: + state_top: + base: + '*': + - salt.pkgrepo + - salt.master + - 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 + - name: v3000-py2 + includes: + - ubuntu-1804-3000-3-py2 + - ubuntu-1604-3000-3-py2 + provisioner: + state_top: + base: + '*': + - salt.pkgrepo + - salt.master + - salt.minion + pillars: + top.sls: + base: + '*': + - salt + - v3000-py2 + pillars_from_files: + salt.sls: test/salt/pillar/salt.sls + v3000-py2.sls: test/salt/pillar/v3000-py2.sls + verifier: + inspec_tests: + - path: test/integration/v3000-py2 - name: v201902-py3 includes: - debian-10-2019-2-py3 - debian-9-2019-2-py3 - ubuntu-1804-2019-2-py3 + - ubuntu-1604-2019-2-py3 - centos-8-2019-2-py3 - - opensuse-leap-151-2019-2-py3 + - centos-7-2019-2-py3 - amazonlinux-2-2019-2-py3 provisioner: state_top: @@ -136,9 +189,8 @@ suites: - path: test/integration/v201902-py3 - name: v201902-py2 includes: - - ubuntu-1804-2019-2-py2 - - centos-7-2019-2-py2 - - arch-base-latest-2019-2-py2 + - centos-6-2019-2-py2 + - amazonlinux-1-2019-2-py2 provisioner: state_top: base: @@ -158,55 +210,3 @@ suites: verifier: inspec_tests: - path: test/integration/v201902-py2 - - name: v201803-py2 - includes: - - debian-9-2018-3-py2 - - ubuntu-1604-2018-3-py2 - - centos-7-2018-3-py2 - - amazonlinux-1-2018-3-py2 - - arch-base-latest-2018-3-py2 - provisioner: - state_top: - base: - '*': - - salt.pkgrepo - - salt.master - - salt.minion - pillars: - top.sls: - base: - '*': - - salt - - v201803-py2 - pillars_from_files: - salt.sls: test/salt/pillar/salt.sls - v201803-py2.sls: test/salt/pillar/v201803-py2.sls - verifier: - inspec_tests: - - path: test/integration/v201803-py2 - - name: v201707-py2 - includes: - - debian-8-2017-7-py2 - - ubuntu-1604-2017-7-py2 - - centos-6-2017-7-py2 - - amazonlinux-1-2017-7-py2 - - arch-base-latest-2017-7-py2 - provisioner: - state_top: - base: - '*': - - salt.pkgrepo - - salt.master - - salt.minion - pillars: - top.sls: - base: - '*': - - salt - - v201707-py2 - pillars_from_files: - salt.sls: test/salt/pillar/salt.sls - v201707-py2.sls: test/salt/pillar/v201707-py2.sls - verifier: - inspec_tests: - - path: test/integration/v201707-py2 diff --git a/pillar.example b/pillar.example index 550cff5..91d5d8a 100644 --- a/pillar.example +++ b/pillar.example @@ -24,6 +24,10 @@ salt: # Optional: set salt version (if install_packages is set to true) version: 2017.7.2-1.el7 + # Pin version provided under 'version' key by using apt-pinning + # available only on Debian family OS-es + pin_version: false + # to overwrite map.jinja salt packages lookup: salt_master: 'salt-master' @@ -80,6 +84,7 @@ salt: # salt master config master_config_use_TOFS: true master: + standalone: false fileserver_backend: - git - s3fs @@ -163,6 +168,9 @@ salt: minion_config_use_TOFS: true minion: + # standalone setup + master_type: false # see init.sls & standalone.sls + # single master setup master: salt @@ -268,6 +276,13 @@ salt: - test.ping - saltutil.find_job + # init.sls skips salt.api and salt.syndic states + # unless those dicts are populated with something + api: + somekey: somevalue + syndic: + somekey: somevalue + # salt cloud config cloud: master: salt diff --git a/salt/api.sls b/salt/api.sls index 2cf9271..da2b84c 100644 --- a/salt/api.sls +++ b/salt/api.sls @@ -11,8 +11,9 @@ salt-api: - version: {{ salt_settings.version }} {%- endif %} {% endif %} - service.running: - - enable: True +{% if salt_settings.api_service_details.state != 'ignore' %} + service.{{ salt_settings.api_service_details.state }}: + - enable: {{ salt_settings.api_service_details.enabled }} - name: {{ salt_settings.api_service }} - require: - service: {{ salt_settings.master_service }} @@ -21,3 +22,4 @@ salt-api: - pkg: salt-api {% endif %} - file: salt-master +{% endif %} diff --git a/salt/defaults.yaml b/salt/defaults.yaml index 85f53d7..3e743e4 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -3,6 +3,7 @@ --- salt: version: '' + pin_version: false py_ver: '' ## py2 is default rootuser: root rootgroup: root @@ -19,8 +20,23 @@ salt: master_config_use_TOFS: false minion_service: salt-minion + minion_service_details: + # special name 'ignore' will not output anything about the service + state: running + enabled: true + master_service: salt-master + master_service_details: + # special name 'ignore' will not output anything about the service + state: running + enabled: true + api_service: salt-api + api_service_details: + # special name 'ignore' will not output anything about the service + state: running + enabled: true + syndic_service: salt-syndic salt_master: salt-master @@ -32,11 +48,16 @@ salt: salt_api: salt-api salt_ssh: salt-ssh + pkgrepo: '' # see osfamilymap + ssh_roster: {} # see pillar data + python_git: python-git python_dulwich: python-dulwich master: gitfs_provider: gitpython + minion: + master_type: true # see init.sls & standalone.sls gitfs: dulwich: @@ -64,6 +85,7 @@ salt: maps: salt://salt/files/cloud.maps.d salt_formulas: + list: {} # via pillar data checkout_orig_branch: false git_opts: default: diff --git a/salt/formulas.sls b/salt/formulas.sls index 9427a3a..7731d14 100644 --- a/salt/formulas.sls +++ b/salt/formulas.sls @@ -34,7 +34,7 @@ {%- do processed_basedirs.append(basedir) %} {{ basedir }}: file.directory: - - parallel: {{ salt.pkg.version_cmp(grains['saltversion'], '2017.7.0') >= 0 }} + - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }} {%- for key, value in salt['pillar.get']('salt_formulas:basedir_opts', {'makedirs': True}).items() %} - {{ key }}: {{ value }} @@ -54,7 +54,7 @@ {{ gitdir_env }}: git.latest: - name: {{ baseurl }}/{{ f_name }}.git - - parallel: {{ salt.pkg.version_cmp(grains['saltversion'], '2017.7.0') >= 0 }} + - parallel: {{ grains['saltversioninfo'] >= [2017, 7, 0] }} - target: {{ gitdir }} {%- for key, value in options.items() %} - {{ key }}: {{ value }} diff --git a/salt/init.sls b/salt/init.sls new file mode 100755 index 0000000..e0eecb1 --- /dev/null +++ b/salt/init.sls @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +include: + - salt.pkgrepo + {%- if salt.config.get('salt_formulas:list') %} + - salt.formulas + {%- endif %} + {%- if salt.config.get('salt:master')|length > 1 %} + - salt.master + {%- endif %} + {%- if salt.config.get('salt:cloud')|length > 1 %} + - salt.cloud + {%- endif %} + {%- if salt.config.get('salt:ssh_roster') %} + - salt.ssh + {%- endif %} + {%- if salt.config.get('salt:minion')|length > 1 %} + {%- if salt.config.get('salt:minion:master_type') %} + - salt.minion + {%- else %} + - salt.standalone + {%- endif %} + {%- endif %} + {%- if salt.config.get('salt:api') %} + - salt.api + {%- endif %} + {%- if salt.config.get('salt:syndic') %} + - salt.syndic + {%- endif %} diff --git a/salt/master.sls b/salt/master.sls index 161ca42..a80fa75 100644 --- a/salt/master.sls +++ b/salt/master.sls @@ -2,7 +2,7 @@ {%- from tplroot ~ "/map.jinja" import salt_settings with context %} {%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} - {%- if grains.os == 'MacOS' %} +{%- if grains.os == 'MacOS' %} salt-master-macos: file.managed: - name: /Library/LaunchDaemons/com.saltstack.salt.master.plist @@ -21,7 +21,12 @@ salt-master-macos: - file: salt-master-macos - require_in: - service: salt-master - {%- endif %} +{%- endif %} + +{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %} +include: + - .pin +{% endif %} salt-master: {% if salt_settings.install_packages %} @@ -30,10 +35,12 @@ salt-master: {%- if salt_settings.version is defined %} - version: {{ salt_settings.version }} {%- endif %} +{% if salt_settings.master_service_details.state != 'ignore' %} - require_in: - service: salt-master - watch_in: - service: salt-master +{% endif %} {% endif %} file.recurse: - name: {{ salt_settings.config_path }}/master.d @@ -49,13 +56,14 @@ salt-master: {%- endif %} - clean: {{ salt_settings.clean_config_d_dir }} - exclude_pat: _* - service.running: - - enable: True +{% if salt_settings.master_service_details.state != 'ignore' %} + service.{{ salt_settings.master_service_details.state }}: + - enable: {{ salt_settings.master_service_details.enabled }} - name: {{ salt_settings.master_service }} - watch: - file: salt-master - file: remove-old-master-conf-file - +{% endif %} {% if salt_settings.master_remove_config %} remove-default-master-conf-file: file.absent: diff --git a/salt/minion.sls b/salt/minion.sls index 25ff63a..871e788 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -2,8 +2,14 @@ {%- from tplroot ~ "/map.jinja" import salt_settings with context %} {%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} - {%- if grains.os == 'MacOS' %} - {% if salt_settings.install_packages %} +{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %} +include: + - .pin +{% endif %} + +{%- if grains.os == 'MacOS' %} + {% if salt_settings.install_packages %} + download-salt-minion: {% if salt_settings.salt_minion_pkg_source %} {# only IF we know source and version to check the current install (if installed) against #} @@ -68,8 +74,10 @@ salt-minion: - force: True - unless: - test -n "{{ salt_settings.version }}" && '/opt/salt/bin/salt-minion --version=.*{{ salt_settings.version }}.*' +{% if salt_settings.minion_service_details.state != 'ignore' %} - require_in: - service: salt-minion +{% endif %} - onchanges_in: - cmd: remove-macpackage-salt {%- elif grains.os != 'MacOS' and "workaround https://github.com/saltstack/salt/issues/49348" %} @@ -78,8 +86,10 @@ salt-minion: {%- if salt_settings.version %} - version: {{ salt_settings.version }} {%- endif %} +{% if salt_settings.minion_service_details.state != 'ignore' %} - require_in: - service: salt-minion +{% endif %} {%- endif %} {% endif %} file.recurse: @@ -98,11 +108,13 @@ salt-minion: {%- endif %} - clean: {{ salt_settings.clean_config_d_dir }} - exclude_pat: _* - service.running: - - enable: True +{% if salt_settings.minion_service_details.state != 'ignore' %} + service.{{ salt_settings.minion_service_details.state }}: + - enable: {{ salt_settings.minion_service_details.enabled }} - name: {{ salt_settings.minion_service }} - require: - file: salt-minion +{% endif %} {%- if not salt_settings.restart_via_at %} cmd.run: {%- if grains['saltversioninfo'] >= [ 2016, 3 ] %} diff --git a/salt/osfamilymap.yaml b/salt/osfamilymap.yaml index 88d0638..8fcba19 100644 --- a/salt/osfamilymap.yaml +++ b/salt/osfamilymap.yaml @@ -4,11 +4,7 @@ {%- 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 #} -{%- if [grains.os_family, osrelease] == ['Suse', '15.1'] %} -{%- set osrelease = '15.0' %} -{%- endif %} +{%- set osrelease = salt['grains.get']('osrelease', '') %} {%- set salt_release = salt['pillar.get']('salt:release', 'latest') %} {%- if salt_release.split('.')|length >= 3 %} {%- set salt_release = 'archive/' ~ salt_release %} @@ -16,6 +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 '' %} #from template-formula {%- if grains.os == 'MacOS' %} @@ -58,8 +55,8 @@ RedHat: Suse: pkgrepo_humanname: 'Salt releases for SLE-based SUSE products (openSUSE_Leap_{{ osrelease }})' - pkgrepo: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/' - key_url: 'http://repo.saltstack.com/opensuse/openSUSE_Leap_{{ osrelease }}/repodata/repomd.xml.key' + 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' pygit2: python-pygit2 pyinotify: python-pyinotify gitfs: diff --git a/salt/pin.sls b/salt/pin.sls new file mode 100644 index 0000000..abd824a --- /dev/null +++ b/salt/pin.sls @@ -0,0 +1,22 @@ +{%- set tplroot = tpldir.split('/')[0] %} +{%- from tplroot ~ "/map.jinja" import salt_settings with context %} + +{% if salt_settings.pin_version and salt_settings.version and grains.os_family|lower == 'debian' %} +salt-pin-version: + file.managed: + - name: /etc/apt/preferences.d/salt + - contents: | + # This file managed by Salt, do not edit by hand!! + Package: salt* + Pin: version {{ salt_settings.version }} + Pin-Priority: 1000 + # Order: 2 because we can't put a require_in on "pkg: salt-{master,minion}" + # because we don't know if they are used, and 'order: 1' already occupied by salt-pkgrepo + - order: 2 + +{% elif grains.os_family|lower != 'debian' %} +salt-pin-version: + test.show_notification: + - name: Available on Debian family OS-es only + - text: Apt pinning available only on Debian based distributives +{% endif %} diff --git a/salt/pkgrepo/init.sls b/salt/pkgrepo/init.sls index b2c794c..9212737 100644 --- a/salt/pkgrepo/init.sls +++ b/salt/pkgrepo/init.sls @@ -1,2 +1,10 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls +{% from "salt/map.jinja" import salt_settings with context %} + + {%- if salt_settings.pkgrepo %} + include: - .{{ grains['os_family']|lower }} + + {%- endif %} diff --git a/salt/standalone.sls b/salt/standalone.sls index dd38a5a..8829d2c 100644 --- a/salt/standalone.sls +++ b/salt/standalone.sls @@ -1,14 +1,14 @@ {%- set tplroot = tpldir.split('/')[0] %} {% from "salt/map.jinja" import salt_settings with context %} -salt-minion: -{% if salt_settings.install_packages %} +salt-minion-standalone: + {% if salt_settings.install_packages %} pkg.installed: - name: {{ salt_settings.salt_minion }} - {%- if salt_settings.version is defined %} + {%- if salt_settings.version is defined %} - version: {{ salt_settings.version }} - {%- endif %} -{% endif %} + {%- endif %} + {% endif %} file.recurse: - name: {{ salt_settings.config_path }}/minion.d - template: jinja @@ -17,19 +17,19 @@ salt-minion: - exclude_pat: _* - context: standalone: True -{%- if salt_settings.minion.master_type is defined and salt_settings.minion.master_type == 'disable' %} + {%- if not salt_settings.minion.master_type %} service.running: - enable: True -{%- else %} + {%- else %} service.dead: - enable: False -{%- endif %} + {%- endif %} - name: {{ salt_settings.minion_service }} - require: -{% if salt_settings.install_packages %} - - pkg: salt-minion -{% endif %} - - file: salt-minion + {% if salt_settings.install_packages %} + - pkg: salt-minion-standalone + {% endif %} + - file: salt-minion-standalone # clean up old _defaults.conf file if they have it around remove-old-standalone-conf-file: diff --git a/test/integration/v201707-py2/controls/pkgs_spec.rb b/test/integration/v201707-py2/controls/pkgs_spec.rb deleted file mode 100644 index 2d09b69..0000000 --- a/test/integration/v201707-py2/controls/pkgs_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -version = - case platform[:family] - when 'redhat' - case platform[:name] - when 'amazon' - '2017.7.8-1.el7' - when 'centos' - '2017.7.8-1.el6' - end - when 'debian' - '2017.7.8+ds-1' - end - -control 'salt packages' do - title 'should be installed' - - %w[ - salt-master - salt-minion - ].each do |p| - describe package(p) do - it { should be_installed } - its('version') { should eq version } - end - end -end diff --git a/test/integration/v201902-py2/controls/pkgs_spec.rb b/test/integration/v201902-py2/controls/pkgs_spec.rb index 4c83c47..0ce81c0 100644 --- a/test/integration/v201902-py2/controls/pkgs_spec.rb +++ b/test/integration/v201902-py2/controls/pkgs_spec.rb @@ -1,11 +1,23 @@ # frozen_string_literal: true +# Prepare platform "finger" +platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" + version = case platform[:family] - when 'redhat' - '2019.2.3-1.el7' when 'debian' - '2019.2.3+ds-1' + '2019.2.5+ds-1' + when 'redhat' + case platform_finger + when 'centos-7' + '2019.2.5-1.el7' + when 'centos-6' + '2019.2.5-1.el6' + when 'amazon-2' + '2019.2.5-1.amzn2' + when 'amazon-2018' + '2019.2.5-1.amzn1' + end end control 'salt packages' do diff --git a/test/integration/v201902-py2/controls/service_spec.rb b/test/integration/v201902-py2/controls/service_spec.rb index 27f8ae5..9d99883 100644 --- a/test/integration/v201902-py2/controls/service_spec.rb +++ b/test/integration/v201902-py2/controls/service_spec.rb @@ -8,6 +8,7 @@ control 'salt services' do salt-minion ].each do |p| describe service(p) do + it { should be_installed } it { should be_enabled } it { should be_running } end diff --git a/test/integration/v201902-py3/controls/pkgs_spec.rb b/test/integration/v201902-py3/controls/pkgs_spec.rb index a4fb073..f864ca9 100644 --- a/test/integration/v201902-py3/controls/pkgs_spec.rb +++ b/test/integration/v201902-py3/controls/pkgs_spec.rb @@ -1,18 +1,25 @@ # frozen_string_literal: true +# Prepare platform "finger" +platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" + version = case platform[:family] + when 'debian' + '2019.2.5+ds-1' when 'redhat' - case platform[:name] - when 'amazon' - '2019.2.3-1.amzn2' - when 'centos' - '2019.2.3-1.el8' + case platform_finger + when 'centos-8' + '2019.2.5-1.el8' + when 'centos-7' + '2019.2.5-1.el7' + when 'amazon-2' + '2019.2.5-1.amzn2' end when 'suse' '2019.2.0-lp151.5.9.1' when 'debian' - '2019.2.3+ds-1' + '2019.2.3+ds-1 end control 'salt packages' do @@ -27,4 +34,4 @@ control 'salt packages' do its('version') { should eq version } end end -end +end \ No newline at end of file diff --git a/test/integration/v201902-py3/controls/service_spec.rb b/test/integration/v201902-py3/controls/service_spec.rb index 27f8ae5..9d99883 100644 --- a/test/integration/v201902-py3/controls/service_spec.rb +++ b/test/integration/v201902-py3/controls/service_spec.rb @@ -8,6 +8,7 @@ control 'salt services' do salt-minion ].each do |p| describe service(p) do + it { should be_installed } it { should be_enabled } it { should be_running } end diff --git a/test/integration/v201707-py2/README.md b/test/integration/v3000-py2/README.md similarity index 73% rename from test/integration/v201707-py2/README.md rename to test/integration/v3000-py2/README.md index ab6b7bb..85dda6c 100644 --- a/test/integration/v201707-py2/README.md +++ b/test/integration/v3000-py2/README.md @@ -1,16 +1,16 @@ -# InSpec Profile: `v201707-py2` +# InSpec Profile: `v3000-py2` -This shows the implementation of the `v201707-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). +This shows the implementation of the `v3000-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). ## Verify a profile InSpec ships with built-in features to verify a profile structure. ```bash -$ inspec check v201707-py2 +$ inspec check v3000-py2 Summary ------- -Location: v201707-py2 +Location: v3000-py2 Profile: profile Controls: 4 Timestamp: 2019-06-24T23:09:01+00:00 @@ -28,7 +28,7 @@ Warnings To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. ```bash -$ inspec exec v201707-py2 +$ inspec exec v3000-py2 .. Finished in 0.0025 seconds (files took 0.12449 seconds to load) @@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load) To run one control from the profile use `inspec exec /path/to/profile --controls name`. ```bash -$ inspec exec v201707-py2 --controls package +$ inspec exec v3000-py2 --controls package . Finished in 0.0025 seconds (files took 0.12449 seconds to load) diff --git a/test/integration/v201803-py2/controls/pkgs_spec.rb b/test/integration/v3000-py2/controls/pkgs_spec.rb similarity index 84% rename from test/integration/v201803-py2/controls/pkgs_spec.rb rename to test/integration/v3000-py2/controls/pkgs_spec.rb index 72f3d74..d1f2d8c 100644 --- a/test/integration/v201803-py2/controls/pkgs_spec.rb +++ b/test/integration/v3000-py2/controls/pkgs_spec.rb @@ -2,10 +2,8 @@ version = case platform[:family] - when 'redhat' - '2018.3.5-1.el7' when 'debian' - '2018.3.5+ds-1' + '3000.3+ds-1' end control 'salt packages' do diff --git a/test/integration/v201707-py2/controls/service_spec.rb b/test/integration/v3000-py2/controls/service_spec.rb similarity index 88% rename from test/integration/v201707-py2/controls/service_spec.rb rename to test/integration/v3000-py2/controls/service_spec.rb index 27f8ae5..9d99883 100644 --- a/test/integration/v201707-py2/controls/service_spec.rb +++ b/test/integration/v3000-py2/controls/service_spec.rb @@ -8,6 +8,7 @@ control 'salt services' do salt-minion ].each do |p| describe service(p) do + it { should be_installed } it { should be_enabled } it { should be_running } end diff --git a/test/integration/v201803-py2/inspec.yml b/test/integration/v3000-py2/inspec.yml similarity index 81% rename from test/integration/v201803-py2/inspec.yml rename to test/integration/v3000-py2/inspec.yml index 253f5fa..a70fde0 100644 --- a/test/integration/v201803-py2/inspec.yml +++ b/test/integration/v3000-py2/inspec.yml @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- # vim: ft=yaml --- -name: v201803-py2 +name: v3000-py2 title: salt formula maintainer: SaltStack Formulas license: Apache-2.0 -summary: Verify that Salt `v201803-py2` is setup and configured +summary: Verify that Salt `v3000-py2` is setup and configured supports: - platform-name: debian - platform-name: ubuntu diff --git a/test/integration/v201803-py2/README.md b/test/integration/v3000-py3/README.md similarity index 73% rename from test/integration/v201803-py2/README.md rename to test/integration/v3000-py3/README.md index 8311cae..f638bb3 100644 --- a/test/integration/v201803-py2/README.md +++ b/test/integration/v3000-py3/README.md @@ -1,16 +1,16 @@ -# InSpec Profile: `v201803-py2` +# InSpec Profile: `v3000-py3` -This shows the implementation of the `v201803-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). +This shows the implementation of the `v3000-py3` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). ## Verify a profile InSpec ships with built-in features to verify a profile structure. ```bash -$ inspec check v201803-py2 +$ inspec check v3000-py3 Summary ------- -Location: v201803-py2 +Location: v3000-py3 Profile: profile Controls: 4 Timestamp: 2019-06-24T23:09:01+00:00 @@ -28,7 +28,7 @@ Warnings To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. ```bash -$ inspec exec v201803-py2 +$ inspec exec v3000-py3 .. Finished in 0.0025 seconds (files took 0.12449 seconds to load) @@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load) To run one control from the profile use `inspec exec /path/to/profile --controls name`. ```bash -$ inspec exec v201803-py2 --controls package +$ inspec exec v3000-py3 --controls package . Finished in 0.0025 seconds (files took 0.12449 seconds to load) diff --git a/test/integration/v3000-py3/controls/pkgs_spec.rb b/test/integration/v3000-py3/controls/pkgs_spec.rb new file mode 100644 index 0000000..ef30eaa --- /dev/null +++ b/test/integration/v3000-py3/controls/pkgs_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +# Prepare platform "finger" +platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" + +version = + case platform[:family] + when 'debian' + '3000.3+ds-1' + when 'redhat' + case platform_finger + when 'centos-8' + '3000.3-1.el8' + when 'centos-7' + '3000.3-1.el7' + when 'amazon-2' + '3000.3-1.amzn2' + end + when 'fedora' + '3000.3-1.fc31' + when 'suse' + # Issue in the upstream repo, should be `3000.3` + case platform[:release] + when /^15.2/ + '3000.2-lp152.7.1' + when /^15.1/ + '3000.2-lp151.2.1' + end + end + +control 'salt packages' do + title 'should be installed' + + %w[ + salt-master + salt-minion + ].each do |p| + describe package(p) do + it { should be_installed } + its('version') { should eq version } + end + end +end diff --git a/test/integration/v201803-py2/controls/service_spec.rb b/test/integration/v3000-py3/controls/service_spec.rb similarity index 88% rename from test/integration/v201803-py2/controls/service_spec.rb rename to test/integration/v3000-py3/controls/service_spec.rb index 27f8ae5..9d99883 100644 --- a/test/integration/v201803-py2/controls/service_spec.rb +++ b/test/integration/v3000-py3/controls/service_spec.rb @@ -8,6 +8,7 @@ control 'salt services' do salt-minion ].each do |p| describe service(p) do + it { should be_installed } it { should be_enabled } it { should be_running } end diff --git a/test/integration/v201707-py2/inspec.yml b/test/integration/v3000-py3/inspec.yml similarity index 81% rename from test/integration/v201707-py2/inspec.yml rename to test/integration/v3000-py3/inspec.yml index f196e73..883400b 100644 --- a/test/integration/v201707-py2/inspec.yml +++ b/test/integration/v3000-py3/inspec.yml @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- # vim: ft=yaml --- -name: v201707-py2 +name: v3000-py3 title: salt formula maintainer: SaltStack Formulas license: Apache-2.0 -summary: Verify that Salt `v201707-py2` is setup and configured +summary: Verify that Salt `v3000-py3` is setup and configured supports: - platform-name: debian - platform-name: ubuntu diff --git a/test/salt/pillar/v201707-py2.sls b/test/salt/pillar/v3000-py2.sls similarity index 71% rename from test/salt/pillar/v201707-py2.sls rename to test/salt/pillar/v3000-py2.sls index 341c0bf..7d4f917 100644 --- a/test/salt/pillar/v201707-py2.sls +++ b/test/salt/pillar/v3000-py2.sls @@ -2,4 +2,4 @@ # vim: ft=yaml --- salt: - release: '2017.7' + release: '3000' diff --git a/test/salt/pillar/v201803-py2.sls b/test/salt/pillar/v3000-py3.sls similarity index 59% rename from test/salt/pillar/v201803-py2.sls rename to test/salt/pillar/v3000-py3.sls index 523ab88..97daba2 100644 --- a/test/salt/pillar/v201803-py2.sls +++ b/test/salt/pillar/v3000-py3.sls @@ -2,4 +2,5 @@ # vim: ft=yaml --- salt: - release: '2018.3' + release: '3000' + py_ver: 'py3'