Skip to content

Commit 36f8430

Browse files
author
Nicole Thomas
authored
Merge pull request #1275 from rallytime/merge-stable
[stable] Merge develop into stable for new release
2 parents 466d62f + bbd3244 commit 36f8430

6 files changed

Lines changed: 623 additions & 276 deletions

File tree

AUTHORS.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Adam Wright hipikat adam@hipikat.org
1212
Alec Koumjian akoumjian akoumjian@gmail.com
1313
Alex Van't Hof alexvh
1414
Alexander Krasnukhin themalkolm the.malkolm@gmail.com
15+
Alexandru Avadanii alexandruavadanii Alexandru.Avadanii@enea.com
1516
Alexey dmitrievav
1617
Ali Rizvi-Santiago arizvisa
1718
amendlik amendlik
@@ -69,6 +70,7 @@ Guillaume Derval GuillaumeDerval guillaume@guillaumederval.be
6970
gweis gweis
7071
Henrik Holmboe holmboe
7172
Howard Mei HowardMei howardleomei@gmail.com
73+
Jan Heidbrink jheidbrink
7274
James Booth absolutejam vvalentine1337@gmail.com
7375
Jared E Stroud jaredestroud jaredestroud@gmail.com
7476
Jasper Lievisse Adriaanse jasperla jasper@humppa.nl
@@ -80,6 +82,7 @@ Justin Anderson justinta justin.ta@outlook.com
8082
Justin Findlay jfindlay jfindlay@gmail.com
8183
Karl Grzeszczak karlgrz
8284
Kenneth Wilke KennethWilke
85+
Ky-Anh Huynh icy
8386
lomeroe lomeroe
8487
Liu Xiaohui oreh herolxh@gmail.com
8588
Lorenzo Perone lopezio lorenzo.perone@yellowspace.net
@@ -96,11 +99,13 @@ Matthew Mead-Briggs mattmb
9699
Matthew Richardson mrichar1
97100
Matthew Willson ixela
98101
Matthieu Guegan mguegan
102+
mfapouw mfapouw
99103
Michael A. Smith kojiromike michaels@syapse.com
100104
Michael Scherer mscherer
101105
Michele Bologna mbologna michele.bologna@gmail.com
102106
Mike Carlson m87carlson mike@bayphoto.com
103107
Mike Place cachedout mp@saltstack.com
108+
N noelmcloughlin noel.maclochlainn@gmail.com
104109
nasenbaer13 nasenbaer13
105110
nevins-b nevins-b
106111
Nicole Thomas rallytime nicole@saltstack.com

ChangeLog

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
Version TBD (In Progress on the Develop Branch):
2+
3+
Version 2018.08.13:
4+
* Fedora Py3 fixes (The-Loeki) #1273
5+
* Handle commented lines in the requirements files for pip pkgs (rallytime) #1271
6+
* Remove typo: extra 'c' was accidentally added in #1269 (rallytime) #1270
7+
* [Arch] Add python2-futures to list of pkgs on git install (rallytime) #1269
8+
* Fix undefined variable warn_msg on amd64 (alexandruavadanii) #1268
9+
* SLES12SP changed packages git to git-core and libzmq3 to libzmq4 (mfapouw) #1266
10+
* Add opensuse 15 specific installation functions (rallytime) #1263
11+
* Remove support for openSUSE Leap 42.2 (rallytime) #1262
12+
* Remove support for Fedora 26 (rallytime) #1261
13+
* Remove support for Ubuntu 17.10 (rallytime) #1260
14+
* Ensure pipe is absent before mkfifo/mknod (noelmcloughlin) #1256
15+
* fix for opensuse15 if no lsb_release pkg (noelmcloughlin) #1255
16+
* Fix Up ShellCheck errors/warnings for latest version of shellcheck (rallytime) #1253
17+
* Remove daily install option on Ubuntu system (icy) #1250
18+
* Add python 3 support for Ubuntu 18 (rallytime) #1248
19+
* Return immediately if apt-get fails (icy) #1247
20+
* Disable shell error about unbound variable during daily install (icy) #1246
21+
* OpenSuse_Leap_15.0 saltstack repo support (noelmcloughlin) #1244
22+
* Add Python3 package support for Debian 9 (rallytime) #1243
23+
* Add Python3 package support for CentOS 7 (rallytime) #1242
24+
* Shellcheck fixes found when running latest version (rallytime) #1239
25+
* Add Python3 package support for Ubuntu 16.04 (rallytime) #1238
26+
* Fix the variable ref from #803 (rallytime) #1229
27+
* Add Ubuntu 18.04 support (rallytime) #1228
28+
* Call __git_clone_and_checkout directly (jheidbrink) #1226
29+
* Fix for silently ignored version argument on CentOS/RHEL (pjcreath) #1210
30+
131
Version 2018.04.25:
232
* Install py-tornado4 for FreeBSD. (abednarik) #1219
333
* Remove COPR repos configuration for Fedora (vutny ) #1211

