diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py | 23 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py | 7 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py b/src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py index f8a5de30..7a854564 100644 --- a/src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py +++ b/src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py @@ -177,6 +177,26 @@ def writeIfcfgConfFile(deviceName, conf, root="", deviceFile=None): return True +def getNetModel(deviceName): + rv = runCommandFG("ifconfig %s" % deviceName, stdout=True, root=True) + if rv["Status"] != 0: + return False + for line in rv["Stdout"].split(): + tokens = line.strip().split(":") + if tokens[0].upper() == "ENCAP": + return tokens[1].strip().upper() + return None + +def getNetSpeed(deviceName): + rv = runCommandFG("ethtool %s" % deviceName, stdout=True, root=True) + if rv["Status"] != 0: + return False + for line in rv["Stdout"].split("\n"): + tokens = line.strip().split(":") + if tokens[0].upper() == "SPEED": + return tokens[1].strip().upper() + return None + def getLinkStatus(deviceName): return True ## ethtool takes very long time to respond. So its disabled now @@ -276,6 +296,9 @@ def getNetDeviceList(root=""): netDevice["type"] = None netDevice["link"] = getLinkStatus(deviceName) netDevice["mode"] = getBondMode(deviceName, root + Globals.MODPROBE_CONF_FILE) + netDevice["model"] = getNetModel(deviceName) + netDevice["speed"] = getNetSpeed(deviceName) + try: netDevice["hwaddr"] = open("/sys/class/net/%s/address" % deviceName).read().strip() except IOError: diff --git a/src/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py b/src/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py index 67148586..8737b69e 100755 --- a/src/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py +++ b/src/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py @@ -117,16 +117,18 @@ def getServerDetails(): #TODO: probe and retrieve timezone, ntp-server, preferred-network details and update the tags deviceList = {} + interfaces = responseDom.createTag("networkInterfaces", None) for device in getNetDeviceList(): deviceList[device["device"]] = device try: macAddress = open("/sys/class/net/%s/address" % device["device"]).read().strip() except IOError: continue - interfaces = responseDom.createTag("networkInterfaces", None) interfaceTag = responseDom.createTag("networkInterface", None) interfaceTag.appendChild(responseDom.createTag("name", device["device"])) - interfaceTag.appendChild(responseDom.createTag("hwaddr", macAddress)) + interfaceTag.appendChild(responseDom.createTag("hwAddr", macAddress)) + interfaceTag.appendChild(responseDom.createTag("speed", device["speed"])) + interfaceTag.appendChild(responseDom.createTag("model", device["model"])) if deviceList[device["device"]]: if deviceList[device["device"]]["onboot"]: interfaceTag.appendChild(responseDom.createTag("onboot", "yes")) @@ -147,6 +149,7 @@ def getServerDetails(): interfaceTag.appendChild(responseDom.createTag("bootProto", "none")) interfaces.appendChild(interfaceTag) serverTag.appendChild(interfaces) + responseDom.appendTag(serverTag) serverTag.appendChild(responseDom.createTag("numOfCPUs", int(os.sysconf('SC_NPROCESSORS_ONLN')))) |
