FreeBSD packages use `/usr/local/etc/salt`. Modify the Salt `etc/`
location early so that all config is written to the correct location.
Tested using the following DigitalOcean images:
freebsd-11-0-x64
freebsd-10-3-x64
freebsd-10-1-x64
This change makes provisioning OpenBSD 6.0-release fully functional
using salt-cloud.
Mirror Selection
----------------
* Address fixme: use mirrors from /etc/examples/pkg.conf instead of
fetching a web page
* Bugfix: return an answer if the first mirror is the fastest
* Bugfix: avoid manually formatting package source path
Service Management
------------------
* Cleanup: rely on rc.d files installed by the salt package
* Cleanup: no longer any reason to run sed on rc.d files
* Modernize: use rcctl to check existing configuration
* Modernize: use rcctl to enable and start services
Package Installation
--------------------
* Cleanup: use salt package maintained by OpenBSD project
* Bugfix: eliminate package conflicts introduced by `pip install`
this change adds Cumulus Linux 2.x and 3.x as proper Debian derivatives. Cumulus Linux maintains a separate repo that does not contain all of the salt dependencies. The user will still be required to point their system to a global Debian repo for this to execute successfully.
Fixes#764
When installing salt via git on SmartOS, salt commands would fail
because the required version of python futures wasn't installed.
We need to add a "pip install -U futures" call (triggered by passing
in -P) to the SmartOS git installation like we do for the required
version of tornado.
Also, relax the search for systemsmanagement_saltstack before
attempting to add and refresh the zypper repo list. When running
the bootstrap script on a Suse machine that already had the repo
present, we were failing the strict check, and then attempting
to add the repo even though it already existed. This would cause
the bootstrap script to exit and you couldn't try to install Salt
at a different version or try to run the script again.
Fixes#962
Fixes#941
If we detect an older service pack when installing Salt on SLES,
we should warn the user that we'll attempt to install SP4 Salt
packages, and then attempt to do so.
repo.saltstack.com pegs the SLE 11 repo at SP4, as does SUSE, so
we should attempt to install those instead of failing like this:
```
File '/opensuse/SLE_11_SP3/systemsmanagement:saltstack.repo' not found on medium 'https://repo.saltstack.com/'
```