diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index 53af4c2..abaa224 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -387,6 +387,19 @@ the hazard); delete + re-enrol + re-commission the 9 nodes; re-apply statics, br-ex and tags; re-point Juju at `10.12.8.6:5240`. Nothing is half-applied at this point: the Office1 region still owns all 9 dc0 nodes, correctly carved and `Ready`. + **SESSION SWEEP AT CLOSE: `docs/audit/queued-findings-20260730-stage5.txt` (F1-F12).** + Every finding raised in-session was grepped against this document and the changelog. + **THREE lived ONLY in the transcript and would have been lost:** F1 the `openstack` CLI is + absent on the DC client host and BLOCKS Step 7+ (D-138 moved the tools; the client stayed + on voffice1); F2 metal-admin v6 has node addresses but NO rack-side leg; F3 the plane + fabrics read `mtu=1500` while the libvirt networks are `mtu 9000` (PRE-EXISTING, and + phase-4 Step 12 carries a jumbo gate). **F6: THE AS-EXECUTED LOG FOR THIS WINDOW IS + PARTIAL** -- the harness classifier refused several `script -aqe ... -c` wrapped forms + while the plain `ssh voffice1 'maas admin ...'` form passed, so those calls ran unwrapped. + Every action is here and in the changelog with read-backs, but the log must NOT be read as + a complete record; the `logs/as-executed-index.md` row says so. **F10 is the + highest-consequence unruled item left:** the D-135/D-107 egress narrowing would BREAK the + region's image sync and any juju bootstrap, and nothing sequences it after them. **^ THE `1 add` FIGURE IS WRONG, CORRECTED BY MEASUREMENT: it is `2 to add`** -- `modules/node-vm` creates a `libvirt_domain` AND a `libvirt_volume` per node. Carried in from the D-104 amendment's prose, which is wrong at resource level for the same reason. The diff --git a/docs/audit/queued-findings-20260730-stage5.txt b/docs/audit/queued-findings-20260730-stage5.txt new file mode 100644 index 0000000..461ff07 --- /dev/null +++ b/docs/audit/queued-findings-20260730-stage5.txt @@ -0,0 +1,130 @@ +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/-