summaryrefslogtreecommitdiffstats
path: root/testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py')
-rw-r--r--testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py120
1 files changed, 0 insertions, 120 deletions
diff --git a/testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py b/testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py
deleted file mode 100644
index c28b6ec6..00000000
--- a/testsuites/vstf/vstf_scripts/vstf/agent/env/fsmonitor/utils.py
+++ /dev/null
@@ -1,120 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 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 subprocess
-from StringIO import StringIO
-import re
-import logging
-
-LOG = logging.getLogger(__name__)
-
-
-def call(cmd, shell=False):
- if shell:
- LOG.info(cmd)
- else:
- LOG.info(' '.join(cmd))
- return subprocess.call(cmd, shell=shell)
-
-
-def check_call(cmd, shell=False):
- if shell:
- LOG.info(cmd)
- else:
- LOG.info(' '.join(cmd))
- subprocess.check_call(cmd, shell=shell)
-
-
-def check_output(cmd, shell=False):
- if shell:
- LOG.info(cmd)
- else:
- LOG.info(' '.join(cmd))
- return subprocess.check_output(cmd, shell=shell)
-
-
-def check_and_kill(process):
- cmd = "ps -ef | grep -v grep | awk '{print $8}' | grep -w %s | wc -l" % process
- out = check_output(cmd, shell=True)
- if int(out):
- check_call(['killall', process])
-
-
-def check_and_rmmod(mod):
- cmd = "lsmod | awk '{print $1}' | grep -w %s | wc -l" % mod
- out = check_output(cmd, shell=True)
- if int(out):
- check_call(['rmmod', mod])
-
-
-def umount(path):
- mount_path_set = set()
- out = check_output("cat /proc/mounts", shell=True)
- f = StringIO(out)
- line = f.readline()
- while line:
- line = f.readline()
- if line:
- mpath = line.split()[1]
- mount_path_set.add(mpath)
- if path in mount_path_set:
- ret = call("umount %s" % path, shell=True)
- return ret == 0
- return True
-
-
-class IPCommandHelper(object):
-
- def __init__(self):
- self.devices = []
- self.macs = []
- self.device_mac_map = {}
- self.mac_device_map = {}
- self.bdf_device_map = {}
- self.device_bdf_map = {}
- self.mac_bdf_map = {}
- self.bdf_mac_map = {}
- buf = check_output("ip link", shell=True)
- macs = re.compile(
- "[A-F0-9]{2}(?::[A-F0-9]{2}){5}",
- re.IGNORECASE | re.MULTILINE)
- for mac in macs.findall(buf):
- if mac.lower() in ('00:00:00:00:00:00', 'ff:ff:ff:ff:ff:ff'):
- continue
- self.macs.append(mac)
- sio = StringIO(buf)
- for line in sio:
- m = re.match(r'^\d+:(.*):.*', line)
- if m and m.group(1).strip() != 'lo':
- self.devices.append(m.group(1).strip())
- for device, mac in zip(self.devices, self.macs):
- self.device_mac_map[device] = mac
- self.mac_device_map[mac] = device
- for device in self.devices:
- buf = check_output("ethtool -i %s" % device, shell=True)
- bdfs = re.findall(
- r'^bus-info: \d{4}:(\d{2}:\d{2}\.\d*)$',
- buf,
- re.MULTILINE)
- if bdfs:
- self.bdf_device_map[bdfs[0]] = device
- self.device_bdf_map[device] = bdfs[0]
- mac = self.device_mac_map[device]
- self.mac_bdf_map[mac] = bdfs[0]
- self.bdf_mac_map[bdfs[0]] = mac
-
-
-if __name__ == '__main__':
- ip_helper = IPCommandHelper()
- print ip_helper.device_mac_map
- print ip_helper.mac_device_map
- print ip_helper.bdf_device_map
- print ip_helper.device_bdf_map
- print ip_helper.mac_bdf_map
- print ip_helper.bdf_mac_map