1553
This commit is contained in:
@@ -162,7 +162,7 @@
|
|||||||
{{
|
{{
|
||||||
dict(
|
dict(
|
||||||
nb_tokens
|
nb_tokens
|
||||||
| select('match', '^[a-zA-Z_]+=')
|
| select('match', '^[a-zA-Z_]+=')
|
||||||
| map('split', '=', 1)
|
| map('split', '=', 1)
|
||||||
| map('list')
|
| map('list')
|
||||||
)
|
)
|
||||||
@@ -281,6 +281,14 @@
|
|||||||
- "Device: {{ inventory_hostname }}"
|
- "Device: {{ inventory_hostname }}"
|
||||||
- "Mode: report-only (soft-fail telemetry)"
|
- "Mode: report-only (soft-fail telemetry)"
|
||||||
|
|
||||||
|
# ----------------------- Scan status tracking (journal finalization) -----------------------
|
||||||
|
- name: Init scan status tracking
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: []
|
||||||
|
scan_fail: []
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
# ----------------------- Temp IP on DEV1 -----------------------
|
# ----------------------- Temp IP on DEV1 -----------------------
|
||||||
- name: Add temporary IP on DEV1
|
- name: Add temporary IP on DEV1
|
||||||
raw: "{{ pathprefix }} ip a add {{ dev2_side_ip }} dev {{ dev1_iface }}"
|
raw: "{{ pathprefix }} ip a add {{ dev2_side_ip }} dev {{ dev1_iface }}"
|
||||||
@@ -432,6 +440,14 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
dev1_fw_clean: "{{ dev1_fw_clean_cmd.stdout|trim }}"
|
dev1_fw_clean: "{{ dev1_fw_clean_cmd.stdout|trim }}"
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev1 fw_version -----------------------
|
||||||
|
- name: Scan tracking | Dev1 fw_version outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + (['fw_version'] if ((dev1_fw_clean | default('') | length) > 0) else []) }}"
|
||||||
|
scan_fail: "{{ scan_fail + (['fw_version=unavailable'] if ((dev1_fw_clean | default('') | length) == 0) else []) }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Publish Dev1 fw_version
|
- name: Publish Dev1 fw_version
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
uri:
|
uri:
|
||||||
@@ -488,6 +504,13 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
multissidfix_value: "{{ (ssid_profiles_summary_raw.stdout | default('0 (0e 0d)')) | trim }}"
|
multissidfix_value: "{{ (ssid_profiles_summary_raw.stdout | default('0 (0e 0d)')) | trim }}"
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev1 multissidfix -----------------------
|
||||||
|
- name: Scan tracking | Dev1 multissidfix outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + ['multissidfix'] }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Dev1 | multissidfix debug
|
- name: Dev1 | multissidfix debug
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
when: multissidfix_value is defined
|
when: multissidfix_value is defined
|
||||||
@@ -642,6 +665,13 @@
|
|||||||
{{ scroll24_ver_clean | default('v1') }}_{{ scroll24_schedule }}
|
{{ scroll24_ver_clean | default('v1') }}_{{ scroll24_schedule }}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev1 scroll24 -----------------------
|
||||||
|
- name: Scan tracking | Dev1 scroll24 outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + ['scroll24'] }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Dev1 | scroll24 debug
|
- name: Dev1 | scroll24 debug
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
debug:
|
debug:
|
||||||
@@ -674,7 +704,7 @@
|
|||||||
} | to_json }}"
|
} | to_json }}"
|
||||||
payload_encoding: "string"
|
payload_encoding: "string"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
|
|
||||||
# ----------------------- Dev1 wifidebug.sh check & publish -----------------------
|
# ----------------------- Dev1 wifidebug.sh check & publish -----------------------
|
||||||
- name: Dev1 | Check wifidebug.sh presence
|
- name: Dev1 | Check wifidebug.sh presence
|
||||||
@@ -718,6 +748,13 @@
|
|||||||
{%- elif (wd_version_clean | default('') | length) > 0 -%}v{{ wd_version_clean }}
|
{%- elif (wd_version_clean | default('') | length) > 0 -%}v{{ wd_version_clean }}
|
||||||
{%- else -%}n/a{%- endif -%}
|
{%- else -%}n/a{%- endif -%}
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev1 wifidebug -----------------------
|
||||||
|
- name: Scan tracking | Dev1 wifidebug outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + ['wifidebug'] }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Publish Dev1 wifidebug custom field
|
- name: Publish Dev1 wifidebug custom field
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
uri:
|
uri:
|
||||||
@@ -768,6 +805,14 @@
|
|||||||
else (dev1_bootenv_wc.stdout | default('') | trim)
|
else (dev1_bootenv_wc.stdout | default('') | trim)
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev1 cpe_bootenv -----------------------
|
||||||
|
- name: Scan tracking | Dev1 cpe_bootenv outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + (['cpe_bootenv'] if ((cpe_bootenv_value | default('unavailable')) != 'unavailable') else []) }}"
|
||||||
|
scan_fail: "{{ scan_fail + (['cpe_bootenv=unavailable'] if ((cpe_bootenv_value | default('unavailable')) == 'unavailable') else []) }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Publish Dev1 cpe_bootenv custom field
|
- name: Publish Dev1 cpe_bootenv custom field
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
uri:
|
uri:
|
||||||
@@ -1216,6 +1261,14 @@
|
|||||||
- "dev2_firmux_text='{{ dev2_firmux_text | default('') | regex_replace('\n','\\n') }}'"
|
- "dev2_firmux_text='{{ dev2_firmux_text | default('') | regex_replace('\n','\\n') }}'"
|
||||||
- "indoor_fw_norm='{{ indoor_fw_norm | default('') }}'"
|
- "indoor_fw_norm='{{ indoor_fw_norm | default('') }}'"
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev2 indoor_fwver -----------------------
|
||||||
|
- name: Scan tracking | Dev2 indoor_fwver outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + (['indoor_fwver'] if ((indoor_fw_norm | default('') | length) > 0) else []) }}"
|
||||||
|
scan_fail: "{{ scan_fail + (['indoor_fwver=unavailable'] if ((indoor_fw_norm | default('') | length) == 0) else []) }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Publish Dev2 indoor_fwver
|
- name: Publish Dev2 indoor_fwver
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
uri:
|
uri:
|
||||||
@@ -1350,6 +1403,14 @@
|
|||||||
else (indoor_bootenv_raw | default('') | trim)
|
else (indoor_bootenv_raw | default('') | trim)
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev2 indoor_bootenv -----------------------
|
||||||
|
- name: Scan tracking | Dev2 indoor_bootenv outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + (['indoor_bootenv'] if ((indoor_bootenv_value | default('unavailable')) != 'unavailable') else []) }}"
|
||||||
|
scan_fail: "{{ scan_fail + (['indoor_bootenv=unavailable'] if ((indoor_bootenv_value | default('unavailable')) == 'unavailable') else []) }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Publish Dev2 indoor_bootenv custom field
|
- name: Publish Dev2 indoor_bootenv custom field
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
uri:
|
uri:
|
||||||
@@ -1490,6 +1551,14 @@
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
# ----------------------- Scan tracking: Dev2 indoor_hostname -----------------------
|
||||||
|
- name: Scan tracking | Dev2 indoor_hostname outcome
|
||||||
|
delegate_to: localhost
|
||||||
|
set_fact:
|
||||||
|
scan_ok: "{{ scan_ok + (['indoor_hostname'] if ((indoor_hostname_value | default('unavailable')) != 'unavailable') else []) }}"
|
||||||
|
scan_fail: "{{ scan_fail + (['indoor_hostname=unavailable'] if ((indoor_hostname_value | default('unavailable')) == 'unavailable') else []) }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Dev2 | indoor_hostname debug
|
- name: Dev2 | indoor_hostname debug
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
debug:
|
debug:
|
||||||
@@ -1521,6 +1590,41 @@
|
|||||||
payload_encoding: "string"
|
payload_encoding: "string"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
|
# ----------------------- Final journal: scan status -----------------------
|
||||||
|
- name: Journal final scan status (success / partial / fail)
|
||||||
|
delegate_to: localhost
|
||||||
|
vars:
|
||||||
|
_ok_n: "{{ (scan_ok | default([])) | length }}"
|
||||||
|
_fail_n: "{{ (scan_fail | default([])) | length }}"
|
||||||
|
_reason: "{{ (scan_fail | default([])) | join('; ') }}"
|
||||||
|
_msg: >-
|
||||||
|
{%- if (_fail_n | int) == 0 -%}
|
||||||
|
scan was successful
|
||||||
|
{%- elif (_ok_n | int) == 0 -%}
|
||||||
|
scanning failed — {{ _reason }}
|
||||||
|
{%- else -%}
|
||||||
|
scan was completed partially — {{ _reason }}
|
||||||
|
{%- endif -%}
|
||||||
|
uri:
|
||||||
|
url: "http://{{ rmq_host }}:{{ rmq_port }}/api/exchanges/{{ rmq_vhost | urlencode }}/{{ rmq_exchange | urlencode }}/publish"
|
||||||
|
method: POST
|
||||||
|
user: "{{ rmq_user }}"
|
||||||
|
password: "{{ rmq_pass }}"
|
||||||
|
force_basic_auth: true
|
||||||
|
status_code: 200
|
||||||
|
headers: { content-type: "application/json" }
|
||||||
|
body_format: json
|
||||||
|
body:
|
||||||
|
properties: { content_type: "application/json" }
|
||||||
|
routing_key: "{{ control_queue }}"
|
||||||
|
payload: "{{ {
|
||||||
|
'inscope_device': (ansible_hostname | default(inventory_hostname)),
|
||||||
|
'task_name': 'journal_add',
|
||||||
|
'task_result': _msg
|
||||||
|
} | to_json }}"
|
||||||
|
payload_encoding: "string"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
post_tasks:
|
post_tasks:
|
||||||
- name: "✅ Cleanup start"
|
- name: "✅ Cleanup start"
|
||||||
debug:
|
debug:
|
||||||
|
|||||||
Reference in New Issue
Block a user