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 2013/01/08 15:13:59 UTC

svn commit: r1430318 - in /incubator/tashi/trunk/src/zoni: agents/dhcpdns.py client/zoni-cli.py data/resourcequerysql.py extensions/m_extensions.py install/db/zoniDbSetup.py

Author: rgass
Date: Tue Jan  8 15:13:59 2013
New Revision: 1430318

URL: http://svn.apache.org/viewvc?rev=1430318&view=rev
Log:
Fixing some typos errors with the Mimos import.  If this broke something, let me know.

getconfig needs to use the zoni version and not tashi.  Need to merge these two.
adding the dhcpdns changes from tashi.  Need to merge.


Modified:
    incubator/tashi/trunk/src/zoni/agents/dhcpdns.py
    incubator/tashi/trunk/src/zoni/client/zoni-cli.py
    incubator/tashi/trunk/src/zoni/data/resourcequerysql.py
    incubator/tashi/trunk/src/zoni/extensions/m_extensions.py
    incubator/tashi/trunk/src/zoni/install/db/zoniDbSetup.py

Modified: incubator/tashi/trunk/src/zoni/agents/dhcpdns.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/agents/dhcpdns.py?rev=1430318&r1=1430317&r2=1430318&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/agents/dhcpdns.py (original)
+++ incubator/tashi/trunk/src/zoni/agents/dhcpdns.py Tue Jan  8 15:13:59 2013
@@ -131,7 +131,7 @@ class DhcpDns():
 				ipSegments = map(int, ip.split("."))
 				ipSegments.reverse()
 				reverseIpStr = ("%d.%d.%d.%d.in-addr.arpa" % (ipSegments[0], ipSegments[1], ipSegments[2], ipSegments[3]))
-				stdin.write("update add %s %d IN PTR %s.%s.\n" % (reverseIpStr, self.dnsExpire, name, self.dnsDomain))
+				stdin.write("update add %s %d IN PTR %s.\n" % (reverseIpStr, self.dnsExpire, name))
 				stdin.write("\n")
 			stdin.close()
 			output = stdout.read()
@@ -153,7 +153,7 @@ class DhcpDns():
 			(stdin, stdout) = (child.stdin, child.stdout)
 			stdin.write("server %s\n" % (self.dnsServer))
 			stdin.write("key %s %s\n" % (self.dnsKeyName, self.dnsSecretKey))
-			stdin.write("update delete %s.%s A\n" % (name, self.dnsDomain))
+			stdin.write("update delete %s A\n" % (name))
 			stdin.write("\n")
 			if (self.reverseDns):
 				hostInfo = socket.gethostbyaddr(name)
@@ -190,7 +190,7 @@ class DhcpDns():
 			(stdin, stdout) = (child.stdin, child.stdout)
 			stdin.write("server %s\n" % (self.dnsServer))
 			stdin.write("key %s %s\n" % (self.dnsKeyName, self.dnsSecretKey))
-			stdin.write("update add %s.%s %d CNAME %s.%s\n" % (name, self.dnsDomain, self.dnsExpire, hostName, self.dnsDomain))
+			stdin.write("update add %s %d CNAME %s\n" % (name, self.dnsExpire, hostInfo[0]))
 			stdin.write("\n")
 			stdin.close()
 			output = stdout.read()
@@ -211,10 +211,11 @@ class DhcpDns():
 		cmd = "nsupdate"
 		child = subprocess.Popen(args=cmd.split(), stdin=subprocess.PIPE, stdout=subprocess.PIPE)
 		try:
+			hostInfo = socket.gethostbyaddr(name)[0]
 			(stdin, stdout) = (child.stdin, child.stdout)
 			stdin.write("server %s\n" % (self.dnsServer))
 			stdin.write("key %s %s\n" % (self.dnsKeyName, self.dnsSecretKey))
-			stdin.write("update delete %s.%s CNAME\n" % (name, self.dnsDomain))
+			stdin.write("update delete %s CNAME\n" % (name))
 			stdin.write("\n")
 			stdin.close()
 			output = stdout.read()
@@ -235,6 +236,18 @@ class DhcpDns():
 		newInstance.nics = instance.nics
 		self.client.vmUpdate(instance.id, newInstance, None)
 
+
+	def getFqdn(self, instance):
+			domainName = self.dnsDomain
+			subDomain = instance.hints.get("subDomain", None)
+			if subDomain != None:
+					domainName = "%s.%s" % (subDomain, self.dnsDomain)
+
+			fqdn = "%s.%s" % (instance.name, domainName)
+
+			return fqdn
+
+
 	def preCreate(self, instance):
 		if (len(instance.nics) < 1):
 			return
@@ -244,8 +257,8 @@ class DhcpDns():
 			nic.ip = ip
 			try:
 				if (i == 0):
