You are viewing a plain text version of this content. The canonical link for it is here.
Posted to tashi-commits@incubator.apache.org by rg...@apache.org on 2010/10/15 21:09:21 UTC

svn commit: r1023112 - /incubator/tashi/trunk/src/zoni/extra/util.py

Author: rgass
Date: Fri Oct 15 21:09:21 2010
New Revision: 1023112

URL: http://svn.apache.org/viewvc?rev=1023112&view=rev
Log:
adding a few helper functions 
validIp, validMac, createDir

add and removing some config options

Modified:
    incubator/tashi/trunk/src/zoni/extra/util.py

Modified: incubator/tashi/trunk/src/zoni/extra/util.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/extra/util.py?rev=1023112&r1=1023111&r2=1023112&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/extra/util.py (original)
+++ incubator/tashi/trunk/src/zoni/extra/util.py Fri Oct 15 21:09:21 2010
@@ -21,6 +21,8 @@
 import os
 import ConfigParser
 import time
+import shutil
+import re
 
 def loadConfigFile(parser):
 	#parser = ConfigParser.ConfigParser()
@@ -63,14 +65,22 @@ def loadConfigFile(parser):
 	config['snmpCommunity'] = parser.get("snmp", "SNMP_COMMUNITY").split()[0]
 
 	#  VLAN
-	config['vlan_reserved'] = parser.get("vlan", "VLAN_RESERVED")
+	#config['vlan_reserved'] = parser.get("vlan", "VLAN_RESERVED")
 	config['vlan_max'] = parser.get("vlan", "VLAN_MAX")
 
+	#  Domain
+	config['zoniHomeDomain'] = parser.get("domain", "ZONI_HOME_DOMAIN").split()[0]
+	config['zoniHomeNetwork'] = parser.get("domain", "ZONI_HOME_NETWORK").split()[0]
+	config['zoniIpmiNetwork'] = parser.get("domain", "ZONI_IPMI_NETWORK").split()[0]
+	#config['vlan_max'] = parser.get("vlan", "VLAN_MAX")
+
 	#  HARDWARE CONTROL
 	config['hardware_control'] = parser.get("hardware", "HARDWARE_CONTROL")
 
 	#  DHCP/DNS
-	config['dnsKeyFile'] = parser.get("DhcpDns", "dnsKeyfile")
+	#config['dnsKeyFile'] = parser.get("DhcpDns", "dnsKeyfile")
+	config['dnsKeyName'] = parser.get("DhcpDns", "dnsKeyName")
+	config['dnsSecretKey'] = parser.get("DhcpDns", "dnsSecretKey")
 	config['dnsServer'] = parser.get("DhcpDns", "dnsServer")
 	config['dnsDomain'] = parser.get("DhcpDns", "dnsDomain")
 	config['dnsExpire'] = parser.get("DhcpDns", "dnsExpire")
@@ -108,22 +118,59 @@ def logit(logfile, mesg):
 
 
 def checkSuper(f):
-    def myF(*args, **kw):
-        if os.getuid() != 0:
-            print "Please use sudo!"
-            exit()
-        res = f(*args, **kw)
-        return res
-    return myF 
+	def myF(*args, **kw):
+		if os.getuid() != 0:
+			print "Please use sudo!"
+			exit()
+		return res
+	myF.__name__ = f.__name__
+	return myF
 
 
 def timeF(f):
-    def myF(*args, **kw):
-        start = time.time()
-        res = f(*args, **kw)
-        end = time.time()
-        print "%s took %f" % (f.__name__, end-start)
-        return res
-    myF.__name__ = f.__name__
-    return myF
+	def myF(*args, **kw):
+		start = time.time()
+		res = f(*args, **kw)
+		end = time.time()
+		print "%s took %f" % (f.__name__, end-start)
+		return res
+	myF.__name__ = f.__name__
+	return myF
+
+
+def createDir(dirName, checkexists=None):
+	if checkexists and os.path.exists(dirName):
+		Bak = os.path.join(dirName + ".bak." + str(int(time.time())))
+		shutil.move(dirName, Bak)
+
+	try:
+		os.mkdir(dirName, 0755)
+		print "	Creating directory " + dirName
+	except (OSError, Exception), e:
+		if e.errno == 17:
+			print "	" + e.args[1] + ": " + dirName
+		else:
+			print "	" + e.args[1] + ": " + dirName
+
+
+def validIp(ip):
+	if len(ip.split(".")) != 4:
+		return 0
+	for i in ip.split("."):
+		try: 
+			if not 0 <= int(i) <= 255:
+				return 0
+		except ValueError, e:
+			print "ERROR:  " + str(e)
+			return 0
+	return 1
+
+def validMac(mac):
+	reg = '([a-fA-F0-9]{2}[:|\\-]?){6}'
+	val = re.compile(reg).search(mac)
+	if val:
+		return 1
+	return 0
+
+