Merge branch 'develop' into 'stable'

Conflicts:
  - bootstrap-salt.sh
This commit is contained in:
rallytime 2017-08-17 12:02:19 -04:00
commit 6b2658f3d2
8 changed files with 875 additions and 799 deletions

3
.github/stale.yml vendored
View file

@ -1,7 +1,8 @@
# Probot Stale configuration file # Probot Stale configuration file
# Number of days of inactivity before an issue becomes stale # Number of days of inactivity before an issue becomes stale
daysUntilStale: 200 # 182 days is roughly 6 months
daysUntilStale: 182
# Number of days of inactivity before a stale issue is closed # Number of days of inactivity before a stale issue is closed
daysUntilClose: 7 daysUntilClose: 7

View file

@ -13,12 +13,14 @@ Alec Koumjian akoumjian akoumjian@gmail.com
Alex Van't Hof alexvh Alex Van't Hof alexvh
Alexander Krasnukhin themalkolm the.malkolm@gmail.com Alexander Krasnukhin themalkolm the.malkolm@gmail.com
Alexey dmitrievav Alexey dmitrievav
amendlik amendlik
Andrew Dean ndrwdn ndrwdn@gmail.com Andrew Dean ndrwdn ndrwdn@gmail.com
Andy Boff caelor github@plek.me.uk Andy Boff caelor github@plek.me.uk
Angelo Gründler plueschopath angelo.gruendler@w1r3.net Angelo Gründler plueschopath angelo.gruendler@w1r3.net
Ari Aosved devaos ari.aosved@gmail.com Ari Aosved devaos ari.aosved@gmail.com
Ashok Raja R ashokrajar ashokrajar@users.noreply.github.com Ashok Raja R ashokrajar ashokrajar@users.noreply.github.com
Beau Hargis beaucephus beau@customermobile.com Beau Hargis beaucephus beau@customermobile.com
BlaineAtAffirmOnceMore BlaineAtAffirm
Boris Feld Lothiraldan Boris Feld Lothiraldan
Brad Thurber bradthurber Brad Thurber bradthurber
Brandon Clifford brandon099 brandon.clifford@vivint.com Brandon Clifford brandon099 brandon.clifford@vivint.com
@ -55,6 +57,7 @@ fizmat fizmat
Forrest Alvarez gravyboat Forrest Alvarez gravyboat
Fred Reimer freimer freimer@freimer.org Fred Reimer freimer freimer@freimer.org
Geoff Garside geoffgarside geoff@geoffgarside.co.uk Geoff Garside geoffgarside geoff@geoffgarside.co.uk
George aflat gstock.public@gmail.com
gdm85 gdm85 gdm85 gdm85
ggillies ggillies ggillies ggillies
Giuseppe Iannello giannello giuseppe.iannello@brokenloop.net Giuseppe Iannello giannello giuseppe.iannello@brokenloop.net
@ -63,7 +66,9 @@ Guillaume Derval GuillaumeDerval guillaume@guillaumederval.be
gweis gweis gweis gweis
Henrik Holmboe holmboe Henrik Holmboe holmboe
Howard Mei HowardMei howardleomei@gmail.com Howard Mei HowardMei howardleomei@gmail.com
James Booth absolutejam vvalentine1337@gmail.com
Jared E Stroud jaredestroud jaredestroud@gmail.com Jared E Stroud jaredestroud jaredestroud@gmail.com
JD decomposite
Jeff Hui jeffh jeff@jeffhui.net Jeff Hui jeffh jeff@jeffhui.net
Jeff Strunk jstrunk Jeff Strunk jstrunk
Juan A. Moyano wincus wincus.public@gmail.com Juan A. Moyano wincus wincus.public@gmail.com
@ -117,6 +122,7 @@ Roman Mohr rmohr rmohr@redhat.com
Ronald van Zantvoort The-Loeki ronald@pcextreme.nl Ronald van Zantvoort The-Loeki ronald@pcextreme.nl
RuriRyan RuriRyan ryan@btsoft.eu RuriRyan RuriRyan ryan@btsoft.eu
Ryan Walder ryanwalder ryanwalder@ucds.email Ryan Walder ryanwalder ryanwalder@ucds.email
Sebastian Wendel sourceindex
Sergey Paramonov serge-p serg.paramonov@s-vp.com Sergey Paramonov serge-p serg.paramonov@s-vp.com
Shane Lee twangboy slee@saltstack.com Shane Lee twangboy slee@saltstack.com
Shawn Butts shawnbutts Shawn Butts shawnbutts
@ -128,6 +134,7 @@ Thomas S. Hatch thatch45 thatch45@saltstack.com
Tobias Jungel toanju Tobias.Jungel@gmail.com Tobias Jungel toanju Tobias.Jungel@gmail.com
Tony Narlock tony Tony Narlock tony
Valentin Bud valentinbud valentin@databus.pro Valentin Bud valentinbud valentin@databus.pro
Vernon Cole vernondcole vernondcole@gmail.com
Vladimir Kozhukalov kozhukalov Vladimir Kozhukalov kozhukalov
Whit Morriss whitmo whit@nocoast.us Whit Morriss whitmo whit@nocoast.us
Wolodja Wentland babilen w@babilen5.org Wolodja Wentland babilen w@babilen5.org