Jenkinsfile

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import java.util.Random
2+
3+
Random rand = new Random()
4+
5+
// ONLY CHANGE THIS BIT PLEASE
6+
def baseDistros = ["debian8",
7+
"suse",
8+
"centos6",
9+
"arch",
10+
"ubuntu-14.04",
11+
"ubuntu-18.04",
12+
"windows",
13+
]
14+
def versions = ["stable", "git", "stable-old"]
15+
16+
def basePrDistros = ["ubuntu-16.04",
17+
"centos7"]
18+
19+
def prVersions = ["stable", "git"]
20+
21+
// You probably shouldn't be messing with this stuff down here
22+
23+
def distros = (baseDistros + basePrDistros).unique()
24+
25+
def notifySuccessful(String stageName) {
26+
slackSend (color: '#00FF00', message: "SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})" + "\n Stage -- " + stageName)
27+
}
28+
29+
def notifyFailed(String stageName) {
30+
slackSend (color: '#FF0000', message: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})" + "\n Stage -- " + stageName)
31+
}
32+
33+
def runKitchen(String distro) {
34+
echo "kitchen create ${distro}"
35+
echo "kitchen converge ${distro}"
36+
echo "kitchen destroy ${distro}"
37+
}
38+
39+
def distroversions = []
40+
for (d in distros) {
41+
for (v in versions) {
42+
distroversions = distroversions + ["${d}-${v}"]
43+
}
44+
}
45+
46+
def prDistros = (basePrDistros + distros[rand.nextInt(baseDistros.size())]).unique()
47+
48+
def prDistroversions = []
49+
for (d in prDistros) {
50+
for (v in prVersions) {
51+
prDistroversions = prDistroversions + ["${d}-${v}"]
52+
}
53+
}
54+
55+
def makeSetupRuns(dv) {
56+
return {
57+
node {
58+
runKitchen("${dv}")
59+
}
60+
}
61+
}
62+
63+
def setupRuns = distroversions.collectEntries {
64+
["kitchen-${it}" : makeSetupRuns("${it}")]
65+
}
66+
67+
def prSetupRuns = prDistroversions.collectEntries {
68+
["kitchen-${it}" : makeSetupRuns("${it}")]
69+
}
70+
71+
node ('bootstrap') {
72+
timestamps {
73+
ansiColor('xterm') {
74+
stage('checkout') { checkout scm }
75+
stage('shellcheck') {
76+
sh 'stack exec -- shellcheck -s sh -f checkstyle bootstrap-salt.sh | tee checkstyle.xml'
77+
checkstyle canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '**/checkstyle.xml', unHealthy: '', unstableTotalAll: '0'
78+
archiveArtifacts artifacts: '**/checkstyle.xml'
79+
}
80+
// if (env.CHANGE_ID) {
81+
// // Running for a PR only runs against 4 random distros from a shorter list
82+
// stage('kitchen-pr') {
83+
// parallel prSetupRuns
84+
// }
85+
// } else {
86+
// // If we're not running for a pr we run *everything*
87+
// stage('kitchen-all') {
88+
// parallel setupRuns
89+
// }
90+
// }
91+
}
92+
}
93+
}
94+
95+
/*
96+
* TODO:
97+
* 1. Tests for each supported distro in bootstrap + branch shellcheck test (Shellcheck should be done)
98+
* 2. Each distro needs a "stable" install (installs stable packages from our repo) and a "git" install (installs off of a git tag)
99+
* 3. Running against each branch (stable, develop)
100+
* 4. And probably a small subset against each pull request (similar to what we do in salt)
101+
*
102+
* Distros to check:
103+
* Debian 8
104+
* Suse 42.1
105+
* CentOS 7
106+
* CentOS 6
107+
* Arch
108+
* Ubuntu 16.04
109+
* Ubuntu 14.04
110+
* Windows
111+
*
112+
* Runs each against develop and stable
113+
*
114+
*/

README.rst

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file.
2828

2929
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
3030

