Gather different port status on different hosts

Knowing what ports are open, it helps to debug network issues.

Change-Id: Idc777231e85d60fb794ba3905cb2fe5077b87951
This commit is contained in:
Chandan Kumar 2019-01-25 16:07:46 +05:30
parent b493f6cf00
commit 6223a72d18
3 changed files with 49 additions and 0 deletions

43
listening-port-report.yml Normal file
View File

@ -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

View File

@ -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' \;

View File

@ -30,3 +30,6 @@
# Install Tempest
- import_playbook: common/test-install-tempest.yml
# Gather port status
- import_playbook: common/listening-port-report.yml