fix(playbooks): 3.0.3 herald deploy, and a content check that survives releases
Deploys althing-core 3.0.3 to nh3-extdev and restarts the herald. Verified by content on both boxes: PANE_SETTLE_S 0 -> 2 occurrences, value 0.3, dist-info 3.0.1 -> 3.0.3. The content check was hardcoded to the 3.0.1 markers, so from the next release onward it would have kept passing while asserting nothing about what had just been installed -- a check that verifies the previous release is indistinguishable from one that works. It now takes the marker and file as variables, bumped per release, with both releases' markers recorded so the pattern is obvious rather than folklore. That is the same defect class as the install step gated on `postbox` not existing, which this playbook carried until last round: a guard written correctly for the first run and never re-read on the second. The post office container was not touched. forseti established by import graph that althing/post_office/* imports neither changed module -- the fix is in reach_pane, which is herald code -- and the container has been up two hours across both herald restarts.
This commit is contained in:
@@ -19,19 +19,21 @@
|
||||
# Rerunnable: a second run shows the install and unit steps skipped.
|
||||
|
||||
vars:
|
||||
wheel_src: /home/lkraven/development/althing/dist/althing_core-3.0.1-py3-none-any.whl
|
||||
wheel_dest: /tmp/althing_core-3.0.1-py3-none-any.whl
|
||||
wheel_src: /home/lkraven/development/althing/dist/althing_core-3.0.3-py3-none-any.whl
|
||||
wheel_dest: /tmp/althing_core-3.0.3-py3-none-any.whl
|
||||
uv: /home/infra-ops/.local/bin/uv
|
||||
tool_dir: /opt/uv-tools
|
||||
bin_dir: /usr/local/bin
|
||||
# ⚠ Moved off nh3-dev 2026-08-28. A stale value here does not fail loudly at
|
||||
# install time — it fails in the VERIFY, which then reads as a broken deploy.
|
||||
post_office: http://10.100.50.40:8390
|
||||
marker: PANE_SETTLE_S
|
||||
marker_file: post_office_herald.py
|
||||
|
||||
steps:
|
||||
- name: Stage the v3.0.0 wheel
|
||||
upload:
|
||||
src: /home/lkraven/development/althing/dist/althing_core-3.0.1-py3-none-any.whl
|
||||
src: /home/lkraven/development/althing/dist/althing_core-3.0.3-py3-none-any.whl
|
||||
dest: "{{ wheel_dest }}"
|
||||
mode: "0644"
|
||||
|
||||
@@ -107,10 +109,13 @@ verify:
|
||||
shell: ALTHING_POST_OFFICE={{ post_office }} {{ bin_dir }}/postbox --handle operator handles | wc -l | awk '{ if ($1 >= 70) exit 0; else exit 1 }'
|
||||
changed_when: "false"
|
||||
|
||||
- name: The 3.0.1 pane-route fix is present BY CONTENT, not by version string
|
||||
# forseti's own checks. A dist-info directory records what was installed, not
|
||||
# what the files contain — verify the code, not the label.
|
||||
- name: This release's marker is present BY CONTENT, not by version string
|
||||
# forseti's own checks. A dist-info directory records what was INSTALLED, not
|
||||
# what the files CONTAIN — verify the code, not the label. Bump `marker` and
|
||||
# `marker_file` with each release rather than trusting the version bumped.
|
||||
# 3.0.1 _PANE_ID in zellij.py (pane routes)
|
||||
# 3.0.3 PANE_SETTLE_S in post_office_herald.py (the write/submit race)
|
||||
shell: |
|
||||
SP={{ tool_dir }}/althing-core/lib/python3.13/site-packages/althing
|
||||
grep -q _PANE_ID "$SP/zellij.py" && grep -q _live_pid "$SP/session_source.py"
|
||||
grep -q '{{ marker }}' "$SP/{{ marker_file }}"
|
||||
changed_when: "false"
|
||||
|
||||
Reference in New Issue
Block a user