blob: 471fdd4863910c2268ac03741809ab5e6517bd8b [file] [log] [blame]
garciadeblas15fd2002018-11-07 02:02:45 +01001#!/bin/bash
2
3# OSM devops/tools - Tool that generates a report for debugging
4#
5# Copyright 2018 Telefonica
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18
19DIRNAME=$(readlink -f ${BASH_SOURCE[0]})
20DIRNAME=$(dirname $DIRNAME)
21
22#Get versions
23echo "-------------------------------"
24echo "Versions"
25echo "-------------------------------"
26echo "DIRNAME: $DIRNAME"
27echo "docker version:"
28docker version
29echo "lxd version:"
30lxd --version
31echo "juju version:"
32juju --version
33echo "osm-devops deb package:"
34dpkg -l |grep osm-devops
garciadeblas954f06f2019-06-27 16:44:18 +020035echo "osm-imdocs osm-im deb package:"
36dpkg -l |grep osm-im
garciadeblas15fd2002018-11-07 02:02:45 +010037echo "python-osmclient deb package:"
38dpkg -l |grep
39echo "whereis osm:"
40whereis osm
41echo "which osmclient:"
42which osm
43#dockers deb packages
44echo "dockers deb packages"
Benjamin Diaz6e3a2b62019-02-22 16:04:34 -030045for i in kafka keystone lcm light-ui mon mongo nbi pol prometheus ro mysql zookeeper; do
garciadeblas15fd2002018-11-07 02:02:45 +010046 echo "docker osm_$i"
47 docker exec $(docker ps -q -f name=osm_$i -l) dpkg -l |grep osm
48done
49#dockers source code
50echo "dockers deb packages"
garciadeblas954f06f2019-06-27 16:44:18 +020051echo "MON"
52docker exec -it $(docker ps -aqf "name=osm_mon" -n 1) dpkg -l |egrep -i "osm|n2vc"
53echo "POL"
54docker exec -it $(docker ps -aqf "name=osm_pol" -n 1) dpkg -l |egrep -i "osm|n2vc"
55echo "LCM"
56docker exec -it $(docker ps -aqf "name=osm_lcm" -n 1) dpkg -l |egrep -i "osm|n2vc"
57echo "NBI"
58docker exec -it $(docker ps -aqf "name=osm_nbi" -n 1) dpkg -l |egrep -i "osm|n2vc"
59echo "LW-UI"
60docker exec -it $(docker ps -aqf "name=osm_light-ui" -n 1) dpkg -l |egrep -i "osm|n2vc"
61echo "RO"
62docker exec -it $(docker ps -aqf "name=osm_ro.1" -n 1) dpkg -l |egrep -i "osm|n2vc"
63echo "OSMCLIENT"
64dpkg -l |grep osmclient
65echo "OSM-IM"
66dpkg -l |grep osm-im
67echo "OSM-DEVOPS"
68dpkg -l |grep osm-devops
69
garciadeblas15fd2002018-11-07 02:02:45 +010070echo "docker osm_ro"
71docker exec $(docker ps -q -f name=osm_ro -l) git -C /root/RO rev-parse HEAD
72docker exec $(docker ps -q -f name=osm_ro -l) git -C /root/RO describe --tags --long --dirty
73echo "docker osm_lcm"
74docker exec $(docker ps -q -f name=osm_lcm -l) git -C /app rev-parse HEAD
75docker exec $(docker ps -q -f name=osm_lcm -l) git -C /app describe --tags --long --dirty
76echo "docker osm_nbi"
77docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI rev-parse HEAD
78docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI describe --tags --long --dirty
79echo "docker osm_light-ui"
80docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui rev-parse HEAD
81docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui describe --tags --long --dirty
82echo "docker osm_mon"
83docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon rev-parse HEAD
84docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon describe --tags --long --dirty
85echo "docker osm_pol"
86docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module rev-parse HEAD
87docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module describe --tags --long --dirty
88
89#Get configuration files
90echo "-------------------------------"
91echo "Configuration files"
92echo "-------------------------------"
93for i in $(find /etc/osm -type f -exec echo {} \;); do
94 [ -f "$i" ] || continue
95 echo "File $i:"
96 cat $i
97done
98
99#Get status of docker swarm
100echo "-------------------------------"
101echo "Docker swarm status"
102echo "-------------------------------"
103echo "Node ls:"
104docker node ls
105echo "Node inspect self:"
106docker node inspect self --pretty
107echo "Network inspect docker_gwbridge:"
108docker network inspect docker_gwbridge
109echo "Network inspect netOSM:"
110docker network inspect netOSM
111echo "Network inspect netosm:"
112docker network inspect netosm
113
114#Get status of dockers
115echo "-------------------------------"
116echo "Docker status"
117echo "-------------------------------"
118echo "-------------------------------"
119echo "Docker stack ls"
120echo "-------------------------------"
121docker stack ls
122echo "-------------------------------"
123echo "Docker service ls"
124echo "-------------------------------"
125docker service ls
126for i in $(docker stack ps |tail -n +2|awk '{print $1}'); do
127 echo "-------------------------------"
128 echo "Docker stack $i"
129 echo "-------------------------------"
130 docker stack ps $i
131done
132
133#Get log files
134echo
135echo "-------------------------------"
136echo "Log files"
137echo "-------------------------------"
138echo "To be added"
139
140#Get OSM general info
141echo "-------------------------------"
142echo "OSM info"
143echo "-------------------------------"
144for i in vim-list sdnc-list vnfd-list nsd-list ns-list vnf-list; do
145 echo "-------------------------------"
146 echo "OSM info: $i"
147 echo "-------------------------------"
148 osm $i
149done
150
151#Get OSM details
152echo "-------------------------------"
153echo "OSM details"
154echo "-------------------------------"
155for i in vim sdnc vnfd nsd ns; do
156 echo "-------------------------------"
157 echo "OSM details: $i"
158 echo "-------------------------------"
159 for j in $(osm $i-list|tail -n +4|awk '{print $4}'); do
160 echo "-------------------------------"
161 echo "OSM details: vim $j"
162 echo "-------------------------------"
163 osm $i-show $j
164 done
165done
166for i in vnf; do
167 echo "-------------------------------"
168 echo "OSM details: $i"
169 echo "-------------------------------"
170 for j in $(osm $i-list|tail -n +4|awk '{print $2}'); do
171 echo "-------------------------------"
172 echo "OSM details: vim $j"
173 echo "-------------------------------"
174 osm $i-show $j
175 done
176done
177