diff --git a/listening-port-report.yml b/listening-port-report.yml new file mode 100644 index 00000000..368b55fd --- /dev/null +++ b/listening-port-report.yml @@ -0,0 +1,43 @@ +# Copyright 2018, BBC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- name: Gather listening ports report + hosts: all + become: true + gather_facts: no + tasks: + - name: netstat package is installed + package: + name: net-tools + state: present + + - name: Gather listening ports + command: netstat -ln --inet --program + register: listening_ports + changed_when: false + + - name: create report + copy: + content: | + {% for host in ansible_play_hosts %} + hostname: {{ host }} + listening_ports: + {% for port in hostvars[host].listening_ports['stdout_lines'] %} + {{ port }} + {% endfor %} + + {% endfor %} + dest: /tmp/listening_port_report.txt + delegate_to: localhost + run_once: true diff --git a/test-log-collect.sh b/test-log-collect.sh index 1c7d2ffb..8382693a 100755 --- a/test-log-collect.sh +++ b/test-log-collect.sh @@ -197,6 +197,9 @@ store_artifacts /var/log/ "${WORKING_DIR}/logs/host" # Store the ara sqlite database in the openstack-ci expected path store_artifacts "${TESTING_HOME}/.ara/ansible.sqlite" "${WORKING_DIR}/logs/ara-report/" +# Store netstat report +store_artifacts /tmp/listening_port_report.txt "${WORKING_DIR}/logs/host" + # Verify the integrity of the journal files but do not fail if one of them is not usable echo "Verifying journal files consistency..." find /var/log/journal/ -type f -name "*.journal" -exec bash -c 'sudo journalctl --file={} --verify || true' \; diff --git a/tests/test.yml b/tests/test.yml index c1a1fcc2..65bc4778 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -30,3 +30,6 @@ # Install Tempest - import_playbook: common/test-install-tempest.yml + +# Gather port status +- import_playbook: common/listening-port-report.yml