-					self.log.info("Adding %s:{%s->%s} to DNS" % (instance.name, instance.name, ip))
-					self.addDns(instance.name, ip)
+					self.log.info("Adding %s:{%s->%s} to DNS" % (instance.name, self.getFqdn(instance), ip))
+					self.addDns(self.getFqdn(instance), ip)
 				if (i == 0):
 					dhcpName = instance.name
 				else:
@@ -277,6 +290,6 @@ class DhcpDns():
 			except Exception, e:
 				self.log.exception("Failed to remove host %s from DHCP" % (instance.name))
 		try:
-			self.removeDns(instance.name)
+			self.removeDns(self.getFqdn(instance))
 		except Exception, e:
 			self.log.exception("Failed to remove host %s from DNS" % (instance.name))

Modified: incubator/tashi/trunk/src/zoni/client/zoni-cli.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/client/zoni-cli.py?rev=1430318&r1=1430317&r2=1430318&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/client/zoni-cli.py (original)
+++ incubator/tashi/trunk/src/zoni/client/zoni-cli.py Tue Jan  8 15:13:59 2013
@@ -46,10 +46,10 @@ import zoni.hardware.systemmanagement
 from zoni.data import usermanagement
 from zoni.agents.dhcpdns import DhcpDns
 
-from zoni.extra.util import validIp, validMac 
+from zoni.extra.util import validIp, validMac, getConfig
 from zoni.version import version, revision
 
-from tashi.util import instantiateImplementation, getConfig
+from tashi.util import instantiateImplementation
 #import zoni.data.usermanagement 
 #from usermanagement import UserManagement
 
@@ -65,7 +65,6 @@ def main():
 	rev = revision
 
 	(configs, configFiles) = getConfig()
-
 	logging.config.fileConfig(configFiles)
 	#log = logging.getLogger(os.path.basename(__file__))
 	#logit(configs['logFile'], "Starting Zoni client")

Modified: incubator/tashi/trunk/src/zoni/data/resourcequerysql.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/data/resourcequerysql.py?rev=1430318&r1=1430317&r2=1430318&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/data/resourcequerysql.py (original)
+++ incubator/tashi/trunk/src/zoni/data/resourcequerysql.py Tue Jan  8 15:13:59 2013
@@ -33,7 +33,7 @@ from zoni.extra.util import createKey
 class ResourceQuerySql(InfoStore):
 	def __init__(self, config, verbose=None):
 		self.config = config
-		self.verbose  = verbose
+		self.verbose = verbose
 		self.host = config['dbHost']
 		self.user = config['dbUser']
 		self.passwd = config['dbPassword']

Modified: incubator/tashi/trunk/src/zoni/extensions/m_extensions.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/extensions/m_extensions.py?rev=1430318&r1=1430317&r2=1430318&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/extensions/m_extensions.py (original)
+++ incubator/tashi/trunk/src/zoni/extensions/m_extensions.py Tue Jan  8 15:13:59 2013
@@ -70,11 +70,11 @@ class mimos(InfoStore):
 		return
 
 	def getDestFile(self, configs, host):
-		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower())
+		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower()))
 		return therole
 
 	def addRoletoNode(self, configs, host, thenode, roletemplate):
-		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower())
+		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower()))
 		self.log.info("Roles: addRole for %s" % thenode)
 		srctpl = "%s/%s" % (configs['tftpTemplateDir'], roletemplate)
 		if os.path.isfile(therole):
@@ -106,7 +106,7 @@ class mimos(InfoStore):
 		return 0
 
 	def removeRolefromNode(self, configs, host, thenode):
-		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower())
+		therole = ("%s/01-%s" % (configs['tftpImageDir'], (host['mac_addr']).replace(":", "-").lower()))
 		self.log.info("Roles: removeRole for %s" % thenode)
 		if not os.path.isfile(therole):
 			mesg = "No Role File for %s! Exiting!" % thenode

Modified: incubator/tashi/trunk/src/zoni/install/db/zoniDbSetup.py
URL: http://svn.apache.org/viewvc/incubator/tashi/trunk/src/zoni/install/db/zoniDbSetup.py?rev=1430318&r1=1430317&r2=1430318&view=diff
==============================================================================
--- incubator/tashi/trunk/src/zoni/install/db/zoniDbSetup.py (original)
+++ incubator/tashi/trunk/src/zoni/install/db/zoniDbSetup.py Tue Jan  8 15:13:59 2013
@@ -83,7 +83,7 @@ def CreateZoniDb(config, adminUser, admi
 
 	try:
 		conn = connectDb(host, port, adminUser, adminPassword)
-	except e:
+	except Exception, e:
 		print "error here ", e
 		exit()
 	createDatabase(conn, adminUser, adminPassword, db)