46
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at conduct@saltstack.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View file

@ -1,3 +1,36 @@
Version 2017.08.17:
* Add new authors (rallytime) #1130
* README: Fix typo and Table of Contents for Debian section (vutny) #1129
* Reduce the # of days an issue is stale to 6 months (rallytime) #1125
* Only install Python version if "-y" is defined (rallytime) #1124
* Allow powershell bootstrap script to specify PY2 or 3 (rallytime) #1123
* Remove the test that checks if the EPEL RPM was installed (amendlik) #1122
* added latest version string of nitrogen release 2017.7 (sourceindex) #1120
* use versions specified in base.txt when doing pip installs (aflat) #1116
* Remove pip install requirement on Fedora git installs (rallytime) #1114
* Introductory support for Debian 10 (Buster) (rallytime) #1113
* Add Debian 9 support using official repo.saltstack.com packages (rallytime) #1111
* Fix 1105 (vernondcole) #1110
* Move SUSE specific function closer to related code (vutny) #1107
* Update Authors file (rallytime) #1103
* Fix ubuntu 16.04 LTS installation (BlaineAtAffirm) #1102
* Add debian_codename_translation function, similar to Ubuntu (rallytime) #1101
* Add the CODE_OF_CONDUCT.md file (rallytime) #1100
* Update Debian and Ubuntu service file paths to be consistent with salt (rallytime) #1099
* Add hash verification information to installation instructions (rallytime) #1098
* Fix installing salt-cloud package on Arch Linux (rallytime) #1097
* Support bootstrapping on upcoming Debian GNU/Linux 9.0 (vutny) #1096
* Removes faulty explicit version ordering (absolutejam) #1095
* Remove configuring EPEL repo for Amazon Linux (vutny) #1093
* Fix -j/-J (JSON configs) options for Debian 8 (vutny) #1092
* Fix #1035: detect and log errors earlier (vutny) #1091
* Update AUTHORS file (rallytime) #1089
* Autounmask as separate step (decomposite) #1088
* Ensure presence of CONFIG_PROTECT_MASK files (decomposite) #1087
* Update Fedora support: 23 is EOL now. (rallytime) #1084
* Fix the -R option on Debian/Ubuntu (rallytime) #1082
* Declare End-Of-Life for Ubuntu 12.04 LTS (vutny) #1080
Version 2017.05.24: Version 2017.05.24:
* Use freebsd repo to query for salt dependencies (Ch3LL) #1076 * Use freebsd repo to query for salt dependencies (Ch3LL) #1076
* Allow amazon to work with python2.7 on installs over 2016.11 (Ch3LL) #1073 * Allow amazon to work with python2.7 on installs over 2016.11 (Ch3LL) #1073

View file

