summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/common/NetworkUtils.py23
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/nodes/get_server_details.py7
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'))))