* [Cluster-devel] conga/luci/site/luci/Extensions LuciDB.py Reso ...
@ 2007-05-22 2:45 rmccabe
0 siblings, 0 replies; only message in thread
From: rmccabe @ 2007-05-22 2:45 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: conga
Branch: EXPERIMENTAL
Changes by: rmccabe at sourceware.org 2007-05-22 02:45:54
Modified files:
luci/site/luci/Extensions: LuciDB.py ResourceHandler.py
homebase_adapters.py
Log message:
backend support for SAPInstance and SAPDatabase
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciDB.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.1.2.9&r2=1.1.2.10
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.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/homebase_adapters.py.diff?cvsroot=cluster&only_with_tag=EXPERIMENTAL&r1=1.50.2.6&r2=1.50.2.7
--- conga/luci/site/luci/Extensions/Attic/LuciDB.py 2007/05/18 05:23:55 1.1.2.9
+++ conga/luci/site/luci/Extensions/Attic/LuciDB.py 2007/05/22 02:45:54 1.1.2.10
@@ -667,6 +667,8 @@
luci_log.debug_verbose('GC0: %r %s' % (e, str(e)))
return None
+ if isAdmin(self):
+ return clusters
return check_clusters(self, clusters)
def getStorage(self):
@@ -682,12 +684,12 @@
def check_clusters(self, clusters):
user = getSecurityManager().getUser()
- return filter(lambda x: user.has_role('View', x[1]), clusters)
+ return filter(lambda x: user.has_permission('View', x[1]), clusters)
def cluster_permission_check(cluster):
try:
user = getSecurityManager().getUser()
- if user.has_role('View', cluster[1]):
+ if user.has_permission('View', cluster[1]):
return True
except:
pass
@@ -695,7 +697,7 @@
def allowed_systems(self, systems):
user = getSecurityManager().getUser()
- return filter(lambda x: user.has_role('View', x[1]), systems)
+ return filter(lambda x: user.has_permission('View', x[1]), systems)
def access_to_host_allowed(self, hostname, allowed_systems_list):
allowed = dict(map(lambda x: [ x[0], None ], allowed_systems_list))
--- conga/luci/site/luci/Extensions/Attic/ResourceHandler.py 2007/05/15 21:42:21 1.1.2.3
+++ conga/luci/site/luci/Extensions/Attic/ResourceHandler.py 2007/05/22 02:45:54 1.1.2.4
@@ -19,6 +19,8 @@
from ClusterModel.OpenLDAP import OpenLDAP
from ClusterModel.LVM import LVM
from ClusterModel.MySQL import MySQL
+from ClusterModel.SAPDatabase import SAPDatabase
+from ClusterModel.SAPInstance import SAPInstance
from LuciSyslog import get_logger
from conga_constants import LUCI_DEBUG_MODE
@@ -67,7 +69,7 @@
raise KeyError, 'No IP address was given'
res.addAttribute('address', addr)
except KeyError, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addIp4: %s' % err)
@@ -88,7 +90,7 @@
raise Exception, 'No mount point was given for "%s"' % rname
res.addAttribute('mountpoint', mountpoint)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addFs6: %s' % err)
@@ -99,7 +101,7 @@
raise Exception, 'No device was given for "%s"' % rname
res.addAttribute('device', device)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addFs7: %s' % err)
@@ -115,7 +117,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addFs8: %s' % err)
@@ -126,7 +128,7 @@
raise Exception, 'No filesystem type was given for "%s"' % rname
res.addAttribute('fstype', fstype)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addFs9: %s' % err)
@@ -168,7 +170,7 @@
raise Exception, 'No mount point was given for "%s"' % rname
res.addAttribute('mountpoint', mountpoint)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addGfs5: %s' % err)
@@ -179,7 +181,7 @@
raise Exception, 'No device was given for "%s"' % rname
res.addAttribute('device', device)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addGfs6: %s' % err)
@@ -195,7 +197,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addGfs7: %s' % err)
@@ -227,7 +229,7 @@
raise Exception, 'No mount point was given for "%s"' % rname
res.addAttribute('mountpoint', mountpoint)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsm5: %s' % err)
@@ -238,7 +240,7 @@
raise Exception, 'No host server was given for "%s"' % rname
res.addAttribute('host', host)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsm6 error: %s' % err)
@@ -254,7 +256,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsm7: %s' % err)
@@ -265,7 +267,7 @@
raise Exception, 'No export path was given for "%s"' % rname
res.addAttribute('exportpath', exportpath)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsm8: %s' % err)
@@ -277,7 +279,7 @@
% (nfstype, rname)
res.addAttribute('nfstype', nfstype)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsm9: %s' % err)
@@ -298,7 +300,7 @@
raise Exception, 'No target was given for "%s"' % rname
res.addAttribute('target', target)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsc5: %s' % err)
@@ -314,7 +316,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addNfsc6: %s' % err)
@@ -339,7 +341,7 @@
raise Exception, 'No path to a script file was given for this "%s"' % rname
res.addAttribute('file', path)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addScr5: %s' % err)
@@ -355,7 +357,7 @@
raise Exception, 'No workgroup was given for "%s"' % rname
res.addAttribute('workgroup', workgroup)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addSmb5: %s' % err)
@@ -371,7 +373,7 @@
raise KeyError, 'No server root was given for "%s"' % rname
res.addAttribute('server_root', server_root)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addApache5: %s' % err)
@@ -382,7 +384,7 @@
raise KeyError, 'No path to the Apache configuration file was given for "%s"' % rname
res.addAttribute('config_file', config_file)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addApache6: %s' % err)
@@ -398,7 +400,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addApache7: %s' % err)
@@ -409,7 +411,7 @@
except KeyError, e:
res.addAttribute('shutdown_wait', '0')
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addApache7: %s' % err)
@@ -425,7 +427,7 @@
raise KeyError, 'No path to the MySQL configuration file was given for "%s"' % rname
res.addAttribute('config_file', config_file)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addMySQL5: %s' % err)
@@ -436,7 +438,7 @@
raise KeyError, 'No address was given for "%s"' % rname
res.addAttribute('listen_address', listen_addr)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addMySQL6: %s' % err)
@@ -452,7 +454,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addMySQL7: %s' % err)
@@ -463,7 +465,7 @@
except KeyError, e:
res.addAttribute('shutdown_wait', '0')
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addMySQL7: %s' % err)
@@ -479,7 +481,7 @@
raise KeyError, 'No URL list was given for "%s"' % rname
res.addAttribute('url_list', url_list)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addOpenLDAP5: %s' % err)
@@ -490,7 +492,7 @@
raise KeyError, 'No path to the OpenLDAP configuration file was given for "%s"' % rname
res.addAttribute('config_file', config_file)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addOpenLDAP6: %s' % err)
@@ -506,7 +508,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addOpenLDAP7: %s' % err)
@@ -517,7 +519,7 @@
except KeyError, e:
res.addAttribute('shutdown_wait', '0')
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addOpenLDAP7: %s' % err)
@@ -532,7 +534,7 @@
raise KeyError, 'No postmaster user was given for "%s"' % rname
res.addAttribute('postmaster_user', user)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addPostgreSQL85: %s' % err)
@@ -543,7 +545,7 @@
raise KeyError, 'No path to the PostgreSQL 8 configuration file was given for "%s"' % rname
res.addAttribute('config_file', config_file)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addPostgreSQL86: %s' % err)
@@ -559,7 +561,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addPostgreSQL87: %s' % err)
@@ -570,7 +572,7 @@
except KeyError, e:
res.addAttribute('shutdown_wait', '0')
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addPostgreSQL87: %s' % err)
@@ -586,7 +588,7 @@
raise KeyError, 'No Tomcat user was given for "%s"' % rname
res.addAttribute('tomcat_user', user)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addTomcat55: %s' % err)
@@ -597,7 +599,7 @@
raise KeyError, 'No path to the Tomcat 5 configuration file was given for "%s"' % rname
res.addAttribute('config_file', config_file)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addTomcat56: %s' % err)
@@ -613,7 +615,7 @@
except:
pass
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addTomcat57: %s' % err)
@@ -624,7 +626,7 @@
raise KeyError, 'No cataliny base directory was given for "%s"' % rname
res.addAttribute('catalina_base', catalina_base)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addTomcat58: %s' % err)
@@ -635,7 +637,7 @@
except KeyError, e:
res.addAttribute('shutdown_wait', '0')
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addTomcat59: %s' % err)
@@ -651,7 +653,7 @@
raise KeyError, 'No volume group name was given for "%s"' % rname
res.addAttribute('vg_name', vg_name)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addLVM5: %s' % err)
@@ -662,28 +664,106 @@
raise KeyError, 'No logical volume name was given for "%s"' % rname
res.addAttribute('lv_name', lv_name)
except Exception, e:
- err = repr(e)
+ err = str(e)
errors.append(err)
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('addLVM6: %s' % err)
return errors
+def addSAPDatabase(res, rname, form, model):
+ errors = list()
+
+ try:
+ sid = form['SID'].strip()
+ if not sid:
+ raise KeyError, 'No SAP system identifier was given.'
+ res.addAttribute('SID', sid)
+ except Exception, e:
+ err = str(e)
+ errors.append(err)
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('addSAPD0: %s' % err)
+
+ try:
+ dbtype = form['DBTYPE'].strip()
+ if not dbtype in [ 'ORA', 'DB6', 'ADA' ]:
+ raise Exception, 'You gave an invalid database type: %s' % dbtype
+ res.addAttribute('DBTYPE', dbtype)
+ except Exception, e:
+ err = str(e)
+ errors.append(err)
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('addSAPD1: %s' % err)
+
+ if form.has_key('DBJ2EE_ONLY'):
+ res.addAttribute('DBJ2EE_ONLY', 'TRUE')
+ else:
+ res.removeAttribute('DBJ2EE_ONLY')
+
+ # Optional string parameters
+ for param in [ 'DIR_EXECUTABLE', 'NETSERVICENAME', 'DIR_BOOTSTRAP', 'DIR_SECSTORE' ]:
+ try:
+ pval = form[param].strip()
+ if not pval:
+ raise KeyError, 'blank'
+ res.addAttribute(param, pval)
+ except KeyError, e:
+ res.removeAttribute(param)
+ except Exception, e:
+ err = str(e)
+ errors.append(err)
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('addSAPD2: %s %s' % (param, err))
+ return errors
+
+def addSAPInstance(res, rname, form, model):
+ errors = list()
+
+ try:
+ iname = form['InstanceName'].strip()
+ if not iname:
+ raise KeyError, 'No SAP instance name was given.'
+ res.addAttribute('InstanceName', iname)
+ except Exception, e:
+ err = str(e)
+ errors.append(err)
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('addSAPI0: %s' % err)
+
+ # Optional string parameters
+ for param in [ 'DIR_EXECUTABLE', 'DIR_PROFILE', 'START_PROFILE' ]:
+ try:
+ pval = form[param].strip()
+ if not pval:
+ raise KeyError, 'blank'
+ res.addAttribute(param, pval)
+ except KeyError, e:
+ res.removeAttribute(param)
+ except Exception, e:
+ err = str(e)
+ errors.append(err)
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('addSAPI1: %s %s' % (param, err))
+ return errors
+
resource_table = {
- 'ip': [ addIp, Ip ],
- 'fs': [ addFs, Fs ],
- 'gfs': [ addClusterfs, Clusterfs ],
- 'nfsm': [ addNetfs, Netfs ],
- 'nfsx': [ addNFSExport, NFSExport ],
- 'nfsc': [ addNFSClient, NFSClient ],
- 'scr': [ addScript, Script ],
- 'smb': [ addSamba, Samba ],
- 'tomcat-5': [ addTomcat5, Tomcat5 ],
- 'postgres-8': [ addPostgres8, Postgres8 ],
- 'apache': [ addApache, Apache ],
- 'openldap': [ addOpenLDAP, OpenLDAP ],
- 'lvm': [ addLVM, LVM ],
- 'mysql': [ addMySQL, MySQL ]
+ 'ip': [ addIp, Ip ],
+ 'fs': [ addFs, Fs ],
+ 'gfs': [ addClusterfs, Clusterfs ],
+ 'nfsm': [ addNetfs, Netfs ],
+ 'nfsx': [ addNFSExport, NFSExport ],
+ 'nfsc': [ addNFSClient, NFSClient ],
+ 'scr': [ addScript, Script ],
+ 'smb': [ addSamba, Samba ],
+ 'tomcat-5': [ addTomcat5, Tomcat5 ],
+ 'postgres-8': [ addPostgres8, Postgres8 ],
+ 'apache': [ addApache, Apache ],
+ 'openldap': [ addOpenLDAP, OpenLDAP ],
+ 'lvm': [ addLVM, LVM ],
+ 'mysql': [ addMySQL, MySQL ],
+ 'SAPDatabase': [ addSAPDatabase, SAPDatabase ],
+ 'SAPInstance': [ addSAPInstance, SAPInstance ]
}
def create_resource(res_type, form, model):
--- conga/luci/site/luci/Extensions/homebase_adapters.py 2007/05/18 05:23:55 1.50.2.6
+++ conga/luci/site/luci/Extensions/homebase_adapters.py 2007/05/22 02:45:54 1.50.2.7
@@ -757,7 +757,7 @@
if not request.form.has_key('__CLUSTER'):
for i in clusters:
try:
- if user.has_role('View', i[1]):
+ if user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -775,7 +775,7 @@
for i in clusters:
if i[0] in request.form['__CLUSTER']:
try:
- if not user.has_role('View', i[1]):
+ if not user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.append('View')
i[1].manage_setLocalRoles(user_id, roles)
@@ -787,7 +787,7 @@
errors.append('Failed to add permission for user "%s" for cluster "%s"' % (user_id, i[0]))
else:
try:
- if user.has_role('View', i[1]):
+ if user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -808,7 +808,7 @@
if not request.form.has_key('__SYSTEM'):
for i in storage:
try:
- if user.has_role('View', i[1]):
+ if user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -823,7 +823,7 @@
for i in storage:
if i[0] in request.form['__SYSTEM']:
try:
- if not user.has_role('View', i[1]):
+ if not user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.append('View')
i[1].manage_setLocalRoles(user_id, roles)
@@ -832,7 +832,7 @@
errors.append('Failed to add permission for user "%s" for system "%s"' % (user_id, i[0]))
else:
try:
- if user.has_role('View', i[1]):
+ if user.has_permission('View', i[1]):
roles = list(i[1].get_local_roles_for_userid(user_id))
roles.remove('View')
@@ -1279,14 +1279,14 @@
for c in clusters:
try:
- perms[userName]['cluster'][c[0]] = i.has_role('View', c[1])
+ perms[userName]['cluster'][c[0]] = i.has_permission('View', c[1])
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('getUserPerms2: user %s, obj %s: %r %s' % (userName, c[0], e, str(e)))
for s in storage:
try:
- perms[userName]['storage'][s[0]] = i.has_role('View', s[1])
+ perms[userName]['storage'][s[0]] = i.has_permission('View', s[1])
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('getUserPerms2: user %s, obj %s: %r %s' % (userName, s[0], e, str(e)))
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-05-22 2:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-22 2:45 [Cluster-devel] conga/luci/site/luci/Extensions LuciDB.py Reso rmccabe
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.