aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py')
-rw-r--r--deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py b/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py
deleted file mode 100644
index be3c552a..00000000
--- a/deploy/adapters/ansible/roles/setup-network/files/setup_networks/check_network.py
+++ /dev/null
@@ -1,71 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import yaml
-import sys
-import subprocess
-
-import log as logging
-
-LOG = logging.getLogger("net-check")
-
-
-def is_ip_reachable(ip):
- cmd = "ping -c 2 %s" % ip
- process = subprocess.Popen(
- cmd,
- stdout=subprocess.PIPE,
- stderr=None,
- shell=True)
-
- output = process.communicate()[0]
- if " 0% packet loss" in output:
- LOG.info("%s is reachable", ip)
- elif "100% packet loss" in output:
- LOG.error("%s is unreachable" % (ip))
- return False
- else:
- LOG.warn("%r", output)
-
- return True
-
-
-def is_host_ips_reachable(settings):
- external = settings["br-prv"]["ip"]
- external_gw = settings["br-prv"]["gw"]
- storage = settings["storage"]["ip"]
- mgmt = settings["mgmt"]["ip"]
-
- return is_ip_reachable(external) \
- and is_ip_reachable(external_gw) \
- and is_ip_reachable(storage) \
- and is_ip_reachable(mgmt)
-
-
-def main(hostname, config):
- LOG.info("host is %s", hostname)
-
- result = True
-
- for host, settings in config.iteritems():
- LOG.info("check %s network connectivity start", host)
- result = result and is_host_ips_reachable(settings)
-
- if result:
- LOG.info("All hosts ips are reachable")
- else:
- LOG.error("Some hosts ips are unreachable !!!")
- sys.exit(-1)
-
-if __name__ == "__main__":
- hostname = yaml.load(sys.argv[1])
- config = yaml.load(sys.argv[2])
- config.pop(hostname, None)
-
- main(hostname, config)