1
0

runtime: publish SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1

This commit is contained in:
homelab-runtime-publisher
2026-09-27 16:05:05 +00:00
parent 594c768449
commit 4efc537a62
4 changed files with 106 additions and 84 deletions
@@ -0,0 +1,38 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1",
"status": "FAIL",
"rc": 76,
"host": "pve01",
"mode": "change",
"component": "skladchik-only-reconcile",
"started_at_utc": "2026-09-27T16:05:04Z",
"finished_at_utc": "2026-09-27T16:05:04Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "f5f9992644dcc6b6122c859f769c880fed0eafb5c09378001b2caa1a4a3867ec",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": true,
"result_contract_valid": false,
"result_contract_status": null,
"result_contract_error": "MISSING_CONTRACT",
"command_rc": 1,
"changes_made": null,
"rollback_started": null,
"rollback_restored": null,
"mutation_outcome": "UNKNOWN",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9",
"sanitized_output_sha256": "b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "SKLADCHIK_RECONCILE_BEGIN=true\nCOMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1\nMODE=change\n/run/workers2-SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1.3821672.sh: line 93: COMP: unbound variable\n"
}
@@ -0,0 +1,36 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1
STATUS=FAIL
RC=76
HOST=pve01
MODE=change
COMPONENT=skladchik-only-reconcile
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=f5f9992644dcc6b6122c859f769c880fed0eafb5c09378001b2caa1a4a3867ec
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=true
RESULT_CONTRACT_VALID=false
RESULT_CONTRACT_STATUS=UNKNOWN
RESULT_CONTRACT_ERROR=MISSING_CONTRACT
COMMAND_RC=1
CHANGES_MADE=unknown
ROLLBACK_STARTED=unknown
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=UNKNOWN
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9
SANITIZED_OUTPUT_SHA256=b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9
OUTPUT_BEGIN
SKLADCHIK_RECONCILE_BEGIN=true
COMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1
MODE=change
/run/workers2-SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1.3821672.sh: line 93: COMP: unbound variable
OUTPUT_END
CHAT_OUTPUT_END
+16 -16
View File
@@ -1,38 +1,38 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1",
"command_id": "SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1",
"status": "FAIL",
"rc": 31,
"rc": 76,
"host": "pve01",
"mode": "change",
"component": "netbird-relay-ingress-pve-edge-recovery",
"started_at_utc": "2026-09-27T15:54:35Z",
"finished_at_utc": "2026-09-27T15:57:52Z",
"component": "skladchik-only-reconcile",
"started_at_utc": "2026-09-27T16:05:04Z",
"finished_at_utc": "2026-09-27T16:05:04Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "b5d155d3138d5d9aff741f1f8ee1dc6d91f389bcb6d150b76c5d67047e1841bd",
"command_sha256": "f5f9992644dcc6b6122c859f769c880fed0eafb5c09378001b2caa1a4a3867ec",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": true,
"result_contract_valid": true,
"result_contract_status": "FAIL",
"result_contract_error": null,
"command_rc": 31,
"changes_made": true,
"rollback_started": false,
"result_contract_valid": false,
"result_contract_status": null,
"result_contract_error": "MISSING_CONTRACT",
"command_rc": 1,
"changes_made": null,
"rollback_started": null,
"rollback_restored": null,
"mutation_outcome": "MUTATED",
"mutation_outcome": "UNKNOWN",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "704c3dfd4261a98dde693184f8d8997876aeeb2e9c7c377ed93c33df51512ff8",
"sanitized_output_sha256": "704c3dfd4261a98dde693184f8d8997876aeeb2e9c7c377ed93c33df51512ff8",
"raw_evidence_sha256": "b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9",
"sanitized_output_sha256": "b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "NETBIRD_RELAY_RECOVERY_BEGIN=true\nCOMMAND_ID=SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1\nMODE=change\nCOMPONENT=netbird-relay-ingress-pve-edge-recovery\nMUTATION_BOUNDARY=RELAY_NETBIRD_INGRESS_SOCKET_ENABLE_IF_NEEDED_PLUS_PVE01_HOSTS_OVERRIDE_FOR_NB_NAMES_PLUS_NETBIRD_RESTART_PLUS_HEALTH_SUPERVISOR_ONESHOTS;NO_DNS_PROVIDER_EDIT;NO_ROUTE_EDIT;NO_FIREWALL_EDIT;NO_NETBIRD_CONFIG_EDIT;NO_COOKIE_EDIT\nCLUSTER_QUORATE=true\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\n=== PRE_NETBIRD ===\nError: status failed: failed connecting to Management Service : create connection: dial context: context deadline exceeded\nPVE_TO_RELAY_DASHBOARD_PRE_HTTP=200\nPVE_TO_RELAY_OIDC_PRE_HTTP=200\nRELAY_INGRESS_READY=true\nPVE_HOSTS_OVERRIDE=APPLIED\nPVE_HOSTS_SHA256=a496860cfb488920de67686aa7d555627acc902891c8cc27ba5b1b399c248830\nPVE_RESOLVE_NB_PVEPRO=85.121.4.192\nPVE_RESOLVE_NB_GRAM1=85.121.4.192\nACTION=PVE01_NETBIRD_RESTART_VIA_RELAY\nFINAL_NETBIRD_MANAGEMENT=true\nFINAL_NETBIRD_SIGNAL=true\nFINAL_NETBIRD_Management: Connected\nFINAL_NETBIRD_Signal: Connected\nFINAL_NETBIRD_Relays: 1/1 Available\nFINAL_NETBIRD_NetBird IP: 100.100.131.41/16\nFINAL_NETBIRD_Networks: -\nFINAL_NETBIRD_Peers count: 0/0 Connected\nPOST_WAIT_NETBIRD_Relays: 1/2 Available\nPOST_WAIT_NETBIRD_Networks: -\nPOST_WAIT_NETBIRD_Peers count: 3/11 Connected\n=== HEALTH_AND_SKLADCHIK_RECONCILE ===\nNETBIRD_PEERS_HEALTH_RC=1\nPRIVATE_VPN_HOSTS_HEALTH_RC=0\nSKLADCHIK_SUPERVISOR_ATTEMPT_1_RC=1\nSKLADCHIK_SUPERVISOR_ATTEMPT_2_RC=1\nSKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: SUPERVISOR_STATUS=FAIL\nSKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: SUPERVISOR_PROBLEMS=monitor_status_not_ok\nSKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: MONITOR=ERROR reports= open= resolved=\nSKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z\nSKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: SUPERVISOR_STATUS=FAIL\nSKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: SUPERVISOR_PROBLEMS=monitor_status_not_ok\nSKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: MONITOR=ERROR reports= open= resolved=\nSKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z\nSKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: SUPERVISOR_STATUS=FAIL\nSKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: SUPERVISOR_PROBLEMS=monitor_status_not_ok\nSKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: MONITOR=ERROR reports= open= resolved=\nSKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z\nSKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: SUPERVISOR_STATUS=FAIL\nSKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: SUPERVISOR_PROBLEMS=monitor_status_not_ok\nSKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: MONITOR=ERROR reports= open= resolved=\nSKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z\nSKLADCHIK_SUPERVISOR_OK=false\nTASK_RESULT=PASS_NETBIRD_RESTORED_BUT_SKLADCHIK_PENDING\nDECISION=HOLD_SKLADCHIK_AFTER_NETBIRD\nNEXT_GATE=RECONCILE_SKLADCHIK_ONLY\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n"
"output": "SKLADCHIK_RECONCILE_BEGIN=true\nCOMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1\nMODE=change\n/run/workers2-SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1.3821672.sh: line 93: COMP: unbound variable\n"
}
+16 -68
View File
@@ -1,88 +1,36 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1
COMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1
STATUS=FAIL
RC=31
RC=76
HOST=pve01
MODE=change
COMPONENT=netbird-relay-ingress-pve-edge-recovery
COMPONENT=skladchik-only-reconcile
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=b5d155d3138d5d9aff741f1f8ee1dc6d91f389bcb6d150b76c5d67047e1841bd
COMMAND_SHA256=f5f9992644dcc6b6122c859f769c880fed0eafb5c09378001b2caa1a4a3867ec
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=true
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=FAIL
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=31
CHANGES_MADE=true
ROLLBACK_STARTED=false
RESULT_CONTRACT_VALID=false
RESULT_CONTRACT_STATUS=UNKNOWN
RESULT_CONTRACT_ERROR=MISSING_CONTRACT
COMMAND_RC=1
CHANGES_MADE=unknown
ROLLBACK_STARTED=unknown
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=MUTATED
MUTATION_OUTCOME=UNKNOWN
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=704c3dfd4261a98dde693184f8d8997876aeeb2e9c7c377ed93c33df51512ff8
SANITIZED_OUTPUT_SHA256=704c3dfd4261a98dde693184f8d8997876aeeb2e9c7c377ed93c33df51512ff8
RAW_EVIDENCE_SHA256=b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9
SANITIZED_OUTPUT_SHA256=b5a809fd52c0cc3480f1a9406ec16907d6697402b1426affaa2ffb5c059586f9
OUTPUT_BEGIN
NETBIRD_RELAY_RECOVERY_BEGIN=true
COMMAND_ID=SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1
SKLADCHIK_RECONCILE_BEGIN=true
COMMAND_ID=SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1
MODE=change
COMPONENT=netbird-relay-ingress-pve-edge-recovery
MUTATION_BOUNDARY=RELAY_NETBIRD_INGRESS_SOCKET_ENABLE_IF_NEEDED_PLUS_PVE01_HOSTS_OVERRIDE_FOR_NB_NAMES_PLUS_NETBIRD_RESTART_PLUS_HEALTH_SUPERVISOR_ONESHOTS;NO_DNS_PROVIDER_EDIT;NO_ROUTE_EDIT;NO_FIREWALL_EDIT;NO_NETBIRD_CONFIG_EDIT;NO_COOKIE_EDIT
CLUSTER_QUORATE=true
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
=== PRE_NETBIRD ===
Error: status failed: failed connecting to Management Service : create connection: dial context: context deadline exceeded
PVE_TO_RELAY_DASHBOARD_PRE_HTTP=200
PVE_TO_RELAY_OIDC_PRE_HTTP=200
RELAY_INGRESS_READY=true
PVE_HOSTS_OVERRIDE=APPLIED
PVE_HOSTS_SHA256=a496860cfb488920de67686aa7d555627acc902891c8cc27ba5b1b399c248830
PVE_RESOLVE_NB_PVEPRO=85.121.4.192
PVE_RESOLVE_NB_GRAM1=85.121.4.192
ACTION=PVE01_NETBIRD_RESTART_VIA_RELAY
FINAL_NETBIRD_MANAGEMENT=true
FINAL_NETBIRD_SIGNAL=true
FINAL_NETBIRD_Management: Connected
FINAL_NETBIRD_Signal: Connected
FINAL_NETBIRD_Relays: 1/1 Available
FINAL_NETBIRD_NetBird IP: 100.100.131.41/16
FINAL_NETBIRD_Networks: -
FINAL_NETBIRD_Peers count: 0/0 Connected
POST_WAIT_NETBIRD_Relays: 1/2 Available
POST_WAIT_NETBIRD_Networks: -
POST_WAIT_NETBIRD_Peers count: 3/11 Connected
=== HEALTH_AND_SKLADCHIK_RECONCILE ===
NETBIRD_PEERS_HEALTH_RC=1
PRIVATE_VPN_HOSTS_HEALTH_RC=0
SKLADCHIK_SUPERVISOR_ATTEMPT_1_RC=1
SKLADCHIK_SUPERVISOR_ATTEMPT_2_RC=1
SKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: SUPERVISOR_STATUS=FAIL
SKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: SUPERVISOR_PROBLEMS=monitor_status_not_ok
SKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: MONITOR=ERROR reports= open= resolved=
SKLADCHIK_SUPERVISOR_Sep 27 18:37:18 pve01 skladchik-reports-monitor-supervisor[3735415]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: SUPERVISOR_STATUS=FAIL
SKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: SUPERVISOR_PROBLEMS=monitor_status_not_ok
SKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: MONITOR=ERROR reports= open= resolved=
SKLADCHIK_SUPERVISOR_Sep 27 18:47:22 pve01 skladchik-reports-monitor-supervisor[3770780]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: SUPERVISOR_STATUS=FAIL
SKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: SUPERVISOR_PROBLEMS=monitor_status_not_ok
SKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: MONITOR=ERROR reports= open= resolved=
SKLADCHIK_SUPERVISOR_Sep 27 18:55:51 pve01 skladchik-reports-monitor-supervisor[3797677]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: SUPERVISOR_STATUS=FAIL
SKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: SUPERVISOR_PROBLEMS=monitor_status_not_ok
SKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: MONITOR=ERROR reports= open= resolved=
SKLADCHIK_SUPERVISOR_Sep 27 18:56:51 pve01 skladchik-reports-monitor-supervisor[3798189]: CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SKLADCHIK_SUPERVISOR_OK=false
TASK_RESULT=PASS_NETBIRD_RESTORED_BUT_SKLADCHIK_PENDING
DECISION=HOLD_SKLADCHIK_AFTER_NETBIRD
NEXT_GATE=RECONCILE_SKLADCHIK_ONLY
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260927-NETBIRD-RELAY-INGRESS-PVE-EDGE-RECOVERY-73318R1","status":"FAIL","changes_made":true,"rollback_started":false,"rollback_restored":null}
/run/workers2-SUPPORT-260927-SKLADCHIK-ONLY-RECONCILE-73319R1.3821672.sh: line 93: COMP: unbound variable
OUTPUT_END
CHAT_OUTPUT_END