Artifacts
Report
=== STEP_046H RESULT ===
step=STEP_046H_VM100_LOCAL_ONE_IDLE_SELECTOR_CHANGE
mode=VM100_CONTROLLED_ONE_IDLE_SELECTOR_CHANGE_AND_RESTORE
vm100_controlled_change:
target_ip=10.253.1.12
from=cs3/canary_vpn5
to=cs2/canary_vpn4
precheck_ok=True
backup_rc=0
rollback_script=/root/rollback-step046h-selector-20260710-073833.sh
rollback_script_rc=0
pre_selector_sha256=2db1a0c46c1b93d9ede5f560d2d00db2dad3283adbc8f6ca6b0434ab695d8460
changed_selector_sha256=a4050ae41e421773172f3d603480896a2813937d949f233b70114c7fba55a44e
post_selector_sha256=2db1a0c46c1b93d9ede5f560d2d00db2dad3283adbc8f6ca6b0434ab695d8460
changed_sha_differs_from_pre=True
post_sha_matches_pre=True
changed_line_12=10.253.1.12 cs2 canary_vpn4
post_line_12=10.253.1.12 cs3 canary_vpn5
change_apply_rc=0
restore_apply_rc=0
controlled_change_ok=True
restore_ok=True
wg_runtime_stable=True
prototype_rebalancer:
target_count=5
lease_rows=5
active_count=1
idle_count=4
action_count=0
noop=True
final_safety:
transient selector change applied and restored
rollback script created on VM100
final selector SHA restored
final .12 restored to cs3/canary_vpn5
WG peer runtime stable
no VM101 changes
no VM121 DB writes/jobs
old prototype real --apply remains refused
success_checks:
router_ops_pre_state_collected=True
pre_timer_enabled_active=True
prototype_rebalancer_executable=True
prototype_sampler_executable=True
prototype_rebalancer_dryrun_ok=True
prototype_rebalancer_noop=True
prototype_rows_all_have_peer_id=True
prototype_apply_preview_ok=True
prototype_apply_preview_no_write=True
prototype_apply_preview_zero_actions=True
prototype_apply_preview_zero_updates=True
prototype_apply_preview_zero_jobs=True
prototype_real_apply_refused=True
vm100_controlled_change_raw_ok=True
vm100_controlled_change_json_created=True
vm100_precheck_ok=True
vm100_backup_ok=True
vm100_rollback_script_ok=True
vm100_pre_backup_sha_match=True
vm100_change_awk_ok=True
vm100_change_mv_ok=True
vm100_change_apply_ok=True
vm100_changed_sha_differs=True
vm100_changed_line_expected=True
vm100_changed_nft_contains_ip=True
vm100_changed_nft_contains_cs2=True
vm100_restore_copy_ok=True
vm100_restore_apply_ok=True
vm100_post_sha_matches_pre=True
vm100_post_line_expected=True
vm100_post_nft_contains_ip=True
vm100_post_nft_contains_cs3=True
vm100_controlled_change_ok=True
vm100_restore_ok=True
vm100_wg_runtime_stable=True
vm100_final_check_ok=True
vm100_final_sha_matches_pre=True
vm100_final_selector_rows_five=True
vm100_final_line_12_restored=True
vm100_final_peer_count_five=True
vm100_final_allowed_ip_count_five=True
vm100_final_uci_peer_sections_zero=True
vm100_final_nft_contains_cs3=True
vm101_static_mapper_check_ok=True
vm101_cs1_to_vpn3=True
vm101_cs2_to_vpn4=True
vm101_cs3_to_vpn5=True
vm101_cs4_to_vpn1=True
vm101_cs5_to_vpn2=True
vm121_role_check_ok=True
vm121_backend_admin_history_only=True
vm121_not_selector_apply_owner=True
vm121_not_dynamic_decision_owner=True
prototype_sampler_post_ok=True
prototype_sampler_post_rows_five=True
prototype_sampler_post_selector_match_five=True
db_enabled_peers_five=True
db_lease_rows_five=True
db_active_one=True
db_idle_four=True
db_forced_zero=True
db_pending_zero=True
vm121_pending_zero=True
router_ops_post_state_collected=True
post_timer_enabled_active=True
public_report_created=True
public_index_rebuilt=True
expected_absence:
private_material_published=False
manual_agent_service_start_used=False
vm100_final_selector_drift=False
vm100_wg_peer_runtime_changed=False
vm101_changed=False
vm121_db_written=False
jobs_created=False
prototype_apply_preview_wrote_db=False
real_apply_enabled=False
timer_disabled=False
all_ok=True
decision=PASS_STEP_046H_VM100_LOCAL_ONE_IDLE_SELECTOR_CHANGE
next_step=STEP_046I_VM100_LOCAL_SELECTOR_CHANGE_WITH_TRAFFIC_PROOF
LOCAL_REPORT=http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-073826_step046h_vm100_local_one_idle_selector_change/
TRYCF_REPORT=https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-073826_step046h_vm100_local_one_idle_selector_change/