2013-01-25 21:26:19 +00:00
|
|
|
==================
|
2012-11-29 05:04:36 +00:00
|
|
|
Bootstrapping Salt
|
|
|
|
==================
|
|
|
|
|
2013-02-07 07:57:57 +00:00
|
|
|
Before `Salt`_ can be used for provisioning on the desired machine, the binaries need to be
|
|
|
|
installed. Since `Salt`_ supports many different distributions and versions of operating systems,
|
|
|
|
the `Salt`_ installation process is handled by this shell script ``bootstrap-salt.sh``. This
|
|
|
|
script runs through a series of checks to determine operating system type and version to then
|
|
|
|
install the `Salt`_ binaries using the appropriate methods.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
One Line Bootstrap
|
|
|
|
------------------
|
|
|
|
|
|
|
|
If you're looking for the *one-liner* to install salt...
|
|
|
|
|
|
|
|
For example, using ``curl`` to install latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2013-01-27 18:20:24 +00:00
|
|
|
curl -L http://bootstrap.saltstack.org | sudo sh -s -- git develop
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
|
2013-01-29 13:38:57 +00:00
|
|
|
If you have certificate issues using ``curl``, try the following:
|
2013-01-29 13:30:12 +00:00
|
|
|
|
2013-01-29 13:38:57 +00:00
|
|
|
.. code:: console
|
2013-01-29 13:30:12 +00:00
|
|
|
|
2013-01-29 13:38:57 +00:00
|
|
|
curl --insecure -L http://bootstrap.saltstack.org | sudo sh -s -- git develop
|
2013-01-29 13:30:12 +00:00
|
|
|
|
2013-01-29 13:17:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
Using ``wget`` to install your distribution's stable packages:
|
2012-11-29 05:35:49 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
wget -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
If you have certificate issues using ``wget`` try the following:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
wget --no-check-certificate -O - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
|
2013-01-29 19:34:38 +00:00
|
|
|
If you already have python installed, ``python 2.6``, then it's as easy as:
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
2013-01-27 18:20:24 +00:00
|
|
|
python -m urllib "http://bootstrap.saltstack.org" | sudo sh -s -- git develop
|
2012-12-05 01:34:38 +00:00
|
|
|
|
|
|
|
|
2013-01-29 19:34:38 +00:00
|
|
|
All python versions should support the following one liner:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
python -c 'import urllib; print urllib.urlopen("http://bootstrap.saltstack.org").read()' | \
|
|
|
|
sudo sh -s -- git develop
|
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
On a FreeBSD base system you usually don't have either of the above binaries available. You **do**
|
|
|
|
have ``fetch`` available though:
|
2013-01-22 17:06:50 +00:00
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
fetch -o - http://bootstrap.saltstack.org | sudo sh
|
|
|
|
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
|
2013-01-25 23:48:00 +00:00
|
|
|
If all you want is to install a ``salt-master`` using latest git:
|
|
|
|
|
|
|
|
.. code:: console
|
|
|
|
|
|
|
|
curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M -N git develop
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
Adding support for other operating systems
|
|
|
|
------------------------------------------
|
|
|
|
In order to install salt for a distribution you need to define:
|
|
|
|
|
2012-11-29 05:35:49 +00:00
|
|
|
1. To Install Dependencies, which is required, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_deps
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_deps
|
|
|
|
install_<distro>_<major_version>_deps
|
|
|
|
install_<distro>_<major_version>_<minor_version>_deps
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<install_type>_deps
|
|
|
|
install_<distro>_deps
|
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
2. Optionally, define a minion configuration function, which will be called if the
|
|
|
|
``-c|config-dir`` option is passed. One of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
config_<distro>_<major_version>_<install_type>_salt
|
|
|
|
config_<distro>_<major_version>_<minor_version>_<install_type>_salt
|
|
|
|
config_<distro>_<major_version>_salt
|
|
|
|
config_<distro>_<major_version>_<minor_version>_salt
|
|
|
|
config_<distro>_<install_type>_salt
|
|
|
|
config_<distro>_salt
|
|
|
|
config_salt [THIS ONE IS ALREADY DEFINED AS THE DEFAULT]
|
2012-11-29 05:18:43 +00:00
|
|
|
|
|
|
|
|
2013-01-22 17:09:50 +00:00
|
|
|
3. To install salt, which, of course, is required, one of:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>
|
2013-01-22 17:09:50 +00:00
|
|
|
install_<distro>_<install_type>
|
|
|
|
|
|
|
|
|
2013-02-11 22:26:33 +00:00
|
|
|
4. Optionally, define a post install function, one of:
|
2012-11-29 05:30:48 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
2012-11-29 05:23:55 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_post
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_post
|
|
|
|
install_<distro>_<major_version>_post
|
|
|
|
install_<distro>_<major_version>_<minor_version>_post
|
2012-11-29 05:18:43 +00:00
|
|
|
install_<distro>_<install_type>_post
|
|
|
|
install_<distro>_post
|
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-02-11 22:26:33 +00:00
|
|
|
5. Optionally, define a start daemons function, one of:
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_<distro>_<major_version>_<install_type>_start_daemons
|
|
|
|
install_<distro>_<major_version>_<minor_version>_<install_type>_start_daemons
|
|
|
|
install_<distro>_<major_version>_start_daemons
|
|
|
|
install_<distro>_<major_version>_<minor_version>_start_daemons
|
2013-02-11 22:26:33 +00:00
|
|
|
install_<distro>_<install_type>_start_daemons
|
|
|
|
install_<distro>_start_daemons
|
|
|
|
|
|
|
|
|
|
|
|
.. admonition:: Attention!
|
|
|
|
|
|
|
|
The start daemons function should be able to restart any daemons which are running, or start if
|
|
|
|
they're not running.
|
|
|
|
|
|
|
|
|
2013-02-11 22:36:05 +00:00
|
|
|
----
|
2013-02-11 22:26:33 +00:00
|
|
|
|
2012-11-29 05:04:36 +00:00
|
|
|
Below is an example for Ubuntu Oneiric:
|
|
|
|
|
2012-11-29 05:27:54 +00:00
|
|
|
.. code:: bash
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_ubuntu_11_10_deps() {
|
2012-11-29 05:23:55 +00:00
|
|
|
apt-get update
|
|
|
|
apt-get -y install python-software-properties
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
add-apt-repository -y ppa:saltstack/salt
|
|
|
|
}
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
install_ubuntu_11_10_post() {
|
2012-11-29 05:39:43 +00:00
|
|
|
add-apt-repository -y --remove 'deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe'
|
2012-11-29 05:23:55 +00:00
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2012-11-29 05:23:55 +00:00
|
|
|
install_ubuntu_stable() {
|
|
|
|
apt-get -y install salt-minion
|
|
|
|
}
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
Since there is no ``install_ubuntu_11_10_stable()`` it defaults to the unspecified version script.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
2013-02-12 21:12:57 +00:00
|
|
|
The bootstrapping script must be plain POSIX sh only, **not** bash or another shell script. By
|
|
|
|
design the targeting for each operating system and version is very specific. Assumptions of
|
|
|
|
supported versions or variants should not be made, to avoid failed or broken installations.
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
Supported Operating Systems
|
|
|
|
---------------------------
|
|
|
|
- Ubuntu 10.x/11.x/12.x
|
|
|
|
- Debian 6.x
|
2013-01-27 18:20:24 +00:00
|
|
|
- CentOS 5/6
|
|
|
|
- Red Hat 5/6
|
|
|
|
- Red Hat Enterprise 5/6
|
2012-11-29 05:04:36 +00:00
|
|
|
- Fedora
|
|
|
|
- Arch
|
|
|
|
- FreeBSD 9.0
|
2013-01-27 23:35:10 +00:00
|
|
|
- SmartOS
|
2012-11-29 05:04:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-29 05:12:18 +00:00
|
|
|
.. _`Salt`: http://saltstack.org/
|
2012-11-29 05:39:43 +00:00
|
|
|
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et
|