From c1c3c0c011d6d4501b24f7c5442350bf407d82c2 Mon Sep 17 00:00:00 2001 From: pavel Date: Tue, 20 Jan 2026 14:49:57 +0200 Subject: [PATCH] 1440 --- .../ansible-playbooks/sot-updater-iponly.yml | 82 +------------------ 1 file changed, 2 insertions(+), 80 deletions(-) diff --git a/files/ansible-playbooks/sot-updater-iponly.yml b/files/ansible-playbooks/sot-updater-iponly.yml index c7feaa4..09a5da7 100644 --- a/files/ansible-playbooks/sot-updater-iponly.yml +++ b/files/ansible-playbooks/sot-updater-iponly.yml @@ -6,8 +6,8 @@ vars: # Wrapper mode: - # false (default): standalone behavior (may requeue + end_host) - # true: composable behavior for sot-updater-wrapper.yml (no requeue, no end_host) + # false (default): standalone behavior (may end_host) + # true: composable behavior for sot-updater-wrapper.yml (no end_host) sot_wrapper_mode: false pathprefix: "PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH; " @@ -33,17 +33,6 @@ -o NumberOfPasswordPrompts=1 -o ConnectTimeout=15 - rmq_host: "{{ lookup('env','RMQ_HOST') | default('10.210.12.2', true) }}" - rmq_port: "{{ lookup('env','RMQ_PORT') | default('15672', true) }}" - rmq_user: "{{ lookup('env','RMQ_USER') | default('admin', true) }}" - rmq_pass: "{{ lookup('env','RMQ_PASS') | default('change_me', true) }}" - rmq_vhost: "{{ lookup('env','RMQ_VHOST') | default('app', true) }}" - rmq_exchange: "{{ lookup('env','RMQ_EXCHANGE') | default('controls', true) }}" - control_queue: "{{ lookup('env','CONTROLQUEUE') | default('queue_controls', true) }}" - - # --- Retry attempt tracking (default 0 if missing) --- - requeue_attempt: "{{ (lookup('env','REQUEUE_ATTEMPT') | default('0', true)) | int }}" - pre_tasks: - name: "NB preflight | Verify script exists" delegate_to: localhost @@ -209,73 +198,6 @@ - "IP changed: {{ nb_ip_changed|default(false) }}" - "Reason: {{ nb_change_reason|default('none') }}" - - name: "NB preflight | Compute next_attempt" - delegate_to: localhost - set_fact: - next_attempt: "{{ (requeue_attempt | int) + 1 }}" - - # --- Requeue control: only 3 attempts, 300s apart --- - - name: "NB preflight | Publish delayed requeue (300s (10s)) if needed" - when: - - not (sot_wrapper_mode | default(false)) - - nb_script.stat.exists - - (nb_ip_changed | default(false)) or ( - (cloud_bad | default(false)) and - (cloud_error_type | default('none')) != 'cloud_http_500' - ) - - (requeue_attempt | int) < 3 - delegate_to: localhost - uri: - url: "http://{{ rmq_host }}:{{ rmq_port }}/api/exchanges/app/deviceconfig.delayed/publish" - method: POST - user: "admin" - password: "change_me" - force_basic_auth: true - status_code: 200 - return_content: yes - headers: { content-type: "application/json" } - body_format: json - body: - properties: - content_type: "application/json" - headers: { x-delay: 900000 } - routing_key: "deviceconfig" - payload: "{{ { - 'inscope_device': (ansible_hostname | default(inventory_hostname)), - 'task_name': 'sot-updater', - 'attempt': next_attempt - } | to_json }}" - payload_encoding: "string" - register: rmq_requeue - changed_when: false - failed_when: false - - - name: "NB preflight | Log requeue publish response" - when: - - not (sot_wrapper_mode | default(false)) - - nb_script.stat.exists - - ((cloud_bad | default(false)) or (nb_ip_changed | default(false))) - - (requeue_attempt | int) < 3 - delegate_to: localhost - debug: - msg: - - "Requeue published (attempt {{ (requeue_attempt | int) + 1 }})" - - "HTTP: {{ rmq_requeue.status|default('n/a') }}" - - "JSON: {{ rmq_requeue.json|default('') }}" - - - name: "NB preflight | Stop host after requeue" - when: - - not (sot_wrapper_mode | default(false)) - - nb_script.stat.exists - - ( - (nb_ip_changed | default(false)) or - ( - (cloud_bad | default(false)) and - (cloud_error_type | default('none')) != 'cloud_http_500' - ) - ) - meta: end_host - - name: "NB preflight | Pause 1s if OK" when: - nb_script.stat.exists