Modifies Keystone to use same MySQL DB as RO
[osm/devops.git] / tools / osm-report
1 #!/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
19 DIRNAME=$(readlink -f ${BASH_SOURCE[0]})
20 DIRNAME=$(dirname $DIRNAME)
21
22 #Get versions
23 echo "-------------------------------"
24 echo "Versions"
25 echo "-------------------------------"
26 echo "DIRNAME: $DIRNAME"
27 echo "docker version:"
28 docker version
29 echo "lxd version:"
30 lxd --version
31 echo "juju version:"
32 juju --version
33 echo "osm-devops deb package:"
34 dpkg -l |grep osm-devops
35 echo "osm-imdocs deb package:"
36 dpkg -l |grep osm-imdocs
37 echo "python-osmclient deb package:"
38 dpkg -l |grep 
39 echo "whereis osm:"
40 whereis osm
41 echo "which osmclient:"
42 which osm
43 #dockers deb packages
44 echo "dockers deb packages"
45 for i in kafka keystone lcm light-ui mon mongo nbi pol prometheus ro mysql zookeeper; do
46     echo "docker osm_$i"
47     docker exec $(docker ps -q -f name=osm_$i -l) dpkg -l |grep osm
48 done
49 #dockers source code
50 echo "dockers deb packages"
51 echo "docker osm_ro"
52 docker exec $(docker ps -q -f name=osm_ro -l) git -C /root/RO rev-parse HEAD
53 docker exec $(docker ps -q -f name=osm_ro -l) git -C /root/RO describe --tags --long --dirty
54 echo "docker osm_lcm"
55 docker exec $(docker ps -q -f name=osm_lcm -l) git -C /app rev-parse HEAD
56 docker exec $(docker ps -q -f name=osm_lcm -l) git -C /app describe --tags --long --dirty
57 echo "docker osm_nbi"
58 docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI rev-parse HEAD
59 docker exec $(docker ps -q -f name=osm_nbi -l) git -C /app/NBI describe --tags --long --dirty
60 echo "docker osm_light-ui"
61 docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui rev-parse HEAD
62 docker exec $(docker ps -q -f name=osm_light-ui -l) git -C /usr/share/osm-lightui describe --tags --long --dirty
63 echo "docker osm_mon"
64 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon rev-parse HEAD
65 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon describe --tags --long --dirty
66 echo "docker osm_pol"
67 docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module rev-parse HEAD
68 docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module describe --tags --long --dirty
69
70 #Get configuration files
71 echo "-------------------------------"
72 echo "Configuration files"
73 echo "-------------------------------"
74 for i in $(find /etc/osm -type f -exec echo {} \;); do
75     [ -f "$i" ] || continue
76     echo "File $i:"
77     cat $i
78 done
79
80 #Get status of docker swarm
81 echo "-------------------------------"
82 echo "Docker swarm status"
83 echo "-------------------------------"
84 echo "Node ls:"
85 docker node ls
86 echo "Node inspect self:"
87 docker node inspect self --pretty
88 echo "Network inspect docker_gwbridge:"
89 docker network inspect docker_gwbridge
90 echo "Network inspect netOSM:"
91 docker network inspect netOSM
92 echo "Network inspect netosm:"
93 docker network inspect netosm
94
95 #Get status of dockers
96 echo "-------------------------------"
97 echo "Docker status"
98 echo "-------------------------------"
99 echo "-------------------------------"
100 echo "Docker stack ls"
101 echo "-------------------------------"
102 docker stack ls
103 echo "-------------------------------"
104 echo "Docker service ls"
105 echo "-------------------------------"
106 docker service ls
107 for i in $(docker stack ps |tail -n +2|awk '{print $1}'); do
108     echo "-------------------------------"
109     echo "Docker stack $i"
110     echo "-------------------------------"
111     docker stack ps $i
112 done
113
114 #Get log files
115 echo
116 echo "-------------------------------"
117 echo "Log files"
118 echo "-------------------------------"
119 echo "To be added"
120
121 #Get OSM general info
122 echo "-------------------------------"
123 echo "OSM info"
124 echo "-------------------------------"
125 for i in vim-list sdnc-list vnfd-list nsd-list ns-list vnf-list; do
126     echo "-------------------------------"
127     echo "OSM info: $i"
128     echo "-------------------------------"
129     osm $i
130 done
131
132 #Get OSM details
133 echo "-------------------------------"
134 echo "OSM details"
135 echo "-------------------------------"
136 for i in vim sdnc vnfd nsd ns; do
137     echo "-------------------------------"
138     echo "OSM details: $i"
139     echo "-------------------------------"
140     for j in $(osm $i-list|tail -n +4|awk '{print $4}'); do
141         echo "-------------------------------"
142         echo "OSM details: vim $j"
143         echo "-------------------------------"
144         osm $i-show $j
145     done
146 done
147 for i in vnf; do
148     echo "-------------------------------"
149     echo "OSM details: $i"
150     echo "-------------------------------"
151     for j in $(osm $i-list|tail -n +4|awk '{print $2}'); do
152         echo "-------------------------------"
153         echo "OSM details: vim $j"
154         echo "-------------------------------"
155         osm $i-show $j
156     done
157 done
158