Mimicking the breakout of requirements files in the main project,
this allows me to keep a file of extra requirements that get put in the
esky (e.g. halite) while only needing to point the build process at
either the zeromq or raet requirements file.
On our RHEL5 systems we're getting 2 and sometimes 3 or more salt-minions started. Somehow the check on /var/run/salt-minion.pid doesn't prevent this.
This patch stops the registered process and kills any further salt-minion processes, first trying -TERM and then -KILL signals.
It may be that other distros would like to use this same logic to tidy up, in which case the new code can be moved into place as appropriate.
This fixes an issue @njones11 was having with
multiple cron.present states.
"crontab -l <username>" would fail, so the temp file
would be empty, a given cronjob would go in
and then the "su - <username> crontab <temp file>" would
succeed.
This evaded debugging attempts because if you invoked the salt
minion manually from a login shell, an audit context would
already exist and the "crontab -l <username>" would succeed.
The hint was a message in the debug log of:
[ERROR ] Command 'crontab -l legion' failed with return code: 1
[ERROR ] stderr: crontab: The audit context for your shell has not
been set.
We explicitly set up an audit context when launching the salt minion
which allows "crontab -l <username>" to succeed.
This may fix other issues and something similar
should perhaps be applied to pkg/smartos/salt-minion.xml
"5417" was chosen arbitrarily
Woot!
The conflicts below are intentional because they contained salt-api-isms
that needed to be included into the corresponding Salt files.
Conflicts:
debian/changelog
debian/control
doc/conf.py
doc/index.rst
opt_requirements.txt
salt/config.py
salt/loader.py
Added the following arguments
* -p - specify prefix
* -d - specify directory containing pre-downloaded dependency tarballs
Additional tweaks:
* Switched to using virtualenv to ensure that a new enough version of
pip is available. Older pip seems to have issues with downloading the
dependencies, silently failing to download certain tarballs. This
removes the hard dep on python-pip, and adds python-virtualenv as a
hard dep.
* Detect bundled zeromq in pyzmq tarball, and use it instead of trying
to fetch it. This, coupled with the new -d option, allows for the
entire stack of deps to be frozen for consistency in packaging.
detect if this is a global or non-global zone
global zones are always minions
if the user passes in the name/address of the master
we configure a minimal minion file and launch the minion
new 32-bit binary for nssm.exe, upgrading from the previous 2.16.
Has some bug fixes, see http://nssm.cc/changelog.
Driving impetus to upgrade was "Silently ignore INTERROGATE control.",
on win2012 nssm spews ~30 event log messages per minute.
Tested by stopping windows minion, replacing nssm.exe, and restarting.
RHEL6 doesn't use the net-device-up and local-filesystems targets,
meaning that if someone decides to use this upstart config then the
master/minion/syndic does not start on boot.
We don't deploy upstart configs in our RPMs, but this provides a working
upstart config file for those that wish to use it.