How to stagger automated upgrade?

remram@lemmy.ml to Linux@lemmy.ml – 40 points –

I am using unattended-upgrades across multiple servers. I would like package updates to be rolled out gradually, either randomly or to a subset of test/staging machines first. Is there a way to do that for APT on Ubuntu?

An obvious option is to set some machines to update on Monday and the others to update on Wednesday, but that only gives me only weekly updates...

The goal of course is to avoid a Crowdstrike-like situation on my Ubuntu machines.

edit: For example. An updated openssh-server comes out. One fifth of the machines updates that day, another fifth updates the next day, and the rest updates 3 days later.

64

You are viewing a single comment

Did it write that playbook? Did you read it?

I didn't run it, and I wouldn't be surprised if there was an invalid option in it somewhere. Ansible Lightspeed would be a better tool than what I used, but it's sufficient to get the point across.

What was "the point"? From my perspective, I had to correct a fifth post about using a schedule, even though I had already mentioned it in my post as a bad option. And instead of correcting someone, turns out I was replying to a bot answer. That kind of sucks, ngl.

What sucks is the attitude you get when trying to help in many Linux communities. It's a tool, and a very useful one too.

If you knew what you were doing, you could understand the loop just by looking at it, without having to run it, ngl.

I feel you, but on the other hand if every single community member tries to help, even if they have no idea or don't understand the question, this is not great.

Anybody can ask Google or an LLM, I am spending more time reading and acknowledging this bot answer than it took you to copy/paste. This is the inverse of helping.

The problem is not "the loop"(?), your (LLM's) approach is not relevant, and I've explained why.

The "bot" suggested I use RandomSleep. It's not effortless.

I got the idea to use systemd timers from another answer in this thread and thought I'd help you out with an Ansible playbook.

In any case, I learned at least two things while reading the other replies, so it wasn't a total waste. (and you got your answer)