31+
- 2018.04.25: ``e2e3397d6642ba6462174b4723f1b30d04229b75efc099a553e15ea727877dfb``
3132
- 2017.12.13: ``c127b3aa4a8422f6b81f5b4a40d31d13cec97bf3a39bca9c11a28f24910a6895``
3233
- 2017.08.17: ``909b4d35696b9867b34b22ef4b60edbc5a0e9f8d1ed8d05f922acb79a02e46e3``
3334
- 2017.05.24: ``8c42c2e5ad3d4384ddc557da5c214ba3e40c056ca1b758d14a392c1364650e89``
@@ -256,7 +257,7 @@ Red Hat family
256257
- Amazon Linux 2012.3 and later
257258
- CentOS 6/7
258259
- Cloud Linux 6/7
259-
- Fedora 26/27/28 (install latest stable from standard repositories)
260+
- Fedora 27/28 (install latest stable from standard repositories)
260261
- Oracle Linux 6/7
261262
- Red Hat Enterprise Linux 6/7
262263
- Scientific Linux 6/7
@@ -265,17 +266,26 @@ Red Hat family
265266
SUSE family
266267
~~~~~~~~~~~
267268

268-
- openSUSE Leap 42.2/42.3
269+
- openSUSE Leap 15 (see note below)
270+
- openSUSE Leap 42.3
269271
- openSUSE Tumbleweed 2015
270272
- SUSE Linux Enterprise Server 11 SP4, 12 SP2
271273

274+
**NOTE:** Leap 15 installs Python 3 Salt packages by default. Salt is packaged by SUSE, and
275+
Leap 15 ships with Python 3. Salt with Python 2 can be installed using the the ``-x`` option
276+
in combination with the ``git`` installation method.
277+
278+
.. code:: console
279+
280+
sh bootstrap-salt.sh -x python2 git v2018.3.2
281+
272282
273283
Ubuntu and derivatives
274284
~~~~~~~~~~~~~~~~~~~~~~
275285

276286
- KDE neon (based on Ubuntu 16.04)
277287
- Linux Mint 17/18
278-
- Ubuntu 14.04/16.04 and subsequent non-TLS releases (see below)
288+
- Ubuntu 14.04/16.04/18.04 and subsequent non-LTS releases (see below)
279289

280290
Ubuntu Best Effort Support: Non-LTS Releases
281291
********************************************
@@ -285,8 +295,11 @@ repositories are not provided on `SaltStack's Ubuntu repository`_ for the non-LT
285295
bootstrap script will attempt to install the packages for the most closely related LTS Ubuntu
286296
release instead.
287297

288-
For example, when installing Salt on Ubuntu 17.10, the bootstrap script will setup the repository
289-
for Ubuntu 16.04 from `SaltStack's Ubuntu repository`_ and install the 16.04 packages.
298+
For example, when installing Salt on Ubuntu 18.10, the bootstrap script will setup the repository
299+
for Ubuntu 18.04 from `SaltStack's Ubuntu repository`_ and install the 18.04 packages.
300+
301+
Non-LTS Ubuntu releases are not supported once the release reaches End-of-Life as defined by
302+
`Ubuntu's release schedule`_.
290303

291304

292305
Other Linux distributions
@@ -309,8 +322,8 @@ UNIX systems
309322

310323
- SmartOS
311324

312-
Unsupported Distro
313-
------------------
325+
Unsupported Distributions
326+
-------------------------
314327

315328
If you are running a Linux distribution that is not supported yet or is not correctly identified,
316329
please run the following commands and report their output when creating an issue:
@@ -323,6 +336,28 @@ please run the following commands and report their output when creating an issue
323336
For information on how to add support for a currently unsupported distribution, please refer to the
324337
`Contributing Guidelines`_.
325338

339+
Python 3 Support
340+
----------------
341+
342+
Some distributions support installing Salt to use Python 3 instead of Python 2. The availability of
343+
this offering, while limited, is as follows:
344+
345+
- CentOS 7
346+
- Debian 9
347+
- Fedora (only git installations)
348+
- Ubuntu 16.04
349+
- Ubuntu 18.04
350+
351+
On Fedora 28, PIP installation must be allowed (-P) due to incompatibility with the shipped Tornado library.
352+
353+
Installing the Python 3 packages for Salt is done via the ``-x`` option:
354+
355+
.. code:: console
356+
357+
sh bootstrap-salt.sh -x python3
358+
359+
See the ``-x`` option for more information.
360+
326361
Testing
327362
-------
328363

@@ -381,6 +416,7 @@ Salt components, custom configurations, and even `pre-accepted Minion keys`_ alr
381416
.. _`SaltStack's corporate repository`: https://repo.saltstack.com/
382417
.. _`SaltStack's Debian repository`: http://repo.saltstack.com/#debian
383418
.. _`SaltStack's Ubuntu repository`: http://repo.saltstack.com/#ubuntu
419+
.. _`Ubuntu's release schedule`: https://wiki.ubuntu.com/Releases
384420
.. _Vagrant: http://www.vagrantup.com
385421

386422

0 commit comments

Comments
 (0)