mirror of
https://github.com/saltstack/salt-bootstrap.git
synced 2025-04-16 09:40:21 +00:00
Merge develop into stable for v2024.11.26 release
This commit is contained in:
commit
f69f185e1b
7 changed files with 221 additions and 153 deletions
18
.github/workflows/ci.yml
vendored
18
.github/workflows/ci.yml
vendored
|
@ -180,6 +180,21 @@ jobs:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
debian-12:
|
||||||
|
name: Debian 12
|
||||||
|
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
|
||||||
|
uses: ./.github/workflows/test-linux.yml
|
||||||
|
needs:
|
||||||
|
- lint
|
||||||
|
- generate-actions-workflow
|
||||||
|
with:
|
||||||
|
distro-slug: debian-12
|
||||||
|
display-name: Debian 12
|
||||||
|
container-slug: systemd-debian-12
|
||||||
|
timeout: 20
|
||||||
|
instances: '["stable-3007", "onedir-3007", "stable-3007-1", "latest", "default"]'
|
||||||
|
|
||||||
|
|
||||||
photon-5:
|
photon-5:
|
||||||
name: Photon OS 5
|
name: Photon OS 5
|
||||||
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
|
if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'
|
||||||
|
@ -237,7 +252,7 @@ jobs:
|
||||||
display-name: Ubuntu 22.04
|
display-name: Ubuntu 22.04
|
||||||
container-slug: systemd-ubuntu-22.04
|
container-slug: systemd-ubuntu-22.04
|
||||||
timeout: 20
|
timeout: 20
|
||||||
instances: '["stable-3006", "onedir-3006", "stable-3006-8", "stable-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
|
instances: '["stable-3006", "git-3006", "onedir-3006", "stable-3006-8", "stable-3007", "git-3007", "onedir-3007", "stable-3007-1", "git-master", "latest", "default"]'
|
||||||
|
|
||||||
|
|
||||||
set-pipeline-exit-status:
|
set-pipeline-exit-status:
|
||||||
|
@ -252,6 +267,7 @@ jobs:
|
||||||
- macos-13
|
- macos-13
|
||||||
- macos-14
|
- macos-14
|
||||||
- windows-2022
|
- windows-2022
|
||||||
|
- debian-12
|
||||||
- photon-5
|
- photon-5
|
||||||
- rockylinux-8
|
- rockylinux-8
|
||||||
- rockylinux-9
|
- rockylinux-9
|
||||||
|
|
18
.github/workflows/templates/generate.py
vendored
18
.github/workflows/templates/generate.py
vendored
|
@ -18,6 +18,7 @@ os.chdir(os.path.abspath(os.path.dirname(__file__)))
|
||||||
# "ubuntu-2004",
|
# "ubuntu-2004",
|
||||||
# "ubuntu-2404",
|
# "ubuntu-2404",
|
||||||
LINUX_DISTROS = [
|
LINUX_DISTROS = [
|
||||||
|
"debian-12",
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-8",
|
"rockylinux-8",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
|
@ -38,15 +39,14 @@ OSX = [
|
||||||
# will add these when they become available with systemd
|
# will add these when they become available with systemd
|
||||||
# "amazonlinux-2",
|
# "amazonlinux-2",
|
||||||
# "amazonlinux-2023",
|
# "amazonlinux-2023",
|
||||||
# "centos-stream9",
|
|
||||||
# "debian-11",
|
# "debian-11",
|
||||||
# "debian-12",
|
|
||||||
# "debian-13",
|
# "debian-13",
|
||||||
# "fedora-40",
|
# "fedora-40",
|
||||||
# "photon-4",
|
# "photon-4",
|
||||||
# "ubuntu-2004",
|
# "ubuntu-2004",
|
||||||
# "ubuntu-2404",
|
# "ubuntu-2404",
|
||||||
STABLE_DISTROS = [
|
STABLE_DISTROS = [
|
||||||
|
"debian-12",
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-8",
|
"rockylinux-8",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
|
@ -58,13 +58,13 @@ STABLE_DISTROS = [
|
||||||
# "amazonlinux-2",
|
# "amazonlinux-2",
|
||||||
# "amazonlinux-2023",
|
# "amazonlinux-2023",
|
||||||
# "debian-11",
|
# "debian-11",
|
||||||
# "debian-12",
|
|
||||||
# "debian-13",
|
# "debian-13",
|
||||||
# "fedora-40",
|
# "fedora-40",
|
||||||
# "photon-4",
|
# "photon-4",
|
||||||
# "ubuntu-2004",
|
# "ubuntu-2004",
|
||||||
# "ubuntu-2404",
|
# "ubuntu-2404",
|
||||||
ONEDIR_DISTROS = [
|
ONEDIR_DISTROS = [
|
||||||
|
"debian-12",
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-8",
|
"rockylinux-8",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
|
@ -75,12 +75,12 @@ ONEDIR_DISTROS = [
|
||||||
# will add these when they become available with systemd
|
# will add these when they become available with systemd
|
||||||
# "amazonlinux-2",
|
# "amazonlinux-2",
|
||||||
# "amazonlinux-2023",
|
# "amazonlinux-2023",
|
||||||
# "debian-12",
|
|
||||||
# "photon-4",
|
# "photon-4",
|
||||||
# "photon-5",
|
# "photon-5",
|
||||||
# "rockylinux-9",
|
# "rockylinux-8",
|
||||||
# "ubuntu-2404",
|
# "ubuntu-2404",
|
||||||
ONEDIR_RC_DISTROS = [
|
ONEDIR_RC_DISTROS = [
|
||||||
|
"debian-12",
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
"ubuntu-2204",
|
"ubuntu-2204",
|
||||||
|
@ -97,6 +97,7 @@ BLACKLIST_3007 = [
|
||||||
"photon-5",
|
"photon-5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# "ubuntu-2204",
|
||||||
BLACKLIST_GIT_3006 = [
|
BLACKLIST_GIT_3006 = [
|
||||||
"amazonlinux-2",
|
"amazonlinux-2",
|
||||||
"amazonlinux-2023",
|
"amazonlinux-2023",
|
||||||
|
@ -107,10 +108,10 @@ BLACKLIST_GIT_3006 = [
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
"ubuntu-2004",
|
"ubuntu-2004",
|
||||||
"ubuntu-2204",
|
|
||||||
"ubuntu-2404",
|
"ubuntu-2404",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# "ubuntu-2204",
|
||||||
BLACKLIST_GIT_3007 = [
|
BLACKLIST_GIT_3007 = [
|
||||||
"amazonlinux-2",
|
"amazonlinux-2",
|
||||||
"amazonlinux-2023",
|
"amazonlinux-2023",
|
||||||
|
@ -122,13 +123,16 @@ BLACKLIST_GIT_3007 = [
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
"ubuntu-2004",
|
"ubuntu-2004",
|
||||||
"ubuntu-2204",
|
|
||||||
"ubuntu-2404",
|
"ubuntu-2404",
|
||||||
]
|
]
|
||||||
|
|
||||||
BLACKLIST_GIT_MASTER = [
|
BLACKLIST_GIT_MASTER = [
|
||||||
"amazonlinux-2",
|
"amazonlinux-2",
|
||||||
"amazonlinux-2023",
|
"amazonlinux-2023",
|
||||||
|
"debian-11",
|
||||||
|
"debian-12",
|
||||||
|
"debian-13",
|
||||||
|
"fedora-40",
|
||||||
"photon-4",
|
"photon-4",
|
||||||
"photon-5",
|
"photon-5",
|
||||||
"rockylinux-9",
|
"rockylinux-9",
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
# v2024.11.26
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
|
||||||
|
- Updated URLs in README, and fix deps download issue on RedHat family by @dmurphy18 in https://github.com/saltstack/salt-bootstrap/pull/2052
|
||||||
|
- Update README script help output and scriptversions by @ScriptAutomate in https://github.com/saltstack/salt-bootstrap/pull/2056
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/saltstack/salt-bootstrap/compare/v2024.11.21...v2024.11.26
|
||||||
|
|
||||||
# v2024.11.21
|
# v2024.11.21
|
||||||
|
|
||||||
## What's Changed
|
## What's Changed
|
||||||
|
|
228
README.rst
228
README.rst
|
@ -37,6 +37,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:
|
||||||
|
|
||||||
|
- 2024.11.21: ``ddf624c3a94d721da3f7629402a6c7ecc9dd96d13c1ead2a626314e97cee982a``
|
||||||
- 2024.11.07: ``70a9783649e129985563d1a86cf28b8984499643e62ae1dc47dc008bd204fcbb``
|
- 2024.11.07: ``70a9783649e129985563d1a86cf28b8984499643e62ae1dc47dc008bd204fcbb``
|
||||||
- 2024.09.24: ``88e4e4cad4b115a7b721dd9c21d5ee5df390b5b73b63de48f99399146f43f371``
|
- 2024.09.24: ``88e4e4cad4b115a7b721dd9c21d5ee5df390b5b73b63de48f99399146f43f371``
|
||||||
- 2024.07.23: ``7212b6b497b5c3d2bf15bfe5301625ec7bc1bf3e2949cd47d8e2073614935bf8``
|
- 2024.07.23: ``7212b6b497b5c3d2bf15bfe5301625ec7bc1bf3e2949cd47d8e2073614935bf8``
|
||||||
|
@ -58,8 +59,9 @@ If you're looking for a *one-liner* to install Salt, please scroll to the bottom
|
||||||
instructions for `Installing via an Insecure One-Liner`_.
|
instructions for `Installing via an Insecure One-Liner`_.
|
||||||
|
|
||||||
There are also .sha256 files for verifying against in the repo for the stable branch. You can also
|
There are also .sha256 files for verifying against in the repo for the stable branch. You can also
|
||||||
get the correct sha256 sum for the stable release from https://bootstrap.saltproject.io/sha256 and
|
get the correct sha256 sum for the stable release from
|
||||||
https://winbootstrap.saltproject.io/sha256
|
https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh.sha256 and
|
||||||
|
https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.ps1.sha256
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
------------
|
------------
|
||||||
|
@ -82,112 +84,123 @@ To view the latest options and descriptions for ``salt-bootstrap``, use ``-h`` a
|
||||||
Usage : bootstrap-salt.sh [options] <install-type> [install-type-args]
|
Usage : bootstrap-salt.sh [options] <install-type> [install-type-args]
|
||||||
|
|
||||||
Installation types:
|
Installation types:
|
||||||
- stable Install latest stable release. This is the default
|
- stable Install latest stable release. This is the default
|
||||||
install type
|
install type
|
||||||
- stable [branch] Install latest version on a branch. Only supported
|
- stable [branch] Install latest version on a branch. Only supported
|
||||||
for packages available at repo.saltproject.io
|
for packages available at packages.broadcom.com
|
||||||
- stable [version] Install a specific version. Only supported for
|
- stable [version] Install a specific version. Only supported for
|
||||||
packages available at repo.saltproject.io
|
packages available at packages.broadcom.com
|
||||||
To pin a 3xxx minor version, specify it as 3xxx.0
|
To pin a 3xxx minor version, specify it as 3xxx.0
|
||||||
- testing RHEL-family specific: configure EPEL testing repo
|
- testing RHEL-family specific: configure EPEL testing repo
|
||||||
- git Install from the head of the master branch
|
- git Install from the head of the master branch
|
||||||
- git [ref] Install from any git ref (such as a branch, tag, or
|
- git [ref] Install from any git ref (such as a branch, tag, or
|
||||||
commit)
|
commit)
|
||||||
|
- onedir Install latest onedir release.
|
||||||
|
- onedir [version] Install a specific version. Only supported for
|
||||||
|
onedir packages available at packages.broadcom.com
|
||||||
|
|
||||||
|
- onedir_rc Install latest onedir RC release.
|
||||||
|
- onedir_rc [version] Install a specific version. Only supported for
|
||||||
|
onedir RC packages available at packages.broadcom.com
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
- bootstrap-salt.sh
|
- bootstrap-salt.sh
|
||||||
- bootstrap-salt.sh stable
|
- bootstrap-salt.sh stable
|
||||||
- bootstrap-salt.sh stable 3006.7
|
- bootstrap-salt.sh stable 3006
|
||||||
- bootstrap-salt.sh stable v3006.8
|
- bootstrap-salt.sh stable 3006.1
|
||||||
- bootstrap-salt.sh testing
|
- bootstrap-salt.sh testing
|
||||||
- bootstrap-salt.sh git
|
- bootstrap-salt.sh git
|
||||||
|
- bootstrap-salt.sh git 3006.7
|
||||||
|
- bootstrap-salt.sh git v3006.8
|
||||||
- bootstrap-salt.sh git 3007.1
|
- bootstrap-salt.sh git 3007.1
|
||||||
- bootstrap-salt.sh git v3007.1
|
- bootstrap-salt.sh git v3007.1
|
||||||
- bootstrap-salt.sh git 06f249901a2e2f1ed310d58ea3921a129f214358
|
- bootstrap-salt.sh git 06f249901a2e2f1ed310d58ea3921a129f214358
|
||||||
|
- bootstrap-salt.sh onedir
|
||||||
|
- bootstrap-salt.sh onedir 3006
|
||||||
|
- bootstrap-salt.sh onedir_rc
|
||||||
|
- bootstrap-salt.sh onedir_rc 3008
|
||||||
|
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-h Display this message
|
-a Pip install all Python pkg dependencies for Salt. Requires -V to install
|
||||||
-v Display script version
|
all pip pkgs into the virtualenv.
|
||||||
-n No colours
|
(Only available for Ubuntu based distributions)
|
||||||
-D Show debug output
|
-A Pass the salt-master DNS name or IP. This will be stored under
|
||||||
|
\${BS_SALT_ETC_DIR}/minion.d/99-master-address.conf
|
||||||
|
-b Assume that dependencies are already installed and software sources are
|
||||||
|
set up. If git is selected, git tree is still checked out as dependency
|
||||||
|
step.
|
||||||
-c Temporary configuration directory
|
-c Temporary configuration directory
|
||||||
-g Salt Git repository URL. Default: https://github.com/saltstack/salt.git
|
-C Only run the configuration function. Implies -F (forced overwrite).
|
||||||
-w Install packages from downstream package repository rather than
|
To overwrite Master, Syndic or Api configs, -M,-S or -W, respectively, must
|
||||||
upstream, saltstack package repository. This is currently only
|
also be specified. Salt installation will be ommitted, but some of the
|
||||||
implemented for SUSE.
|
dependencies could be installed to write configuration with -j or -J.
|
||||||
-k Temporary directory holding the minion keys which will pre-seed
|
|
||||||
the master.
|
|
||||||
-s Sleep time used when waiting for daemons to start, restart and when
|
|
||||||
checking for the services running. Default: 3
|
|
||||||
-L Also install salt-cloud and required python-libcloud package
|
|
||||||
-M Also install salt-master
|
|
||||||
-S Also install salt-syndic
|
|
||||||
-W Also install salt-api
|
|
||||||
-N Do not install salt-minion
|
|
||||||
-X Do not start daemons after installation
|
|
||||||
-d Disables checking if Salt services are enabled to start on system boot.
|
-d Disables checking if Salt services are enabled to start on system boot.
|
||||||
You can also do this by touching /tmp/disable_salt_checks on the target
|
You can also do this by touching /tmp/disable_salt_checks on the target
|
||||||
host. Default: ${BS_FALSE}
|
host. Default: \${BS_FALSE}
|
||||||
-P Allow pip based installations. On some distributions the required salt
|
-D Show debug output
|
||||||
packages or its dependencies are not available as a package for that
|
-f Force shallow cloning for git installations.
|
||||||
distribution. Using this flag allows the script to use pip as a last
|
This may result in an "n/a" in the version number.
|
||||||
resort method. NOTE: This only works for functions which actually
|
-F Allow copied files to overwrite existing (config, init.d, etc)
|
||||||
implement pip based installations.
|
-g Salt Git repository URL. Default: https://github.com/saltstack/salt.git
|
||||||
-U If set, fully upgrade the system prior to bootstrapping Salt
|
-h Display this message
|
||||||
|
-H Use the specified HTTP proxy for all download URLs (including https://).
|
||||||
|
For example: http://myproxy.example.com:3128
|
||||||
|
-i Pass the salt-minion id. This will be stored under
|
||||||
|
\${BS_SALT_ETC_DIR}/minion_id
|
||||||
-I If set, allow insecure connections while downloading any files. For
|
-I If set, allow insecure connections while downloading any files. For
|
||||||
example, pass '--no-check-certificate' to 'wget' or '--insecure' to
|
example, pass '--no-check-certificate' to 'wget' or '--insecure' to
|
||||||
'curl'. On Debian and Ubuntu, using this option with -U allows obtaining
|
'curl'. On Debian and Ubuntu, using this option with -U allows obtaining
|
||||||
GnuPG archive keys insecurely if distro has changed release signatures.
|
GnuPG archive keys insecurely if distro has changed release signatures.
|
||||||
-F Allow copied files to overwrite existing (config, init.d, etc)
|
|
||||||
-K If set, keep the temporary files in the temporary directories specified
|
|
||||||
with -c and -k
|
|
||||||
-C Only run the configuration function. Implies -F (forced overwrite).
|
|
||||||
To overwrite Master or Syndic configs, -M or -S, respectively, must
|
|
||||||
also be specified. Salt installation will be ommitted, but some of the
|
|
||||||
dependencies could be installed to write configuration with -j or -J.
|
|
||||||
-A Pass the salt-master DNS name or IP. This will be stored under
|
|
||||||
${BS_SALT_ETC_DIR}/minion.d/99-master-address.conf
|
|
||||||
-i Pass the salt-minion id. This will be stored under
|
|
||||||
${BS_SALT_ETC_DIR}/minion_id
|
|
||||||
-p Extra-package to install while installing Salt dependencies. One package
|
|
||||||
per -p flag. You are responsible for providing the proper package name.
|
|
||||||
-H Use the specified HTTP proxy for all download URLs (including https://).
|
|
||||||
For example: http://myproxy.example.com:3128
|
|
||||||
-b Assume that dependencies are already installed and software sources are
|
|
||||||
set up. If git is selected, git tree is still checked out as dependency
|
|
||||||
step.
|
|
||||||
-f Force shallow cloning for git installations.
|
|
||||||
This may result in an "n/a" in the version number.
|
|
||||||
-l Disable ssl checks. When passed, switches "https" calls to "http" where
|
|
||||||
possible.
|
|
||||||
-V Install Salt into virtualenv
|
|
||||||
(only available for Ubuntu based distributions)
|
|
||||||
-a Pip install all Python pkg dependencies for Salt. Requires -V to install
|
|
||||||
all pip pkgs into the virtualenv.
|
|
||||||
(Only available for Ubuntu based distributions)
|
|
||||||
-r Disable all repository configuration performed by this script. This
|
|
||||||
option assumes all necessary repository configuration is already present
|
|
||||||
on the system.
|
|
||||||
-R Specify a custom repository URL. Assumes the custom repository URL
|
|
||||||
points to a repository that mirrors Salt packages located at
|
|
||||||
repo.saltproject.io. The option passed with -R replaces the
|
|
||||||
"repo.saltproject.io". If -R is passed, -r is also set. Currently only
|
|
||||||
works on CentOS/RHEL and Debian based distributions.
|
|
||||||
-J Replace the Master config file with data passed in as a JSON string. If
|
|
||||||
a Master config file is found, a reasonable effort will be made to save
|
|
||||||
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
|
||||||
no ".bak" file will be created as either of those options will force
|
|
||||||
a complete overwrite of the file.
|
|
||||||
-j Replace the Minion config file with data passed in as a JSON string. If
|
-j Replace the Minion config file with data passed in as a JSON string. If
|
||||||
a Minion config file is found, a reasonable effort will be made to save
|
a Minion config file is found, a reasonable effort will be made to save
|
||||||
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
||||||
no ".bak" file will be created as either of those options will force
|
no ".bak" file will be created as either of those options will force
|
||||||
a complete overwrite of the file.
|
a complete overwrite of the file.
|
||||||
|
-J Replace the Master config file with data passed in as a JSON string. If
|
||||||
|
a Master config file is found, a reasonable effort will be made to save
|
||||||
|
the file with a ".bak" extension. If used in conjunction with -C or -F,
|
||||||
|
no ".bak" file will be created as either of those options will force
|
||||||
|
a complete overwrite of the file.
|
||||||
|
-k Temporary directory holding the minion keys which will pre-seed
|
||||||
|
the master.
|
||||||
|
-K If set, keep the temporary files in the temporary directories specified
|
||||||
|
with -c and -k
|
||||||
|
-l Disable ssl checks. When passed, switches "https" calls to "http" where
|
||||||
|
possible.
|
||||||
|
-L Also install salt-cloud and required python-libcloud package
|
||||||
|
-M Also install salt-master
|
||||||
|
-n No colours
|
||||||
|
-N Do not install salt-minion
|
||||||
|
-p Extra-package to install while installing Salt dependencies. One package
|
||||||
|
per -p flag. You are responsible for providing the proper package name.
|
||||||
|
-P Allow pip based installations. On some distributions the required salt
|
||||||
|
packages or its dependencies are not available as a package for that
|
||||||
|
distribution. Using this flag allows the script to use pip as a last
|
||||||
|
resort method. NOTE: This only works for functions which actually
|
||||||
|
implement pip based installations.
|
||||||
-q Quiet salt installation from git (setup.py install -q)
|
-q Quiet salt installation from git (setup.py install -q)
|
||||||
-x Changes the Python version used to install Salt (default: Python 3)
|
|
||||||
Python 2.7 is not longer supported.
|
|
||||||
-Q Quickstart, install the Salt master and the Salt minion.
|
-Q Quickstart, install the Salt master and the Salt minion.
|
||||||
And automatically accept the minion key.
|
And automatically accept the minion key.
|
||||||
|
-R Specify a custom repository URL. Assumes the custom repository URL
|
||||||
|
points to a repository that mirrors Salt packages located at
|
||||||
|
packages.broadcom.com. The option passed with -R replaces the
|
||||||
|
"packages.broadcom.com". If -R is passed, -r is also set. Currently only
|
||||||
|
works on CentOS/RHEL and Debian based distributions and macOS.
|
||||||
|
-s Sleep time used when waiting for daemons to start, restart and when
|
||||||
|
checking for the services running. Default: 3
|
||||||
|
-S Also install salt-syndic
|
||||||
|
-r Disable all repository configuration performed by this script. This
|
||||||
|
option assumes all necessary repository configuration is already present
|
||||||
|
on the system.
|
||||||
|
-U If set, fully upgrade the system prior to bootstrapping Salt
|
||||||
|
-v Display script version
|
||||||
|
-V Install Salt into virtualenv
|
||||||
|
(only available for Ubuntu based distributions)
|
||||||
|
-W Also install salt-api
|
||||||
|
-x Changes the Python version used to install Salt (default: Python 3).
|
||||||
|
Python 2.7 is no longer supported.
|
||||||
|
-X Do not start daemons after installation
|
||||||
|
|
||||||
The Salt Bootstrap script has a wide variety of options that can be passed as
|
The Salt Bootstrap script has a wide variety of options that can be passed as
|
||||||
well as several ways of obtaining the bootstrap script itself. Note that the use of ``sudo``
|
well as several ways of obtaining the bootstrap script itself. Note that the use of ``sudo``
|
||||||
|
@ -207,35 +220,35 @@ If you want to install a package of a specific release version, from the Salt Pr
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -P stable 3006.1
|
sudo sh bootstrap-salt.sh -P stable 3006.1
|
||||||
|
|
||||||
If you want to install a specific release version, based on the Git tags:
|
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.saltproject.io
|
curl -o bootstrap-salt.sh -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh git v3006.1
|
sudo sh bootstrap-salt.sh git v3006.1
|
||||||
|
|
||||||
Using ``curl`` to install latest development version from GitHub:
|
Using ``curl`` to install latest development version from GitHub:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh git master
|
sudo sh bootstrap-salt.sh git master
|
||||||
|
|
||||||
To install a specific branch from a Git fork:
|
To install a specific branch from a Git fork:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -g https://github.com/myuser/salt.git git mybranch
|
sudo sh bootstrap-salt.sh -g https://github.com/myuser/salt.git git mybranch
|
||||||
|
|
||||||
If all you want is to install a ``salt-master`` using latest Git:
|
If all you want is to install a ``salt-master`` using latest Git:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -M -N git master
|
sudo sh bootstrap-salt.sh -M -N git master
|
||||||
|
|
||||||
If your host has Internet access only via HTTP proxy, from the Salt Project repo:
|
If your host has Internet access only via HTTP proxy, from the Salt Project repo:
|
||||||
|
@ -243,7 +256,7 @@ If your host has Internet access only via HTTP proxy, from the Salt Project repo
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
PROXY='http://user:password@myproxy.example.com:3128'
|
PROXY='http://user:password@myproxy.example.com:3128'
|
||||||
curl -o bootstrap-salt.sh -L -x "$PROXY" https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L -x "$PROXY" https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -P -H "$PROXY" stable
|
sudo sh bootstrap-salt.sh -P -H "$PROXY" stable
|
||||||
|
|
||||||
If your host has Internet access only via HTTP proxy, installing via Git:
|
If your host has Internet access only via HTTP proxy, installing via Git:
|
||||||
|
@ -251,7 +264,7 @@ If your host has Internet access only via HTTP proxy, installing via Git:
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
PROXY='http://user:password@myproxy.example.com:3128'
|
PROXY='http://user:password@myproxy.example.com:3128'
|
||||||
curl -o bootstrap-salt.sh -L -x "$PROXY" https://bootstrap.saltproject.io
|
curl -o bootstrap-salt.sh -L -x "$PROXY" https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -H "$PROXY" git
|
sudo sh bootstrap-salt.sh -H "$PROXY" git
|
||||||
|
|
||||||
|
|
||||||
|
@ -262,22 +275,22 @@ Using ``wget`` to install your distribution's stable packages:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
wget -O bootstrap-salt.sh https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh
|
sudo sh bootstrap-salt.sh
|
||||||
|
|
||||||
Installing a specific version from git using ``wget``:
|
Installing a specific version from git using ``wget``:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
wget -O bootstrap-salt.sh https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh git v3004.1
|
sudo sh bootstrap-salt.sh git v3006.8
|
||||||
|
|
||||||
Installing a specific version package from the Salt Project repo using ``wget``:
|
Installing a specific version package from the Salt Project repo using ``wget``:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
wget -O bootstrap-salt.sh https://bootstrap.saltproject.io
|
wget -O bootstrap-salt.sh https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -P stable 3006.1
|
sudo sh bootstrap-salt.sh -P stable 3006.8
|
||||||
|
|
||||||
**NOTE**
|
**NOTE**
|
||||||
|
|
||||||
|
@ -292,14 +305,14 @@ If you already have Python installed, ``python 3.10``, then it's as easy as:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
python -m urllib "https://bootstrap.saltproject.io" > bootstrap-salt.sh
|
python -m urllib "https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh" > bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh -P stable 3006.1
|
sudo sh bootstrap-salt.sh -P stable 3006.1
|
||||||
|
|
||||||
With python version 3:
|
With python version 3:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
python3 -c 'import urllib.request; print(urllib.request.urlopen("https://bootstrap.saltproject.io").read().decode("ascii"))' > bootstrap-salt.sh
|
python3 -c 'import urllib.request; print(urllib.request.urlopen("https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh").read().decode("ascii"))' > bootstrap-salt.sh
|
||||||
sudo sh bootstrap-salt.sh git v3006.1
|
sudo sh bootstrap-salt.sh git v3006.1
|
||||||
|
|
||||||
Note: Python 2.x is no longer supported given it reached it's End-Of-Life Jan. 1st, 2020
|
Note: Python 2.x is no longer supported given it reached it's End-Of-Life Jan. 1st, 2020
|
||||||
|
@ -322,25 +335,25 @@ Installing the latest stable release of Salt (default):
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -L https://bootstrap.saltproject.io | sudo sh
|
curl -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh | sudo sh
|
||||||
|
|
||||||
Using ``wget`` to install your distribution's stable packages:
|
Using ``wget`` to install your distribution's stable packages:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
wget -O - https://bootstrap.saltproject.io | sudo sh
|
wget -O - https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh | sudo sh
|
||||||
|
|
||||||
Installing a target version package of Salt from the Salt Project repo:
|
Installing a target version package of Salt from the Salt Project repo:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -L https://bootstrap.saltproject.io | sudo sh -s -- stable 3006.8
|
curl -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh | sudo sh -s -- stable 3006.8
|
||||||
|
|
||||||
Installing the latest master branch of Salt from git:
|
Installing the latest master branch of Salt from git:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -L https://bootstrap.saltproject.io | sudo sh -s -- git master
|
curl -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh | sudo sh -s -- git master
|
||||||
|
|
||||||
Note: use of git is recommended for development environments, for example: testing new features of
|
Note: use of git is recommended for development environments, for example: testing new features of
|
||||||
Salt which have not yet been released.
|
Salt which have not yet been released.
|
||||||
|
@ -355,9 +368,8 @@ Using ``PowerShell`` to install latest stable version:
|
||||||
.. code:: powershell
|
.. code:: powershell
|
||||||
|
|
||||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
|
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
|
||||||
Invoke-WebRequest -Uri https://winbootstrap.saltproject.io -OutFile "$env:TEMP\bootstrap-salt.ps1"
|
Invoke-WebRequest -Uri https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.ps1 -OutFile "$env:TEMP\bootstrap-salt.ps1"
|
||||||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser & "$env:TEMP\bootstrap-salt.ps1"
|
||||||
& "$env:TEMP\bootstrap-salt.ps1"
|
|
||||||
|
|
||||||
Display information about the install script parameters:
|
Display information about the install script parameters:
|
||||||
|
|
||||||
|
@ -369,7 +381,7 @@ Using ``cygwin`` to install latest stable version:
|
||||||
|
|
||||||
.. code:: console
|
.. code:: console
|
||||||
|
|
||||||
curl -o bootstrap-salt.ps1 -L https://winbootstrap.saltproject.io
|
curl -o bootstrap-salt.ps1 -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.ps1
|
||||||
"/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ./bootstrap-salt.ps1"
|
"/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ./bootstrap-salt.ps1"
|
||||||
|
|
||||||
|
|
||||||
|
@ -379,13 +391,13 @@ 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
|
`Salt's Supported Operating Systems
|
||||||
<https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html>`_
|
<https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html>`_
|
||||||
document, (BSD-based OSs, Solaris and AIX are no longer
|
document, (BSD-based OSs, Solaris and AIX are no longer supported).
|
||||||
supported). The operating systems listed below should reflect this document but may become out of
|
The operating systems listed below should reflect this document but may become out of date.
|
||||||
date. If an operating system is listed below, but is not listed on the official supported operating
|
If an operating system is listed below, but is not listed on the official supported operating
|
||||||
systems document, the level of support is "best-effort".
|
systems document, the level of support is "best-effort".
|
||||||
|
|
||||||
Since Salt is written in Python, the packages available from the `Salt Project's repository
|
Since Salt is written in Python, the packages available from the `Salt Project's repository
|
||||||
<https://repo.saltproject.io/salt/py3>`_ are
|
<packages.broadcom.com>`_ are
|
||||||
CPU architecture independent and could be installed on any hardware supported by Linux kernel.
|
CPU architecture independent and could be installed on any hardware supported by Linux kernel.
|
||||||
However, the Salt Project does package Salt's binary dependencies only for ``x86_64`` (``amd64``)
|
However, the Salt Project does package Salt's binary dependencies only for ``x86_64`` (``amd64``)
|
||||||
and ``AArch64`` (``arm64``).
|
and ``AArch64`` (``arm64``).
|
||||||
|
|
|
@ -39,7 +39,8 @@
|
||||||
Salt Bootstrap GitHub Project (script home) - https://github.com/saltstack/salt-bootstrap
|
Salt Bootstrap GitHub Project (script home) - https://github.com/saltstack/salt-bootstrap
|
||||||
Original Vagrant Provisioner Project - https://github.com/saltstack/salty-vagrant
|
Original Vagrant Provisioner Project - https://github.com/saltstack/salty-vagrant
|
||||||
Vagrant Project (utilizes this script) - https://github.com/mitchellh/vagrant
|
Vagrant Project (utilizes this script) - https://github.com/mitchellh/vagrant
|
||||||
Salt Download Location - https://repo.saltproject.io/salt/py3/windows
|
Salt Download Location - https://packages.broadcom.com/artifactory/saltproject-generic/windows/
|
||||||
|
Salt Manual Install Directions (Windows) - https://docs.saltproject.io/salt/install-guide/en/latest/topics/install-by-operating-system/windows.html
|
||||||
#>
|
#>
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
@ -107,7 +108,7 @@ if ($help) {
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
$__ScriptVersion = "2024.11.21"
|
$__ScriptVersion = "2024.11.26"
|
||||||
$ScriptName = $myInvocation.MyCommand.Name
|
$ScriptName = $myInvocation.MyCommand.Name
|
||||||
|
|
||||||
# We'll check for the Version next, because it also has no requirements
|
# We'll check for the Version next, because it also has no requirements
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#======================================================================================================================
|
#======================================================================================================================
|
||||||
set -o nounset # Treat unset variables as an error
|
set -o nounset # Treat unset variables as an error
|
||||||
|
|
||||||
__ScriptVersion="2024.11.21"
|
__ScriptVersion="2024.11.26"
|
||||||
__ScriptName="bootstrap-salt.sh"
|
__ScriptName="bootstrap-salt.sh"
|
||||||
|
|
||||||
__ScriptFullName="$0"
|
__ScriptFullName="$0"
|
||||||
|
@ -544,8 +544,8 @@ __exit_cleanup() {
|
||||||
echodebug "Cleaning up the Salt Temporary Git Repository"
|
echodebug "Cleaning up the Salt Temporary Git Repository"
|
||||||
# shellcheck disable=SC2164
|
# shellcheck disable=SC2164
|
||||||
cd "${__SALT_GIT_CHECKOUT_PARENT_DIR}"
|
cd "${__SALT_GIT_CHECKOUT_PARENT_DIR}"
|
||||||
rm -rf "${_SALT_GIT_CHECKOUT_DIR}"
|
rm -fR "${_SALT_GIT_CHECKOUT_DIR}"
|
||||||
#rm -rf "${_SALT_GIT_CHECKOUT_DIR}/deps"
|
#rm -fR "${_SALT_GIT_CHECKOUT_DIR}/deps"
|
||||||
else
|
else
|
||||||
echowarn "Not cleaning up the Salt Temporary git repository on request"
|
echowarn "Not cleaning up the Salt Temporary git repository on request"
|
||||||
echowarn "Note that if you intend to re-run this script using the git approach, you might encounter some issues"
|
echowarn "Note that if you intend to re-run this script using the git approach, you might encounter some issues"
|
||||||
|
@ -2093,6 +2093,7 @@ __tdnf_install_noinput() {
|
||||||
# DESCRIPTION: (DRY) Helper function to clone and checkout salt to a
|
# DESCRIPTION: (DRY) Helper function to clone and checkout salt to a
|
||||||
# specific revision.
|
# specific revision.
|
||||||
#----------------------------------------------------------------------------------------------------------------------
|
#----------------------------------------------------------------------------------------------------------------------
|
||||||
|
# shellcheck disable=SC2120
|
||||||
__git_clone_and_checkout() {
|
__git_clone_and_checkout() {
|
||||||
|
|
||||||
echodebug "Installed git version: $(git --version | awk '{ print $3 }')"
|
echodebug "Installed git version: $(git --version | awk '{ print $3 }')"
|
||||||
|
@ -2101,6 +2102,12 @@ __git_clone_and_checkout() {
|
||||||
export GIT_SSL_NO_VERIFY=1
|
export GIT_SSL_NO_VERIFY=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$(echo "$GIT_REV" | grep -E '^(3006|3007)$')" != "" ]; then
|
||||||
|
GIT_REV_ADJ="$GIT_REV.x" # branches are 3006.x or 3007.x
|
||||||
|
else
|
||||||
|
GIT_REV_ADJ="$GIT_REV"
|
||||||
|
fi
|
||||||
|
|
||||||
__SALT_GIT_CHECKOUT_PARENT_DIR=$(dirname "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)
|
__SALT_GIT_CHECKOUT_PARENT_DIR=$(dirname "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)
|
||||||
__SALT_GIT_CHECKOUT_PARENT_DIR="${__SALT_GIT_CHECKOUT_PARENT_DIR:-/tmp/git}"
|
__SALT_GIT_CHECKOUT_PARENT_DIR="${__SALT_GIT_CHECKOUT_PARENT_DIR:-/tmp/git}"
|
||||||
__SALT_CHECKOUT_REPONAME="$(basename "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)"
|
__SALT_CHECKOUT_REPONAME="$(basename "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)"
|
||||||
|
@ -2129,15 +2136,15 @@ __git_clone_and_checkout() {
|
||||||
git fetch --tags upstream
|
git fetch --tags upstream
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echodebug "Hard reseting the cloned repository to ${GIT_REV}"
|
echodebug "Hard reseting the cloned repository to ${GIT_REV_ADJ}"
|
||||||
git reset --hard "$GIT_REV" || return 1
|
git reset --hard "$GIT_REV_ADJ" || return 1
|
||||||
|
|
||||||
# Just calling `git reset --hard $GIT_REV` on a branch name that has
|
# Just calling `git reset --hard $GIT_REV_ADJ` on a branch name that has
|
||||||
# already been checked out will not update that branch to the upstream
|
# already been checked out will not update that branch to the upstream
|
||||||
# HEAD; instead it will simply reset to itself. Check the ref to see
|
# HEAD; instead it will simply reset to itself. Check the ref to see
|
||||||
# if it is a branch name, check out the branch, and pull in the
|
# if it is a branch name, check out the branch, and pull in the
|
||||||
# changes.
|
# changes.
|
||||||
if git branch -a | grep -q "${GIT_REV}"; then
|
if git branch -a | grep -q "${GIT_REV_ADJ}"; then
|
||||||
echodebug "Rebasing the cloned repository branch"
|
echodebug "Rebasing the cloned repository branch"
|
||||||
git pull --rebase || return 1
|
git pull --rebase || return 1
|
||||||
fi
|
fi
|
||||||
|
@ -2159,16 +2166,16 @@ __git_clone_and_checkout() {
|
||||||
# cloning we need actually works
|
# cloning we need actually works
|
||||||
if [ "$(git clone 2>&1 | grep 'single-branch')" != "" ]; then
|
if [ "$(git clone 2>&1 | grep 'single-branch')" != "" ]; then
|
||||||
# The "--single-branch" option is supported, attempt shallow cloning
|
# The "--single-branch" option is supported, attempt shallow cloning
|
||||||
echoinfo "Attempting to shallow clone $GIT_REV from Salt's repository ${_SALT_REPO_URL}"
|
echoinfo "Attempting to shallow clone $GIT_REV_ADJ from Salt's repository ${_SALT_REPO_URL}"
|
||||||
## Shallow cloning is resulting in the wrong version of Salt, even with a depth of 5
|
## Shallow cloning is resulting in the wrong version of Salt, even with a depth of 5
|
||||||
## getting 3007.0+0na.246d066 when it should be 3007.1+410.g246d066457, disabling for now
|
## getting 3007.0+0na.246d066 when it should be 3007.1+410.g246d066457, disabling for now
|
||||||
## if git clone --depth 1 --branch "$GIT_REV" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
## if git clone --depth 1 --branch "$GIT_REV_ADJ" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
||||||
echodebug "git command, git clone --branch $GIT_REV $_SALT_REPO_URL $__SALT_CHECKOUT_REPONAME"
|
echodebug "git command, git clone --branch $GIT_REV_ADJ $_SALT_REPO_URL $__SALT_CHECKOUT_REPONAME"
|
||||||
if git clone --branch "$GIT_REV" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
if git clone --branch "$GIT_REV_ADJ" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
||||||
# shellcheck disable=SC2164
|
# shellcheck disable=SC2164
|
||||||
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
||||||
__SHALLOW_CLONE=$BS_TRUE
|
__SHALLOW_CLONE=$BS_TRUE
|
||||||
echoinfo "shallow path (disabled shallow) git cloned $GIT_REV, version $(python3 salt/version.py)"
|
echoinfo "shallow path (disabled shallow) git cloned $GIT_REV_ADJ, version $(python3 salt/version.py)"
|
||||||
else
|
else
|
||||||
# Shallow clone above failed(missing upstream tags???), let's resume the old behaviour.
|
# Shallow clone above failed(missing upstream tags???), let's resume the old behaviour.
|
||||||
echowarn "Failed to shallow clone."
|
echowarn "Failed to shallow clone."
|
||||||
|
@ -2187,7 +2194,7 @@ __git_clone_and_checkout() {
|
||||||
# shellcheck disable=SC2164
|
# shellcheck disable=SC2164
|
||||||
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
||||||
|
|
||||||
echoinfo "git cloned $GIT_REV, version $(python3 salt/version.py)"
|
echoinfo "git cloned $GIT_REV_ADJ, version $(python3 salt/version.py)"
|
||||||
|
|
||||||
if ! echo "$_SALT_REPO_URL" | grep -q -F -w "${_SALTSTACK_REPO_URL#*://}"; then
|
if ! echo "$_SALT_REPO_URL" | grep -q -F -w "${_SALTSTACK_REPO_URL#*://}"; then
|
||||||
# We need to add the saltstack repository as a remote and fetch tags for proper versioning
|
# We need to add the saltstack repository as a remote and fetch tags for proper versioning
|
||||||
|
@ -2197,14 +2204,14 @@ __git_clone_and_checkout() {
|
||||||
echodebug "Fetching upstream (SaltStack's Salt repository) git tags"
|
echodebug "Fetching upstream (SaltStack's Salt repository) git tags"
|
||||||
git fetch --tags upstream || return 1
|
git fetch --tags upstream || return 1
|
||||||
|
|
||||||
# Check if GIT_REV is a remote branch or just a commit hash
|
# Check if GIT_REV_ADJ is a remote branch or just a commit hash
|
||||||
if git branch -r | grep -q -F -w "origin/$GIT_REV"; then
|
if git branch -r | grep -q -F -w "origin/$GIT_REV_ADJ"; then
|
||||||
GIT_REV="origin/$GIT_REV"
|
GIT_REV_ADJ="origin/$GIT_REV_ADJ"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echodebug "Checking out $GIT_REV"
|
echodebug "Checking out $GIT_REV_ADJ"
|
||||||
git checkout "$GIT_REV" || return 1
|
git checkout "$GIT_REV_ADJ" || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -2800,12 +2807,23 @@ EOM
|
||||||
if [ ${DISTRO_NAME_L} = "ubuntu" ] && [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then
|
if [ ${DISTRO_NAME_L} = "ubuntu" ] && [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then
|
||||||
echodebug "Ubuntu 22.04 has problem with base.txt requirements file, not parsing sys_platform == 'win32', upgrading from default pip works"
|
echodebug "Ubuntu 22.04 has problem with base.txt requirements file, not parsing sys_platform == 'win32', upgrading from default pip works"
|
||||||
echodebug "${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --upgrade pip"
|
echodebug "${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --upgrade pip"
|
||||||
${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --upgrade pip || (echo "Failed to upgrade pip" && return 1)
|
${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --upgrade pip
|
||||||
|
# shellcheck disable=SC2181
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to upgrade pip"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echoinfo "Downloading Salt Dependencies from PyPi"
|
echoinfo "Downloading Salt Dependencies from PyPi"
|
||||||
echodebug "Running '${_pip_cmd} download -d /tmp/git/deps ${_PIP_DOWNLOAD_ARGS} .'"
|
echodebug "Running '${_pip_cmd} download -d /tmp/git/deps ${_PIP_DOWNLOAD_ARGS} .'"
|
||||||
${_pip_cmd} download -d /tmp/git/deps ${_PIP_DOWNLOAD_ARGS} . || (echo "Failed to download salt dependencies" && return 1)
|
${_pip_cmd} download -d /tmp/git/deps ${_PIP_DOWNLOAD_ARGS} .
|
||||||
|
# shellcheck disable=SC2181
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to download salt dependencies"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echoinfo "Installing Downloaded Salt Dependencies"
|
echoinfo "Installing Downloaded Salt Dependencies"
|
||||||
echodebug "Running '${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --ignore-installed ${_PIP_INSTALL_ARGS} /tmp/git/deps/*'"
|
echodebug "Running '${_pip_cmd} install ${_USE_BREAK_SYSTEM_PACKAGES} --ignore-installed ${_PIP_INSTALL_ARGS} /tmp/git/deps/*'"
|
||||||
|
@ -3119,7 +3137,7 @@ install_ubuntu_deps() {
|
||||||
# Additionally install procps and pciutils which allows for Docker bootstraps. See 366#issuecomment-39666813
|
# Additionally install procps and pciutils which allows for Docker bootstraps. See 366#issuecomment-39666813
|
||||||
__PACKAGES="${__PACKAGES} procps pciutils"
|
__PACKAGES="${__PACKAGES} procps pciutils"
|
||||||
|
|
||||||
# ensure sudo installed
|
# ensure sudo, ps installed
|
||||||
__PACKAGES="${__PACKAGES} sudo"
|
__PACKAGES="${__PACKAGES} sudo"
|
||||||
|
|
||||||
## include hwclock if not part of base OS (23.10 and up)
|
## include hwclock if not part of base OS (23.10 and up)
|
||||||
|
@ -3188,6 +3206,7 @@ install_ubuntu_git_deps() {
|
||||||
__apt_get_install_noinput ca-certificates
|
__apt_get_install_noinput ca-certificates
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
||||||
|
@ -3205,6 +3224,9 @@ install_ubuntu_git_deps() {
|
||||||
__PACKAGES="${__PACKAGES} util-linux-extra"
|
__PACKAGES="${__PACKAGES} util-linux-extra"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Additionally install procps and pciutils which allows for Docker bootstraps. See 366#issuecomment-39666813
|
||||||
|
__PACKAGES="${__PACKAGES} procps pciutils"
|
||||||
|
|
||||||
# ensure sudo installed
|
# ensure sudo installed
|
||||||
__PACKAGES="${__PACKAGES} sudo"
|
__PACKAGES="${__PACKAGES} sudo"
|
||||||
|
|
||||||
|
@ -3642,6 +3664,7 @@ install_debian_git_deps() {
|
||||||
__apt_get_install_noinput ca-certificates
|
__apt_get_install_noinput ca-certificates
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
||||||
|
@ -3652,6 +3675,9 @@ install_debian_git_deps() {
|
||||||
__PACKAGES="python${PY_PKG_VER}-dev python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc"
|
__PACKAGES="python${PY_PKG_VER}-dev python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc"
|
||||||
echodebug "install_debian_git_deps() Installing ${__PACKAGES}"
|
echodebug "install_debian_git_deps() Installing ${__PACKAGES}"
|
||||||
|
|
||||||
|
# Additionally install procps and pciutils which allows for Docker bootstraps. See 366#issuecomment-39666813
|
||||||
|
__PACKAGES="${__PACKAGES} procps pciutils"
|
||||||
|
|
||||||
# ensure sudo installed
|
# ensure sudo installed
|
||||||
__PACKAGES="${__PACKAGES} sudo"
|
__PACKAGES="${__PACKAGES} sudo"
|
||||||
|
|
||||||
|
@ -3987,6 +4013,7 @@ install_fedora_git_deps() {
|
||||||
__PACKAGES=""
|
__PACKAGES=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
__PACKAGES="python${PY_PKG_VER}-devel python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc gcc-c++"
|
__PACKAGES="python${PY_PKG_VER}-devel python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc gcc-c++"
|
||||||
|
@ -4397,6 +4424,7 @@ install_centos_git_deps() {
|
||||||
__yum_install_noinput git || return 1
|
__yum_install_noinput git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
__PACKAGES=""
|
__PACKAGES=""
|
||||||
|
@ -5442,6 +5470,7 @@ install_alpine_linux_git_deps() {
|
||||||
apk -U add git || return 1
|
apk -U add git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
apk -U add python3 python3-dev py3-pip py3-setuptools g++ linux-headers zeromq-dev openrc || return 1
|
apk -U add python3 python3-dev py3-pip py3-setuptools g++ linux-headers zeromq-dev openrc || return 1
|
||||||
|
@ -5608,6 +5637,7 @@ install_amazon_linux_ami_2_git_deps() {
|
||||||
__yum_install_noinput git || return 1
|
__yum_install_noinput git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
__PACKAGES="python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools python${PY_PKG_VER}-devel gcc"
|
__PACKAGES="python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools python${PY_PKG_VER}-devel gcc"
|
||||||
|
@ -5827,6 +5857,7 @@ install_amazon_linux_ami_2023_git_deps() {
|
||||||
__yum_install_noinput git || return 1
|
__yum_install_noinput git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
__PACKAGES="python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools python${PY_PKG_VER}-devel gcc"
|
__PACKAGES="python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools python${PY_PKG_VER}-devel gcc"
|
||||||
|
@ -6014,6 +6045,7 @@ install_arch_linux_git_deps() {
|
||||||
pacman -Sy --noconfirm --needed git || return 1
|
pacman -Sy --noconfirm --needed git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 2 ]; then
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 2 ]; then
|
||||||
|
@ -6397,6 +6429,7 @@ install_photon_git_deps() {
|
||||||
__PACKAGES=""
|
__PACKAGES=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
__PACKAGES="python${PY_PKG_VER}-devel python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc glibc-devel linux-devel.x86_64 cython${PY_PKG_VER}"
|
__PACKAGES="python${PY_PKG_VER}-devel python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc glibc-devel linux-devel.x86_64 cython${PY_PKG_VER}"
|
||||||
|
@ -6756,6 +6789,7 @@ install_opensuse_git_deps() {
|
||||||
__zypper_install git || return 1
|
__zypper_install git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
# Check for Tumbleweed
|
# Check for Tumbleweed
|
||||||
|
@ -6990,6 +7024,7 @@ install_opensuse_15_git_deps() {
|
||||||
__zypper_install git || return 1
|
__zypper_install git || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -ne 3 ]; then
|
||||||
|
@ -7245,6 +7280,7 @@ install_gentoo_git_deps() {
|
||||||
echoinfo "Running emerge -v1 setuptools"
|
echoinfo "Running emerge -v1 setuptools"
|
||||||
__emerge -v1 setuptools || return 1
|
__emerge -v1 setuptools || return 1
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
__gentoo_post_dep || return 1
|
__gentoo_post_dep || return 1
|
||||||
}
|
}
|
||||||
|
@ -7613,6 +7649,7 @@ install_macosx_git_deps() {
|
||||||
# Install PIP
|
# Install PIP
|
||||||
$_PYEXE /tmp/get-pip.py || return 1
|
$_PYEXE /tmp/get-pip.py || return 1
|
||||||
|
|
||||||
|
# shellcheck disable=SC2119
|
||||||
__git_clone_and_checkout || return 1
|
__git_clone_and_checkout || return 1
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
@ -8149,6 +8186,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
if [ "${ITYPE}" = "git" ] && [ ${_NO_DEPS} -eq ${BS_TRUE} ]; then
|
if [ "${ITYPE}" = "git" ] && [ ${_NO_DEPS} -eq ${BS_TRUE} ]; then
|
||||||
|
# shellcheck disable=SC2119
|
||||||
if ! __git_clone_and_checkout; then
|
if ! __git_clone_and_checkout; then
|
||||||
echo "Failed to clone and checkout git repository."
|
echo "Failed to clone and checkout git repository."
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -29,10 +29,6 @@ def run_salt_call(cmd):
|
||||||
if platform.system() == "Windows":
|
if platform.system() == "Windows":
|
||||||
cmd.append("--out=json")
|
cmd.append("--out=json")
|
||||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||||
print(
|
|
||||||
f"DGM run_salt_call, cmd '{cmd}', result '{result}', stdout '{result.stdout}'",
|
|
||||||
flush=True,
|
|
||||||
)
|
|
||||||
if 0 == result.returncode:
|
if 0 == result.returncode:
|
||||||
json_data = json.loads(result.stdout)
|
json_data = json.loads(result.stdout)
|
||||||
else:
|
else:
|
||||||
|
@ -43,10 +39,6 @@ def run_salt_call(cmd):
|
||||||
cmdl.extend(cmd)
|
cmdl.extend(cmd)
|
||||||
cmdl.append("--out=json")
|
cmdl.append("--out=json")
|
||||||
result = subprocess.run(cmdl, capture_output=True, text=True)
|
result = subprocess.run(cmdl, capture_output=True, text=True)
|
||||||
print(
|
|
||||||
f"DGM run_salt_call, cmdl '{cmdl}', result '{result}', stdout '{result.stdout}'",
|
|
||||||
flush=True,
|
|
||||||
)
|
|
||||||
if 0 == result.returncode:
|
if 0 == result.returncode:
|
||||||
json_data = json.loads(result.stdout)
|
json_data = json.loads(result.stdout)
|
||||||
else:
|
else:
|
||||||
|
@ -74,10 +66,6 @@ def test_target_salt_version(path, target_salt_version):
|
||||||
pytest.skip(f"No target version specified")
|
pytest.skip(f"No target version specified")
|
||||||
cmd = ["salt-call", "--local", "grains.item", "saltversion", "--timeout=120"]
|
cmd = ["salt-call", "--local", "grains.item", "saltversion", "--timeout=120"]
|
||||||
result = run_salt_call(cmd)
|
result = run_salt_call(cmd)
|
||||||
dgm_saltversion = result["saltversion"]
|
|
||||||
print(
|
|
||||||
f"DGM test_target_salt_version, target_salt_version '{target_salt_version}', result saltversion '{dgm_saltversion }', result '{result}'",
|
|
||||||
flush=True,
|
|
||||||
)
|
|
||||||
# Returns: {'saltversion': '3006.9+217.g53cfa53040'}
|
# Returns: {'saltversion': '3006.9+217.g53cfa53040'}
|
||||||
assert result["saltversion"] == target_salt_version
|
adj_saltversion = result["saltversion"].split("+")[0]
|
||||||
|
assert adj_saltversion == target_salt_version
|
||||||
|
|
Loading…
Add table
Reference in a new issue