Skip to main content
RunBook Academy

LinuxLXXIII · Change ManagementClassification

Change classes and blast radius - sizing the process to the change

Intermediate⏱ ~14 minbashsystemctl

What you'll learn

  • Classify a change as standard, normal or emergency and justify the class
  • Estimate blast radius from hosts, dependents and reversibility rather than from diff size
  • Identify the change properties that make a small diff a high-risk change
  • Apply the emergency change path without losing the record

Prerequisites

Verified against Ubuntu 24.04 LTS · Debian 12 (Bookworm) · RHEL 9.x · Rocky Linux 9.x · AlmaLinux 9.x · Linux kernel 6.1 LTS / 6.6 LTS · systemd 255+ · OpenSSH 8.7p1 (RHEL 9) / 9.6p1 (Ubuntu 24.04) · nftables 1.0.x · chrony 4.x · Pacemaker 2.1.x · Corosync 3.1.x · 2026-08-11

Not yet marked complete on this device.

Change processes fail in two directions. Too heavy, and everyone routes around it: changes get relabelled, batched into one enormous window, or performed as “just a config tweak” that nobody records. Too light, and a two-character edit takes the fleet offline on a Friday afternoon.

The fix is not a better form. It is classification: deciding, up front and by explicit criteria, how much process this particular change has earned.

The three classes

Almost every change management framework in use converges on the same three, and the names matter less than the criteria.

Standard. Pre-approved, pre-authorised, and executed without a new review each time. A change qualifies as standard only when it is repeated often, has a documented and rehearsed procedure, has a proven rollback, and has a history of going well. Rotating a log, extending an LVM volume that has free extents behind it, adding a monitoring target, restarting a stateless worker.

The value of the class is that it removes friction from the changes that were never the problem, which is what buys the organisation’s patience for the ones that are.

Normal. Reviewed and scheduled before execution. This is the default and most changes live here: package upgrades, configuration changes, adding a node, a firewall rule, a certificate rotation.

Emergency. Executed before the full review because the cost of waiting exceeds the risk of proceeding. A live incident, an actively exploited vulnerability, an imminent certificate expiry that will cause an outage.

Emergency is a statement about the clock, not about difficulty or importance. “This is urgent because the project is late” is a normal change with a bad schedule.

Blast radius is not diff size

The instinct is to size risk by how much changed. It is a poor predictor. The largest outages in most organisations come from one-line changes, because a one-line change is what people approve without reading.

Blast radius has four dimensions, and you estimate each one before deciding how much process the change needs.

  1. Reach: how many hosts, services or tenants the change touches at once
  2. Dependents: what else fails if this fails, including things that merely start slower
  3. Reversibility: how long it takes to get back, and whether the path back has been tested
  4. Detectability: how long before you would know it went wrong

Reversibility dominates. A change that reaches the whole fleet but can be reverted in ninety seconds is often safer than a change to one host that cannot be reverted at all.

The properties that make a small change dangerous

Score a change high regardless of its size if it has any of these.

PropertyWhy it dominatesExample
Removes your own accessRecovery needs out-of-band console you may not have testedsshd_config, firewall rules, network config, PAM
Irreversible by natureThere is no rollback, only a restoreSchema migration, filesystem upgrade, certificate revocation, data deletion
Applies at bootThe failure surfaces at the next reboot, weeks later, on a different changefstab, initramfs, bootloader, kernel parameters
Shared dependencyEvery service fails at once and the cause looks like everythingDNS, NTP, the CA, the identity provider, the load balancer
Fleet-wide by mechanismConfiguration management applies it everywhere within minutesAnsible base role, Puppet manifest, golden image
No detectionNothing alerts on the thing being changedBackup schedule, log shipping, an alert rule itself

The fstab row deserves its place. A bad line does nothing until the host reboots, and by then the change is old and nobody’s first hypothesis. Validate it while you still have a running system.

Read-only / Safevalidate fstab before the reboot proves it
$ sudo findmnt --verify --verbose
0 parse errors, 1 error, 2 warnings
/srv
 [ ] target exists
 [E] unreachable source: /dev/mapper/vg0-srv: No such file or directory
 [W] cannot detect on-disk filesystem type

Illustrative output

Scoring, briefly

You do not need a numeric model, and elaborate ones stop being filled in. Two questions decide the class in practice:

1. If this goes wrong, how many users notice?
      one host / one team / one service / everyone

2. How long until it is back the way it was?
      seconds / minutes / hours / it cannot be undone

Plot the answers. Anything in the bottom-right - wide reach and slow or impossible reversal - needs the full process regardless of how trivial the diff looks. Anything in the top-left is a candidate for the standard list.

The second question is the one that changes behaviour. Asking “how long to get back” out loud, before the change, is what surfaces the fact that nobody has ever tested the rollback.

Reducing the class instead of accepting it

Classification is not only triage. Once you can see which dimension makes a change risky, you can often attack that dimension and make the change genuinely safer rather than merely better documented.

  • Reach: apply to one host first, then a cohort. Staged rollout turns a fleet-wide change into a series of small ones.
  • Reversibility: capture the artefact before you replace it, take an LVM or filesystem snapshot, keep the previous configuration in version control, rehearse the reversal in staging.
  • Detectability: add the alert before the change, not in the follow-up. A change whose failure is invisible should not proceed until it is visible.
  • Dependents: sequence the change so the shared dependency moves alone, in its own window, with nothing else competing for attention.

Knowledge check

Knowledge check · 6 questions

  1. Q1. A team wants to reclassify weekly certificate renewals as a standard change. What must be true before that is legitimate?

  2. Q2. Which of these two changes has the larger blast radius: a one-line sshd_config edit applied to one host, or a package upgrade applied to forty stateless web nodes with a captured rollback artefact?

  3. Q3. Why is a bad /etc/fstab line classified as high risk despite being a single line?

  4. Q4. What does the emergency change path actually drop?

  5. Q5. Which of these actively reduce a change class rather than merely documenting the risk? Select all that apply.

  6. Q6. A change is an emergency change when it is important and the project deadline is close.

Passing score: 75%. Answers are checked in this browser.