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.

  • GravitySpoiled
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 months ago

    You don’t need the staggered rollout since it won’t boot into a broken image and you can boot easily into an old one if you don’t like the new one. E.g. fedora atomic.

    I’m not up to date with vanilla os for the debian world if it is on par with fedora.

    • remramOP
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      I am not worried about upgrades so bad that they literally don’t boot. I am worried about all the possible problems that might break my service.

      • GravitySpoiled
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 months ago

        You also roll back package versions. I’m not sure what problems could arise.

        • remramOP
          link
          fedilink
          arrow-up
          3
          ·
          2 months ago

          I can roll back with APT too, my question is how to do the staggered rollout.

          • GravitySpoiled
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            You have to reboot for an image update. Hence, you can update the computers at different times and days.

            • remramOP
              link
              fedilink
              arrow-up
              3
              ·
              2 months ago

              This doesn’t seem to enhance my workflow at all. Seems I now would have to reboot, and I still need to find a separate tool to coordinate/stagger updates, like I do now. Or did I miss something?

          • GravitySpoiled
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            edit-2
            2 months ago

            If the os works always (atomic image based distro), and the docker container work, and both can roll back easily. What else could go wrong?

            Don’t overthink it :)

            • remramOP
              link
              fedilink
              arrow-up
              1
              ·
              2 months ago

              I am not sure what you are taking about. My question is about APT.

    • umami_wasabi
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      No, OP absolutely still need staggered rollout. Immutable distros are a blue-green deployment self-contained. Yet, all the instance can upgrade and switch all at once and break all of them. OP still need some rollout strategy externally to prevent the whole service being brought down.