@ -27,14 +27,16 @@ are high that your issue was already fixed.
Bootstrap Bootstrap
========= =========
In every two-step installation example, you would be well-served to **verify against the SHA256 sum**
of the downloaded ``bootstrap-salt.sh`` file.
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
- 2017.05.24: ``8c42c2e5ad3d4384ddc557da5c214ba3e40c056ca1b758d14a392c1364650e89``
If you're looking for the *one-liner* to install Salt, please scroll to the bottom and use the If you're looking for the *one-liner* to install Salt, please scroll to the bottom and use the
instructions for `Installing via an Insecure One-Liner`_. instructions for `Installing via an Insecure One-Liner`_.
.. note::
In every two-step example, you would be well-served to examine the downloaded file and examine
it to ensure that it does what you expect.
Examples Examples
-------- --------
@ -64,7 +66,7 @@ If you want to install a specific release version (based on the Git tags):
.. code:: console .. code:: console
curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
sudo sh bootstrap-salt.sh git v2016.3.2 sudo sh bootstrap-salt.sh git v2016.11.5
To install a specific branch from a Git fork: To install a specific branch from a Git fork:
@ -104,7 +106,7 @@ Installing a specific version from git using ``wget``:
.. code:: console .. code:: console
wget -O bootstrap-salt.sh https://bootstrap.saltstack.com wget -O bootstrap-salt.sh https://bootstrap.saltstack.com
sudo sh bootstrap-salt.sh -P git v2015.8.11 sudo sh bootstrap-salt.sh -P git v2016.11.5
.. note:: .. note::
@ -226,11 +228,23 @@ Debian and derivatives
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
- Cumulus Linux 2/3 - Cumulus Linux 2/3
- Debian GNU/Linux 7/8 - Debian GNU/Linux 7/8/9
- Linux Mint Debian Edition 1 (based on Debian 8) - Linux Mint Debian Edition 1 (based on Debian 8)
- Kali Linux 1.0 (based on Debian 7) - Kali Linux 1.0 (based on Debian 7)
- Raspbian 8 (``armhf``) - Raspbian 8 (``armhf``)
Debian Best Effort Support: Testing Release
*******************************************
This script provides best-effort support for the upcoming Debian testing release. Package
repositories are not provided on `SaltStack's Debian repository`_ for Debian testing releases.
However, the bootstrap script will attempt to install the packages for the current stable
version of Debian.
For example, when installing Salt on Debian 10 (Buster), the bootstrap script will setup the
repository for Debian 9 (Stretch) from `SaltStack's Debian repository`_ and install the
Debian 9 packages.
Red Hat family Red Hat family
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
@ -238,7 +252,7 @@ Red Hat family
- Amazon Linux 2012.3 and later - Amazon Linux 2012.3 and later
- CentOS 6/7 - CentOS 6/7
- Cloud Linux 6/7 - Cloud Linux 6/7
- Fedora 23/24/25 - Fedora 24/25
- Oracle Linux 6/7 - Oracle Linux 6/7
- Red Hat Enterprise Linux 6/7 - Red Hat Enterprise Linux 6/7
- Scientific Linux 6/7 - Scientific Linux 6/7
@ -256,12 +270,9 @@ SUSE family
Ubuntu and derivatives Ubuntu and derivatives
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
- Elementary OS 0.2 (based on Ubuntu 12.04)
- KDE neon (based on Ubuntu 16.04) - KDE neon (based on Ubuntu 16.04)
- Linaro 12.04 - Linux Mint 17/18
- Linux Mint 13/17/18 - Ubuntu 14.04/16.04 and subsequent non-TLS releases (see below)
- Trisquel GNU/Linux 6 (based on Ubuntu 12.04)
- Ubuntu 12.04/14.04/16.04 and subsequent non-TLS releases (see below)
Ubuntu Best Effort Support: Non-LTS Releases Ubuntu Best Effort Support: Non-LTS Releases
******************************************** ********************************************
@ -565,6 +576,7 @@ Salt is ready and working in the Docker container with Minion authenticated on M
.. _`Salt`: https://saltstack.com/community/ .. _`Salt`: https://saltstack.com/community/
.. _`Salt's Supported Operating Systems`: http://saltstack.com/wp-content/uploads/2016/08/SaltStack-Supported-Operating-Systems.pdf .. _`Salt's Supported Operating Systems`: http://saltstack.com/wp-content/uploads/2016/08/SaltStack-Supported-Operating-Systems.pdf
.. _`SaltStack's corporate repository`: https://repo.saltstack.com/ .. _`SaltStack's corporate repository`: https://repo.saltstack.com/
.. _`SaltStack's Debian repository`: http://repo.saltstack.com/#debian
.. _`SaltStack's Ubuntu repository`: http://repo.saltstack.com/#ubuntu .. _`SaltStack's Ubuntu repository`: http://repo.saltstack.com/#ubuntu
.. _Vagrant: http://www.vagrantup.com .. _Vagrant: http://www.vagrantup.com

2
Vagrantfile vendored
View file

@ -10,7 +10,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# please see the online documentation at vagrantup.com. # please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of. # Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "ubuntu/precise64" config.vm.box = "ubuntu/xenial64"
# The url from where the 'config.vm.box' box will be fetched if it # The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system. # doesn't already exist on the user's system.

View file

