ops(svos): v0.0.23 (U22: judge 0.0.2 explain, interface 0.0.8 summaries, UI 0.0.27) staged on nh3-svos; judge.toml explain_seconds; two-card cutover playbooks ready
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# nh3-svos v0.0.23 step 2: restart ONLY svos-interface onto app-interface 0.0.8 (U22: verbs summaries + summary, namespace
|
||||
# interface-summaries; the store state/apps/interface/summaries.sqlite3 is created at start). Raises a held card for
|
||||
# app-interface: the WHOLE interface answers wrong-revision until Prime approves (about 30 s at v0.0.18). Run only after
|
||||
# the judge's card is approved, with Prime at the board. Then Prime's two grants on ns:interface-summaries.
|
||||
steps:
|
||||
- name: current is 9a0eec8 and the judge's new revision is pinned
|
||||
sudo: true
|
||||
shell: |
|
||||
readlink /opt/svos/current | grep -q 9a0eec8
|
||||
python3 -c "
|
||||
import sqlite3
|
||||
c = sqlite3.connect('file:/var/lib/svos/state/svos.db?mode=ro', uri=True)
|
||||
r = c.execute(\"select revision, state from app_manifests where slug='app-judge' order by revision desc limit 1\").fetchone(); print('judge', r)
|
||||
assert r[1] == 'pinned', 'judge card not approved yet'"
|
||||
changed_when: "false"
|
||||
- name: Restart ONLY svos-interface (raises the held card)
|
||||
sudo: true
|
||||
shell: systemctl restart svos-interface; sleep 8; systemctl is-active svos-interface
|
||||
verify:
|
||||
- name: Interface on 9a0eec8; its manifest revision and card
|
||||
sudo: true
|
||||
shell: |
|
||||
pid=$(systemctl show svos-interface -p MainPID --value); grep -q /opt/svos/releases/9a0eec8 /proc/$pid/maps && echo "interface pid $pid on 9a0eec8"
|
||||
python3 -c "
|
||||
import sqlite3
|
||||
c = sqlite3.connect('file:/var/lib/svos/state/svos.db?mode=ro', uri=True)
|
||||
for r in c.execute(\"select slug, revision, substr(sha256,1,12), state from app_manifests where slug='app-interface' order by revision desc limit 2\"): print(r)
|
||||
for r in c.execute(\"select id, kind, state, created_at, expires_at from cards where slug='app-interface' and kind='manifest' order by created_at desc limit 1\"): print(r)"
|
||||
changed_when: "false"
|
||||
Reference in New Issue
Block a user