Skip to content

Six Ufw actions still say 'Ubuntu only' in a catalogue Debian now receives #416

Description

@vladimirrott

#384 moved ufw out of the Ubuntu-only fence, and #412 makes Debian stable 12+
an eligible host. Six of the eight Ufw* entries in KNOWN_ACTIONS still tell
the planner they are Ubuntu-only, and all eight are in the Debian catalogue.

Measured at f5dffd8 with #412 and #415 applied:

$ # "Ubuntu only" still present in the planner description?
UfwEnable      YES      UfwDisable     YES
UfwAllow       YES      UfwDeny        YES
UfwReset       YES      UfwLimit       YES
UfwStatus      no       UfwDeleteRule  no

UfwStatus and UfwDeleteRule lost the phrase in #415, because that PR touched
them. The other six were never touched and kept it.

Why it matters

The description string is not a comment. propose_plan_tool_def builds the tool
definition from KNOWN_ACTIONS filtered by available_on, so the text reaches
the model. Building both catalogues and diffing them shows all eight are offered
on Debian:

PROBE catalogue total=190 debian=136 ubuntu=160
PROBE ubuntu_has_debian_lacks(24) = [AddPpa, RemovePpa, Snap*×9, Netplan*×4,
  CheckPendingReboot, UbuntuReleaseUpgrade, Pro*×5, LivepatchStatus, MultipassList]

No Ufw* action is in that list. So on a Debian 12 host the planner is handed six
actions it is allowed to use, each described as unusable there. The likely
outcome is a model that declines to plan a firewall change on Debian, or plans
one while contradicting its own catalogue. Neither is a crash, which is why
nothing catches it.

Scope

  • Drop "Ubuntu only" from the six descriptions, matching what fix(ufw): expose numbered rules before deletion #415 did for the
    two it touched. ufw is a Debian-family tool, not an Ubuntu-identity one.
  • Sweep the rest of KNOWN_ACTIONS for the same staleness rather than fixing
    only the Ufw* prefix. #384 re-partitioned several families and the
    descriptions were not part of that diff.
  • The interesting part, and the reason this is not a one-line change: add a test
    that derives the claim from the fence. An action whose description says
    "Ubuntu only" must be in UBUNTU_ONLY_ACTIONS, and one that is in that list
    should say so. That is a mechanical check against the production lists, and it
    is what stops the next re-partitioning from leaving prose behind.

Difficulty

Easy to fix, and the test in the third bullet is what makes it worth doing.
Without it this recurs on the next family change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingclaimedSomeone has said in the thread that they are working on thiseasyDifficulty: self-contained, no deep context neededgood first issueGood for newcomershelp wantedExtra attention is needed

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions