mirror of
https://github.com/saltstack/salt-bootstrap.git
synced 2025-04-16 09:40:21 +00:00
Merge develop for stable release
This commit is contained in:
commit
5315c72483
8 changed files with 396 additions and 333 deletions
|
@ -21,16 +21,16 @@ local stable_py3_suites = [
|
||||||
|
|
||||||
local distros = [
|
local distros = [
|
||||||
{ name: 'Arch', slug: 'arch', multiplier: 0, depends: [] },
|
{ name: 'Arch', slug: 'arch', multiplier: 0, depends: [] },
|
||||||
// { name: 'Amazon 1', slug: 'amazon-1', multiplier: 1, depends: [] },
|
// { name: 'Amazon 1', slug: 'amazon-1', multiplier: 1, depends: [] },
|
||||||
// { name: 'Amazon 2', slug: 'amazon-2', multiplier: 2, depends: [] },
|
{ name: 'Amazon 2', slug: 'amazon-2', multiplier: 2, depends: [] },
|
||||||
{ name: 'CentOS 6', slug: 'centos-6', multiplier: 3, depends: [] },
|
{ name: 'CentOS 6', slug: 'centos-6', multiplier: 3, depends: [] },
|
||||||
{ name: 'CentOS 7', slug: 'centos-7', multiplier: 4, depends: [] },
|
{ name: 'CentOS 7', slug: 'centos-7', multiplier: 4, depends: [] },
|
||||||
{ name: 'CentOS 8', slug: 'centos-8', multiplier: 4, depends: [] },
|
{ name: 'CentOS 8', slug: 'centos-8', multiplier: 5, depends: [] },
|
||||||
{ name: 'Debian 8', slug: 'debian-8', multiplier: 5, depends: [] },
|
{ name: 'Debian 8', slug: 'debian-8', multiplier: 6, depends: [] },
|
||||||
{ name: 'Debian 9', slug: 'debian-9', multiplier: 6, depends: [] },
|
{ name: 'Debian 9', slug: 'debian-9', multiplier: 5, depends: [] },
|
||||||
{ name: 'Debian 10', slug: 'debian-10', multiplier: 6, depends: [] },
|
{ name: 'Debian 10', slug: 'debian-10', multiplier: 4, depends: [] },
|
||||||
{ name: 'Fedora 30', slug: 'fedora-30', multiplier: 6, depends: [] },
|
{ name: 'Fedora 30', slug: 'fedora-30', multiplier: 3, depends: [] },
|
||||||
{ name: 'Opensuse 15.0', slug: 'opensuse-15', multiplier: 4, depends: [] },
|
{ name: 'Opensuse 15.1', slug: 'opensuse-15', multiplier: 2, depends: [] },
|
||||||
{ name: 'Ubuntu 16.04', slug: 'ubuntu-1604', multiplier: 1, depends: [] },
|
{ name: 'Ubuntu 16.04', slug: 'ubuntu-1604', multiplier: 1, depends: [] },
|
||||||
{ name: 'Ubuntu 18.04', slug: 'ubuntu-1804', multiplier: 0, depends: [] },
|
{ name: 'Ubuntu 18.04', slug: 'ubuntu-1804', multiplier: 0, depends: [] },
|
||||||
];
|
];
|
||||||
|
@ -44,12 +44,14 @@ local stable_distros = [
|
||||||
'debian-8',
|
'debian-8',
|
||||||
'debian-9',
|
'debian-9',
|
||||||
'debian-10',
|
'debian-10',
|
||||||
|
'fedora-30',
|
||||||
'ubuntu-1604',
|
'ubuntu-1604',
|
||||||
'ubuntu-1804',
|
'ubuntu-1804',
|
||||||
];
|
];
|
||||||
|
|
||||||
local py3_distros = [
|
local py3_distros = [
|
||||||
'amazon-2',
|
'amazon-2',
|
||||||
|
'arch',
|
||||||
'centos-7',
|
'centos-7',
|
||||||
'centos-8',
|
'centos-8',
|
||||||
'debian-9',
|
'debian-9',
|
||||||
|
@ -67,6 +69,7 @@ local py2_blacklist = [
|
||||||
local blacklist_2018 = [
|
local blacklist_2018 = [
|
||||||
'centos-8',
|
'centos-8',
|
||||||
'debian-10',
|
'debian-10',
|
||||||
|
'amazon-2',
|
||||||
];
|
];
|
||||||
|
|
||||||
local Shellcheck() = {
|
local Shellcheck() = {
|
||||||
|
@ -76,7 +79,7 @@ local Shellcheck() = {
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
name: 'shellcheck',
|
name: 'shellcheck',
|
||||||
image: 'koalaman/shellcheck-alpine',
|
image: 'koalaman/shellcheck-alpine:v0.6.0',
|
||||||
commands: [
|
commands: [
|
||||||
'shellcheck -s sh -f checkstyle bootstrap-salt.sh',
|
'shellcheck -s sh -f checkstyle bootstrap-salt.sh',
|
||||||
],
|
],
|
||||||
|
@ -92,17 +95,37 @@ local Build(distro) = {
|
||||||
project: 'open',
|
project: 'open',
|
||||||
},
|
},
|
||||||
|
|
||||||
local suite =
|
local temp_git_suites = if std.count(py2_blacklist, distro.slug) > 0 then
|
||||||
if std.count(py2_blacklist, distro.slug) > 0 then
|
[]
|
||||||
[]
|
else
|
||||||
else if std.count(stable_distros, distro.slug) > 0 then
|
git_suites,
|
||||||
git_suites + stable_suites
|
|
||||||
else git_suites,
|
local temp_stable_suites = if std.count(py2_blacklist, distro.slug) > 0 then
|
||||||
local suites = suite + if std.count(blacklist_2018, distro.slug) > 0 then
|
[]
|
||||||
git_py3_suites + stable_py3_suites[1:]
|
else if std.count(stable_distros, distro.slug) > 0 then
|
||||||
else if std.count(py3_distros, distro.slug) > 0 then
|
stable_suites
|
||||||
git_py3_suites + stable_py3_suites
|
else
|
||||||
else [],
|
[],
|
||||||
|
|
||||||
|
local temp_git_py3_suites = if std.count(py3_distros, distro.slug) < 1 then
|
||||||
|
[]
|
||||||
|
else if std.count(blacklist_2018, distro.slug) > 0 then
|
||||||
|
git_py3_suites[1:]
|
||||||
|
else if std.count(py3_distros, distro.slug) > 0 then
|
||||||
|
git_py3_suites
|
||||||
|
else
|
||||||
|
[],
|
||||||
|
|
||||||
|
local temp_stable_py3_suites = if std.count(stable_distros, distro.slug) < 1 then
|
||||||
|
[]
|
||||||
|
else if std.count(blacklist_2018, distro.slug) > 0 then
|
||||||
|
stable_py3_suites[1:]
|
||||||
|
else if std.count(py3_distros, distro.slug) > 0 then
|
||||||
|
stable_py3_suites
|
||||||
|
else
|
||||||
|
[],
|
||||||
|
|
||||||
|
local suites = temp_git_suites + temp_stable_suites + temp_git_py3_suites + temp_stable_py3_suites,
|
||||||
|
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
|
@ -111,7 +134,7 @@ local Build(distro) = {
|
||||||
commands: [
|
commands: [
|
||||||
std.format(
|
std.format(
|
||||||
"sh -c 't=%(offset)s; echo Sleeping %(offset)s seconds; sleep %(offset)s'",
|
"sh -c 't=%(offset)s; echo Sleeping %(offset)s seconds; sleep %(offset)s'",
|
||||||
{ offset: 5 * std.length(suites) * distro.multiplier }
|
{ offset: 6 * std.length(suites) * distro.multiplier }
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -127,7 +150,7 @@ local Build(distro) = {
|
||||||
commands: [
|
commands: [
|
||||||
'bundle install --with docker --without opennebula ec2 windows vagrant',
|
'bundle install --with docker --without opennebula ec2 windows vagrant',
|
||||||
"echo 'Waiting for docker to start'",
|
"echo 'Waiting for docker to start'",
|
||||||
'sleep 10', // give docker enough time to start
|
'sleep 20', // give docker enough time to start
|
||||||
'docker ps -a',
|
'docker ps -a',
|
||||||
std.format('bundle exec kitchen create %s', [distro.slug]),
|
std.format('bundle exec kitchen create %s', [distro.slug]),
|
||||||
],
|
],
|
||||||
|
|
238
.drone.yml
238
.drone.yml
|
@ -8,7 +8,7 @@ platform:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: shellcheck
|
- name: shellcheck
|
||||||
image: koalaman/shellcheck-alpine
|
image: koalaman/shellcheck-alpine:v0.6.0
|
||||||
commands:
|
commands:
|
||||||
- shellcheck -s sh -f checkstyle bootstrap-salt.sh
|
- shellcheck -s sh -f checkstyle bootstrap-salt.sh
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create arch
|
- bundle exec kitchen create arch
|
||||||
environment:
|
environment:
|
||||||
|
@ -65,6 +65,150 @@ steps:
|
||||||
- throttle-build
|
- throttle-build
|
||||||
- create
|
- create
|
||||||
|
|
||||||
|
- name: Py3 2018.3(Git)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py3-git-2018-3-arch
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py3 2019.2(Git)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py3-git-2019-2-arch
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
services:
|
||||||
|
- name: docker
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
command:
|
||||||
|
- --storage-driver=overlay2
|
||||||
|
privileged: true
|
||||||
|
|
||||||
|
node:
|
||||||
|
project: open
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- Lint
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: Amazon 2
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: throttle-build
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- sh -c 't=72; echo Sleeping 72 seconds; sleep 72'
|
||||||
|
|
||||||
|
- name: create
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- echo 'Waiting for docker to start'
|
||||||
|
- sleep 20
|
||||||
|
- docker ps -a
|
||||||
|
- bundle exec kitchen create amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
|
||||||
|
- name: Py2 2018.3(Git)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-git-2018-3-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py2 2019.2(Git)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-git-2019-2-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py2 2018.3(Stable)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-stable-2018-3-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py2 2019.2(Stable)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-stable-2019-2-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py3 2019.2(Git)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py3-git-2019-2-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py3 2019.2(Stable)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py3-stable-2019-2-amazon-2
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- name: docker
|
- name: docker
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
@ -90,14 +234,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=60; echo Sleeping 60 seconds; sleep 60'
|
- sh -c 't=72; echo Sleeping 72 seconds; sleep 72'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create centos-6
|
- bundle exec kitchen create centos-6
|
||||||
environment:
|
environment:
|
||||||
|
@ -182,14 +326,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=160; echo Sleeping 160 seconds; sleep 160'
|
- sh -c 't=192; echo Sleeping 192 seconds; sleep 192'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create centos-7
|
- bundle exec kitchen create centos-7
|
||||||
environment:
|
environment:
|
||||||
|
@ -333,7 +477,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create centos-8
|
- bundle exec kitchen create centos-8
|
||||||
environment:
|
environment:
|
||||||
|
@ -341,19 +485,6 @@ steps:
|
||||||
depends_on:
|
depends_on:
|
||||||
- throttle-build
|
- throttle-build
|
||||||
|
|
||||||
- name: Py3 2018.3(Git)
|
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
|
||||||
commands:
|
|
||||||
- pip install -U pip
|
|
||||||
- pip install -r tests/requirements.txt
|
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
|
||||||
- bundle exec kitchen test py3-git-2018-3-centos-8
|
|
||||||
environment:
|
|
||||||
DOCKER_HOST: tcp://docker:2375
|
|
||||||
depends_on:
|
|
||||||
- throttle-build
|
|
||||||
- create
|
|
||||||
|
|
||||||
- name: Py3 2019.2(Git)
|
- name: Py3 2019.2(Git)
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
|
@ -405,14 +536,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=100; echo Sleeping 100 seconds; sleep 100'
|
- sh -c 't=144; echo Sleeping 144 seconds; sleep 144'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create debian-8
|
- bundle exec kitchen create debian-8
|
||||||
environment:
|
environment:
|
||||||
|
@ -504,7 +635,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create debian-9
|
- bundle exec kitchen create debian-9
|
||||||
environment:
|
environment:
|
||||||
|
@ -641,14 +772,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=90; echo Sleeping 90 seconds; sleep 90'
|
- sh -c 't=48; echo Sleeping 48 seconds; sleep 48'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create debian-10
|
- bundle exec kitchen create debian-10
|
||||||
environment:
|
environment:
|
||||||
|
@ -656,19 +787,6 @@ steps:
|
||||||
depends_on:
|
depends_on:
|
||||||
- throttle-build
|
- throttle-build
|
||||||
|
|
||||||
- name: Py3 2018.3(Git)
|
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
|
||||||
commands:
|
|
||||||
- pip install -U pip
|
|
||||||
- pip install -r tests/requirements.txt
|
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
|
||||||
- bundle exec kitchen test py3-git-2018-3-debian-10
|
|
||||||
environment:
|
|
||||||
DOCKER_HOST: tcp://docker:2375
|
|
||||||
depends_on:
|
|
||||||
- throttle-build
|
|
||||||
- create
|
|
||||||
|
|
||||||
- name: Py3 2019.2(Git)
|
- name: Py3 2019.2(Git)
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
|
@ -720,14 +838,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=180; echo Sleeping 180 seconds; sleep 180'
|
- sh -c 't=144; echo Sleeping 144 seconds; sleep 144'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create fedora-30
|
- bundle exec kitchen create fedora-30
|
||||||
environment:
|
environment:
|
||||||
|
@ -761,6 +879,32 @@ steps:
|
||||||
- throttle-build
|
- throttle-build
|
||||||
- create
|
- create
|
||||||
|
|
||||||
|
- name: Py2 2018.3(Stable)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-stable-2018-3-fedora-30
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
|
- name: Py2 2019.2(Stable)
|
||||||
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
|
commands:
|
||||||
|
- pip install -U pip
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
|
- bundle exec kitchen test py2-stable-2019-2-fedora-30
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
depends_on:
|
||||||
|
- throttle-build
|
||||||
|
- create
|
||||||
|
|
||||||
- name: Py3 2018.3(Git)
|
- name: Py3 2018.3(Git)
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
|
@ -828,7 +972,7 @@ depends_on:
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: Opensuse 15.0
|
name: Opensuse 15.1
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
|
@ -838,14 +982,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=40; echo Sleeping 40 seconds; sleep 40'
|
- sh -c 't=24; echo Sleeping 24 seconds; sleep 24'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create opensuse-15
|
- bundle exec kitchen create opensuse-15
|
||||||
environment:
|
environment:
|
||||||
|
@ -904,14 +1048,14 @@ steps:
|
||||||
- name: throttle-build
|
- name: throttle-build
|
||||||
image: alpine
|
image: alpine
|
||||||
commands:
|
commands:
|
||||||
- sh -c 't=40; echo Sleeping 40 seconds; sleep 40'
|
- sh -c 't=48; echo Sleeping 48 seconds; sleep 48'
|
||||||
|
|
||||||
- name: create
|
- name: create
|
||||||
image: saltstack/drone-salt-bootstrap-testing
|
image: saltstack/drone-salt-bootstrap-testing
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create ubuntu-1604
|
- bundle exec kitchen create ubuntu-1604
|
||||||
environment:
|
environment:
|
||||||
|
@ -1055,7 +1199,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- bundle install --with docker --without opennebula ec2 windows vagrant
|
- bundle install --with docker --without opennebula ec2 windows vagrant
|
||||||
- echo 'Waiting for docker to start'
|
- echo 'Waiting for docker to start'
|
||||||
- sleep 10
|
- sleep 20
|
||||||
- docker ps -a
|
- docker ps -a
|
||||||
- bundle exec kitchen create ubuntu-1804
|
- bundle exec kitchen create ubuntu-1804
|
||||||
environment:
|
environment:
|
||||||
|
@ -1182,6 +1326,6 @@ depends_on:
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 906ceab2f0ec44b6e9c99f698feeb4874c503fd9db2a8525ed2916445069c403
|
hmac: 9c01a5f3f8d8fe0b09aad2cc73976678a432edf3c81aafdff0d17e52ce4cc7f8
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
|
@ -40,6 +40,8 @@ platforms:
|
||||||
image: amazonlinux:2
|
image: amazonlinux:2
|
||||||
platform: rhel
|
platform: rhel
|
||||||
run_command: /usr/lib/systemd/systemd
|
run_command: /usr/lib/systemd/systemd
|
||||||
|
provision_command:
|
||||||
|
- yum -y install procps-ng
|
||||||
- name: arch
|
- name: arch
|
||||||
driver_config:
|
driver_config:
|
||||||
image: archlinux/base
|
image: archlinux/base
|
||||||
|
@ -81,10 +83,11 @@ platforms:
|
||||||
run_command: /usr/lib/systemd/systemd
|
run_command: /usr/lib/systemd/systemd
|
||||||
- name: opensuse-15
|
- name: opensuse-15
|
||||||
driver_config:
|
driver_config:
|
||||||
image: opensuse/leap:15.0
|
image: opensuse/leap:15.1
|
||||||
run_command: /usr/lib/systemd/systemd
|
run_command: /usr/lib/systemd/systemd
|
||||||
provision_command:
|
provision_command:
|
||||||
- zypper --non-interactive install --auto-agree-with-licenses dbus-1
|
- zypper --non-interactive install --auto-agree-with-licenses dbus-1
|
||||||
|
- zypper --non-interactive install --auto-agree-with-licenses sudo openssh which curl
|
||||||
- systemctl enable sshd.service
|
- systemctl enable sshd.service
|
||||||
provisioner:
|
provisioner:
|
||||||
salt_bootstrap_options: -MPfq -y -x python2 git %s
|
salt_bootstrap_options: -MPfq -y -x python2 git %s
|
||||||
|
@ -128,6 +131,7 @@ suites:
|
||||||
- centos-6
|
- centos-6
|
||||||
- debian-8
|
- debian-8
|
||||||
- opensuse-15
|
- opensuse-15
|
||||||
|
- amazon-2
|
||||||
- name: py3-git-2019-2
|
- name: py3-git-2019-2
|
||||||
provisioner:
|
provisioner:
|
||||||
salt_version: 2019.2
|
salt_version: 2019.2
|
||||||
|
@ -146,6 +150,7 @@ suites:
|
||||||
- centos-6
|
- centos-6
|
||||||
- debian-8
|
- debian-8
|
||||||
- opensuse-15
|
- opensuse-15
|
||||||
|
- amazon-2
|
||||||
- name: py3-stable-2019-2
|
- name: py3-stable-2019-2
|
||||||
provisioner:
|
provisioner:
|
||||||
salt_version: 2019.2
|
salt_version: 2019.2
|
||||||
|
|
|
@ -86,6 +86,7 @@ Jorge Schrauwen sjorge sjorge@blackdot.be
|
||||||
Juan A. Moyano wincus wincus.public@gmail.com
|
Juan A. Moyano wincus wincus.public@gmail.com
|
||||||
Justin Anderson justinta justin.ta@outlook.com
|
Justin Anderson justinta justin.ta@outlook.com
|
||||||
Justin Findlay jfindlay jfindlay@gmail.com
|
Justin Findlay jfindlay jfindlay@gmail.com
|
||||||
|
kgbsd
|
||||||
Karl Grzeszczak karlgrz
|
Karl Grzeszczak karlgrz
|
||||||
Kenneth Wilke KennethWilke
|
Kenneth Wilke KennethWilke
|
||||||
Kevin Quinn kevinquinnyo kevin.quinn@totalserversolutions.com
|
Kevin Quinn kevinquinnyo kevin.quinn@totalserversolutions.com
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
Version TBD (In Progress on the Develop Branch):
|
Version TBD (In Progress on the Develop Branch):
|
||||||
|
|
||||||
|
Version 2020.01.21:
|
||||||
|
* FreeBSD fixes (kgbsd) #1376
|
||||||
|
* Fix macOS support (s0undt3ch) #1397
|
||||||
|
|
||||||
Version 2019.11.04:
|
Version 2019.11.04:
|
||||||
* Fix busybox mktemp compatibility (stanzgy) #1369
|
* Fix busybox mktemp compatibility (stanzgy) #1369
|
||||||
* Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375
|
* Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375
|
||||||
|
|
33
README.rst
33
README.rst
|
@ -28,6 +28,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file.
|
||||||
|
|
||||||
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
|
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
|
||||||
|
|
||||||
|
- 2019.11.04: ``905924fccd4ebf168d19ba598bf10af53efe02302b792aeb15433e73fd3ad1d2``
|
||||||
- 2019.10.03: ``34f196f06d586ce9e1b9907660ea6e67caf57abcecfea66e0343697e3fd0d17d``
|
- 2019.10.03: ``34f196f06d586ce9e1b9907660ea6e67caf57abcecfea66e0343697e3fd0d17d``
|
||||||
- 2019.05.20: ``46fb5e4b7815efafd69fd703f033fe86e7b584b6770f7e0b936995bcae1cedd8``
|
- 2019.05.20: ``46fb5e4b7815efafd69fd703f033fe86e7b584b6770f7e0b936995bcae1cedd8``
|
||||||
- 2019.02.27: ``23728e4b5e54f564062070e3be53c5602b55c24c9a76671968abbf3d609258cb``
|
- 2019.02.27: ``23728e4b5e54f564062070e3be53c5602b55c24c9a76671968abbf3d609258cb``
|
||||||
|
@ -212,9 +213,10 @@ Supported Operating Systems
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
The salt-bootstrap script officially supports the distributions outlined in
|
The salt-bootstrap script officially supports the distributions outlined in
|
||||||
`Salt's Supported Operating Systems`_ document. The operating systems listed below should reflect
|
`Salt's Supported Operating Systems`_ document, except for Solaris and AIX. The operating systems
|
||||||
this document but may become out of date. If an operating system is listed below, but is not
|
listed below should reflect this document but may become out of date. If an operating system is
|
||||||
listed on the official supported operating systems document, the level of support is "best-effort".
|
listed below, but is not listed on the official supported operating systems document, the level of
|
||||||
|
support is "best-effort".
|
||||||
|
|
||||||
Since Salt is written in Python, the packages available from `SaltStack's corporate repository`_
|
Since Salt is written in Python, the packages available from `SaltStack's corporate repository`_
|
||||||
are CPU architecture independent and could be installed on any hardware supported by Linux kernel.
|
are CPU architecture independent and could be installed on any hardware supported by Linux kernel.
|
||||||
|
@ -241,7 +243,7 @@ Debian and derivatives
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
- Cumulus Linux 2/3
|
- Cumulus Linux 2/3
|
||||||
- Debian GNU/Linux 7/8/9
|
- Debian GNU/Linux 7/8/9/10
|
||||||
- Devuan GNU/Linux 1/2
|
- Devuan GNU/Linux 1/2
|
||||||
- Kali Linux 1.0 (based on Debian 7)
|
- Kali Linux 1.0 (based on Debian 7)
|
||||||
- Linux Mint Debian Edition 1 (based on Debian 8)
|
- Linux Mint Debian Edition 1 (based on Debian 8)
|
||||||
|
@ -264,11 +266,12 @@ Red Hat family
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
- Amazon Linux 2012.3 and later
|
- Amazon Linux 2012.3 and later
|
||||||
- CentOS 6/7
|
- Amazon Linux 2
|
||||||
|
- CentOS 6/7/8
|
||||||
- Cloud Linux 6/7
|
- Cloud Linux 6/7
|
||||||
- Fedora 27/28 (install latest stable from standard repositories)
|
- Fedora 30/31 (install latest stable from standard repositories)
|
||||||
- Oracle Linux 6/7
|
- Oracle Linux 6/7
|
||||||
- Red Hat Enterprise Linux 6/7
|
- Red Hat Enterprise Linux 6/7/8
|
||||||
- Scientific Linux 6/7
|
- Scientific Linux 6/7
|
||||||
|
|
||||||
|
|
||||||
|
@ -352,7 +355,9 @@ Some distributions support installing Salt to use Python 3 instead of Python 2.
|
||||||
this offering, while limited, is as follows:
|
this offering, while limited, is as follows:
|
||||||
|
|
||||||
- CentOS 7
|
- CentOS 7
|
||||||
|
- Centos 8
|
||||||
- Debian 9
|
- Debian 9
|
||||||
|
- Debian 10
|
||||||
- Fedora (only git installations)
|
- Fedora (only git installations)
|
||||||
- Ubuntu 16.04
|
- Ubuntu 16.04
|
||||||
- Ubuntu 18.04
|
- Ubuntu 18.04
|
||||||
|
@ -367,6 +372,18 @@ Installing the Python 3 packages for Salt is done via the ``-x`` option:
|
||||||
|
|
||||||
See the ``-x`` option for more information.
|
See the ``-x`` option for more information.
|
||||||
|
|
||||||
|
The earliest release of Salt that supports Python3 is `2018.3.4`.
|
||||||
|
|
||||||
|
Tornado 5/6 Workaround
|
||||||
|
----------------------
|
||||||
|
Salt does not support tornado>=5.0 currently. This support will not be added until the neon
|
||||||
|
release. In order to work around this requirement on OSs that no longer have the tornado 4 package
|
||||||
|
available in their repositories we are pip installing tornado<5.0 in the bootstrap script. This
|
||||||
|
requires the user to pass -P to the bootstrap script if installing via git to ensure tornado is pip
|
||||||
|
installed. If a user does not pass this argument they will be warned that it is required for the
|
||||||
|
tornado 5 workaround. So far the OSs that are using this workaround are Debian 10, Centos 8 and
|
||||||
|
Fedora 31.
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -421,7 +438,7 @@ Salt components, custom configurations, and even `pre-accepted Minion keys`_ alr
|
||||||
.. _`pre-accepted Minion keys`: https://docs.saltstack.com/en/latest/topics/tutorials/preseed_key.html
|
.. _`pre-accepted Minion keys`: https://docs.saltstack.com/en/latest/topics/tutorials/preseed_key.html
|
||||||
.. _`read the source`: https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh
|
.. _`read the source`: https://github.com/saltstack/salt-bootstrap/blob/develop/bootstrap-salt.sh
|
||||||
.. _`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://get.saltstack.com/rs/304-PHQ-615/images/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 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
|
||||||
|
|
|
@ -83,7 +83,7 @@ Param(
|
||||||
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
|
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
|
||||||
# Doesn't support versions prior to "2017.7.0"
|
# Doesn't support versions prior to "2017.7.0"
|
||||||
[ValidateSet("2","3")]
|
[ValidateSet("2","3")]
|
||||||
[string]$pythonVersion = "",
|
[string]$pythonVersion = "2",
|
||||||
|
|
||||||
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
|
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
|
||||||
[ValidateSet("true","false")]
|
[ValidateSet("true","false")]
|
||||||
|
@ -211,38 +211,19 @@ Else {
|
||||||
}
|
}
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Figure out the latest version if no version is passed
|
# Use version "Latest" if no version is passed
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# If version isn't supplied, use latest.
|
|
||||||
If (!$version) {
|
If (!$version) {
|
||||||
# Find latest version of Salt Minion
|
$versionSection = "Latest-Py$pythonVersion"
|
||||||
$repo = Invoke-Restmethod "$repourl"
|
} else {
|
||||||
$regex = "<\s*a\s*[^>]*?href\s*=\s*[`"']*([^`"'>]+)[^>]*?>"
|
$versionSection = $version
|
||||||
$returnMatches = New-Object System.Collections.ArrayList
|
$year = $version.Substring(0, 4)
|
||||||
$resultingMatches = [Regex]::Matches($repo, $regex, "IgnoreCase")
|
If ([int]$year -ge 2017) {
|
||||||
foreach($match in $resultingMatches) {
|
If ($pythonVersion -eq "3") {
|
||||||
$cleanedMatch = $match.Groups[1].Value.Trim()
|
$versionSection = "$version-Py3"
|
||||||
[void] $returnMatches.Add($cleanedMatch)
|
} Else {
|
||||||
}
|
$versionSection = "$version-Py2"
|
||||||
If ($arch -eq 'x86') {
|
}
|
||||||
$returnMatches = $returnMatches | Where {$_ -like "Salt-Minion*x86-Setup.exe"}
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
$returnMatches = $returnMatches | Where {$_ -like "Salt-Minion*AMD64-Setup.exe"}
|
|
||||||
}
|
|
||||||
|
|
||||||
$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"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,6 +268,7 @@ While (!$service) {
|
||||||
|
|
||||||
If($runservice) {
|
If($runservice) {
|
||||||
# Start service
|
# Start service
|
||||||
|
Write-Output "Starting the Salt minion service"
|
||||||
Start-Service -Name "salt-minion" -ErrorAction SilentlyContinue
|
Start-Service -Name "salt-minion" -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
# Check if service is started, otherwise retry starting the
|
# Check if service is started, otherwise retry starting the
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#======================================================================================================================
|
#======================================================================================================================
|
||||||
set -o nounset # Treat unset variables as an error
|
set -o nounset # Treat unset variables as an error
|
||||||
|
|
||||||
__ScriptVersion="2019.11.04"
|
__ScriptVersion="2020.01.21"
|
||||||
__ScriptName="bootstrap-salt.sh"
|
__ScriptName="bootstrap-salt.sh"
|
||||||
|
|
||||||
__ScriptFullName="$0"
|
__ScriptFullName="$0"
|
||||||
|
@ -270,6 +270,7 @@ _QUIET_GIT_INSTALLATION=$BS_FALSE
|
||||||
_REPO_URL="repo.saltstack.com"
|
_REPO_URL="repo.saltstack.com"
|
||||||
_PY_EXE=""
|
_PY_EXE=""
|
||||||
_INSTALL_PY="$BS_FALSE"
|
_INSTALL_PY="$BS_FALSE"
|
||||||
|
_TORNADO_MAX_PY3_VERSION="5.0"
|
||||||
|
|
||||||
# Defaults for install arguments
|
# Defaults for install arguments
|
||||||
ITYPE="stable"
|
ITYPE="stable"
|
||||||
|
@ -674,7 +675,7 @@ if [ -n "$_PY_EXE" ]; then
|
||||||
if [ "$(uname)" = "Darwin" ]; then
|
if [ "$(uname)" = "Darwin" ]; then
|
||||||
_PY_PKG_VER=$(echo "$_PY_EXE" | sed "s/\\.//g")
|
_PY_PKG_VER=$(echo "$_PY_EXE" | sed "s/\\.//g")
|
||||||
else
|
else
|
||||||
_PY_PKG_VER=$(echo "$_PY_EXE" | sed -r "s/\\.//g")
|
_PY_PKG_VER=$(echo "$_PY_EXE" | sed -E "s/\\.//g")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_PY_MAJOR_VERSION=$(echo "$_PY_PKG_VER" | cut -c 7)
|
_PY_MAJOR_VERSION=$(echo "$_PY_PKG_VER" | cut -c 7)
|
||||||
|
@ -933,11 +934,11 @@ __strip_duplicates() {
|
||||||
__sort_release_files() {
|
__sort_release_files() {
|
||||||
KNOWN_RELEASE_FILES=$(echo "(arch|alpine|centos|debian|ubuntu|fedora|redhat|suse|\
|
KNOWN_RELEASE_FILES=$(echo "(arch|alpine|centos|debian|ubuntu|fedora|redhat|suse|\
|
||||||
mandrake|mandriva|gentoo|slackware|turbolinux|unitedlinux|void|lsb|system|\
|
mandrake|mandriva|gentoo|slackware|turbolinux|unitedlinux|void|lsb|system|\
|
||||||
oracle|os)(-|_)(release|version)" | sed -r 's:[[:space:]]::g')
|
oracle|os)(-|_)(release|version)" | sed -E 's:[[:space:]]::g')
|
||||||
primary_release_files=""
|
primary_release_files=""
|
||||||
secondary_release_files=""
|
secondary_release_files=""
|
||||||
# Sort know VS un-known files first
|
# Sort know VS un-known files first
|
||||||
for release_file in $(echo "${@}" | sed -r 's:[[:space:]]:\n:g' | sort -f | uniq); do
|
for release_file in $(echo "${@}" | sed -E 's:[[:space:]]:\n:g' | sort -f | uniq); do
|
||||||
match=$(echo "$release_file" | grep -E -i "${KNOWN_RELEASE_FILES}")
|
match=$(echo "$release_file" | grep -E -i "${KNOWN_RELEASE_FILES}")
|
||||||
if [ "${match}" != "" ]; then
|
if [ "${match}" != "" ]; then
|
||||||
primary_release_files="${primary_release_files} ${release_file}"
|
primary_release_files="${primary_release_files} ${release_file}"
|
||||||
|
@ -962,7 +963,7 @@ __sort_release_files() {
|
||||||
done
|
done
|
||||||
|
|
||||||
# Echo the results collapsing multiple white-space into a single white-space
|
# Echo the results collapsing multiple white-space into a single white-space
|
||||||
echo "${primary_release_files} ${secondary_release_files}" | sed -r 's:[[:space:]]+:\n:g'
|
echo "${primary_release_files} ${secondary_release_files}" | sed -E 's:[[:space:]]+:\n:g'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1181,17 +1182,17 @@ __gather_sunos_system_info() {
|
||||||
case "$line" in
|
case "$line" in
|
||||||
*OpenIndiana*oi_[0-9]*)
|
*OpenIndiana*oi_[0-9]*)
|
||||||
DISTRO_NAME="OpenIndiana"
|
DISTRO_NAME="OpenIndiana"
|
||||||
DISTRO_VERSION=$(echo "$line" | sed -nr "s/OpenIndiana(.*)oi_([[:digit:]]+)(.*)/\\2/p")
|
DISTRO_VERSION=$(echo "$line" | sed -nE "s/OpenIndiana(.*)oi_([[:digit:]]+)(.*)/\\2/p")
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*OpenSolaris*snv_[0-9]*)
|
*OpenSolaris*snv_[0-9]*)
|
||||||
DISTRO_NAME="OpenSolaris"
|
DISTRO_NAME="OpenSolaris"
|
||||||
DISTRO_VERSION=$(echo "$line" | sed -nr "s/OpenSolaris(.*)snv_([[:digit:]]+)(.*)/\\2/p")
|
DISTRO_VERSION=$(echo "$line" | sed -nE "s/OpenSolaris(.*)snv_([[:digit:]]+)(.*)/\\2/p")
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*Oracle*Solaris*[0-9]*)
|
*Oracle*Solaris*[0-9]*)
|
||||||
DISTRO_NAME="Oracle Solaris"
|
DISTRO_NAME="Oracle Solaris"
|
||||||
DISTRO_VERSION=$(echo "$line" | sed -nr "s/(Oracle Solaris) ([[:digit:]]+)(.*)/\\2/p")
|
DISTRO_VERSION=$(echo "$line" | sed -nE "s/(Oracle Solaris) ([[:digit:]]+)(.*)/\\2/p")
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*Solaris*)
|
*Solaris*)
|
||||||
|
@ -1712,7 +1713,7 @@ echoinfo " Distribution: ${DISTRO_NAME} ${DISTRO_VERSION}"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# Simplify distro name naming on functions
|
# Simplify distro name naming on functions
|
||||||
DISTRO_NAME_L=$(echo "$DISTRO_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-zA-Z0-9_ ]//g' | sed -re 's/([[:space:]])+/_/g')
|
DISTRO_NAME_L=$(echo "$DISTRO_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-zA-Z0-9_ ]//g' | sed -Ee 's/([[:space:]])+/_/g')
|
||||||
|
|
||||||
# Simplify version naming on functions
|
# Simplify version naming on functions
|
||||||
if [ "$DISTRO_VERSION" = "" ] || [ ${_SIMPLIFY_VERSION} -eq $BS_FALSE ]; then
|
if [ "$DISTRO_VERSION" = "" ] || [ ${_SIMPLIFY_VERSION} -eq $BS_FALSE ]; then
|
||||||
|
@ -1790,7 +1791,7 @@ elif [ "${DISTRO_NAME_L}" = "debian" ]; then
|
||||||
__debian_codename_translation
|
__debian_codename_translation
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|red_hat|oracle|scientific|amazon|fedora)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then
|
if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|red_hat|oracle|scientific|amazon|fedora|macosx)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then
|
||||||
echoerror "${DISTRO_NAME} does not have major version pegged packages support"
|
echoerror "${DISTRO_NAME} does not have major version pegged packages support"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -1981,7 +1982,7 @@ __git_clone_and_checkout() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case ${OS_NAME_L} in
|
case ${OS_NAME_L} in
|
||||||
openbsd|freebsd|netbsd )
|
openbsd|freebsd|netbsd|darwin )
|
||||||
__TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/')
|
__TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/')
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
|
@ -2507,7 +2508,7 @@ __activate_virtualenv() {
|
||||||
__install_pip_pkgs() {
|
__install_pip_pkgs() {
|
||||||
_pip_pkgs="$1"
|
_pip_pkgs="$1"
|
||||||
_py_exe="$2"
|
_py_exe="$2"
|
||||||
_py_pkg=$(echo "$_py_exe" | sed -r "s/\\.//g")
|
_py_pkg=$(echo "$_py_exe" | sed -E "s/\\.//g")
|
||||||
_pip_cmd="${_py_exe} -m pip"
|
_pip_cmd="${_py_exe} -m pip"
|
||||||
|
|
||||||
if [ "${_py_exe}" = "" ]; then
|
if [ "${_py_exe}" = "" ]; then
|
||||||
|
@ -2911,9 +2912,11 @@ install_ubuntu_git() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then
|
if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then
|
||||||
${_PYEXE} setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
# shellcheck disable=SC2086
|
||||||
|
"${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
||||||
else
|
else
|
||||||
${_PYEXE} setup.py ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
# shellcheck disable=SC2086
|
||||||
|
"${_PYEXE}" setup.py ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
@ -3395,9 +3398,11 @@ install_debian_git() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then
|
if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then
|
||||||
${_PYEXE} setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
# shellcheck disable=SC2086
|
||||||
|
"${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
||||||
else
|
else
|
||||||
${_PYEXE} setup.py ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
# shellcheck disable=SC2086
|
||||||
|
"${_PYEXE}" setup.py ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4830,16 +4835,23 @@ install_amazon_linux_ami_2_git_deps() {
|
||||||
yum -y install ca-certificates || return 1
|
yum -y install ca-certificates || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PIP_EXE='pip'
|
|
||||||
if __check_command_exists python2.7; then
|
|
||||||
if ! __check_command_exists pip2.7; then
|
|
||||||
__yum_install_noinput python2-pip
|
|
||||||
fi
|
|
||||||
PIP_EXE='/bin/pip'
|
|
||||||
_PY_EXE='python2.7'
|
|
||||||
fi
|
|
||||||
|
|
||||||
install_amazon_linux_ami_2_deps || return 1
|
install_amazon_linux_ami_2_deps || return 1
|
||||||
|
if __check_command_exists python3; then
|
||||||
|
if ! __check_command_exists pip3; then
|
||||||
|
__yum_install_noinput python3-pip
|
||||||
|
fi
|
||||||
|
PIP_EXE='/bin/pip3'
|
||||||
|
_PY_EXE='python3'
|
||||||
|
else
|
||||||
|
PIP_EXE='pip'
|
||||||
|
if __check_command_exists python2.7; then
|
||||||
|
if ! __check_command_exists pip2.7; then
|
||||||
|
__yum_install_noinput python2-pip
|
||||||
|
fi
|
||||||
|
PIP_EXE='/bin/pip'
|
||||||
|
_PY_EXE='python2.7'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if ! __check_command_exists git; then
|
if ! __check_command_exists git; then
|
||||||
__yum_install_noinput git || return 1
|
__yum_install_noinput git || return 1
|
||||||
|
@ -4850,9 +4862,18 @@ install_amazon_linux_ami_2_git_deps() {
|
||||||
__PACKAGES=""
|
__PACKAGES=""
|
||||||
__PIP_PACKAGES=""
|
__PIP_PACKAGES=""
|
||||||
|
|
||||||
if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then
|
if [ "$_INSTALL_CLOUD" -eq "$BS_TRUE" ]; then
|
||||||
__check_pip_allowed "You need to allow pip based installations (-P) in order to install apache-libcloud"
|
__check_pip_allowed "You need to allow pip based installations (-P) in order to install apache-libcloud"
|
||||||
__PACKAGES="${__PACKAGES} python27-pip"
|
if [ "$PARSED_VERSION" -eq "2" ]; then
|
||||||
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq "3" ]; then
|
||||||
|
__PACKAGES="${__PACKAGES} python3-pip"
|
||||||
|
__PIP_PACKAGES="${__PIP_PACKAGES} tornado<$_TORNADO_MAX_PY3_VERSION"
|
||||||
|
else
|
||||||
|
__PACKAGES="${__PACKAGES} python2-pip"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
__PACKAGES="${__PACKAGES} python27-pip"
|
||||||
|
fi
|
||||||
__PIP_PACKAGES="${__PIP_PACKAGES} apache-libcloud>=$_LIBCLOUD_MIN_VERSION"
|
__PIP_PACKAGES="${__PIP_PACKAGES} apache-libcloud>=$_LIBCLOUD_MIN_VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -4860,7 +4881,7 @@ install_amazon_linux_ami_2_git_deps() {
|
||||||
# We're on the develop branch, install whichever tornado is on the requirements file
|
# We're on the develop branch, install whichever tornado is on the requirements file
|
||||||
__REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")"
|
__REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")"
|
||||||
if [ "${__REQUIRED_TORNADO}" != "" ]; then
|
if [ "${__REQUIRED_TORNADO}" != "" ]; then
|
||||||
__PACKAGES="${__PACKAGES} ${pkg_append}-tornado"
|
__PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-tornado"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -4917,18 +4938,31 @@ install_amazon_linux_ami_2_deps() {
|
||||||
|
|
||||||
if [ $_DISABLE_REPOS -eq $BS_FALSE ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then
|
if [ $_DISABLE_REPOS -eq $BS_FALSE ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then
|
||||||
__REPO_FILENAME="saltstack-repo.repo"
|
__REPO_FILENAME="saltstack-repo.repo"
|
||||||
|
__PY_VERSION_REPO="yum"
|
||||||
|
PY_PKG_VER=""
|
||||||
|
_PY_MAJOR_VERSION=$(echo "$_PY_PKG_VER" | cut -c 7)
|
||||||
|
repo_label="saltstack-repo"
|
||||||
|
repo_name="SaltStack repo for Amazon Linux 2"
|
||||||
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then
|
||||||
|
__REPO_FILENAME="saltstack-py3-repo.repo"
|
||||||
|
__PY_VERSION_REPO="py3"
|
||||||
|
PY_PKG_VER=3
|
||||||
|
repo_label="saltstack-py3-repo"
|
||||||
|
repo_name="SaltStack Python 3 repo for Amazon Linux 2"
|
||||||
|
fi
|
||||||
|
|
||||||
base_url="$HTTP_VAL://${_REPO_URL}/yum/amazon/2/\$basearch/$repo_rev/"
|
base_url="$HTTP_VAL://${_REPO_URL}/${__PY_VERSION_REPO}/amazon/2/\$basearch/$repo_rev/"
|
||||||
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub
|
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub,${base_url}base/RPM-GPG-KEY-CentOS-7"
|
||||||
${base_url}base/RPM-GPG-KEY-CentOS-7"
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then
|
||||||
repo_name="SaltStack repo for Amazon Linux 2.0"
|
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub"
|
||||||
|
fi
|
||||||
|
|
||||||
# This should prob be refactored to use __install_saltstack_rhel_repository()
|
# This should prob be refactored to use __install_saltstack_rhel_repository()
|
||||||
# With args passed in to do the right thing. Reformatted to be more like the
|
# With args passed in to do the right thing. Reformatted to be more like the
|
||||||
# amazon linux yum file.
|
# amazon linux yum file.
|
||||||
if [ ! -s "/etc/yum.repos.d/${__REPO_FILENAME}" ]; then
|
if [ ! -s "/etc/yum.repos.d/${__REPO_FILENAME}" ]; then
|
||||||
cat <<_eof > "/etc/yum.repos.d/${__REPO_FILENAME}"
|
cat <<_eof > "/etc/yum.repos.d/${__REPO_FILENAME}"
|
||||||
[saltstack-repo]
|
[$repo_label]
|
||||||
name=$repo_name
|
name=$repo_name
|
||||||
failovermethod=priority
|
failovermethod=priority
|
||||||
priority=10
|
priority=10
|
||||||
|
@ -4942,9 +4976,14 @@ _eof
|
||||||
|
|
||||||
# Package python-ordereddict-1.1-2.el6.noarch is obsoleted by python26-2.6.9-2.88.amzn1.x86_64
|
# Package python-ordereddict-1.1-2.el6.noarch is obsoleted by python26-2.6.9-2.88.amzn1.x86_64
|
||||||
# which is already installed
|
# which is already installed
|
||||||
__PACKAGES="m2crypto ${pkg_append}-crypto ${pkg_append}-jinja2 PyYAML procps-ng"
|
if [ "${PY_PKG_VER}" -eq 3 ]; then
|
||||||
__PACKAGES="${__PACKAGES} ${pkg_append}-msgpack ${pkg_append}-requests ${pkg_append}-zmq"
|
__PACKAGES="${pkg_append}${PY_PKG_VER}-m2crypto ${pkg_append}${PY_PKG_VER}-pyyaml"
|
||||||
__PACKAGES="${__PACKAGES} ${pkg_append}-futures"
|
else
|
||||||
|
__PACKAGES="m2crypto PyYAML ${pkg_append}-futures"
|
||||||
|
fi
|
||||||
|
|
||||||
|
__PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-crypto ${pkg_append}${PY_PKG_VER}-jinja2 procps-ng"
|
||||||
|
__PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-msgpack ${pkg_append}${PY_PKG_VER}-requests ${pkg_append}${PY_PKG_VER}-zmq"
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
__yum_install_noinput ${__PACKAGES} || return 1
|
__yum_install_noinput ${__PACKAGES} || return 1
|
||||||
|
@ -5025,6 +5064,12 @@ install_amazon_linux_ami_2_testing_post() {
|
||||||
install_centos_testing_post || return 1
|
install_centos_testing_post || return 1
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_amazon_linux_ami_2_check_services() {
|
||||||
|
install_centos_check_services || return 1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Ended Amazon Linux AMI Install Functions
|
# Ended Amazon Linux AMI Install Functions
|
||||||
#
|
#
|
||||||
|
@ -5240,158 +5285,32 @@ install_arch_check_services() {
|
||||||
# FreeBSD Install Functions
|
# FreeBSD Install Functions
|
||||||
#
|
#
|
||||||
|
|
||||||
__freebsd_get_packagesite() {
|
|
||||||
if [ "$CPU_ARCH_L" = "amd64" ]; then
|
|
||||||
BSD_ARCH="x86:64"
|
|
||||||
elif [ "$CPU_ARCH_L" = "x86_64" ]; then
|
|
||||||
BSD_ARCH="x86:64"
|
|
||||||
elif [ "$CPU_ARCH_L" = "i386" ]; then
|
|
||||||
BSD_ARCH="x86:32"
|
|
||||||
elif [ "$CPU_ARCH_L" = "i686" ]; then
|
|
||||||
BSD_ARCH="x86:32"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Since the variable might not be set, don't, momentarily treat it as a
|
|
||||||
# failure
|
|
||||||
set +o nounset
|
|
||||||
|
|
||||||
# ABI is a std format for identifying release / architecture combos
|
|
||||||
ABI="freebsd:${DISTRO_MAJOR_VERSION}:${BSD_ARCH}"
|
|
||||||
_PACKAGESITE="http://pkg.freebsd.org/${ABI}/latest"
|
|
||||||
# Awkwardly, we want the `${ABI}` to be in conf file without escaping
|
|
||||||
PKGCONFURL="pkg+http://pkg.freebsd.org/\${ABI}/latest"
|
|
||||||
SALTPKGCONFURL="http://repo.saltstack.com/freebsd/\${ABI}/"
|
|
||||||
|
|
||||||
# Treat unset variables as errors once more
|
|
||||||
set -o nounset
|
|
||||||
}
|
|
||||||
|
|
||||||
# Using a separate conf step to head for idempotent install...
|
# Using a separate conf step to head for idempotent install...
|
||||||
__configure_freebsd_pkg_details() {
|
__configure_freebsd_pkg_details() {
|
||||||
## pkg.conf is deprecated.
|
_SALT_ETC_DIR="/usr/local/etc/salt"
|
||||||
## We use conf files in /usr/local or /etc instead
|
|
||||||
mkdir -p /usr/local/etc/pkg/repos/
|
|
||||||
mkdir -p /etc/pkg/
|
|
||||||
|
|
||||||
## Use new JSON-like format for pkg repo configs
|
|
||||||
## check if /etc/pkg/FreeBSD.conf is already in place
|
|
||||||
if [ ! -f /etc/pkg/FreeBSD.conf ]; then
|
|
||||||
conf_file=/usr/local/etc/pkg/repos/freebsd.conf
|
|
||||||
{
|
|
||||||
echo "FreeBSD:{"
|
|
||||||
echo " url: \"${PKGCONFURL}\","
|
|
||||||
echo " mirror_type: \"srv\","
|
|
||||||
echo " signature_type: \"fingerprints\","
|
|
||||||
echo " fingerprints: \"/usr/share/keys/pkg\","
|
|
||||||
echo " enabled: true"
|
|
||||||
echo "}"
|
|
||||||
} > $conf_file
|
|
||||||
__copyfile $conf_file /etc/pkg/FreeBSD.conf
|
|
||||||
fi
|
|
||||||
FROM_FREEBSD="-r FreeBSD"
|
|
||||||
|
|
||||||
##### Workaround : Waiting for SaltStack Repository to be available for FreeBSD 12 ####
|
|
||||||
if [ "${DISTRO_MAJOR_VERSION}" -ne 12 ]; then
|
|
||||||
## add saltstack freebsd repo
|
|
||||||
salt_conf_file=/usr/local/etc/pkg/repos/saltstack.conf
|
|
||||||
{
|
|
||||||
echo "SaltStack:{"
|
|
||||||
echo " url: \"${SALTPKGCONFURL}\","
|
|
||||||
echo " mirror_type: \"http\","
|
|
||||||
echo " enabled: true"
|
|
||||||
echo " priority: 10"
|
|
||||||
echo "}"
|
|
||||||
} > $salt_conf_file
|
|
||||||
FROM_SALTSTACK="-r SaltStack"
|
|
||||||
fi
|
|
||||||
##### End Workaround : Waiting for SaltStack Repository to be available for FreeBSD 12 ####
|
|
||||||
|
|
||||||
## ensure future ports builds use pkgng
|
|
||||||
echo "WITH_PKGNG= yes" >> /etc/make.conf
|
|
||||||
|
|
||||||
/usr/local/sbin/pkg update -f || return 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_freebsd_9_stable_deps() {
|
install_freebsd_deps() {
|
||||||
_SALT_ETC_DIR=${BS_SALT_ETC_DIR:-/usr/local/etc/salt}
|
__configure_freebsd_pkg_details
|
||||||
_PKI_DIR=${_SALT_ETC_DIR}/pki
|
pkg install -y pkg
|
||||||
|
|
||||||
if [ $_DISABLE_REPOS -eq $BS_FALSE ]; then
|
|
||||||
#make variables available even if pkg already installed
|
|
||||||
__freebsd_get_packagesite
|
|
||||||
|
|
||||||
if [ ! -x /usr/local/sbin/pkg ]; then
|
|
||||||
|
|
||||||
# install new `pkg` code from its own tarball.
|
|
||||||
fetch "${_PACKAGESITE}/Latest/pkg.txz" || return 1
|
|
||||||
tar xf ./pkg.txz -s ",/.*/,,g" "*/pkg-static" || return 1
|
|
||||||
./pkg-static add ./pkg.txz || return 1
|
|
||||||
/usr/local/sbin/pkg2ng || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure the pkg repository using new approach
|
|
||||||
__configure_freebsd_pkg_details || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Now install swig30
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y swig30 || return 1
|
|
||||||
|
|
||||||
# YAML module is used for generating custom master/minion configs
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y py27-yaml || return 1
|
|
||||||
|
|
||||||
if [ "${_EXTRA_PACKAGES}" != "" ]; then
|
|
||||||
echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}"
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y ${_EXTRA_PACKAGES} || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then
|
|
||||||
pkg upgrade -y || return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_10_stable_deps() {
|
|
||||||
install_freebsd_9_stable_deps
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_11_stable_deps() {
|
|
||||||
install_freebsd_9_stable_deps
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_12_stable_deps() {
|
|
||||||
install_freebsd_9_stable_deps
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_freebsd_git_deps() {
|
install_freebsd_git_deps() {
|
||||||
install_freebsd_9_stable_deps || return 1
|
install_freebsd_stable_deps || return 1
|
||||||
|
|
||||||
|
SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d py36-salt | grep 'origin:' \
|
||||||
|
| tail -n +2 | awk -F\" '{print $2}' | sed 's#.*/py-#py36-#g')
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search ${FROM_FREEBSD} -R -d sysutils/py-salt | grep -i origin | sed -e 's/^[[:space:]]*//' | tail -n +2 | awk -F\" '{print $2}' | tr '\n' ' ')
|
/usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} || return 1
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y ${SALT_DEPENDENCIES} || return 1
|
|
||||||
# install python meta package
|
|
||||||
/usr/local/sbin/pkg install -y lang/python || return 1
|
|
||||||
|
|
||||||
if ! __check_command_exists git; then
|
if ! __check_command_exists git; then
|
||||||
/usr/local/sbin/pkg install -y git || return 1
|
/usr/local/sbin/pkg install -y git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
/usr/local/sbin/pkg install -y www/py-requests || return 1
|
/usr/local/sbin/pkg install -y py36-requests || return 1
|
||||||
|
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then
|
|
||||||
# We're on the develop branch, install whichever tornado is on the requirements file
|
|
||||||
__REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")"
|
|
||||||
if [ "${__REQUIRED_TORNADO}" != "" ]; then
|
|
||||||
/usr/local/sbin/pkg install -y www/py-tornado4 || return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echodebug "Adapting paths to FreeBSD"
|
echodebug "Adapting paths to FreeBSD"
|
||||||
# The list of files was taken from Salt's BSD port Makefile
|
# The list of files was taken from Salt's BSD port Makefile
|
||||||
for file in doc/man/salt-key.1 doc/man/salt-cp.1 doc/man/salt-minion.1 \
|
for file in doc/man/salt-key.1 doc/man/salt-cp.1 doc/man/salt-minion.1 \
|
||||||
|
@ -5430,34 +5349,12 @@ install_freebsd_git_deps() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
install_freebsd_9_stable() {
|
install_freebsd_stable() {
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_SALTSTACK} -y sysutils/py-salt || return 1
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_10_stable() {
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y sysutils/py-salt || return 1
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_11_stable() {
|
|
||||||
#
|
#
|
||||||
# installing latest version of salt from FreeBSD CURRENT ports repo
|
# installing latest version of salt from FreeBSD CURRENT ports repo
|
||||||
#
|
#
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y sysutils/py-salt || return 1
|
/usr/local/sbin/pkg install -y py36-salt || return 1
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_12_stable() {
|
|
||||||
#
|
|
||||||
# installing latest version of salt from FreeBSD CURRENT ports repo
|
|
||||||
#
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
/usr/local/sbin/pkg install ${FROM_FREEBSD} -y sysutils/py-salt || return 1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -5499,7 +5396,7 @@ install_freebsd_git() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
install_freebsd_9_stable_post() {
|
install_freebsd_stable_post() {
|
||||||
for fname in api master minion syndic; do
|
for fname in api master minion syndic; do
|
||||||
# Skip salt-api since the service should be opt-in and not necessarily started on boot
|
# Skip salt-api since the service should be opt-in and not necessarily started on boot
|
||||||
[ $fname = "api" ] && continue
|
[ $fname = "api" ] && continue
|
||||||
|
@ -5509,34 +5406,15 @@ install_freebsd_9_stable_post() {
|
||||||
[ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue
|
[ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue
|
||||||
[ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue
|
[ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue
|
||||||
|
|
||||||
enable_string="salt_${fname}_enable=\"YES\""
|
enable_string="salt_${fname}_enable=YES"
|
||||||
grep "$enable_string" /etc/rc.conf >/dev/null 2>&1
|
grep "$enable_string" /etc/rc.conf >/dev/null 2>&1
|
||||||
[ $? -eq 1 ] && echo "$enable_string" >> /etc/rc.conf
|
[ $? -eq 1 ] && sysrc $enable_string
|
||||||
|
|
||||||
if [ $fname = "minion" ] ; then
|
|
||||||
grep "salt_minion_paths" /etc/rc.conf >/dev/null 2>&1
|
|
||||||
[ $? -eq 1 ] && echo "salt_minion_paths=\"/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin\"" >> /etc/rc.conf
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
install_freebsd_10_stable_post() {
|
|
||||||
install_freebsd_9_stable_post
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_11_stable_post() {
|
|
||||||
install_freebsd_9_stable_post
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_12_stable_post() {
|
|
||||||
install_freebsd_9_stable_post
|
|
||||||
}
|
|
||||||
|
|
||||||
install_freebsd_git_post() {
|
install_freebsd_git_post() {
|
||||||
if [ -f $salt_conf_file ]; then
|
install_freebsd_stable_post || return 1
|
||||||
rm -f $salt_conf_file
|
|
||||||
fi
|
|
||||||
install_freebsd_9_stable_post || return 1
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6750,6 +6628,11 @@ install_macosx_stable_deps() {
|
||||||
install_macosx_git_deps() {
|
install_macosx_git_deps() {
|
||||||
install_macosx_stable_deps || return 1
|
install_macosx_stable_deps || return 1
|
||||||
|
|
||||||
|
if ! echo "$PATH" | grep -q /usr/local/bin; then
|
||||||
|
echowarn "/usr/local/bin was not found in \$PATH. Adding it for the duration of the script execution."
|
||||||
|
export PATH=/usr/local/bin:$PATH
|
||||||
|
fi
|
||||||
|
|
||||||
__fetch_url "/tmp/get-pip.py" "https://bootstrap.pypa.io/get-pip.py" || return 1
|
__fetch_url "/tmp/get-pip.py" "https://bootstrap.pypa.io/get-pip.py" || return 1
|
||||||
|
|
||||||
if [ -n "$_PY_EXE" ]; then
|
if [ -n "$_PY_EXE" ]; then
|
||||||
|
@ -6802,14 +6685,18 @@ install_macosx_git() {
|
||||||
}
|
}
|
||||||
|
|
||||||
install_macosx_stable_post() {
|
install_macosx_stable_post() {
|
||||||
if [ ! -f /etc/paths.d/salt ]; then
|
if [ ! -f /etc/paths.d/salt ]; then
|
||||||
print "%s\n" "/opt/salt/bin" "/usr/local/sbin" > /etc/paths.d/salt
|
print "%s\n" "/opt/salt/bin" "/usr/local/sbin" > /etc/paths.d/salt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# shellcheck disable=SC1091
|
# Don'f fail because of unknown variable on the next step
|
||||||
. /etc/profile
|
set +o nounset
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
. /etc/profile
|
||||||
|
# Revert nounset to it's previous state
|
||||||
|
set -o nounset
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
install_macosx_git_post() {
|
install_macosx_git_post() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue