[Cluster-devel] conga luci/cluster/resource-form-macros luci/s ...

rmccabe at sourceware.org rmccabe at sourceware.org
Mon Jun 18 18:13:43 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	conga
Branch: 	EXPERIMENTAL
Changes by:	rmccabe at sourceware.org	2007-06-18 18:13:40

Modified files:
	luci/cluster   : resource-form-macros 
	luci/site/luci/Extensions: LuciClusterInfo.py LuciSyslog.py 
	                           LuciZopeExternal.py 
	                           ResourceHandler.py 
	                           cluster_adapters.py 
	                           conga_constants.py 
	luci/site/luci/Extensions/ClusterModel: ModelBuilder.py 
	                                        SAPDatabase.py 
	                                        SAPInstance.py 
	make           : version.in 

Log message:
	- Cleanups related to bz239596
	- Change log facility to LOG_AUTH (python lacks LOG_AUTHPRIV)
	- Bump the revision number

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.37.2.4&r2=1.37.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.10&r2=1.1.2.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciSyslog.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.11.4.5&r2=1.11.4.6
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciZopeExternal.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.4&r2=1.1.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ResourceHandler.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.6&r2=1.1.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.255.2.16&r2=1.255.2.17
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/conga_constants.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.39.2.10&r2=1.39.2.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.8&r2=1.1.2.9
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/SAPDatabase.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.2&r2=1.1.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/SAPInstance.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.2&r2=1.1.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/make/version.in.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.31.2.2&r2=1.31.2.3

--- conga/luci/cluster/resource-form-macros	2007/06/14 19:30:44	1.37.2.4
+++ conga/luci/cluster/resource-form-macros	2007/06/18 18:13:39	1.37.2.5
@@ -1235,7 +1235,7 @@
 				<input type="text" size="20" name="DIR_EXECUTABLE"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/DIR_EXECUTABLE | nothing" />
+						value res/attrs/DIR_EXECUTABLE | nothing" />
 			</td>
 		</tr>
 
@@ -1247,7 +1247,7 @@
 				<input type="text" size="20" name="DIR_PROFILE"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/DIR_PROFILE | nothing" />
+						value res/attrs/DIR_PROFILE | nothing" />
 			</td>
 		</tr>
 		<tr class="systemsTable">
@@ -1256,7 +1256,7 @@
 				<input type="text" size="20" name="START_PROFILE"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/START_PROFILE | nothing" />
+						value res/attrs/START_PROFILE | nothing" />
 			</td>
 		</tr>
 	</table>
@@ -1266,6 +1266,7 @@
 
 <div class="rescfg" name="SAPDatabase"
 	tal:attributes="id res/name | nothing" metal:define-macro="SAPDatabase_macro">
+
 	<p class="reshdr">SAP Database Configuration</p>
 
 	<form method="post"
@@ -1321,28 +1322,30 @@
 				<input type="text" size="20" name="DIR_EXECUTABLE"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/DIR_EXECUTABLE | nothing" />
+						value res/attrs/DIR_EXECUTABLE | nothing" />
 			</td>
 		</tr>
 
+		<tal:block tal:condition="not:exists:res"
+			tal:define="global sap_db_type python:''" />
+		<tal:block tal:condition="exists:res"
+			tal:define="global sap_db_type res/attrs/DBTYPE | python:''" />
+
 		<tr class="systemsTable">
 			<td class="systemsTable">Database type</td>
 			<td class="systemsTable">
 				<select name="DBTYPE"
 					tal:attributes="disabled python: editDisabled">
-					<option value=""
-						tal:attributes="checked python:(not editDisabled and not res.has_key('DB_TYPE'))">Select a SAP database type</option>
+
+					<option value="">Select a SAP database type</option>
 					<option value="ORA"
-						tal:attributes="checked python:(res.has_key('DBTYPE') and res['DBTYPE'] == 'ORA') and 'checked' or ''">Oracle
-					</option>
+						tal:attributes="selected python:sap_db_type == 'ORA' and 'selected' or ''">Oracle</option>
 
 					<option value="DB6"
-						tal:attributes="checked python:(res.has_key('DBTYPE') and res['DBTYPE'] == 'DB6') and 'checked' or ''">DB6
-					</option>
+						tal:attributes="selected python:sap_db_type == 'DB6' and 'selected' or ''">DB6</option>
 
 					<option value="ADA"
-						tal:attributes="checked python:(res.has_key('DBTYPE') and res['DBTYPE'] == 'ADA') and 'checked' or ''">ADA
-					</option>
+						tal:attributes="selected python:sap_db_type == 'ADA' and 'selected' or ''">ADA</option>
 				</select>
 			</td>
 		</tr>
@@ -1353,7 +1356,7 @@
 				<input type="text" size="20" name="NETSERVICENAME"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/NETSERVICENAME | nothing" />
+						value res/attrs/NETSERVICENAME | nothing" />
 			</td>
 		</tr>
 
@@ -1363,7 +1366,7 @@
 				<input type="checkbox" name="DBJ2EE_ONLY"
 					tal:attributes="
 						disabled python: editDisabled;
-						checked python:res.has_key('DBJ2EE_ONLY') and 'checked' or ''" />
+						checked res/attrs/DBJ2EE_ONLY | nothing" />
 			</td>
 		</tr>
 
@@ -1375,7 +1378,7 @@
 				<input type="text" size="20" name="DIR_BOOTSTRAP"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/DIR_BOOTSTRAP | nothing" />
+						value res/attrs/DIR_BOOTSTRAP | nothing" />
 			</td>
 		</tr>
 
@@ -1387,7 +1390,7 @@
 				<input type="text" size="20" name="DIR_SECSTORE"
 					tal:attributes="
 						disabled python: editDisabled;
-						value res/DIR_SECSTORE | nothing" />
+						value res/attrs/DIR_SECSTORE | nothing" />
 			</td>
 		</tr>
 	</table>
--- conga/luci/site/luci/Extensions/Attic/LuciClusterInfo.py	2007/06/13 15:54:42	1.1.2.10
+++ conga/luci/site/luci/Extensions/Attic/LuciClusterInfo.py	2007/06/18 18:13:39	1.1.2.11
@@ -24,8 +24,8 @@
 	PROP_FENCE_TAB, PROP_GENERAL_TAB, PROP_GULM_TAB, PROP_MCAST_TAB, \
 	PROP_QDISK_TAB, RESOURCE, RESOURCE_CONFIG, RESOURCE_REMOVE, \
 	SERVICE, SERVICE_DELETE, SERVICE_MIGRATE, SERVICE_RESTART, \
-	SERVICE_START, SERVICE_STOP, VM_CONFIG, LUCI_DEBUG_MODE, \
-	LUCI_CLUSTER_BASE_URL
+	SERVICE_START, SERVICE_STOP, VM_CONFIG, \
+	LUCI_DEBUG_MODE, LUCI_CLUSTER_BASE_URL
 
 luci_log = get_logger()
 
@@ -37,11 +37,13 @@
 			luci_log.debug_verbose('getnodes0: %r %s' % (e, str(e)))
 	return []
 
-def getResourceInfo(model, name, res=None):
+def getResourceInfo(model, name, baseurl, res=None):
 	if res is None:
 		try:
 			res = model.getResourceByName(name)
 		except Exception, e:
+			if LUCI_DEBUG_MODE is True:
+				luci_log.debug_verbose('GRI0: %s: %r %s' % (name, e, str(e)))
 			return {}
 
 	res_info = {}
@@ -54,19 +56,19 @@
 
 	cluname = model.getClusterName()
 	res_info['cfgurl'] = '%s?clustername=%s&resourcename=%s&pagetype=%s' \
-		% (cluname, res_name, RESOURCE_CONFIG)
+		% (baseurl, cluname, res_name, RESOURCE_CONFIG)
 	res_info['url'] = '%s?clustername=%s&resourcename=%s&pagetype=%s' \
-		% (cluname, res_name, RESOURCE)
+		% (baseurl, cluname, res_name, RESOURCE)
 	res_info['delurl'] = '%s?clustername=%s&resourcename=%s&pagetype=%s' \
-		% (cluname, res_name, RESOURCE_REMOVE)
+		% (baseurl, cluname, res_name, RESOURCE_REMOVE)
 	return res_info
 
-def getResources(model):
+def getResources(model, baseurl):
 	if model is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('getResources0: model is none')
 		return []
-	return map(lambda x: getResourcesInfo(model, None, x), model.getResources())
+	return map(lambda x: getResourceInfo(model, None, baseurl, x), model.getResources())
 
 def getClusterStatusModel(model):
 	results = list()
@@ -242,7 +244,7 @@
 			try:
 				svc = model.retrieveServiceByName(item['name'])
 				itemmap['cfgurl'] = '%s?clustername=%s&servicename=%s&pagetype=%s' % (baseurl, cluname, item['name'], SERVICE)
-				itemmap['cfgurl'] = '%s?clustername=%s&servicename=%s&pagetype=%s' % (baseurl, cluname, item['name'], SERVICE_DELETE)
+				itemmap['delurl'] = '%s?clustername=%s&servicename=%s&pagetype=%s' % (baseurl, cluname, item['name'], SERVICE_DELETE)
 			except:
 				try:
 					svc = model.retrieveVMsByName(item['name'])