@ -13,9 +13,14 @@
Runs without any parameters. Uses all the default values/settings. Runs without any parameters. Uses all the default values/settings.
.EXAMPLE .EXAMPLE
./bootstrap-salt.ps1 -version 2015.4.1-3 ./bootstrap-salt.ps1 -version 2017.7.0
Specifies a particular version of the installer. Specifies a particular version of the installer.
.EXAMPLE
./bootstrap-salt.ps1 -pythonVersion 3
Specifies the Python version of the installer. Can be "2" or "3". Defaults to "2".
Python 3 installers are only available for Salt 2017.7.0 and newer.
.EXAMPLE .EXAMPLE
./bootstrap-salt.ps1 -runservice false ./bootstrap-salt.ps1 -runservice false
Specifies the salt-minion service to stop and be set to manual. Useful for Specifies the salt-minion service to stop and be set to manual. Useful for
@ -27,12 +32,18 @@
installer values of host name for the minion id and "salt" for the master. installer values of host name for the minion id and "salt" for the master.
.EXAMPLE .EXAMPLE
./bootstrap-salt.ps1 -minion minion-box -master master-box -version 2015.5.2 -runservice false ./bootstrap-salt.ps1 -minion minion-box -master master-box -version 2017.7.0 -runservice false
Specifies all the optional parameters in no particular order. Specifies all the optional parameters in no particular order.
.PARAMETER version .PARAMETER version
Default version defined in this script. Default version defined in this script.
.PARAMETER pythonVersion
The version of Python the installer should use. Specify either "2" or "3".
Beginning with Salt 2017.7.0, Salt will run on either Python 2 or Python 3.
The default is Python 2 if not specified. This parameter only works for Salt
versions >= 2017.7.0.
.PARAMETER runservice .PARAMETER runservice
Boolean flag to start or stop the minion service. True will start the minion Boolean flag to start or stop the minion service. True will start the minion
service. False will stop the minion service and set it to "manual". The service. False will stop the minion service and set it to "manual". The
@ -69,6 +80,11 @@ Param(
[ValidatePattern('^201\d\.\d{1,2}\.\d{1,2}(\-\d{1})?|(rc\d)$')] [ValidatePattern('^201\d\.\d{1,2}\.\d{1,2}(\-\d{1})?|(rc\d)$')]
[string]$version = '', [string]$version = '',
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
# Doesn't support versions prior to "2017.7.0"
[ValidateSet("2","3")]
[string]$pythonVersion = "",
[Parameter(Mandatory=$false,ValueFromPipeline=$true)] [Parameter(Mandatory=$false,ValueFromPipeline=$true)]
[ValidateSet("true","false")] [ValidateSet("true","false")]
[string]$runservice = "true", [string]$runservice = "true",
@ -113,6 +129,7 @@ If (!(Get-IsAdministrator)) {
If($master -ne "not-specified") {$parameters = "$parameters -master $master"} If($master -ne "not-specified") {$parameters = "$parameters -master $master"}
If($runservice -eq $false) {$parameters = "$parameters -runservice false"} If($runservice -eq $false) {$parameters = "$parameters -runservice false"}
If($version -ne '') {$parameters = "$parameters -version $version"} If($version -ne '') {$parameters = "$parameters -version $version"}
If($pythonVersion -ne "") {$parameters = "$parameters -pythonVersion $pythonVersion"}
$newProcess.Arguments = $myInvocation.MyCommand.Definition, $parameters $newProcess.Arguments = $myInvocation.MyCommand.Definition, $parameters
# Specify the current working directory # Specify the current working directory
@ -211,13 +228,25 @@ If (!$version) {
$returnMatches = $returnMatches | Where {$_ -like "Salt-Minion*AMD64-Setup.exe"} $returnMatches = $returnMatches | Where {$_ -like "Salt-Minion*AMD64-Setup.exe"}
} }
$version = $(($returnMatches | Sort-Object -Descending)[0]).Split(("n-","-A","-x"),([System.StringSplitOptions]::RemoveEmptyEntries))[1] $version = $($returnMatches[$returnMatches.Count -1]).Split(("n-","-A","-x","-P"),([System.StringSplitOptions]::RemoveEmptyEntries))[1]
}
$versionSection = $version
$year = $version.Substring(0, 4)
If ([int]$year -ge 2017) {
If ($pythonVersion -eq "3") {
$versionSection = "$version-Py3"
}
Else {
$versionSection = "$version-Py2"
}
} }
#=============================================================================== #===============================================================================
# Download minion setup file # Download minion setup file
#=============================================================================== #===============================================================================
$saltExe = "Salt-Minion-$version-$arch-Setup.exe" $saltExe = "Salt-Minion-$versionSection-$arch-Setup.exe"
Write-Output "Downloading Salt minion installer $saltExe" Write-Output "Downloading Salt minion installer $saltExe"
$webclient = New-Object System.Net.WebClient $webclient = New-Object System.Net.WebClient
$url = "$repourl/$saltExe" $url = "$repourl/$saltExe"

File diff suppressed because it is too large Load diff