Commit graph

12 commits

Author SHA1 Message Date
Patrik Lundin 4b93d9c426
run-cosmos: support fleetlock unlocking at boot
This extends run-cosmos with a new argument that calls the unlock
function already included in the script as well as using the already
existing lock() function to make sure there is no race between the
bootup process and cron starting a normal run-cosmos process at the same
time.

The oexit() function is added to support exiting with a OK exit value
the same way eexit() is used to signal something is wrong.

This change also adds the systemd unit file that runs run-cosmos with the
new fleetlock-unlock argument at boot if fleetlock is configured.

While here fix indentation that was mixed between 3 and 4 spaces: it is
now 4 spaces everywhere.
2024-01-24 15:36:34 +01:00
Patrik Lundin 7baf9affb1
Add fleetlock support to run-cosmos
Makes run-cosmos request a fleetlock lock before running cosmos "update"
and "apply" steps. This is helpful for making sure only one (or several)
machine out of some set of machines runs cosmos changes at a time. This
way if cosmos (or puppet) decides that a service needs to be restarted
this will only happen on a subset of machines at a time. When the cosmos
"apply" is done a fleetlock unlock request will be performed so the
other machines can progress.

The unlock code in run-cosmos will also run the new tool
sunet-machine-healthy to decide things are good before unlocking. This
way if a restarted service breaks this will stop the unlock attempt
and in turn make it so the others should not break their service as
well, giving an operator time to figure out what is wrong.
2023-06-17 08:10:00 +02:00
Fredrik Thulin 79606f2a6d
check for /etc/no-automatic-cosmos in the wrapper, and allow arguments to be passed 2023-02-06 16:47:41 +01:00
Fredrik Thulin 3988f5beb0
shellcheck fixes 2023-02-06 16:47:30 +01:00
Johan Wassberg 84b29e4eaa
Executable 2023-02-02 11:49:10 +01:00
Johan Wassberg 49ba964897
Wrap cosmos in scriptherder if available
nunoc-ops and others has been doing this for ages by just modifing the cron
file.
2023-02-02 11:45:54 +01:00
Leif Johansson 4972eefdcc ny run-cosmos 2017-02-02 15:37:32 +01:00
Fredrik Thulin 1f8733559b Merge pull request #1 from Gijutsu/master
Updated documentation and conf ...
2016-09-01 14:16:19 +02:00
John Van de Meulebrouck Brendgard f6fe928590
new upstream release of cosmos that includes ln5 fixes for https remotes
along with a verified version of puppetlabs-release-trusty.deb
2016-08-28 21:22:48 +02:00
John Van de Meulebrouck Brendgard f939c526e6
Changed tag from eduid-cosmos to the more generic cosmos-ops 2016-08-27 17:05:11 +02:00
Fredrik Thulin e69b0f84f8 init 2015-02-23 16:02:43 +01:00
Leif Johansson 4f300ca632 simple kvm builder using cloud images 2014-10-22 14:28:05 +02:00