@@ -1491,17 +1493,15 @@
 	return vm_map
 
 def getResourcesInfo(self, model, request):
-	resList = list()
 	fvars = GetReqVars(request, [ 'clustername', 'URL' ])
 
 	baseurl = fvars['URL'] or LUCI_CLUSTER_BASE_URL
 	if fvars['clustername'] is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('getResourcesInfo missing cluster name')
-		return resList
+		return []
 
-	#CALL LUCICLUSTERINFO
-	return resList
+	return getResources(model, baseurl)
 
 def getClusterName(self, model):
 	return model.getClusterName()
--- conga/luci/site/luci/Extensions/LuciSyslog.py	2007/06/13 15:54:42	1.11.4.5
+++ conga/luci/site/luci/Extensions/LuciSyslog.py	2007/06/18 18:13:39	1.11.4.6
@@ -6,7 +6,7 @@
 # Free Software Foundation.
 
 from syslog import openlog, closelog, syslog, \
-		LOG_DAEMON, LOG_PID, LOG_NDELAY, LOG_INFO, \
+		LOG_AUTH, LOG_PID, LOG_NDELAY, LOG_INFO, \
 		LOG_WARNING, LOG_DEBUG
 
 from conga_constants import LUCI_DEBUG_MODE, LUCI_DEBUG_VERBOSITY, \
@@ -22,7 +22,7 @@
 	def __init__(self):
 		self.__init = 0
 		try:
-			openlog('luci', LOG_PID | LOG_NDELAY, LOG_DAEMON)
+			openlog('luci', LOG_PID | LOG_NDELAY, LOG_AUTH)
 			self.__init = 1
 		except:
 			raise LuciSyslogError, 'unable to setup syslog functionality.'
--- conga/luci/site/luci/Extensions/Attic/LuciZopeExternal.py	2007/05/30 22:06:24	1.1.2.4
+++ conga/luci/site/luci/Extensions/Attic/LuciZopeExternal.py	2007/06/18 18:13:39	1.1.2.5
@@ -17,14 +17,15 @@
 	resourceAdd, resourceDelete, serviceDelete, \
 	getClusterURL, getSystemLogs, getRicciAgentForCluster, \
 	isClusterBusy, nodeTaskProcess, process_cluster_conf_editor, \
-	serviceMigrate, serviceRestart, serviceStart, serviceStop
+	serviceMigrate, serviceRestart, serviceStart, serviceStop, \
+	getResourceInfo
 
 from HelperFunctions import add_commas, bytes_to_value_units, convert_bytes
 
 from LuciClusterInfo import getClusterAlias, getClusterInfo, getClusterName, \
 	getClustersInfo, getClusterStatus, getFdomInfo, get_fdom_names, \
 	getFdomsInfo, getFence, getFenceInfo, getFencesInfo, getModelBuilder, \
-	getNodeInfo, getnodes, getNodesInfo, getResourceInfo, getResourcesInfo, \
+	getNodeInfo, getnodes, getNodesInfo, getResourcesInfo, \
 	getServiceInfo, getServicesInfo, getVMInfo, getClusterOS
 
 from LuciDB import access_to_host_allowed, allowed_systems, \
--- conga/luci/site/luci/Extensions/Attic/ResourceHandler.py	2007/06/08 18:27:00	1.1.2.6
+++ conga/luci/site/luci/Extensions/Attic/ResourceHandler.py	2007/06/18 18:13:39	1.1.2.7
@@ -74,7 +74,7 @@
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('addIp4: %s' % err)
 
-	if 'monitorLink' in form:
+	if form.has_key('monitorLink'):
 		res.addAttribute('monitor_link', '1')
 	else:
 		res.addAttribute('monitor_link', '0')
@@ -751,7 +751,7 @@
 }
 
 def create_resource(res_type, form, model):
-	if not res_type in resource_table:
+	if not resource_table.has_key(res_type):
 		raise Exception, [ 'Unknown resource type: "%s"' % res_type ]
 
 	res = None
@@ -777,6 +777,8 @@
 			raise Exception, [ 'All resources must have a unique name.' ]
 		rname = form['resourceName'].strip()
 		res.addAttribute('name', rname)
+	else:
+		rname = form['ip_address'].strip()
 
 	errors = resource_table[res_type][0](res, rname, form, model)
 	try:
