diff --git a/ansible/roles/test/tasks/restart_syncd.yml b/ansible/roles/test/tasks/restart_syncd.yml new file mode 100644 index 00000000000..1f6b48735fe --- /dev/null +++ b/ansible/roles/test/tasks/restart_syncd.yml @@ -0,0 +1,65 @@ +- name: look for core files under /var/core + become: true + find: + path: /var/core/ + file_type: file + register: core_files_before + +- debug: msg="{{ core_files_before.matched }} - {{ core_files_before.files }}" + +- name: Stop syncd process + shell: docker exec -i syncd /usr/bin/syncd_request_shutdown --cold + +- name: Wait 10 seconds for syncd to quit + pause: + seconds: 10 + +- name: Look for syncd process + shell: pgrep "\" -a + register: syncd_out + ignore_errors: yes + +- debug: msg="{{ syncd_out.stdout_lines }}" + +- fail: msg="Syncd is still running?" + when: + - ({{ syncd_out.stdout_lines | length }} > 0) + +- name: look for core files under /var/core + become: true + find: + path: /var/core/ + file_type: file + register: core_files_after + +- debug: msg="{{ core_files_after.matched }} - {{ core_files_after.files }}" + +- fail: msg="Found new core(s) under /var/core/" + when: + - ({{ core_files_after.files|length > core_files_before.files|length }}) + +- name: Restart swss service + become: true + service: + name: swss + state: restarted + +- name: wait for 2 minutes for swss service to recover + pause: + seconds: 120 + +- name: check basic sanity of the device + include: base_sanity.yml + vars: + recover: false + +- name: validate all interfaces are up + include: interface.yml + vars: + recover: false + +- name: Restart dhcp_relay service + become: true + service: + name: dhcp_relay + state: restarted diff --git a/ansible/roles/test/vars/testcases.yml b/ansible/roles/test/vars/testcases.yml index eb6f7bdfd42..98193332390 100644 --- a/ansible/roles/test/vars/testcases.yml +++ b/ansible/roles/test/vars/testcases.yml @@ -166,6 +166,10 @@ testcases: filename: restart_swss.yml topologies: [t0, t0-64, t0-64-32, t0-116, t1, t1-lag, t1-64-lag, ptf32, ptf64] + restart_syncd: + filename: restart_syncd.yml + topologies: [t0, t0-64, t0-64-32, t0-116, t1, t1-lag, t1-64-lag, ptf32, ptf64] + sensors: filename: sensors_check.yml topologies: [t0, t0-64, t0-64-32, t0-116, t1, t1-lag, t1-64-lag, ptf32, ptf64]