QUEUED FINDINGS -- Stage-5 open + per-DC region session (2026-07-30)
====================================================================
Swept at session close. Items are LOGGED, NOT EXECUTED (hard rule 1). Each says where it
already lives, or that this file is its first surface. Precedent: queued-findings-20260727,
-20260729, -20260730.
F1. THE `openstack` CLI DOES NOT EXIST ON THE DC CLIENT HOST -- blocks Stage 5 Step 7+.
FIRST SURFACE: this file (was transcript + task list only).
D-138 moved cloud-facing tools INTO the DC, but `python3-openstackclient 6.6.0` was
installed on voffice1 on 2026-07-27 (CURRENT-STATE section 7) and is NOT on the dc0
rack or the region VM. Ten scripts invoke it -- phase-03-admin-openrc.sh,
phase-04-network-{create,verify}.sh, phase-04-internal-cert-san-verify.sh,
phase-05-{amphora-pipeline,octavia-verify}.sh, phase-06-{bootstrap,capi-stack,mgmt-vm,
net-setup}.sh -- all against keystone's VIP 10.12.4.50 on provider-public, which
voffice1 cannot reach. MEASURED PIN, do not re-derive: the snap is REFUTED (no Caracal
channel; newest stable `zed` 2023-03), and noble's native OpenStack release IS Caracal
2024.1, so the deb is correct and needs no UCA. Install on the DC client host before
Step 7 and add the host to CURRENT-STATE section 7.
F2. metal-admin v6 HAS NODE ADDRESSES BUT NO RACK-SIDE LEG.
FIRST SURFACE: this file (was transcript + task list only).
MEASURED on the dc0 rack: `ip -6 -o addr show dev virbr2` returns EMPTY and ping6 to
the controller gives "Network is unreachable", while v4 10.12.8.5 answers 0% loss. The
2026-07-27 IPv6 carve assigned v6 statics to NODES in MAAS but `dc-rack-net.sh` adds v4
legs only (10.12.8.2/.3/.4). NOT BLOCKING: juju fell back to v4 unaided, and
node-to-node / agent-to-controller v6 on the same L2 needs no rack leg because every
node holds a v6 static on the same /64. CONSEQUENCE TO CHECK LATER: anything
RACK-ORIGINATED toward a node over v6 fails, and D-101 makes metal-admin dual-stack.
Verify per plane per DC before concluding scope -- likely true on dc1 and on the other
five planes.
F3. PLANE FABRICS READ mtu=1500 WHILE THE LIBVIRT NETWORKS ARE mtu 9000.
FIRST SURFACE: this file.
From docs/audit/dc0-maas-carve-premigration-20260730.txt: all five named dc0 plane
fabrics report `mtu=1500`. `virsh net-dumpxml vr1-dc0-metal-admin` reports ``. PRE-EXISTING -- not introduced by this session's work, and not chased
here (hard rule 1). Why it matters: Ceph and geneve are the classic jumbo-frame
consumers, phase-4 Step 12 carries a jumbo gate, and CURRENT-STATE already records "two
lagging MTU segments" from the 2026-07-27 audit. Establish which layer is authoritative
before the Stage-5 storage/network gates run.
F4. `ceph-osd` CARRIES THE STALE VR0 CONSTRAINT `tags=openstack` (bundle.yaml:592).
ALREADY ON SURFACE: docs/CURRENT-STATE.md section 1 + changelog item 2. Repeated here
only so the sweep is complete. Decision is owed at Step 4.2's dry-run, where its impact
is first observable. Measured absent from the VR1 region; only app of 56 with a tag
constraint.
F5. DOCFIX OWED (next-free 206; assign at delivery, never write the token above the
high-water mark in prose first). TWO corrections, one DOCFIX:
(a) `runbooks/dc-dc-phase4-juju-bundle-per-dc.md` Step 1's RUN LOCATION banner says
every juju and maas command runs on voffice1. D-138 amends that for CLOUD-FACING
tools; maas/NetBox/inner-tofu stay on voffice1. Steps 2, 3.5, 4, 4b and 5-12 all
carry run-location text now wrong for the juju half.
(b) Step 2's bootstrap command reads `--constraints` only; juju 3.6.27 assigns
machine-targeting to `--bootstrap-constraints`. Operator ruled "Use both flags".
D-104's amendment bullet carries the same single-flag wording.
ALREADY ON SURFACE: changelog item 3 (the flag half). The run-location half is NEW here.
NO GATE READS PROSE, so nothing in this repo catches either.
F6. THE AS-EXECUTED LOG FOR THIS SESSION IS PARTIAL, AND THAT IS RECORDED NOT HIDDEN.
FIRST SURFACE: this file (+ the index row added this session).
The DOCFIX-097 Claude-Code lane wraps each live command as
`script -aqe ~/as-executed/-