--- conga/luci/site/luci/Extensions/cluster_adapters.py	2007/06/14 19:30:44	1.255.2.16
+++ conga/luci/site/luci/Extensions/cluster_adapters.py	2007/06/18 18:13:39	1.255.2.17
@@ -3152,26 +3152,28 @@
 
 # These are called from external methods.
 def getResourceInfo(model, request):
-	fvars = GetReqVars(request,
-				[ 'resourcename', 'type', 'value', 'clustername', 'URL' ])
-
 	if not model:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('GRI0: no model object in session')
 		return {}
 
+	fvars = GetReqVars(request,
+				[ 'resourcename', 'type', 'value', 'clustername', 'URL' ])
+
+	baseurl = fvars['URL'] or LUCI_CLUSTER_BASE_URL
+
 	name = fvars['resourcename']
 	if name is None:
-		res_type = fvars['type']
-		if res_type == 'ip':
+		if fvars['type'] == 'ip':
 			name = fvars['value']
 
 	if name is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('GRI1: missing res name')
 		return {}
+
 	from LuciClusterInfo import getResourceInfo as gri
-	return gri(model, name)
+	return gri(model, name, baseurl, res=None)
 
 def serviceRestart(self, rc, req):
 	from LuciClusterActions import RestartCluSvc
--- conga/luci/site/luci/Extensions/conga_constants.py	2007/06/14 19:30:44	1.39.2.10
+++ conga/luci/site/luci/Extensions/conga_constants.py	2007/06/18 18:13:39	1.39.2.11
@@ -149,6 +149,6 @@
 # Debugging parameters. Set LUCI_DEBUG_MODE to True and LUCI_DEBUG_VERBOSITY
 # to >= 2 to get full debugging output in syslog (LOG_DAEMON/LOG_DEBUG).
 
-LUCI_DEBUG_MODE			= False
+LUCI_DEBUG_MODE			= True
 LUCI_DEBUG_NET			= False
-LUCI_DEBUG_VERBOSITY	= 0
+LUCI_DEBUG_VERBOSITY	= 3
--- conga/luci/site/luci/Extensions/ClusterModel/Attic/ModelBuilder.py	2007/06/08 18:27:00	1.1.2.8
+++ conga/luci/site/luci/Extensions/ClusterModel/Attic/ModelBuilder.py	2007/06/18 18:13:40	1.1.2.9
@@ -31,8 +31,8 @@
 from OpenLDAP import OpenLDAP
 from Postgres8 import Postgres8
 from Tomcat5 import Tomcat5
-from SAPInstance import SAPInstance
 from SAPDatabase import SAPDatabase
+from SAPInstance import SAPInstance
 from Multicast import Multicast
 from FenceDaemon import FenceDaemon
 from FenceXVMd import FenceXVMd
@@ -90,8 +90,8 @@
              'script': Script,
              'nfsexport': NFSExport,
              'nfsclient': NFSClient,
+             'SAPDatabase': SAPDatabase,
              'SAPInstance': SAPInstance,
-             'SABDatabase': SAPDatabase,
              'device': Device }
 
 
--- conga/luci/site/luci/Extensions/ClusterModel/Attic/SAPDatabase.py	2007/05/15 18:58:56	1.1.2.2
+++ conga/luci/site/luci/Extensions/ClusterModel/Attic/SAPDatabase.py	2007/06/18 18:13:40	1.1.2.3
@@ -16,3 +16,9 @@
     BaseResource.__init__(self)
     self.TAG_NAME = TAG_NAME
     self.resource_type = RESOURCE_TYPE
+
+  def getName(self):
+    try:
+      return self.attr_hash['SID']
+    except KeyError, e:
+      return ''
--- conga/luci/site/luci/Extensions/ClusterModel/Attic/SAPInstance.py	2007/05/15 18:58:56	1.1.2.2
+++ conga/luci/site/luci/Extensions/ClusterModel/Attic/SAPInstance.py	2007/06/18 18:13:40	1.1.2.3
@@ -16,3 +16,10 @@
     BaseResource.__init__(self)
     self.TAG_NAME = TAG_NAME
     self.resource_type = RESOURCE_TYPE
+
+  def getName(self):
+    try:
+      return self.attr_hash['InstanceName']
+    except KeyError, e:
+      return ''
+
--- conga/make/version.in	2007/06/05 05:30:23	1.31.2.2
+++ conga/make/version.in	2007/06/18 18:13:40	1.31.2.3
@@ -1,5 +1,5 @@
 VERSION=0.10.0
-RELEASE=1_UNRELEASED
+RELEASE=2_UNRELEASED
 # Remove "_UNRELEASED" at release time.
 # Put release num at the beggining, 
 # so that after it gets released, it has 




More information about the Cluster-devel mailing list