Signed-off-by: Jim Carroll <jim.carroll@docker.com>
| ... | ... |
@@ -1,5 +1,15 @@ |
| 1 | 1 |
#!/usr/bin/env bash |
| 2 | 2 |
|
| 3 |
+while getopts ":s" opt; do |
|
| 4 |
+ case $opt in |
|
| 5 |
+ s) |
|
| 6 |
+ SSD="true" |
|
| 7 |
+ ;; |
|
| 8 |
+ esac |
|
| 9 |
+done |
|
| 10 |
+ |
|
| 11 |
+SSD="${SSD:-false}"
|
|
| 12 |
+ |
|
| 3 | 13 |
# Required tools |
| 4 | 14 |
DOCKER="${DOCKER:-docker}"
|
| 5 | 15 |
NSENTER="${NSENTER:-nsenter}"
|
| ... | ... |
@@ -7,6 +17,7 @@ BRIDGE="${BRIDGE:-bridge}"
|
| 7 | 7 |
IPTABLES="${IPTABLES:-iptables}"
|
| 8 | 8 |
IPVSADM="${IPVSADM:-ipvsadm}"
|
| 9 | 9 |
IP="${IP:-ip}"
|
| 10 |
+SSDBIN="${SSDBIN:-ssd}"
|
|
| 10 | 11 |
|
| 11 | 12 |
networks=0 |
| 12 | 13 |
containers=0 |
| ... | ... |
@@ -101,6 +112,15 @@ while read containerID status; do |
| 101 | 101 |
printf "\n" |
| 102 | 102 |
done < <(${DOCKER} container ls -a --format '{{.ID}} {{.Status}}' |cut -d' ' -f1,2)
|
| 103 | 103 |
|
| 104 |
+if [ "true" == ${SSD} ] ; then
|
|
| 105 |
+ echo "" ; echo "#### SSD control-plane and datapath consistency check on a node ####" |
|
| 106 |
+ for netName in $(docker network ls -f driver=overlay --format "{{.Name}}") ; do
|
|
| 107 |
+ echo "## $netName ##" |
|
| 108 |
+ ${SSDBIN} $netName
|
|
| 109 |
+ echo "" |
|
| 110 |
+ done |
|
| 111 |
+fi |
|
| 112 |
+ |
|
| 104 | 113 |
echo -e "\n\n==SUMMARY==" |
| 105 | 114 |
echo -e "\t Processed $networks networks" |
| 106 | 115 |
echo -e "\t IP overlap found: $ip_overlap" |