diff --git a/roles/check_demarcation_point/tasks/checks.yaml b/roles/check_demarcation_point/tasks/checks.yaml
deleted file mode 100644
index ea9820ab4084c25d719e8ef936393a776e9085c0..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/checks.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
----
-
-- name: Load variables from pre and post check results
- ansible.builtin.include_vars:
- dir: vars
- files_matching: "{{ check_id }}.yml"
-
-- name: TEST Print PRE interface statistics
- ansible.builtin.debug:
- var: pre_check
- when: verb == 'pre_check'
-
-- name: TEST Print POST interface statistics
- ansible.builtin.debug:
- var: post_check
- when: verb == 'post_check'
-
-- name: Get the interface status
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.interface_status == 'up'"
- fail_msg: "FAIL: physical interface is DOWN"
- success_msg: "PASS: physical interface is UP"
- failed_when: false
-
-- name: Check the interface input errors
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.input_error_count <= {{ input_error_count_threshold }}"
- fail_msg: "FAIL: input errors detected"
- success_msg: "PASS: no input errors detected"
- failed_when: false
-
-
-- name: Check the interface output errors
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.output_error_count <= {{ output_error_count_threshold }}"
- fail_msg: "FAIL: output errors detected"
- success_msg: "PASS: no output errors detected"
- failed_when: false
-
-- name: Check the interface FEC statistics
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.ethernet_fec_statistics.fec_ccw_count is defined"
- - "{{ verb }}.{{ check_id }}.ethernet_fec_statistics.fec_ccw_count.0.data <= {{ fec_ccw_count_threshold }}"
- - "{{ verb }}.{{ check_id }}.ethernet_fec_statistics.fec_ccw_error_rate.0.data == {{ fec_ccw_error_rate_threshold }}"
- - "{{ verb }}.{{ check_id }}.ethernet_fec_statistics.fec_nccw_count.0.data == {{ fec_nccw_count_threshold }}"
- - "{{ verb }}.{{ check_id }}.ethernet_fec_statistics.fec_nccw_error_rate.0.data == {{ fec_nccw_error_rate_threshold }}"
- fail_msg: "FAIL: FEC statistics errors detected or FEC statistics not found - please check results in relevant yaml file"
- success_msg: "PASS: no FEC statistics errors detected"
- failed_when: false
-
-- name: Check the interface PCS statistics
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.ethernet_pcs_statistics_bit_error_secs | int <= {{ pcs_bit_error_seconds_threshold }}"
- - "{{ verb }}.{{ check_id }}.ethernet_pcs_statistics_errored_blocks_secs | int <= {{ pcs_bit_error_blocks_seconds_threshold }}"
- fail_msg: "FAIL: PCS statistics errors detected"
- success_msg: "PASS: PCS statistics errors are below threshold"
- failed_when: false
-
-- name: Check the optical levels output Tx power low threshold (dBm)
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.output_power_dbm > {{ min_tx_power_dbm }}"
- fail_msg: "FAIL: Low Tx output power detected (dBm)"
- success_msg: "PASS: Tx Output power above minimum threshold (dBm) "
- failed_when: false
-
-- name: Check the optical levels output Tx power high threshold (dBm)
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.output_power_dbm < {{ max_tx_power_dbm }}"
- fail_msg: "FAIL: High Tx output power detected (dBm)"
- success_msg: "PASS: Tx Output power below maximum threshold (dBm) "
- failed_when: false
-
-- name: Check the optical levels input Rx power low threshold (dBm)
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.rx_signal_avg_power_dbm > {{ min_rx_power_dbm }}"
- fail_msg: "FAIL: Low Rx signal power detected (dBm)"
- success_msg: "PASS: Rx signal power above minimum threshold (dBm) "
- failed_when: false
-
-- name: Check the optical levels input Rx power high threshold (dBm)
- ansible.builtin.assert:
- that:
- - "{{ verb }}.{{ check_id }}.rx_signal_avg_power_dbm < {{ max_rx_power_dbm }}"
- fail_msg: "FAIL: High Rx signal power detected (dBm)"
- success_msg: "PASS: Rx signal power below maximum threshold (dBm) "
- failed_when: false
diff --git a/roles/check_demarcation_point/tasks/compare.yaml b/roles/check_demarcation_point/tasks/compare.yaml
deleted file mode 100644
index 790eeba19ed43b8b1dd635306b1deb775c2c564a..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/compare.yaml
+++ /dev/null
@@ -1,111 +0,0 @@
----
-
-- name: Get output file information
- ansible.builtin.stat:
- path: roles/check_demarcation_point/vars/{{ check_id }}.yml
- register: file_status
-
-- name: Load variables from pre and post check results
- ansible.builtin.include_vars:
- dir: vars
- files_matching: "{{ check_id }}.yml"
-
-- name: Check if PRE and POST measurements exist prior to compare command
- ansible.builtin.assert:
- that:
- - "pre_check.{{ check_id }} is defined"
- - "post_check.{{ check_id }} is defined"
- fail_msg: "FAIL: PRE and POST measurements have not been performed before COMPARE"
- success_msg: "PASS: PRE and POST values exist "
-
-- name: Compare PRE and POST interface status
- ansible.builtin.assert:
- that:
- - "pre_check.{{ check_id }}.interface_status == post_check.{{ check_id }}.interface_status"
- fail_msg: "FAIL: Interface status on PRE and post POST is not equal"
- success_msg: "PASS: Interface status PRE and POST check is equal "
-
-- name: Compare PRE and POST interface input errors
- ansible.builtin.assert:
- that:
- - "{{ pre_check[check_id].input_error_count | int }} <= {{ post_check[check_id].input_error_count | int }}"
- fail_msg: "WARNING: Interface input errors have been increased"
- success_msg: "PASS: Interface input errors have not been increased "
- failed_when: false
-
-- name: Compare PRE and POST interface output errors
- ansible.builtin.assert:
- that:
- - "{{ pre_check[check_id].output_error_count | int }} <= {{ post_check[check_id].output_error_count | int }}"
- fail_msg: "WARNING: Interface output errors have been increased"
- success_msg: "PASS: Interface output errors have not been increased "
- failed_when: false
-
-- name: Set facts
- ansible.builtin.set_fact:
- tx_power_dbm_post: "{{ post_check[check_id].output_power_dbm }}"
- tx_power_dbm_pre: "{{ pre_check[check_id].output_power_dbm }}"
- rx_power_dbm_post: "{{ post_check[check_id].rx_signal_avg_power_dbm }}"
- rx_power_dbm_pre: "{{ pre_check[check_id].rx_signal_avg_power_dbm }}"
- input_error_count_post: "{{ post_check[check_id].input_error_count }}"
- input_error_count_pre: "{{ pre_check[check_id].input_error_count }}"
- output_error_count_post: "{{ post_check[check_id].output_error_count }}"
- output_error_count_pre: "{{ pre_check[check_id].output_error_count }}"
- when:
- - pre_check[check_id] is defined
- - post_check[check_id] is defined
-
-- name: Set facts calculate diffs
- ansible.builtin.set_fact:
- tx_power_dbm_diff: "{{ '{:0.2f}'.format(tx_power_dbm_post | float - tx_power_dbm_pre | float) }}"
- rx_power_dbm_diff: "{{ '{:0.2f}'.format(rx_power_dbm_post | float - rx_power_dbm_pre | float) }}"
- input_error_count_diff: "{{ input_error_count_post | int - input_error_count_pre | int }}"
- output_error_count_diff: "{{ output_error_count_post | int - output_error_count_pre | int }}"
-
-- name: Add PRE and POST comparison values to yaml
- ansible.builtin.blockinfile:
- path: "roles/check_demarcation_point/vars/{{ check_id }}.yml"
- marker: "# {mark} -------------- DIFFS (POST - PRE) ----------------------------- #"
- block: |
- {{ verb + ':' }}
- {{ check_id + ':' }}
- {{ 'tx_power_diff:' }} {{ tx_power_dbm_diff }}
- {{ 'rx_power_diff:' }} {{ rx_power_dbm_diff }}
- {{ 'input_error_count_diff:' }} {{ input_error_count_diff }}
- {{ 'output_error_count_diff:' }} {{ output_error_count_diff }}
- when:
- - pre_check[check_id] is defined
- - post_check[check_id] is defined
- - file_status.stat.exists
-
-- name: Check if Rx power in POST check is way lower than PRE check (above permitted threshold)
- ansible.builtin.assert:
- that:
- - "{{ rx_power_dbm_diff | float }} > {{ rx_power_allowed_diff | float }} "
- fail_msg: "WARNING: Rx Power (dBm) diff between pre/post check is bigger than allowed threshold."
- success_msg: "PASS: Rx Power (dBm) diff between pre/post check is normal."
- failed_when: false
-
-- name: Check if Tx power in POST check is way lower than PRE check (above permitted threshold)
- ansible.builtin.assert:
- that:
- - "{{ tx_power_dbm_diff | float }} > {{ tx_power_allowed_diff | float }} "
- fail_msg: "WARNING: Rx Power (dBm) diff between pre/post check is bigger than allowed threshold."
- success_msg: "PASS: Rx Power (dBm) diff between pre/post check is normal."
- failed_when: false
-
-- name: Check if input_errors increase diff between PRE and POST checks is above permitted threshold
- ansible.builtin.assert:
- that:
- - "{{ input_error_count_diff | int }} < {{ input_error_count_threshold | int }} "
- fail_msg: "WARNING: Input errors count in POST check have been increased above threshold."
- success_msg: "PASS: Input errors count diffs between PRE and POST check is normal."
- failed_when: false
-
-- name: Check if output_errors increase diff between PRE and POST checks is above permitted threshold
- ansible.builtin.assert:
- that:
- - "{{ output_error_count_diff | int }} < {{ output_error_count_threshold | int }} "
- fail_msg: "WARNING: Output errors count in POST check have been increased above threshold."
- success_msg: "PASS: Output errors count diffs between PRE and POST check is normal."
- failed_when: false
\ No newline at end of file
diff --git a/roles/check_demarcation_point/tasks/create_file.yaml b/roles/check_demarcation_point/tasks/create_file.yaml
deleted file mode 100644
index c4a1ba362e269e3ece00ff29fb8a2f9c01c9c1ed..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/create_file.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
----
-
-- name: Get output file information
- ansible.builtin.stat:
- path: roles/check_demarcation_point/vars/{{ check_id }}.yml
- register: file_status
-
-- name: Creating a yaml file with pre_check results content
- ansible.builtin.copy:
- content: |
- {{ '---' }}
- {{ verb + ':' }}
- {{ check_id + ':' }}
- {{ 'interface:' }} {{ interface }}
- {{ 'device:' }} {{ inventory_hostname }}
- {{ 'interface_status:' }} {{ interface_status }}
- {{ 'input_error_count:' }} {{ input_error_count }}
- {{ 'output_error_count:' }} {{ output_error_count }}
- {{ 'ethernet_pcs_statistics_bit_error_secs:' }} {{ ethernet_pcs_statistics_bit_error_secs }}
- {{ 'ethernet_pcs_statistics_errored_blocks_secs:' }} {{ ethernet_pcs_statistics_errored_blocks_secs }}
- {{ 'ethernet_fec_statistics:' }} {{ ethernet_fec_statistics }}
- {{ 'output_power_dbm:' }} {{ output_power_dbm }}
- {{ 'rx_signal_avg_power_dbm:' }} {{ rx_signal_avg_power_dbm }}
- dest: "roles/check_demarcation_point/vars/{{ check_id }}.yml"
- mode: '0660'
- when:
- - not file_status.stat.exists
-
-
-- name: Add post_check parameters to yaml
- ansible.builtin.blockinfile:
- path: "roles/check_demarcation_point/vars/{{ check_id }}.yml"
- marker: "# {mark} -------------- POST CHECKS ----------------------------- #"
- block: |
- {{ verb + ':' }}
- {{ check_id + ':' }}
- {{ 'interface:' }} {{ interface }}
- {{ 'device:' }} {{ inventory_hostname }}
- {{ 'interface_status:' }} {{ interface_status }}
- {{ 'input_error_count:' }} {{ input_error_count }}
- {{ 'output_error_count:' }} {{ output_error_count }}
- {{ 'ethernet_pcs_statistics_bit_error_secs:' }} {{ ethernet_pcs_statistics_bit_error_secs }}
- {{ 'ethernet_pcs_statistics_errored_blocks_secs:' }} {{ ethernet_pcs_statistics_errored_blocks_secs }}
- {{ 'ethernet_fec_statistics:' }} {{ ethernet_fec_statistics }}
- {{ 'output_power_dbm:' }} {{ output_power_dbm }}
- {{ 'rx_signal_avg_power_dbm:' }} {{ rx_signal_avg_power_dbm }}
- when:
- - verb == 'post_check'
- - file_status.stat.exists
diff --git a/roles/check_demarcation_point/tasks/get_ifstatus.yaml b/roles/check_demarcation_point/tasks/get_ifstatus.yaml
deleted file mode 100644
index 642bebf32e8b99b5d4066dbf209d6401725dad85..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/get_ifstatus.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-
-###############################################################################################################
-# The playbook does the following:
-#
-# - Runs the command show 'interface statistics {{ interface }}' and gets the json output
-# - From json output it retrieves the apporpriate metrics (status,input/output errors, FEC errors, PCS errors)
-# - Saves the metrics in relevant variable names.
-#
-###############################################################################################################
-
-- name: Print input from user (DEBUG)
- ansible.builtin.debug:
- msg:
- - "type of check is: {{ verb }}"
- - "interface input from user is: {{ interface }}"
- - "Vendor input from user is: {{ vendor }}"
- - "check_id input from user is: {{ check_id }}"
-
-- name: Get Junos attributes for interface {{ interface }}
- junipernetworks.junos.junos_command:
- commands: "show interface statistics {{ interface }}"
- display: json
- register: interface_status
- when: vendor == 'juniper'
-
-
-- name: Manipulate the interface attributes
- ansible.builtin.set_fact:
- interface_status: "{{ interface_status.stdout_lines.0['interface-information'].0['physical-interface'].0['oper-status'].0['data']| default(False) }}"
- input_error_count: "{{ interface_status.stdout_lines.0['interface-information'].0['physical-interface'].0['input-error-count'].0['data']| default(False) }}"
- output_error_count: >-
- {{
- interface_status.stdout_lines.0['interface-information']
- .0['physical-interface'].0['output-error-count'].0['data'] | default(False)
- }}
- ethernet_pcs_statistics_bit_error_secs: >-
- "{{ interface_status.stdout_lines.0['interface-information'].0['physical-interface']
- .0['ethernet-pcs-statistics'].0['bit-error-seconds'].0['data']| default(False)
- }}"
- ethernet_pcs_statistics_errored_blocks_secs: >-
- "{{ interface_status.stdout_lines.0['interface-information'].0['physical-interface']
- .0['ethernet-pcs-statistics'].0['errored-blocks-seconds'].0['data']| default(False) }}"
- ethernet_fec_statistics: "{{ interface_status.stdout_lines.0['interface-information'].0['physical-interface'].0['ethernet-fec-statistics'].0
- | default(False) }}"
- when: vendor == 'juniper'
-
-
-- name: Print interface statistics
- ansible.builtin.debug:
- var: print_variables
- vars:
- print_variables:
- interface_status: "{{ interface_status }}"
- input_error_count: "{{ input_error_count }}"
- output_error_count: "{{ output_error_count }}"
- ethernet_pcs_statistics_bit_error_secs: "{{ ethernet_pcs_statistics_bit_error_secs }}"
- ethernet_pcs_statistics_errored_blocks_secs: "{{ ethernet_pcs_statistics_errored_blocks_secs }}"
- ethernet_fec_statistics: "{{ ethernet_fec_statistics }}"
diff --git a/roles/check_demarcation_point/tasks/get_optical_levels.yaml b/roles/check_demarcation_point/tasks/get_optical_levels.yaml
deleted file mode 100644
index a1ffd75ef3fd4ad6c9c0cc6dfb2d32ed75d1a3e4..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/get_optical_levels.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-###############################################################################################################
-# The playbook does the following:
-#
-#
-# - Runs the command 'show interfaces diagnostics optics {{ interface }} | no-more' and gets the json output
-# - From json output it retrieves the apporpriate metrics for optical levels
-# - Saves the metrics in relevant variable names
-###############################################################################################################
-
-- name: Get Junos attributes for optical levels of interface {{ interface }}
- junipernetworks.junos.junos_command:
- commands: "show interfaces diagnostics optics {{ interface }} | no-more"
- display: json
- register: optical_status
- when: vendor == 'juniper'
-
-- name: Manipulate the optical results attributes
- ansible.builtin.set_fact:
- output_power_dbm: >-
- {{
- optical_status.stdout_lines.0['interface-information']
- .0['physical-interface'].0['optics-diagnostics']
- .0['laser-output-power-dbm'].0['data'] | default(False)
- }}
- rx_signal_avg_power_dbm: >-
- {{
- optical_status.stdout_lines.0['interface-information']
- .0['physical-interface'].0['optics-diagnostics']
- .0['rx-signal-avg-optical-power-dbm'].0['data'] | default(False)
- }}
- when: vendor == 'juniper'
-
-- name: Print optical levels statistics
- ansible.builtin.debug:
- var: print_variables
- vars:
- print_variables:
- output_power_dbm: "{{ output_power_dbm }}"
- rx_signal_avg_power_dbm: "{{ rx_signal_avg_power_dbm }}"
diff --git a/roles/check_demarcation_point/tasks/main.yml b/roles/check_demarcation_point/tasks/main.yml
deleted file mode 100644
index 42e84db221433d312aeeb49363e66206f5aea8a7..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/tasks/main.yml
+++ /dev/null
@@ -1,41 +0,0 @@
----
-- name: Print the usage
- ansible.builtin.debug:
- msg:
- - "Required arguments: 'verb', 'interface', 'vendor' and 'check_id' are required."
- - "Allowed verbs: 'pre_check', 'post_check', 'compare'. Use: -e 'verb=$verb'"
- - "Allowed interface: user_input Use: -e 'interface=$interface'"
- - "Allowed vendors: 'juniper', 'cisco'. Use: -e 'vendor=$vendor'"
- - "Allowed check_id: user_input Use: -e 'check_id=$check_id'"
- when:
- - (verb is not defined) or (interface is not defined) or (vendor is not defined) or (check_id is not defined)
-
-- name: End playbook
- ansible.builtin.meta: end_play
- when:
- - (verb is not defined) or (interface is not defined) or (vendor is not defined) or (check_id is not defined)
-
-- name: Include task get_ifstatus
- ansible.builtin.include_tasks: get_ifstatus.yaml
- when:
- - verb in ['pre_check','post_check']
-
-- name: Include task get_optical_levels
- ansible.builtin.include_tasks: get_optical_levels.yaml
- when:
- - verb in ['pre_check','post_check']
-
-- name: Include task create_file
- ansible.builtin.include_tasks: create_file.yaml
- when:
- - verb in ['pre_check','post_check']
-
-- name: Include task checks
- ansible.builtin.include_tasks: checks.yaml
- when:
- - verb in ['pre_check','post_check']
-
-- name: Include task compare
- ansible.builtin.include_tasks: compare.yaml
- when:
- - verb == 'compare'
diff --git a/roles/check_demarcation_point/vars/main.yml b/roles/check_demarcation_point/vars/main.yml
deleted file mode 100644
index 4707c560807cb1ab26e26a5942c7e083a8da127f..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/vars/main.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-# vars file for demarcation_point checks
-dryrun: "True"
-verbs:
- - "pre_check"
- - "post_check"
- - "compare"
-vendors:
- - "juniper"
- - "cisco"
-# config_objects:
-# - "trunk_interface"
-# - "isis"
-# - "isis_interface"
-# - "ldp_interface"
-# - "lldp_interface"
-# - "trunk_deprovision"
diff --git a/roles/check_demarcation_point/vars/optical_thresholds.yml b/roles/check_demarcation_point/vars/optical_thresholds.yml
deleted file mode 100644
index 0c81c198ad197e44730035c528c2e4dafcd2bf1a..0000000000000000000000000000000000000000
--- a/roles/check_demarcation_point/vars/optical_thresholds.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-min_tx_power_dbm: -8
-max_tx_power_dbm: 0
-min_rx_power_dbm: -10
-max_rx_power_dbm: -0.5
-rx_power_allowed_diff: -2
-tx_power_allowed_diff: -2
-input_error_count_threshold: 3
-output_error_count_threshold: 3
-fec_ccw_count_threshold: 0
-fec_ccw_error_rate_threshold: 0
-fec_nccw_count_threshold: 0
-fec_nccw_error_rate_threshold: 0
-pcs_bit_error_seconds_threshold: 20
-pcs_bit_error_blocks_seconds_threshold: 20
\ No newline at end of file