From: cvs2svn Date: Mon, 6 Feb 2006 12:14:37 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create tag 'GLITE_RELEASE_1_5_1'. X-Git-Tag: GLITE_RELEASE_1_5_1 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=431f43e9aab161da80041db2c2bc9f37210b0614;p=jra1mw.git This commit was manufactured by cvs2svn to create tag 'GLITE_RELEASE_1_5_1'. Sprout from master 2005-10-15 14:14:12 UTC Aleš Křenek 'libtool version info' Cherrypick from master 2005-11-23 22:44:56 UTC Alberto Di Meglio 'Merged from branch 2.0.0': org.glite.deployment.lb/project/lxscript-rpm.xsl org.glite.deployment.lb/project/quattor-template.xsl Cherrypick from master 2004-07-12 16:18:37 UTC Alberto Di Meglio 'Modified to use myproxy from the repository if available': org.glite.security.proxyrenewal/project/configure.properties.xml Cherrypick from glite-security-proxyrenewal_branch_1_0_0_RC1 2005-08-10 18:42:48 UTC Joni Hahkala 'get the header from teh right place after the removal of the copy': org.glite.security.proxyrenewal/Makefile org.glite.security.proxyrenewal/build.xml org.glite.security.proxyrenewal/config/startup org.glite.security.proxyrenewal/interface/renewal.h org.glite.security.proxyrenewal/project/build.number org.glite.security.proxyrenewal/project/version.properties org.glite.security.proxyrenewal/src/api.c org.glite.security.proxyrenewal/src/commands.c org.glite.security.proxyrenewal/src/common.c org.glite.security.proxyrenewal/src/renew.c org.glite.security.proxyrenewal/src/renewal_locl.h org.glite.security.proxyrenewal/src/renewd.c org.glite.security.proxyrenewal/src/renewd_locl.h org.glite.security.proxyrenewal/src/voms.c Cherrypick from glite-lb-client_branch_2_1_0_2_pre_cares 2006-01-20 14:31:50 UTC Aleš Křenek 'pushed version': org.glite.lb.client/Makefile org.glite.lb.client/examples/job_reg.c org.glite.lb.client/examples/resubmission.l org.glite.lb.client/examples/shallow_and_full_resub.l org.glite.lb.client/examples/shallow_resub_complex.l org.glite.lb.client/examples/shallow_resub_simple.l org.glite.lb.client/examples/shallow_resub_simple2.l org.glite.lb.client/project/build.number org.glite.lb.client/project/version.properties org.glite.lb.client/src/connection.c org.glite.lb.client/src/logevent.c.T org.glite.lb.client/src/producer.c Cherrypick from glite_branch_1_5_0 2006-01-25 15:30:37 UTC Andrew McNab '-fPIC for ia64': org.gridsite.core/CHANGES org.gridsite.core/VERSION org.gridsite.core/project/configure.properties.xml org.gridsite.core/project/version.properties org.gridsite.core/src/Makefile org.gridsite.core/src/gridsite.spec org.gridsite.core/src/grst_asn1.c org.gridsite.core/src/grst_x509.c org.gridsite.core/src/htcp org.gridsite.core/src/mod_gridsite.c org.gridsite.core/src/showx509exts.c Cherrypick from glite-deployment-lb_branch_2_1_0 2006-01-26 09:00:25 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.deployment.lb/CHANGELOG org.glite.deployment.lb/config/scripts/glite-lb-config.py org.glite.deployment.lb/config/templates/glite-lb.cfg.xml org.glite.deployment.lb/doc/release_notes/release_notes.doc org.glite.deployment.lb/doc/release_notes/release_notes.html org.glite.deployment.lb/doc/release_notes/release_notes.pdf org.glite.deployment.lb/project/build.number org.glite.deployment.lb/project/glite-lb.sdf.xml.template org.glite.deployment.lb/project/properties.xml org.glite.deployment.lb/project/version.properties Cherrypick from glite-lb-server_branch_1_3_0_2_pre_cares 2006-02-02 09:11:45 UTC Zdeněk Salvet 'Fix for bug #14247.': org.glite.lb.server/project/build.number org.glite.lb.server/project/version.properties org.glite.lb.server/src/bkserverd.c org.glite.lb.server/src/db_store.c org.glite.lb.server/src/jobstat.h org.glite.lb.server/src/jobstat_supp.c org.glite.lb.server/src/process_event.c org.glite.lb.server/src/query.c org.glite.lb.server/src/store.c.T org.glite.lb.server/src/stored_master.c Cherrypick from glite-lb-common_branch_3_0_0_2_pre_cares 2006-02-02 05:38:33 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.lb.common/Makefile org.glite.lb.common/interface/context-int.h org.glite.lb.common/project/build.number org.glite.lb.common/project/version.properties org.glite.lb.common/src/context.c org.glite.lb.common/src/lb_plain_io.c org.glite.lb.common/src/log_msg.c org.glite.lb.common/src/ulm_parse.c Cherrypick from glite-jp-primary_branch_1_1_0_RC15 2005-10-21 12:54:03 UTC Aleš Křenek '- merged in 1.5 version of config/startup': org.glite.jp.primary/Makefile org.glite.jp.primary/config/glite-jp-primary-dbsetup.sh org.glite.jp.primary/config/startup org.glite.jp.primary/doc/README.install org.glite.jp.primary/examples/sample_job org.glite.jp.primary/project/build.number org.glite.jp.primary/project/version.properties Cherrypick from glite-jp_branch_1_1_0_RC15 2005-12-01 20:05:07 UTC Aleš Křenek '- push version': org.glite.jp/build.xml org.glite.jp/project/build.number org.glite.jp/project/dependencies.properties org.glite.jp/project/glite.jp.csf.xml org.glite.jp/project/version.properties Cherrypick from glite-lb_branch_1_2_0_3_pre_cares 2006-02-06 12:14:36 UTC Aleš Křenek 'tagging': org.glite.lb/build.xml org.glite.lb/project/build.number org.glite.lb/project/dependencies.properties org.glite.lb/project/glite.lb.csf.xml org.glite.lb/project/version.properties Cherrypick from glite-lb-proxy_branch_1_2_0_2_pre_cares 2006-02-06 12:09:19 UTC Aleš Křenek 'Don't include interlogd in RPM': org.glite.lb.proxy/Makefile org.glite.lb.proxy/project/build.number org.glite.lb.proxy/project/version.properties org.glite.lb.proxy/src/lbproxy.c Cherrypick from glite-wms-utils-exception_branch_1_0_3_RC15 2006-01-19 23:16:39 UTC Elisabetta Ronchieri 'Increased version': org.glite.wms-utils.exception/configure.ac org.glite.wms-utils.exception/project/build.number org.glite.wms-utils.exception/project/configure.properties.xml org.glite.wms-utils.exception/project/version.properties Cherrypick from glite-wms-utils-jobid_branch_1_0_2_RC15 2006-01-19 23:17:46 UTC Elisabetta Ronchieri 'Increased version': org.glite.wms-utils.jobid/configure.ac org.glite.wms-utils.jobid/project/build.number org.glite.wms-utils.jobid/project/configure.properties.xml org.glite.wms-utils.jobid/project/version.properties Cherrypick from glite-lb-server-bones_branch_2_1_0_2_pre_cares 2005-12-01 18:58:10 UTC Aleš Křenek 'push patch version': org.glite.lb.server-bones/examples/cnt_example.c org.glite.lb.server-bones/project/version.properties org.glite.lb.server-bones/src/srvbones.c Cherrypick from glite-security-gsoap-plugin_branch_1_2_1_pre_cares 2006-01-20 13:02:41 UTC Aleš Křenek 'pushed version': org.glite.security.gsoap-plugin/Makefile org.glite.security.gsoap-plugin/project/build.number org.glite.security.gsoap-plugin/project/version.properties Cherrypick from glite-jp-client_branch_1_0_0_pre_cares 2005-12-01 20:02:26 UTC Aleš Křenek 'fix for #13855': org.glite.jp.client/Makefile org.glite.jp.client/project/version.properties Cherrypick from glite-lb-client-interface_branch_3_0_0_RC15 2005-10-18 15:35:17 UTC Aleš Křenek 'pull back incorrectly increased version number': org.glite.lb.client-interface/project/build.number org.glite.lb.client-interface/project/version.properties Cherrypick from glite-lb-logger_branch_1_2_0_2_pre_cares 2005-12-01 19:01:46 UTC Aleš Křenek 'push patch version': org.glite.lb.logger/project/version.properties org.glite.lb.logger/src/send_event.c Cherrypick from glite-lb-ws-interface_branch_3_0_0_RC15 2005-10-18 15:35:44 UTC Aleš Křenek 'pull back incorrectly increased version number': org.glite.lb.ws-interface/project/build.number org.glite.lb.ws-interface/project/version.properties Cherrypick from glite-jp-common_branch_1_1_0_RC15 2005-10-16 18:26:39 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.jp.common/project/build.number Cherrypick from glite-jp-index_branch_1_1_0_RC15 2005-10-20 09:40:06 UTC Aleš Křenek 'added from HEAD': org.glite.jp.index/doc/README Cherrypick from glite-jp-server-common_branch_1_0_0_RC15 2005-10-16 18:28:26 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.jp.server-common/project/build.number Cherrypick from glite-jp-ws-interface_branch_1_1_0_RC15 2005-10-16 18:24:30 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.jp.ws-interface/project/build.number Cherrypick from glite-lb-logger_branch_1_2_0_RC15 2005-10-16 18:35:58 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.lb.logger/project/build.number Cherrypick from glite-lb-server-bones_branch_2_1_0_RC15 2005-10-16 18:30:21 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.lb.server-bones/project/build.number Cherrypick from glite-lb-utils_branch_1_0_0_RC15 2005-10-16 18:40:43 UTC Master Builder 'Incremented build number [GLBUILDER]': org.glite.lb.utils/project/build.number Cherrypick from glite-security-gsoap-plugin_branch_1_2_0 2005-10-18 07:16:35 UTC Aleš Křenek 'use gsoap 2.7.6b too': org.glite.security.gsoap-plugin/build.xml Delete: org.glite.deployment.lb/config/scripts/remove_all_rpms.sh org.glite.jp.client/doc/README.jpimporter --- diff --git a/org.glite.deployment.lb/CHANGELOG b/org.glite.deployment.lb/CHANGELOG index 9f1b376..e899df1 100644 --- a/org.glite.deployment.lb/CHANGELOG +++ b/org.glite.deployment.lb/CHANGELOG @@ -1,3 +1,10 @@ +DATE: 04-12-2005 21:15 +[dimeglio] Added configuration parameter for setting mysql max_allowed_packet + +DATE: 23-11-2005 23:50 +[dimeglio] Use ConfigParams class +[dimeglio] Removed servietool instabce config params, put instance creation in script + DATE: 08-07-2005 15:20 [dimeglio] Merged from branch 1.2.2 diff --git a/org.glite.deployment.lb/config/scripts/glite-lb-config.py b/org.glite.deployment.lb/config/scripts/glite-lb-config.py index f63be09..167539a 100644 --- a/org.glite.deployment.lb/config/scripts/glite-lb-config.py +++ b/org.glite.deployment.lb/config/scripts/glite-lb-config.py @@ -6,7 +6,7 @@ # For license conditions see the license file or http://eu-egee.org/license.html # ################################################################################ -# glite-lb-config v. 1.3.0 +# glite-lb-config v. 2.1.1 # # Post-installation script for configuring the gLite Logging and Bookkeping Server # Robert Harakaly < robert.harakaly@cern.ch > @@ -16,9 +16,13 @@ # Version info: $Id$ # # Usage: python glite-lb-config [-c|-v|-h|--help] -# -c print configuration -# -v print version +# -c, --checkconf print configuration +# -v, --version print version # -h,--help print usage info +# --configure configure the service +# --start start the service +# --stop stop the service +# --status show service status # # Return codes: 0 - Ok # 1 - Configuration failed @@ -30,6 +34,8 @@ import sys, posix, getopt,time sys.path.append(".") from gLiteInstallerLib import gLib +from gLiteInstallerLib import ConfigParams +from gliteRgmaServicetool import gliteRgmaServicetoolInstance from gliteRgmaServicetool import gliteRgmaServicetool import mysql as MySQL @@ -42,10 +48,9 @@ class glite_lb: def __init__(self): self.mysql = MySQL.Mysql() self.verbose = 0 - self.version = "1.3.0" + self.version = "2.1.1" self.name = "glite-lb" self.friendly_name = "gLite Logging and Bookkeeping" - params['module.version'] = self.version #------------------------------------------------------------------------------- # Banner @@ -98,6 +103,7 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ print ' -c, --checkconf print the service configuration' print ' -v, --version print the version of the configuration script' print ' -h, --help print this usage information' + print ' --configure configure the service' print ' --start start the service' print ' --stop stop the service' print ' --status check service status' @@ -138,34 +144,19 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ #------------------------------------------------------------------- # Start Servicetool #------------------------------------------------------------------- - - pid = glib.getPID('rgma-servicetool') - if (pid != 0): - print 'The gLite R-GMA Servicetool service is already running. Restarting...' - rgmaServicetool.stop() - else: - print "Starting the gLite R-GMA Servicetool service" - - rgmaServicetool.start() - - - # Check that the daemon is running - - pid = glib.getPID('rgma-servicetool') - if (pid != 0): - print "The gLite R-GMA Servicetool service has been started ", - glib.printOkMessage() - else: - glib.printErrorMessage("Could not start the gLite R-GMA Servicetool service") - glib.printErrorMessage("Please verify and re-run the script "), - glib.printFailedMessage() - return 1 + if params['rgma.servicetool.activate'] == "true": + + errorcode = rgmaServicetool.start() + if (errorcode != 0): + return 1 return 0 def stop(self): + error_level = 0 + pid = glib.getPID('bkserverd') if (pid != 0): os.system('%s/etc/init.d/glite-lb-bkserverd stop' % os.environ['GLITE_LOCATION']) @@ -174,29 +165,27 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ if (pid != 0): print 'Could not stop the LB Server service ', glib.printFailedMessage() + error_level = 1 else: print 'The LB Server service has been stopped ', glib.printOkMessage() + #------------------------------------------------------------------- + # MySQL + #------------------------------------------------------------------- + self.mysql.stop() #------------------------------------------------------------------- - # Stop the servicetool + # Servicetool #------------------------------------------------------------------- - pid = glib.getPID('rgma-servicetool') - if (pid != 0): - rgmaServicetool.stop() - - pid = glib.getPID('rgma-servicetool') - if (pid != 0): - print 'Could not stop the R-GMA Servicetool service ', - glib.printFailedMessage() - else: - print 'The R-GMA Servicetool service has been stopped ', - glib.printOkMessage() - - return 0 + if params['rgma.servicetool.activate'] == "true": + + if rgmaServicetool.stop(): + error_level = 1 + + return error_level def status(self): @@ -206,6 +195,15 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ if retval != 0: error_level = 1 + #------------------------------------------------------------------- + # Servicetool + #------------------------------------------------------------------- + + if params['rgma.servicetool.activate'] == "true": + + if rgmaServicetool.status() != 0: + error_level = 1 + return error_level def configure(self): @@ -215,12 +213,11 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ #-------------------------------------------------------- if os.system("python %s/glite-security-utils-config.py --subservice" % glib.getScriptPath()): - print "\nInstalling gLite Security Utilities ", + print "\nConfiguring gLite Security Utilities ", glib.printFailedMessage() - return 1 - - print "\nInstalling gLite Security Utilities ", - glib.printOkMessage() + else: + print "\nConfiguring gLite Security Utilities ", + glib.printOkMessage() # Create the GLITE_USER if it doesn't exists print "\nCreating/Verifying the GLITE_USER account %s" % os.environ['GLITE_USER'] @@ -231,8 +228,8 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ glib.printOkMessage() # Create all directories needed - print "\nVerify CA certificates directory ", glib.check_dir(os.environ['GLITE_CERT_DIR']) + print "\nVerify CA certificates directory ", glib.printOkMessage() # Copy certificates @@ -244,17 +241,38 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ os.chmod("%s/hostkey.pem" % lb_cert_path, 0400) glib.printOkMessage() - # Create the MySQL database - print "\nCreate/Verify the %s database" % params['lb.database.name'] + #-------------------------------------------------------- + # Configure MySQL + #-------------------------------------------------------- + + # Set mysql parameters + #self.mysql.setConfiguration('client','max_allowed_packet',params['mysql.max_allowed_packet']) + self.mysql.setConfiguration('mysqld','max_allowed_packet',params['mysql.max_allowed_packet']) + + # start MySQL self.mysql.stop() time.sleep(5) - self.mysql.start() - + self.mysql.start() + if not os.path.exists('/tmp/mysql.sock'): os.symlink('/var/lib/mysql/mysql.sock', '/tmp/mysql.sock') + # ------------------------------------------------------------ + # Check password of MySQL + # ------------------------------------------------------------ + + self.mysql_root_password = params['mysql.root.password'] + if not params.has_key('set.mysql.root.password'): + params['set.mysql.root.password'] = 'false' + setempty = params['set.mysql.root.password'] + if self.mysql.checkMySQLConfiguration(self.mysql_root_password,setempty): + return 1 + + # Create the MySQL database + print "\nCreate/Verify the %s database" % params['lb.database.name'] + # Check if database exists - if self.mysql.existsDB(params['lb.database.name']) != 0: + if self.mysql.existsDB(params['lb.database.name'],self.mysql_root_password) != 0: # Create database print ('\n==> Creating MySQL %s database\n' % params['lb.database.name']) @@ -262,15 +280,14 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ os.remove('/tmp/mysql_ct') file = open('/tmp/mysql_ct', 'w') - text = ['CREATE DATABASE %s;\n' % params['lb.database.name'], - 'GRANT ALL PRIVILEGES ON %s.* TO %s@localhost IDENTIFIED BY "";\n' \ - % (params['lb.database.name'],params['lb.database.username']), - 'USE %s;\n' % params['lb.database.name'], - '\. %s/etc/glite-lb-dbsetup.sql\n' % os.environ['GLITE_LOCATION']] + + self.mysql.add_user(params['lb.database.name'],params['lb.database.username'],"",self.mysql_root_password) + text = ['USE %s;\n' % params['lb.database.name'], + '\. %s/etc/glite-lb-dbsetup.sql\n' % os.environ['GLITE_LOCATION']] file.writelines(text) file.close() - os.system('/usr/bin/mysql < /tmp/mysql_ct') + os.system('/usr/bin/mysql -p%s < /tmp/mysql_ct' % self.mysql_root_password) os.system('/bin/rm /tmp/mysql_ct') #Starting and stopping the database before the index creation @@ -312,17 +329,32 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ #------------------------------------------------------------------- # RGMA servicetool: configure servicetool #------------------------------------------------------------------- - - print "Configuring the R-GMA Servicetool..." - - if rgmaServicetool.configure(glib): - # error in configuring services - print "Configuring the R-GMA Servicetool... ", - glib.printFailedMessage() - return 1 - - print "Configuring the R-GMA Servicetool... ", - glib.printOkMessage() + + if params['rgma.servicetool.activate'] == "true": + + # Instantiate the rgma-servicetool class + rgmaServicetool = gliteRgmaServicetool() + rgmaServicetool.verbose = self.verbose + + # Create Local Logger instance + serviceId = "%s_%s" % (glib.fq_hostname, params['lbserver.serviceType']) + servicetoolInstance = gliteRgmaServicetoolInstance(glib, serviceId) + + # set params + servicetoolInstance.setServiceName(params['lbserver.serviceName']) + servicetoolInstance.setServiceType(params['lbserver.serviceType']) + servicetoolInstance.setServiceVersion(self.version) + servicetoolInstance.setStatusScript(params['lbserver.statusScript']) + servicetoolInstance.setEndpoint(params['lbserver.endpoint']) + + # add instance to the gLite configuration + if servicetoolInstance.add() == 1: + return 1 + + # Configure servicetool + if rgmaServicetool.configure(glib): + # error in configuring servicetool + return 1 return 0 @@ -330,6 +362,19 @@ python %s-config [OPTION...]""" % (self.name, os.environ['GLITE_LOCATION'], \ # Set all environment variables #------------------------------------------------------------------------------- +def loadDefaults(params): + + params['GLITE_LOCATION'] = "/opt/glite" + params['mysql.root.password'] = "" + params['lb.database.name'] = "lbserver20" + params['lb.database.username'] = "lbserver" + params['mysql.max_allowed_packet'] = "17" + + params['lbserver.serviceName'] = 'LB Server service at %s' % glib.fq_hostname + params['lbserver.serviceType'] = 'org.glite.lb.server' + params['lbserver.statusScript'] = '%s/etc/init.d/glite-lb-bkserverd status' % params['GLITE_LOCATION'] + params['lbserver.endpoint'] = 'not available' + def set_env(): # gLite @@ -380,20 +425,24 @@ if __name__ == '__main__': print '"\nThis script must be run as root\n' sys.exit(1) + # Get an instance of the ConfigParams class + params = ConfigParams() + # Get an instance of the library class glib = gLib() # Load parameters - params = {} + loadDefaults(params) try: - opts, args = getopt.getopt(sys.argv[1:], '', ['siteconfig=']) + opts, args = glib.getopt(sys.argv[1:], '', ['siteconfig=']) for o, a in opts: if o == "--siteconfig": params['site.config.url'] = a break except getopt.GetoptError: pass - if glib.loadConfiguration("%s/../glite-lb.cfg.xml" % glib.getScriptPath(),params): + if glib.loadConfiguration(["%s/../glite-lb.cfg.xml" % glib.getScriptPath(), \ + "%s/../glite-rgma-servicetool.cfg.xml" % glib.getScriptPath()],params): print "An error occurred while configuring the service" sys.exit(1) @@ -415,66 +464,111 @@ if __name__ == '__main__': # Command line opts if any try: - opts, args = getopt.getopt(sys.argv[1:], 'chv', ['checkconf', 'help', 'version','stop','start','status','siteconfig=']) + opts, args = glib.getopt(sys.argv[1:], 'chv', ['checkconf', 'help', 'version','configure','stop','start','status','siteconfig=']) except getopt.GetoptError: service.usage(msg = "Unknown options(s)") sys.exit(1) + if len(opts) == 0: + service.usage() + sys.exit(0) + # Check cli options for o, a in opts: + if o in ("-h", "--help"): service.usage() sys.exit(0) + if o in ("-v", "--version"): service.showVersion() sys.exit(0) + if o in ("-c", "--checkconf"): service.copyright() service.showVersion() glib.print_params(params) + print + rgmaServicetool.showServices() sys.exit(0) - if o in ("stop", "--stop"): + + if o == "--configure": + + # Check certificates + if params.has_key('glite.installer.checkcerts'): + if params['glite.installer.checkcerts'] == "true": + if glib.check_certs(params) != 0: + print "An error occurred while configuring the %s service" \ + % service.friendly_name + sys.exit(1) + + # Print configuration parameters + if verbose: + glib.print_params(params) + + service.copyright() + service.showVersion() + service.banner() + + # Stop all services + glib.printInfoMessage("\n\nStopping all running LB services...") service.stop() - sys.exit(0) - if o in ("start", "--start"): - service.start() - sys.exit(0) - if o == "--status": - sys.exit(service.status()) + + # Configure the service + return_result = service.configure() + + if return_result == 0: + + # Stop all services + glib.printInfoMessage("\n\nStopping all running LB services...") + service.stop() + + print "\n\nThe %s configuration was successfully completed\n" % service.friendly_name + print "You can now start the service using the --start option of this script\n\n" + glib.registerService() + + sys.exit(0) + + elif return_result == 2: + + # Stop all services + glib.printInfoMessage("\n\nStopping all running LB services...") + service.stop() + print "\n\nThe %s configuration was completed,\n" % service.friendly_name + print "but warnings were issued. Please revise them and re-run the script\n" + print "or configure LB manually\n" + + sys.exit(2) - # Check certificates - if params.has_key('glite.installer.checkcerts'): - if params['glite.installer.checkcerts'] == "true": - if glib.check_certs(params) != 0: - print "An error occurred while configuring the %s service" \ + else: + print "\n\nAn unrecoverable error occurred while configuring the %s" \ % service.friendly_name - sys.exit(1) - - # Print configuration parameters - if verbose: - glib.print_params(params) - service.copyright() - service.showVersion() - service.banner() - - # Configure the service - if service.configure() == 0: - print "\n%s configuration successfully completed " % service.friendly_name, - glib.printOkMessage() - glib.registerService() - else: - print "\nAn error occurred while configuring the %s " % service.friendly_name, - glib.printFailedMessage() - sys.exit(1) + sys.exit(1) + + if o in ("start", "--start"): + # Start the service + if service.start() == 0: + print "\n\nThe %s was successfully started " % service.friendly_name, + glib.printOkMessage() + sys.exit(0) + else: + print "\n\nAn error occurred while starting the %s " % service.friendly_name, + glib.printFailedMessage() + sys.exit(1) + + if o in ("stop", "--stop"): + # Stop the service + if service.stop() == 0: + print "\n\nThe %s was successfully stopped " % service.friendly_name, + glib.printOkMessage() + sys.exit(0) + else: + print "\n\nAn unrecoverable error occurred while stopping the %s " % service.friendly_name, + glib.printFailedMessage() + sys.exit(1) - # Start the service - if service.start() == 0: - print "\nThe %s was successfully started " % service.friendly_name, - glib.printOkMessage() - else: - print "\nAn error occurred while starting the %s " % service.friendly_name, - glib.printFailedMessage() - sys.exit(1) - + if o == "--status": + sys.exit(service.status()) + diff --git a/org.glite.deployment.lb/config/scripts/remove_all_rpms.sh b/org.glite.deployment.lb/config/scripts/remove_all_rpms.sh deleted file mode 100755 index 2835ee1..0000000 --- a/org.glite.deployment.lb/config/scripts/remove_all_rpms.sh +++ /dev/null @@ -1,49 +0,0 @@ - -#!/bin/sh - -rpm -e edg-fetch-crl-1.0.0-EGEE \ -ca_ArmeSFo-0.23-1 \ -ca_ASGCCA-0.23-1 \ -ca_BEGrid-0.23-1 \ -ca_CERN-0.23-1 \ -ca_CESNET-0.23-1 \ -ca_CNRS-0.23-1 \ -ca_CNRS-DataGrid-0.23-1 \ -ca_CNRS-Projets-0.23-1 \ -ca_CyGrid-0.23-1 \ -ca_DOEGrids-0.23-1 \ -ca_DOESG-Root-0.23-1 \ -ca_ESnet-0.23-1 \ -ca_FNAL-0.23-1 \ -ca_FNAL_KCA-0.23-1 \ -ca_GermanGrid-0.23-1 \ -ca_Grid-Ireland-0.23-1 \ -ca_GridCanada-0.23-1 \ -ca_HellasGrid-0.23-1 \ -ca_INFN-0.23-1 \ -ca_IUCC-0.23-1 \ -ca_LIP-0.23-1 \ -ca_NIKHEF-0.23-1 \ -ca_NorduGrid-0.23-1 \ -ca_PK-Grid-0.23-1 \ -ca_PolishGrid-0.23-1 \ -ca_Russia-0.23-1 \ -ca_SlovakGrid-0.23-1 \ -ca_Spain-0.23-1 \ -ca_UKeScience-0.23-1 \ -glite-wms-utils-exception-0.1.0-0 \ -glite-wms-utils-jobid-0.1.0-0 \ -glite-lb-client-interface-0.2.0-0 \ -glite-lb-server-bones-0.0.0-0 \ -glite-lb-common-0.2.0-0 \ -glite-lb-logger-0.2.0-0 \ -glite-lb-server-0.3.0-0 \ -glite-security-proxyrenewal-0.1.0-1 \ -ares-1.1.1-EGEE \ -gpt-VDT1.2.0rh9-1 \ -vdt_globus_essentials-VDT1.2.0rh9-1 \ -perl-Expect.pm-1.01-9 \ -myproxy-1.14-EGEE \ -MySQL-client-4.0.20-0 \ -MySQL-server-4.0.20-0 - diff --git a/org.glite.deployment.lb/config/templates/glite-lb.cfg.xml b/org.glite.deployment.lb/config/templates/glite-lb.cfg.xml index ed39d97..25891ed 100644 --- a/org.glite.deployment.lb/config/templates/glite-lb.cfg.xml +++ b/org.glite.deployment.lb/config/templates/glite-lb.cfg.xml @@ -1,4 +1,4 @@ - + @@ -17,6 +17,10 @@ parameter. Leave it empty of comment it out to use the same as 'glite.user.name'" value="changeme"/> + + @@ -30,12 +34,30 @@ description="Enable check of host certificates" value="true"/> - - + + + + + + + + + + @@ -45,90 +67,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.glite.deployment.lb/doc/release_notes/release_notes.doc b/org.glite.deployment.lb/doc/release_notes/release_notes.doc index ae9fd18..2ad2d4d 100644 Binary files a/org.glite.deployment.lb/doc/release_notes/release_notes.doc and b/org.glite.deployment.lb/doc/release_notes/release_notes.doc differ diff --git a/org.glite.deployment.lb/doc/release_notes/release_notes.html b/org.glite.deployment.lb/doc/release_notes/release_notes.html index ecba765..01ee3f4 100644 --- a/org.glite.deployment.lb/doc/release_notes/release_notes.html +++ b/org.glite.deployment.lb/doc/release_notes/release_notes.html @@ -20,6 +20,9 @@ {font-family:Times; panose-1:2 2 6 3 5 4 5 2 3 4;} @font-face + {font-family:ZWAdobeF; + panose-1:0 0 0 0 0 0 0 0 0 0;} +@font-face {font-family:"Univers \(W1\)";} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal @@ -134,6 +137,78 @@ p.MsoIndex1, li.MsoIndex1, div.MsoIndex1 text-align:justify; font-size:12.0pt; font-family:"Times New Roman";} +p.MsoIndex2, li.MsoIndex2, div.MsoIndex2 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:22.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex3, li.MsoIndex3, div.MsoIndex3 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:33.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex4, li.MsoIndex4, div.MsoIndex4 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:44.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex5, li.MsoIndex5, div.MsoIndex5 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:55.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex6, li.MsoIndex6, div.MsoIndex6 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:66.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex7, li.MsoIndex7, div.MsoIndex7 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:77.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex8, li.MsoIndex8, div.MsoIndex8 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:88.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoIndex9, li.MsoIndex9, div.MsoIndex9 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:99.0pt; + text-align:justify; + text-indent:-11.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} p.MsoToc1, li.MsoToc1, div.MsoToc1 {margin-top:6.0pt; margin-right:0mm; @@ -259,6 +334,15 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter text-align:justify; font-size:11.0pt; font-family:"Times New Roman";} +p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:Arial; + font-weight:bold;} p.MsoCaption, li.MsoCaption, div.MsoCaption {margin-top:6.0pt; margin-right:0mm; @@ -268,1627 +352,1266 @@ p.MsoCaption, li.MsoCaption, div.MsoCaption font-size:11.0pt; font-family:"Times New Roman"; font-weight:bold;} -span.MsoFootnoteReference - {vertical-align:super;} -p.MsoBodyText, li.MsoBodyText, div.MsoBodyText - {margin-top:3.0pt; +p.MsoTof, li.MsoTof, div.MsoTof + {margin-top:2.0pt; margin-right:0mm; - margin-bottom:3.0pt; + margin-bottom:2.0pt; margin-left:0mm; text-align:justify; font-size:11.0pt; font-family:"Times New Roman";} -p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3 - {margin-top:2.5pt; +p.MsoEnvelopeAddress, li.MsoEnvelopeAddress, div.MsoEnvelopeAddress + {margin-top:2.0pt; margin-right:0mm; - margin-bottom:2.5pt; + margin-bottom:2.0pt; + margin-left:144.0pt; + text-align:justify; + font-size:12.0pt; + font-family:Arial;} +p.MsoEnvelopeReturn, li.MsoEnvelopeReturn, div.MsoEnvelopeReturn + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; margin-left:0mm; text-align:justify; - page-break-after:avoid; font-size:10.0pt; font-family:Arial;} -p.MsoBlockText, li.MsoBlockText, div.MsoBlockText +span.MsoFootnoteReference + {vertical-align:super;} +p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; margin-left:0mm; text-align:justify; - text-indent:17.0pt; + font-size:10.0pt; + font-family:"Times New Roman";} +p.MsoToa, li.MsoToa, div.MsoToa + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:11.0pt; + text-align:justify; + text-indent:-11.0pt; font-size:11.0pt; font-family:"Times New Roman";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap +p.MsoMacroText, li.MsoMacroText, div.MsoMacroText {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; margin-left:0mm; text-align:justify; - background:navy; - font-size:11.0pt; - font-family:Tahoma;} -p - {margin-top:5.0pt; + font-size:10.0pt; + font-family:"Courier New";} +p.MsoToaHeading, li.MsoToaHeading, div.MsoToaHeading + {margin-top:6.0pt; margin-right:0mm; - margin-bottom:5.0pt; + margin-bottom:2.0pt; margin-left:0mm; text-align:justify; font-size:12.0pt; - font-family:"Times New Roman";} -tt - {font-family:"Courier New";} -p.3eretraitnormal, li.3eretraitnormal, div.3eretraitnormal + font-family:Arial; + font-weight:bold;} +p.MsoList, li.MsoList, div.MsoList {margin-top:2.0pt; margin-right:0mm; - margin-bottom:3.0pt; - margin-left:102.9pt; + margin-bottom:2.0pt; + margin-left:18.0pt; text-align:justify; - text-indent:-17.85pt; - font-size:12.0pt; + text-indent:-18.0pt; + font-size:11.0pt; font-family:"Times New Roman";} -p.2eretraitjustifi, li.2eretraitjustifi, div.2eretraitjustifi +p.MsoListBullet, li.MsoListBullet, div.MsoListBullet {margin-top:2.0pt; margin-right:0mm; - margin-bottom:3.0pt; - margin-left:40.0mm; + margin-bottom:2.0pt; + margin-left:18.0pt; text-align:justify; - text-indent:-7.1pt; - line-height:12.0pt; + text-indent:-18.0pt; font-size:11.0pt; font-family:"Times New Roman";} -p.2eretraitnormal, li.2eretraitnormal, div.2eretraitnormal +p.MsoListNumber, li.MsoListNumber, div.MsoListNumber {margin-top:2.0pt; margin-right:0mm; - margin-bottom:3.0pt; + margin-bottom:2.0pt; margin-left:18.0pt; text-align:justify; text-indent:-18.0pt; - font-size:12.0pt; + font-size:11.0pt; font-family:"Times New Roman";} -p.1erretraitnormal, li.1erretraitnormal, div.1erretraitnormal +p.MsoList2, li.MsoList2, div.MsoList2 {margin-top:2.0pt; margin-right:0mm; - margin-bottom:12.0pt; - margin-left:0mm; + margin-bottom:2.0pt; + margin-left:36.0pt; text-align:justify; - font-size:12.0pt; + text-indent:-18.0pt; + font-size:11.0pt; font-family:"Times New Roman";} -p.titrebloc, li.titrebloc, div.titrebloc +p.MsoList3, li.MsoList3, div.MsoList3 {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:0mm; + margin-left:54.0pt; text-align:justify; + text-indent:-18.0pt; font-size:11.0pt; - font-family:Arial; - font-weight:bold;} -p.TitreTable, li.TitreTable, div.TitreTable - {margin-top:6.0pt; + font-family:"Times New Roman";} +p.MsoList4, li.MsoList4, div.MsoList4 + {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:0mm; - text-align:center; - font-size:12.0pt; - font-family:Arial; - font-weight:bold;} -p.form, li.form, div.form - {margin-top:6.0pt; - margin-right:7.05pt; - margin-bottom:0mm; - margin-left:0mm; - margin-bottom:.0001pt; + margin-left:72.0pt; text-align:justify; - background:black; - border:none; - padding:0mm; - font-size:14.0pt; - font-family:"Univers \(W1\)"; - color:white; - text-transform:uppercase; - font-weight:bold;} -p.HB, li.HB, div.HB + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoList5, li.MsoList5, div.MsoList5 {margin-top:2.0pt; margin-right:0mm; - margin-bottom:12.0pt; - margin-left:0mm; + margin-bottom:2.0pt; + margin-left:90.0pt; text-align:justify; - page-break-after:avoid; - font-size:12.0pt; - font-family:"Times New Roman"; - color:black; - font-weight:bold;} -p.reference, li.reference, div.reference + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListBullet2, li.MsoListBullet2, div.MsoListBullet2 {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:0mm; + margin-left:36.0pt; text-align:justify; - page-break-after:avoid; - font-size:9.0pt; - font-family:Arial;} -p.1erretraitjustifi, li.1erretraitjustifi, div.1erretraitjustifi - {margin-top:6.0pt; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListBullet3, li.MsoListBullet3, div.MsoListBullet3 + {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:14.2pt; + margin-left:54.0pt; text-align:justify; - text-indent:-14.2pt; + text-indent:-18.0pt; font-size:11.0pt; font-family:"Times New Roman";} -p.ZonetatEnTte, li.ZonetatEnTte, div.ZonetatEnTte +p.MsoListBullet4, li.MsoListBullet4, div.MsoListBullet4 {margin-top:2.0pt; - margin-right:2.85pt; + margin-right:0mm; margin-bottom:2.0pt; - margin-left:2.85pt; - text-align:center; - page-break-after:avoid; - font-size:36.0pt; - font-family:Arial; - text-transform:uppercase; - font-weight:bold;} -p.DocTitle, li.DocTitle, div.DocTitle + margin-left:72.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListBullet5, li.MsoListBullet5, div.MsoListBullet5 {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:0mm; - text-align:center; - font-size:22.0pt; - font-family:Arial; - font-variant:small-caps; - color:gray; - letter-spacing:4.0pt; - font-weight:bold;} -p.DocDate, li.DocDate, div.DocDate - {margin-top:6.0pt; + margin-left:90.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListNumber2, li.MsoListNumber2, div.MsoListNumber2 + {margin-top:2.0pt; margin-right:0mm; - margin-bottom:6.0pt; - margin-left:0mm; + margin-bottom:2.0pt; + margin-left:36.0pt; text-align:justify; + text-indent:-18.0pt; font-size:11.0pt; - font-family:Arial; - layout-grid-mode:line; - font-weight:bold;} -p.DocSubTitle, li.DocSubTitle, div.DocSubTitle + font-family:"Times New Roman";} +p.MsoListNumber3, li.MsoListNumber3, div.MsoListNumber3 {margin-top:2.0pt; margin-right:0mm; margin-bottom:2.0pt; - margin-left:0mm; - text-align:center; - line-height:12.0pt; - font-size:12.0pt; - font-family:Arial; - font-variant:small-caps; - color:gray; - letter-spacing:4.0pt; - font-weight:bold;} - /* Page Definitions */ - @page Section1 - {size:595.3pt 841.9pt; - margin:70.85pt 70.85pt 70.85pt 70.85pt;} -div.Section1 - {page:Section1;} - /* List Definitions */ - ol - {margin-bottom:0mm;} -ul - {margin-bottom:0mm;} ---> - - - - - - -
- -

gLite Logging & Bookkeeping Server

- -

1. Release Description

- -

This release contains the gLite Logging & Bookkeeping -Server module v. 1.2.3. The following sections provide additional information about -the release content, the module dependencies, the know bugs and issues and a -list of bugs closed since the previous release. For information about -installing and using the gLite Logging & Bookkeeping Server, please refer -to the gLite Installation and User Guides.

- -

2. Changes in this Release

- -

This release introduces the following changes:

- -

 

- -
    -
  • All R-GMA service publishing - instances in the configuration template now have default values
  • -
  • Bug fixes (see below for the complete lists)
  • -
- -

3. Release contents

- -

The gLite Logging & Bookkeeping Server v. 1.2.3 is -composed of the following gLite components:

- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Component name

-
-

Version

-
-

File

-
-

org.glite.deployment.lb

-
-

1.2.3

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/installers/glite-lb_installer.sh -

-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/noarch/RPMS/glite-lb-config-1.2.3-1.noarch.rpm

-

apt-get install - glite-lb-config

-
-

org.glite.deployment.config

-
-

1.1.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/noarch/RPMS/glite-config-1.1.1-3.noarch.rpm

-
-

org.glite.lb.client-interface

-
-

1.0.3

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-client-interface-1.0.3-1.i386.rpm

-
-

org.glite.lb.common

-
-

1.1.4

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-common-1.1.4-1.i386.rpm

-
-

org.glite.lb.logger

-
-

1.0.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-logger-1.0.1-1.i386.rpm

-
-

org.glite.lb.server

-
-

1.0.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-server-1.0.1-1.i386.rpm

-
-

org.glite.lb.server-bones

-
-

1.0.0

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-server-bones-1.0.0-1.i386.rpm

-
-

org.glite.lb.ws-interface

-
-

1.0.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-lb-ws-interface-1.0.1-1.i386.rpm

-
-

org.glite.security.proxyrenewal

-
-

1.0.13

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-security-proxyrenewal-1.0.13-1.i386.rpm

-
-

org.glite.wms-utils.exception

-
-

1.0.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-wms-utils-exception-1.0.1-1.i386.rpm

-
-

org.glite.wms-utils.jobid

-
-

1.0.0

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-wms-utils-jobid-1.0.0-1.i386.rpm

-
-

org.glite.security.voms

-
-

1.2.32

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/glite-security-voms-1.2.32-1.i386.rpm

-
-

org.gridsite.core

-
-

1.1.5

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/bin/rhel30/i386/RPMS/gridsite-1.1.5-1.i386.rpm

-
- -

 

- -

4. Dependencies

- -

The gLite Logging & Bookkeeping Server v. 1.2.2 module -has the following dependencies:

- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Component name

-
-

Version

-
-

RPM file name

-
-

gLite Security Utilities

-
-

1.0.1

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/installers/glite-security-utils_installer.sh

-
-

gLite R-GMA Service Publisher

-
-

4.2.0

-
-

http://glite.web.cern.ch/glite/packages/R1.1/R20050430/installers/glite-rgma-servicetool_installer.sh

-
-

GPT

-
-

VDT 1.2.2

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/gpt-VDT1.2.2rh9-1.i386.rpm

-
-

VDT Globus Essentials

-
-

VDT 1.2.2

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/vdt_globus_essentials-VDT1.2.2rh9-1.i386.rpm

-
-

MySQL-server

-
-

4.0.20

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-server-4.0.20-0.i386.rpm

-
-

MySQL-client

-
-

4.0.20

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-client-4.0.20-0.i386.rpm

-
-

ares

-
-

1.1.1

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/ares-1.1.1-EGEE.i386.rpm

-
-

myproxy

-
-

1.14

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/myproxy-1.14-EGEE.i386.rpm

-
-

perl-Expect.pm

-
-

1.01

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/per-Expect.pm-1.01-9.i386.rpm

-
-

Java SDK/JRE

-
-

1.4.2

-
-

http://java.sun.com/j2se/1.4.2/download.html

-
- -

 

+ margin-left:54.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListNumber4, li.MsoListNumber4, div.MsoListNumber4 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:72.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListNumber5, li.MsoListNumber5, div.MsoListNumber5 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:90.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoTitle, li.MsoTitle, div.MsoTitle + {margin-top:12.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:0mm; + text-align:center; + font-size:16.0pt; + font-family:Arial; + font-weight:bold;} +p.MsoClosing, li.MsoClosing, div.MsoClosing + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:216.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoSignature, li.MsoSignature, div.MsoSignature + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:216.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyText, li.MsoBodyText, div.MsoBodyText + {margin-top:3.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:18.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListContinue, li.MsoListContinue, div.MsoListContinue + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:18.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListContinue2, li.MsoListContinue2, div.MsoListContinue2 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:36.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListContinue3, li.MsoListContinue3, div.MsoListContinue3 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:54.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListContinue4, li.MsoListContinue4, div.MsoListContinue4 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:72.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoListContinue5, li.MsoListContinue5, div.MsoListContinue5 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:90.0pt; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoMessageHeader, li.MsoMessageHeader, div.MsoMessageHeader + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:54.0pt; + text-align:justify; + text-indent:-54.0pt; + background:#CCCCCC; + border:none; + padding:0mm; + font-size:12.0pt; + font-family:Arial;} +p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:0mm; + text-align:center; + font-size:12.0pt; + font-family:Arial;} +p.MsoSalutation, li.MsoSalutation, div.MsoSalutation + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoDate, li.MsoDate, div.MsoDate + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyTextFirstIndent, li.MsoBodyTextFirstIndent, div.MsoBodyTextFirstIndent + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:0mm; + text-align:justify; + text-indent:10.5pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyTextFirstIndent2, li.MsoBodyTextFirstIndent2, div.MsoBodyTextFirstIndent2 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:18.0pt; + text-align:justify; + text-indent:10.5pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoNoteHeading, li.MsoNoteHeading, div.MsoNoteHeading + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:0mm; + text-align:justify; + line-height:200%; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3 + {margin-top:2.5pt; + margin-right:0mm; + margin-bottom:2.5pt; + margin-left:0mm; + text-align:justify; + page-break-after:avoid; + font-size:10.0pt; + font-family:Arial;} +p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:18.0pt; + text-align:justify; + line-height:200%; + font-size:11.0pt; + font-family:"Times New Roman";} +p.MsoBodyTextIndent3, li.MsoBodyTextIndent3, div.MsoBodyTextIndent3 + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:18.0pt; + text-align:justify; + font-size:8.0pt; + font-family:"Times New Roman";} +p.MsoBlockText, li.MsoBlockText, div.MsoBlockText + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + text-indent:17.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + background:navy; + font-size:11.0pt; + font-family:Tahoma;} +p.MsoPlainText, li.MsoPlainText, div.MsoPlainText + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:10.0pt; + font-family:"Courier New";} +p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman";} +p + {margin-top:5.0pt; + margin-right:0mm; + margin-bottom:5.0pt; + margin-left:0mm; + text-align:justify; + font-size:12.0pt; + font-family:"Times New Roman";} +address + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:"Times New Roman"; + font-style:italic;} +pre + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:10.0pt; + font-family:"Courier New";} +tt + {font-family:"Courier New";} +p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:10.0pt; + font-family:"Times New Roman"; + font-weight:bold;} +p.MsoAcetate, li.MsoAcetate, div.MsoAcetate + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:8.0pt; + font-family:Tahoma;} +p.3eretraitnormal, li.3eretraitnormal, div.3eretraitnormal + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:102.9pt; + text-align:justify; + text-indent:-17.85pt; + font-size:12.0pt; + font-family:"Times New Roman";} +p.2eretraitjustifi, li.2eretraitjustifi, div.2eretraitjustifi + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:40.0mm; + text-align:justify; + text-indent:-7.1pt; + line-height:12.0pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.2eretraitnormal, li.2eretraitnormal, div.2eretraitnormal + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:3.0pt; + margin-left:18.0pt; + text-align:justify; + text-indent:-18.0pt; + font-size:12.0pt; + font-family:"Times New Roman";} +p.1erretraitnormal, li.1erretraitnormal, div.1erretraitnormal + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:12.0pt; + margin-left:0mm; + text-align:justify; + font-size:12.0pt; + font-family:"Times New Roman";} +p.titrebloc, li.titrebloc, div.titrebloc + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:Arial; + font-weight:bold;} +p.TitreTable, li.TitreTable, div.TitreTable + {margin-top:6.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:center; + font-size:12.0pt; + font-family:Arial; + font-weight:bold;} +p.form, li.form, div.form + {margin-top:6.0pt; + margin-right:7.05pt; + margin-bottom:0mm; + margin-left:0mm; + margin-bottom:.0001pt; + text-align:justify; + background:black; + border:none; + padding:0mm; + font-size:14.0pt; + font-family:"Univers \(W1\)"; + color:white; + text-transform:uppercase; + font-weight:bold;} +p.HB, li.HB, div.HB + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:12.0pt; + margin-left:0mm; + text-align:justify; + page-break-after:avoid; + font-size:12.0pt; + font-family:"Times New Roman"; + color:black; + font-weight:bold;} +p.reference, li.reference, div.reference + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:justify; + page-break-after:avoid; + font-size:9.0pt; + font-family:Arial;} +p.1erretraitjustifi, li.1erretraitjustifi, div.1erretraitjustifi + {margin-top:6.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:14.2pt; + text-align:justify; + text-indent:-14.2pt; + font-size:11.0pt; + font-family:"Times New Roman";} +p.ZonetatEnTte, li.ZonetatEnTte, div.ZonetatEnTte + {margin-top:2.0pt; + margin-right:2.85pt; + margin-bottom:2.0pt; + margin-left:2.85pt; + text-align:center; + page-break-after:avoid; + font-size:36.0pt; + font-family:Arial; + text-transform:uppercase; + font-weight:bold;} +p.DocTitle, li.DocTitle, div.DocTitle + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:center; + font-size:22.0pt; + font-family:Arial; + font-variant:small-caps; + color:gray; + letter-spacing:4.0pt; + font-weight:bold;} +p.DocDate, li.DocDate, div.DocDate + {margin-top:6.0pt; + margin-right:0mm; + margin-bottom:6.0pt; + margin-left:0mm; + text-align:justify; + font-size:11.0pt; + font-family:Arial; + layout-grid-mode:line; + font-weight:bold;} +p.DocSubTitle, li.DocSubTitle, div.DocSubTitle + {margin-top:2.0pt; + margin-right:0mm; + margin-bottom:2.0pt; + margin-left:0mm; + text-align:center; + line-height:12.0pt; + font-size:12.0pt; + font-family:Arial; + font-variant:small-caps; + color:gray; + letter-spacing:4.0pt; + font-weight:bold;} + /* Page Definitions */ + @page Section1 + {size:595.3pt 841.9pt; + margin:70.85pt 70.85pt 70.85pt 70.85pt;} +div.Section1 + {page:Section1;} + /* List Definitions */ + ol + {margin-bottom:0mm;} +ul + {margin-bottom:0mm;} +--> + -

5. Known bugs and issues

+ -

This release has the -following bugs and issues. Bug numbers refer to the gLite Bug Tracking system -database hosted on the CERN Savannah system at https://savannah.cern.ch/bugs/?group=jra1mdw -.

+ -

 

+
-
    -
  • If the mysql root password is set - and it is not specified in the mysql.conf file, the configuration script - fails. This bug will be fixed in the next release
  • -
  • No removal procedure is provided - with this release apart from the removal of the RPMS. Any account, group - or other resource created during the module configuration must be manually - cleaned.
  • -
+

gLite Logging & Bookkeeping Server

-

 

+

1. Release Description

-

Known open bugs:

+

This release contains the gLite Logging & Bookkeeping +Server module v. 2.1.1. The following sections provide additional information about +the release content, the module dependencies, the know bugs and issues and a +list of bugs closed since the previous release. For information about +installing and using the gLite Logging & Bookkeeping Server, please refer +to the gLite Installation and User Guides.

-

 

+

2. Changes in this release

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Bug number

-
-

Description

-
-

 

-
-

 #7053

-
-

LB configuration fails if the - mysql root pwd is set 

-
-

 

-
-

 #7237

-
-

Intermittent errors with job - submission 

-
-

 

-
-

 #7300

-
-

update of the lb instructions - at the end of the installer script  

-
-

 

-
-

 #7305

-
-

lb.database.username paramenter - in config file 

-
-

 

-
-

 #7307

-
-

lb config script does _not_ - fail if mysql root password is set 

-
-

 

-
-

 #7324

-
-

lb-bkserver is running with no - pid 

-
-

 

-
-

 #7389

-
-

LB server and WMS local logger - related issues 

-
-

 

-
+

2.1. Changes in functionality

-

 

+

There are no functional changes in this +release.

-

Bugs fixed in this or previous releases, but not yet officially -tested:

+

2.2. Changes in Configuration

-

 

+

The following new parameters have been +added to the glite-lb.cfg.xml file:

- - - - - - - - - - - - - - - - - - - - - +

 

+ +
-

Bug number

-
-

Description

-
-

 

-
-

 #6412

-
-

--start and --stop options not - documented in glite-ce-config.py, glite-lb-config.py 

-
-

 

-
-

 #6722

-
-

glite-job-status -all doesn't - work 

-
-

 

-
-

 #7151

-
-

There are conflicts when - installing WMS and LB on the same node 

-
-

 

-
- - - - - - - - - - - -
-

 #7180

+

Parameter name

-

Logging & Bookkeping UI  

+
+

Default value

-

 

+
+

Description

-

 #7321

+
+

rgma.servicetool.activate

-

creation of indices fails - randomly 

+

true

-

 

+

Turn on/off servicetool for the node.

+

[Example: true ] [Type: 'boolean']

-

 #7884

+
+

set.mysql.root.password

-

local header files distributed - in RPMs.  

+

false

-

 

+

If this parameter is true, then the root + password of the mysql database is set to the value specified in + mysql.root.password if it not yet set. This parameter has       no effect if + the database root password is already set. It can be used to ease automated installation + and configuration of the service, if mysql is not managed in some other way.

+

[Example: false][Type: boolean]

-

 #7910

+
+

mysql.max_allowed_packet

-

Duplicate apostroph in MySQL - calls 

+

17

-

 

+

This parameter allows to set the + max_allowed_packet parameter in the mysql configuration file /etc/my.cnf. The + default recommended value for the LB server is 17MB.

+

[Example: 17][Type: Integer][Unit: MB]

-

 

+

 

-

6. Bugs closed since last release

+

The R-GMA Service Publisher (aka R-GMA +servicetool) parameters are now automatically handled by the configuration +script and do not need to be explicitly set anymore in the configuration file. +The parameters can be set in the configuration file to override the default +values.

-

This release fixes the -following bugs and issues. Bug numbers refer to the gLite Bug Tracking system -database hosted on the CERN Savannah system at https://savannah.cern.ch/bugs/?group=jra1mdw

+

 

-

 

+

3. Release contents

- +

3.1. Glite sub-deployment modules

+ +

The gLite Logging and Bookkeeping module requires the +following sub-modules:

+ +

 

+ +

-          +gLite Security Utilities

+ +

-          +gLite R-GMA Servicetool

+ +

 

+ +

The sub-modules are automatically installed with the LB +module. For more information about these sub-modules please refer to the +specific release notes and installation instructions.

+ +

3.2. Glite RPMS

+ +

The gLite Logging & Bookkeeping Server v. 2.1.1 is +composed of the following gLite components:

+ +

 

+ +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Bug number

+

Component name

-

Description

+

Description

-

 #5850

+
+

Version

-

glite-lb-config.py has - glite.location and globus.location not set in params[] 

+
+

File

-

 #5901

+

glite-config

-

mysqlaccess command fails with - Broken pipe if mysql socket file is in /tmp  

+

gLite configuration scripts

-

 #5908

-
-

Environment variables set via - the configuration script are not passed to daemon startup scripts 

+

1.6.22

-

 #6057

-
-

glite-lb configuration scripts - has missing dependency (CGI.pm) 

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/noarch/RPMS/glite-config-1.6.22-1.noarch.rpm

-

 #6075

-
-

glite-lb-config.py crashes with - KeyError: GLITE_CERT_DIR 

+
+

glite-jp-common

-

 #6190

-
-

LB local logger doesn't start - on the CE node 

+

 

-

 #6366

-
-

LB install script:: Fails but - no error reported 

+

1.1.0

-

 #6415

-
-

glite-lb-bkserver does not - start and blocks execution of glite-lb-config.py 

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-jp-common-1.1.0-1.i386.rpm

-

 #7296

+
+

glite-jp-primary

-

glite-lb-config.py crashes with - a TypeError exception 

+
+

 

-

 #7753

+

1.1.1

-

glite-lb-config.py fails with - an indentation error 

+
+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-jp-primary-1.1.1-1.i386.rpm

-

 #7976

+
+

glite-jp-server-common

-

edg-job-status not working with - voms proxies 

+
+

 

-

 #8094

+

1.0.0

-

interlogd on the WMS doesn't - restart 

+
+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-jp-server-common-1.0.0-1.i386.rpm

- -

 

- -
-
- -

7. Previous Releases

- -

7.1. Release 1.2.2

- -

7.1.1. Release Description

- -

This release contains the gLite Logging & Bookkeeping -Server module v. 1.2.2. The following sections provide additional information -about the release content, the module dependencies, the know bugs and issues -and a list of bugs closed since the previous release. For information about -installing and using the gLite Logging & Bookkeeping Server, please refer -to the gLite Installation and User Guides.

- -

7.1.2. Changes in this Release

- -

This release introduces the following changes:

- -

 

- -
    -
  • Implemented status method
  • -
  • Added definition of PERL5LIB env var
  • -
  • Stopping and starting the database before the index - creation (just after the database is created and the user granted) to fix - access denied error
  • -
  • Moved creation of indices inside database creation (if - database exists indices must not be recreated)
  • -
  • GLITE_USER parameter is not exposed anymore in the - configuration file; instead the module uses the same user parameters as - WMS to allow installation on same node
  • -
  • LB admin tools are now installed in sbin, not in bin
  • -
  • Bug fixes (see below for the complete lists)
  • -
- -

7.1.3. Release contents

- -

The gLite Logging & Bookkeeping Server v. 1.2.2 is -composed of the following gLite components:

- -

 

- - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - -
+

glite-jp-ws-interface

+
-

Component name

+

 

-

Version

+
+

1.1.0

-

File

+
+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-jp-ws-interface-1.1.0-0.i386.rpm

-

org.glite.deployment.lb

+

glite-lb-client-interface

+
+

L&B client library header files

-

1.2.2

+

2.1.0

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/installers/glite-lb_installer.sh -

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/noarch/RPMS/glite-lb-config-1.2.2-1.noarch.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-client-interface-2.1.0-1.i386.rpm

-

org.glite.deployment.config

+

glite-lb-config

+
+

gLite LB Configuration files

-

1.0.0

+

2.1.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/noarch/RPMS/glite-config-1.0.0-1.noarch.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-config-2.1.1-1.i386.rpm

-

org.glite.lb.client-interface

+

glite-lb-common

+
+

L&B common subroutines library

-

1.0.2

+

3.0.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-client-interface-1.0.2-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-common-3.0.1-1.i386.rpm

-

org.glite.lb.common

+

glite-lb-logger

+
+

L&B local logger

-

1.1.4

+

1.2.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-common-1.1.4-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-logger-1.2.1-1.i386.rpm

-

org.glite.lb.logger

+

glite-lb-server

+
+

L&B bookkeeping server

-

1.0.1

+

1.3.3

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-logger-1.0.1-1.i386.rpm

+ href="http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-server-1.3.3-1.i386.rpm">http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-server-1.3.3-1.i386.rpm

-

org.glite.lb.server

+

glite-lb-server-bones

+
+

L&B server bones

-

1.0.1

+

2.1.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-server-1.0.1-1.i386.rpm

+ href="http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-server-bones-2.1.1-1.i386.rpm">http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-server-bones-2.1.1-1.i386.rpm

-

org.glite.lb.server-bones

+

glite-lb-ws-interface

+
+

 

-

1.0.0

+

2.1.0

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-server-bones-1.0.0-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-lb-ws-interface-2.1.0-1.i386.rpm

-

org.glite.lb.ws-interface

+

glite-rgma-servicetool-config

+
+

gLite R-GMA servicetool installation

-

1.0.1

+

5.2.2

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-lb-ws-interface-1.0.1-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/noarch/RPMS/glite-rgma-servicetool-config-5.2.2-1.noarch.rpm

-

org.glite.security.proxyrenewal

+

glite-security-gsoap-plugin

+
+

gSOAP plugin and gss libraries

-

1.0.11

+

1.2.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-security-proxyrenewal-1.0.11-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-security-gsoap-plugin-1.2.1-0.i386.rpm

-

org.glite.wms-utils.exception

+

glite-security-utils-config

+
+

gLite Security Utilities configuration files

-

1.0.1

+

1.2.1

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-wms-utils-exception-1.0.1-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/noarch/RPMS/glite-security-utils-config-1.2.1-1.noarch.rpm

-

org.glite.wms-utils.jobid

+

glite-security-voms-api-c

+
+

 

-

1.0.0

+

1.6.10

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-wms-utils-jobid-1.0.0-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-security-voms-api-c-1.6.10-0.i386.rpm

-

org.glite.security.voms

+

glite-wms-utils-exception

+
+

 

-

1.2.32

+

1.0.3

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/glite-security-voms-1.2.32-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-wms-utils-exception-1.0.3-1.i386.rpm

-

org.gridsite.core

+

glite-wms-utils-jobid

+
+

 

-

1.1.5

+

1.0.2

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/bin/rhel30/i386/RPMS/gridsite-1.1.5-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/R1.5/R20051130/bin/rhel30/i386/RPMS/glite-wms-utils-jobid-1.0.2-1.i386.rpm

-

 

- -

7.1.4. Dependencies

+

4. Dependencies

-

The gLite Logging & Bookkeeping Server v. 1.2.2 module +

The gLite Logging & Bookkeeping Server v. 2.1.1 module has the following dependencies:

 

@@ -1896,232 +1619,276 @@ has the following dependencies:

- - + - - + - - - + - - - - + - - - + - - + - - - - - - - - - - - + - - - - + - - - + -

Component name

+

Description

+

Version

RPM file name

-

gLite Security Utilities

+

c-ares

+
+

A library that performs asynchronous DNS operations

-

1.0.0

+

1.3.0

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/installers/glite-security-utils_installer.sh

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/c-ares-1.3.0-1.slc3.i386.rpm

-

gLite R-GMA Service Publisher

+

gpt

+
+

The Grid Packaging Toolkit (GPT)

-

4.1.5

+

VDT1.2.2rh9

-

http://glite.web.cern.ch/glite/packages/R1.0/R20050331/installers/glite-rgma-servicetool_installer.sh

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/gpt-VDT1.2.2rh9-1.i386.rpm

GPT

+ 8.0pt'>gridsite

-

VDT 1.2.2

+

GridSite

+
+

1.1.15

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/gpt-VDT1.2.2rh9-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/gridsite-1.1.15-1.i386.rpm

VDT Globus Essentials

+ 8.0pt'>j2re

-

VDT 1.2.2

+

Java JRE

+
+

1.4.2

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/vdt_globus_essentials-VDT1.2.2rh9-1.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/j2re-1_4_2_08-linux-i586.rpm

MySQL-server

+ 8.0pt'>myproxy

+
+

Credential repository for the Grid.

-

4.0.20

+

1.14

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-server-4.0.20-0.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/myproxy-1.14-EGEE.i386.rpm

MySQL-client

-

4.0.20

-
-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-client-4.0.20-0.i386.rpm

-

ares

+ 8.0pt'>MySQL - Client

-

1.1.1

+

4.1.11

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/ares-1.1.1-EGEE.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-client-4.1.11-0.i386.rpm

myproxy

+ 8.0pt'>MySQL-server

+
+

MySQL

-

1.14

+

4.1.11

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/myproxy-1.14-EGEE.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/MySQL-server-4.1.11-0.i386.rpm

perl-Expect.pm

+

Expect.pm module for perl (./id/A/AU/AUSCHUTZ)

+
-

1.01

+

1.01

-

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/per-Expect.pm-1.01-9.i386.rpm

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/perl-Expect.pm-1.01-9.i386.rpm

Java SDK/JRE

+ 8.0pt'>vdt_globus_essentials

-

1.4.2

+

Virtual Data Toolkit

+
+

VDT1.2.2rh9

-

http://java.sun.com/j2se/1.4.2/download.html

+

http://glite.web.cern.ch/glite/packages/externals/bin/rhel30/RPMS/vdt_globus_essentials-VDT1.2.2rh9-1.i386.rpm

 

-

7.1.5. Known bugs and issues

+

5. Known bugs and issues

-

This release has the -following bugs and issues. Bug numbers refer to the gLite Bug Tracking system -database hosted on the CERN Savannah system at https://savannah.cern.ch/bugs/?group=jra1mdw -.

+

This +release has the following bugs and issues. Bug numbers refer to the gLite Bug +Tracking system database hosted on the CERN Savannah system at Hhttps://savannah.cern.ch/bugs/?group=jra1mdwH .

 

    +
  • There is an infinite loop during + the initialization of the LB_Events data structure
  • No removal procedure is provided with this release apart from the removal of the RPMS. Any account, group or other resource created during the module configuration must be manually @@ -2137,16 +1904,37 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - - + + + + + @@ -2154,18 +1942,18 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - - - @@ -2194,17 +1984,18 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - - - - - @@ -2254,39 +2046,103 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - - + + + + + + + + + + + + + + + - @@ -2294,18 +2150,20 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - @@ -2313,18 +2171,20 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - - @@ -2332,18 +2192,18 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug - -
    -

    Bug number

    +

    Bug number

    -

    Description

    +

    Description

    +

     

    +
    +

     #7324

    +
    +

    lb-bkserver is running with no + pid

    +

     

     #6412

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9701"> #9701

    --start and --stop options not - documented in glite-ce-config.py, glite-lb-config.py 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9701">erroneous rpath in several + shared objects

     

    @@ -2175,18 +1963,20 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug

     #7053

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9777"> #9777

    +

    LB configuration fails if the - mysql root pwd is set 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9777">unable to get logging-info -2 + info for 1000 jobs

    +

     

     #7180

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=10781"> #10781

    Logging & Bookkeping UI  

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=10781">Missing the timestamps of + 'Scheduled' and 'Running' status

     

    @@ -2214,18 +2005,17 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug

     #7237

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=11535"> #11535

    Intermittent errors with job - submission 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=11535">Job submission extremely slow

     

    @@ -2235,18 +2025,20 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug

     #7300

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13418"> #13418

    +

    update of the lb instructions - at the end of the installer script  

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13418">problem in computing status (of + resubmitted jobs)

    +

     

     #7305

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13492"> #13492

    +

    lb.database.username - paramenter in config file 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13492">Job State Information Log File

    -

     

    +
    +

     

     #7307

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13832"> #13832

    + +

    Default mysql configuration + imposes unnecessary limits on LB server

    +
    +

     

    +
    +

     #13879

    +
    +

    Some data do not propagate from + lbproxy to bkserver...

    +
    +

     

    +
    +

     #13929

    +
    +

    The glite-lb-bkserverd has + wrong default for var directory

    +
    +

     

    +
    +

     #13951

    +

    lb config script does _not_ - fail if mysql root password is set 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13951">lb proxy sends garbage response + on error

    +

     

     #7321

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13988"> #13988

    +

    creation of indices fails - randomly 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=13988">Failed to start + glite-lb-locallogger on glite 1.4.1

    +

     

     #7324

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=14247"> #14247

    +

    lb-bkserver is running with no - pid 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=14247">No events are found querying LB + for events satisfying jobid and source instance

    +

     

     #7389

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=14339"> #14339

    LB server and WMS local logger - related issues 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=14339">Wrong computing state when + proxy expires

     

    @@ -2353,378 +2213,498 @@ href="https://savannah.cern.ch/bugs/?group=jra1mdw">https://savannah.cern.ch/bug

     

    -

    Bugs fixed in this or previous releases, but not yet -officially tested:

    +

    Bugs fixed in this or previous releases, but not yet officially +tested:

     

    - - - - - - - - - - - - - - - - - - - -
    -

    Bug number

    +

    Bug number

    -

    Description

    +

    Description

    -

     

    +

     

    -

     #5850

    +

     #7307

    -

    glite-lb-config.py has - glite.location and globus.location not set in params[] 

    +

    lb config script does _not_ fail + if mysql root password is set

    -

     

    +

     

    -

     #5908

    +

     #7305

    -

    Environment variables set via - the configuration script are not passed to daemon startup scripts 

    +

    lb.database.username paramenter in + config file

    -

     

    +

     

    -

     #6075

    +

     #7300

    -

    glite-lb-config.py crashes with - KeyError: GLITE_CERT_DIR 

    +

    update of the lb instructions at + the end of the installer script

    -

     

    +

     

    -

     #6366

    +

     #7053

    -

    LB install script:: Fails but - no error reported 

    +

    LB configuration fails if the + mysql root pwd is set

    -

     

    +

     

    -

     #6415

    +

     #13928

    -

    glite-lb-bkserver does not - start and blocks execution of glite-lb-config.py 

    +

    org.glite.lb.server depends on + full VOMS package instead of individual APIs packages

    -

     

    +

     

    -

     #6689

    +

     #13048

    -

    glite-proxy-renewd starts the - daemon glite-proxy-renewd as GLITE_USER which is glite-lb i.e. wrong 

    +

    interlogger does not handle errors + from bookkeeping server

    -

     

    +

     

    -

     #6722

    +

     #12648

    -

    glite-job-status -all doesn't - work 

    +

    The memory usage of one LB process + keeps growing

    -

     

    +

     

    -

     #7296

    +

     #11387

    -

    glite-lb-config.py crashes with - a TypeError exception 

    +

    LBProxy SIGSEGV

    -

     

    +

     

    - -

     

    - -

    7.1.6. Bugs closed since last release

    - -

    This release fixes the -following bugs and issues. Bug numbers refer to the gLite Bug Tracking system -database hosted on the CERN Savannah system at https://savannah.cern.ch/bugs/?group=jra1mdw

    - -

     

    - - - - + - + - + - + - + - + - + + +
    -

    Bug number

    +

     #11050

    -

    Description

    +
    +

    Too heavy locallogger retry + strategy

    +
    +

     

    -

     #5833

    +

     #9183

    -

    all jobs in SUBMITTED after a - job storm 

    +
    +

    Broken connections in LB contect + connection pool

    +
    +

     

    -

     #5897

    +

     #9135

    -

    I20041203 LB installation - script has a missing dependency  

    +
    +

    The interlogd has problem sending + event to the LB server

    +
    +

     

    -

     #5910

    +

     #8630

    -

    glite-lb configuration scripts - don't set GLITE_USER environment 

    +
    +

    EDG_WL_* variables in LB library

    +
    +

     

    -

     #5925

    +

     #7910

    -

    Running glite-lb script removes - mysql.sock file  

    +
    +

    Duplicate apostroph in MySQL calls

    +
    +

     

    -

     #6416

    +

     #11509

    -

    the BKserver on the LB machine - needs a symlink and the script doesn't check for it 

    +
    +

    glite-lb-config.py overwrites + HOSTNAME_org.glite.wms.workloadmanager.service with the wrong WMS version

    +
    +

     

    -

     #7032

    +

     #10686

    -

    The LB installer fails with an - RPM not found message 

    +
    +

    MySQL library fails on hostnames + containing dashes

    +
    +

     

    +
    + +

     

    + +

    6. Bugs closed since last release

    + +

    This +release fixes the following bugs and issues. Bug numbers refer to the gLite Bug +Tracking system database hosted on the CERN Savannah system at Hhttps://savannah.cern.ch/bugs/?group=jra1mdwH  

    + +

     

    + + + + + + + + + +
    +

    Bug number

    +
    +

    Description

    +
    +

     

     #7152

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=6722"> #6722

    The LB installer tries to - install gridsite with a wrong rpm name 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=6722">glite-job-status -all doesn't + work

    +
    +

     

     #7351

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=7237"> #7237

    Star/restart of LB services  

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=7237">Intermittent errors with job + submission

    +
    +

     

     #7401

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9148"> #9148

    The first time the LB config - script is run it fails creating the db indices 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=9148">Job stays 'Submitted' forever

    +
    +

     

     #7423

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=10730"> #10730

    '/etc/rc.d/init.d/gLite status' - not working correctly in LB 

    + href="https://savannah.cern.ch/bugs/?func=detailitem&item_id=10730">Error on glite-job-submit

    +
    +

     

     

    -

     

    - diff --git a/org.glite.deployment.lb/doc/release_notes/release_notes.pdf b/org.glite.deployment.lb/doc/release_notes/release_notes.pdf index cfd9fe5..c512e91 100644 Binary files a/org.glite.deployment.lb/doc/release_notes/release_notes.pdf and b/org.glite.deployment.lb/doc/release_notes/release_notes.pdf differ diff --git a/org.glite.deployment.lb/project/build.number b/org.glite.deployment.lb/project/build.number index 58569c4..ecba63e 100644 --- a/org.glite.deployment.lb/project/build.number +++ b/org.glite.deployment.lb/project/build.number @@ -1,2 +1,2 @@ -#Wed Apr 13 09:36:57 CEST 2005 -module.build=232 +#Thu Jan 26 10:00:21 CET 2006 +module.build=0297 diff --git a/org.glite.deployment.lb/project/glite-lb.sdf.xml.template b/org.glite.deployment.lb/project/glite-lb.sdf.xml.template index 93bb43a..82a2d77 100644 --- a/org.glite.deployment.lb/project/glite-lb.sdf.xml.template +++ b/org.glite.deployment.lb/project/glite-lb.sdf.xml.template @@ -68,17 +68,43 @@ age="@org.glite.wms-utils.exception.info.age@" build="@org.glite.wms-utils.exception.info.build@" arch="i386"/> - - - + + + + + + + + + - + + arch="@ext.gpt.platform@"/> + arch="@ext.myproxy.platform@"/> _installer.sh -wget -N --non-verbose +wget -N -nv if [ ! -f "" ] then echo @@ -295,7 +297,7 @@ SCRIPTLISTUn="$SCRIPTLISTUn ./ -u " -- -wget -N --non-verbose +wget -N -nv if [ ! -f "" ] then echo @@ -316,7 +318,7 @@ RPMLIST="$RPMLIST " -- -wget -N --non-verbose /RPMS/ +wget -N -nv /RPMS/ if [ ! -f "" ] then echo diff --git a/org.glite.deployment.lb/project/properties.xml b/org.glite.deployment.lb/project/properties.xml index c7ef835..8e400f7 100644 --- a/org.glite.deployment.lb/project/properties.xml +++ b/org.glite.deployment.lb/project/properties.xml @@ -12,6 +12,9 @@ Revision history: $Log$ + Revision 1.2 2005/07/08 13:18:40 dimeglio + Merged from branch 1.2.2 + Revision 1.1 2004/10/06 09:19:24 dimeglio First version of this file @@ -54,7 +57,7 @@ # +## CAs + +include pro_software_glite_CA; + + + # Global dependencies @@ -39,6 +45,11 @@ template pro_software_glite_lb; + +include pro_software_; + + + diff --git a/org.glite.deployment.lb/project/version.properties b/org.glite.deployment.lb/project/version.properties index 66a3e69..fd56734 100644 --- a/org.glite.deployment.lb/project/version.properties +++ b/org.glite.deployment.lb/project/version.properties @@ -1,4 +1,4 @@ -module.version = 1.3.0 +module.version = 2.1.1 module.age = 1 \ No newline at end of file diff --git a/org.glite.jp.client/Makefile b/org.glite.jp.client/Makefile index 8c4870d..1e5ece2 100644 --- a/org.glite.jp.client/Makefile +++ b/org.glite.jp.client/Makefile @@ -141,7 +141,8 @@ distbin: install: -mkdir -p ${PREFIX}/${STAGETO} - -mkdir -p ${PREFIX}/bin + -mkdir -p ${PREFIX}/bin + -mkdir -p ${PREFIX}/lib -mkdir -p ${PREFIX}/examples ${INSTALL} -m 755 ${daemon} ${PREFIX}/bin ${INSTALL} -m 644 ${LIB} ${PREFIX}/lib diff --git a/org.glite.jp.client/doc/README.jpimporter b/org.glite.jp.client/doc/README.jpimporter deleted file mode 100644 index a5629db..0000000 --- a/org.glite.jp.client/doc/README.jpimporter +++ /dev/null @@ -1,114 +0,0 @@ -jpimporter is a daemon which take care of all job registration from particular -LB server, forwarding them to the JP primary service and also file uploads, which -means sending LB dumps, sendbox files etc. to ftp server dedicated by JP PS. - -The daemon runs two proceses, one for registrations and another for file uploads. -Both processes reads the local directory which has a given structure and are -handled by glite-lb-maildir library calls. - - - -Namely for the registrations, LB server creates the message describing job, its -owner and JP primary server address and stores it into given maildir location -(i.e. /tmp/lb_server_jpreg/). The jpimporter daemon which is running on the same -host is periodicaly scanning this directory and whenever new messages appears, -attempts to register this described job to JP PS. - -For the file upload is the jpimporter behavior almost the same except the -message has different structure and a file to deliver must be placed in the -filesystem. - -For LB dumps, there is another utility, which parses common LB dump files -(created when purging the LB server), creates one file per every job and stores -message describing the location, destination etc. to local directory. This -message directory should be obviously monitored by the jpimporter again. - -lb_dump_exporter utility usage: lt-lb_dump_exporter [option] - -h, --help Shows this screen. - -d, --dump Dump file location. - File generated by the glite-lb-purge - -s, --store New dump files storage. - Directory, where to store all dump files - -j, --jpps Target JPPS. - jpps where should the file be uploaded - -m, --lbmaildir LB maildir path. - Directory, where should be stored the message - describing the file upload (read by jpimporter) - -jpimporter daemon usage: glite-jp-importer [option] - -h, --help displays this screen - -k, --key private key file - -c, --cert certificate file - -C, --CAdir trusted certificates directory - -g, --debug don't run as daemon, additional diagnostics - -p, --jpps JP primary service server - this JPPS server is used by default, when user/lb/... - does not specifies one - -r, --reg-mdir path to the 'LB maildir' subtree for registrations - This directory is scanned for the job registration - messages. - -d, --dump-mdir path to the 'LB maildir' subtree for LB dumps - This directory is scanned for the file upload msgs. - -i, --pidfile file to store master pid - -t, --poll maildir polling interval (in seconds) - Specifies the time interval for which the process - JobRegistration/FileUpload sleeps after the unsuccessful - scan (find no new messages) -Examples: - -So, for the job registration and dump upload from the LB server, you should run the -LB server like this: -./glite_lb_bkserverd -c -k -S /var/tmp/purge -D /var/tmp/dump -J /tmp/lb_server_jpreg - -(Whenever the job is registered to the LB server, the message for jpimporter -is stored in the /tmp/lb_server_jpreg directory.) - -Then you should run the jpimporter daemon on the same host: -./glite-jp-importer -k -k -p jpps.server.address:8900 -r /tmp/lb_server_jpreg -d /tmp/lb_server_jpdump - -(Every job registration anounced in /tmp/lb_server_jpreg directory will be sent -to the JP PS at the address jpps.server.address:8900.) - -According the dump files - on the same host should be periodicaly ran the -glite-lb-purge utility. (Usually started by cron) Let say, that it stores the -LB dump file /var/tmp/purge/dump_file. - -Then you should run (most likely in the same cron job) -./lb_dump_exporter -d /var/tmp/purge/dump_file -s /var/tmp/dumps_per_job -j jpps.server.address:8900 -m /tmp/lb_server_jpdump - -(Then there is created a set of LB dump file - one per job - and according to them -lb_dump_exporter will also notify the glite-jp-importer) - - - - -For the sandbox files, you should use the JP client API to create messages for -jpimporter. The function glite_jpimporter_upload_files() do the job. It takes -one ore more files and create one tarball. Then everything works like with -LB dumps. - -There is an example utility in org.glite.jp.client/examples/jpps_upload_files.c -(staged as glite-jp-primary-upload_files). - -The glite_jpimporter_upload_files funftion prototype: - -int glite_jpimporter_upload_files( - /* JP client context. - * stores the error code/description - * user can set default JP PS address there and - * LB directory for jpimporter announcements - */ - glite_jpcl_context_t ctx, - - /* JobId - */ - const char *jobid, - /* File list. Stored in the array of string. - * Last item has to be NULL - */ - const char **files, - /* Location of the user proxy file - */ - const char *proxy); - - diff --git a/org.glite.jp.client/project/version.properties b/org.glite.jp.client/project/version.properties index cd1e9e7..e575ad0 100644 --- a/org.glite.jp.client/project/version.properties +++ b/org.glite.jp.client/project/version.properties @@ -1,2 +1,2 @@ -module.version=1.0.0 +module.version=1.0.1 module.age=1 diff --git a/org.glite.jp.common/project/build.number b/org.glite.jp.common/project/build.number index 9d9b1ea..f099a34 100644 --- a/org.glite.jp.common/project/build.number +++ b/org.glite.jp.common/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:48:33 CEST 2005 -module.build=39 +#Sun Oct 16 20:26:34 CEST 2005 +module.build=40 diff --git a/org.glite.jp.primary/Makefile b/org.glite.jp.primary/Makefile index dd6cdde..67b01cd 100644 --- a/org.glite.jp.primary/Makefile +++ b/org.glite.jp.primary/Makefile @@ -76,9 +76,9 @@ TRIOLIB:=-lglite_jp_trio ifneq (${mysql_prefix},/usr) ifeq ($(shell echo ${mysql_version} | cut -d. -f1,2),4.1) - MYSQLIB := -L${mysql_prefix}/lib/mysql -lmysqlclient + MYSQLIB := -L${mysql_prefix}/lib/mysql -lmysqlclient -lz else - MYSQLIB := -L${mysql_prefix}/lib -lmysqlclient + MYSQLIB := -L${mysql_prefix}/lib -lmysqlclient -lz endif else MYSQLIB := -lmysqlclient @@ -166,6 +166,9 @@ install: ${INSTALL} -m 755 $$plugin ${PREFIX}/lib; \ done ${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-jp-primary + ${INSTALL} -m 755 ${top_srcdir}/config/glite-jp-primary-dbsetup.sql ${PREFIX}/etc + ${INSTALL} -m 755 ${top_srcdir}/config/glite-jp-primary-dbsetup.sh ${PREFIX}/etc + ${INSTALL} -m 644 ${top_srcdir}/examples/sample_job ${PREFIX}/examples/glite-jp-primary-sample_job.lb clean: diff --git a/org.glite.jp.primary/config/glite-jp-primary-dbsetup.sh b/org.glite.jp.primary/config/glite-jp-primary-dbsetup.sh new file mode 100644 index 0000000..aed8e1a --- /dev/null +++ b/org.glite.jp.primary/config/glite-jp-primary-dbsetup.sh @@ -0,0 +1,14 @@ +#! /bin/sh + +# +# Shell example of preparing the database for JP Index Server +# + +# database +mysqladmin -u root -p create jpps + +# user +mysql -u root -p -e 'GRANT ALL on jpps.* to jpps@localhost' + +# tables +mysql -u jpps jpps < `dirname $0`/glite-jp-primary-dbsetup.sql diff --git a/org.glite.jp.primary/config/startup b/org.glite.jp.primary/config/startup index 6050d99..b3154ef 100644 --- a/org.glite.jp.primary/config/startup +++ b/org.glite.jp.primary/config/startup @@ -16,7 +16,7 @@ GLITE_LOCATION_VAR=${GLITE_LOCATION_VAR:-${GLITE_LOCATION}/var} unset creds -GLITE_JP_PRIMARY_PORT=8901 +test -n "$GLITE_JP_PRIMARY_PORT" || GLITE_JP_PRIMARY_PORT=8901 start() { @@ -30,10 +30,15 @@ start() echo FAILED return 1 fi + if test -z "$GLITE_JP_PRIMARY_PEERS" ;then + echo 'Error: incomplete configuration (GLITE_JP_PRIMARY_PEERS is not set)' + echo FAILED + return 1 + fi if test -z "$GLITE_JP_PRIMARY_FTP_PORT" -o \ -z "$GLITE_JP_PRIMARY_INTERNAL" -o -z "$GLITE_JP_PRIMARY_EXTERNAL" ;then echo 'Error: incomplete configuration (GLITE_JP_PRIMARY_FTP_PORT,' \ - 'GLITE_JP_PRIMARY_INTERNAL, or GLITE_JP_PRIMARY_EXTERNAL is not set' + 'GLITE_JP_PRIMARY_INTERNAL, or GLITE_JP_PRIMARY_EXTERNAL is not set)' echo FAILED return 1 fi @@ -63,16 +68,20 @@ start() echo -n Starting glite-jp-primarystoraged ... su - $GLITE_USER -c " $GLITE_LOCATION/bin/glite-jp-primarystoraged \ - $creds -i '$pidfile' + -P $GLITE_LOCATION/lib/glite-jp-tags.so -P $GLITE_LOCATION/lib/glite_lb_plugin.so \ + $creds -a '$GLITE_JP_PRIMARY_PEERS' \ + -i '$pidfile' -p $GLITE_JP_PRIMARY_PORT $GLITE_JP_PRIMARY_SPECIAL \ -BI,'$GLITE_JP_PRIMARY_INTERNAL' -BE,'$GLITE_JP_PRIMARY_EXTERNAL' \ ${GLITE_JP_PRIMARY_DBCS_OPTION} " && echo " done" || echo " FAILED" echo -n Starting JP gridftp server ... su - $GLITE_USER -c "X509_USER_CERT=\"$X509_USER_CERT\" \ X509_USER_KEY=\"$X509_USER_KEY\" \ + GLITE_USER=\"$GLITE_USER\" \ + FTPBE_INT_PREFIX=\"$GLITE_JP_PRIMARY_INTERNAL\" \ LD_PRELOAD=$GLITE_LOCATION/lib/glite-jp-ftpdauth.so \ - $GLOBUS_LOCATION/sbin/in.ftpd -a -S -p $GLITE_JP_PRIMARY_FTP_PORT & \ - pid=\$!; sleep 2; kill -0 \$pid" && echo " done" || echo " FAILED" + $GLOBUS_LOCATION/sbin/in.ftpd -a -s -p $GLITE_JP_PRIMARY_FTP_PORT & \ + pid=\$!; echo \$pid > $pidfile.ftpd; sleep 2; true kill -0 \$pid" && echo " done" || echo " FAILED" } stop() @@ -96,31 +105,48 @@ stop() echo "$pidfile" does not exist - glite-jp-primarystoraged not running? >&2 return 1 fi -} + if [ -f "$pidfile.ftpd" ]; then + pid=`cat "$pidfile.ftpd"` + kill $pid + echo -n Stopping JP ftp server \($pid\) ... + try=0 + while ps p $pid >/dev/null 2>&1; do + sleep 1; + try=`expr $try + 1` + if [ $try = 20 ]; then + echo " giving up after $try retries" + return 1 + fi + done + echo " done" + rm -f "$pidfile.ftpd" + else + echo "$pidfile.ftpd" does not exist - JP ftp server not running? >&2 + return 1 + fi - # XXX - echo >&2 'stopping JP gridftp server not implemented yet' - return 1 + return 0 } status() { - # XXX pidfile + retval=0 + # XXX pidfile? if netstat -an --inet | grep "^tcp .* 0.0.0.0:${GLITE_JP_PRIMARY_PORT} .*LISTEN" >/dev/null 2>&1 ;then echo glite-jp-primarystoraged running else echo glite-jp-primarystoraged not running - return 1 + retval=1 fi if netstat -an --inet | grep "^tcp .* 0.0.0.0:${GLITE_JP_PRIMARY_FTP_PORT} .*LISTEN" >/dev/null 2>&1 ;then echo JP gridftp server running else echo JP gridftp server not running - return 1 + retval=1 fi - return 0 + return $retval } case x$1 in diff --git a/org.glite.jp.primary/doc/README.install b/org.glite.jp.primary/doc/README.install new file mode 100644 index 0000000..17d0d27 --- /dev/null +++ b/org.glite.jp.primary/doc/README.install @@ -0,0 +1,59 @@ +0. install glite-jp-primary package + +1. create MySQL database of the service, preferably using + ${GLITE_LOCATION}/etc/glite-jp-primary-dbsetup.sh + (the script prompts two times for MySQL root password) + +2. create a directory where JPPS files will be stored and configure + gridftp server so that this directory is accessible via gridftp + +3. create the configuration file $GLITE_LOCATION/etc/jp.conf, it should + contain /bin/sh syntax assignment to the following variables (or they + have to be set in the environment of the startup script by other means: + + GLITE_USER the unix user running the service + + GLOBUS_LOCATION where is Globus installed + + GLITE_JP_PRIMARY_FTP_PORT + port for the ftp JPPS interface (bulk file transfers) + + GLITE_JP_PRIMARY_INTERNAL + directory where the JPPS files are stored (local path) + + GLITE_JP_PRIMARY_EXTERNAL + URL prefix which is mapped by gridftp to the directory, + eg. gsiftp://this.host.name:$GLITE_JP_PRIMARY_FTP_PORT/some/directory + + + GLITE_JP_PRIMARY_PEERS + file with list (one per line) of X509 certificate subjects of "trusted peers", i.e. L&B servers which may upload data to this JPPS + + +4. start the service with + $GLITE_LOCATION/etc/init.d/glite-jp-primary start + + +5. This step taints the database with testing data. Don't do it if it is an issue. +It is not necessary for the service operation, it's just checking its basic functionality. + +$ JOB=https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng +$ TEST=$GLITE_LOCATION/examples/glite-jp-primary-test +$ export X5O9_USER_PROXY=/some/proxy.pem # must be among $GLITE_JP_PRIMARY_PEERS + +$ $TEST registerjob $JOB '/the/job/owner/x509/cert' + +$ $TEST startupload "urn:org.glite.jp.primary:lb" 1 text/plain + responds with destination gsiftp url + +$ globus-url-copy file:///$GLITE_LOCATION/examples/glite-jp-primary-sample_job.lb $DESTINATION_URL + +$ $TEST commitupload $DESTINATION_URL + +$ $TEST getjobattr $JOB http://egee.cesnet.cz/en/Schema/LB/Attributes:finalStatus + +The command should output: + + Waiting FILE Mon Oct 10 23:48:47 2005 + +-- diff --git a/org.glite.jp.primary/examples/sample_job b/org.glite.jp.primary/examples/sample_job new file mode 100644 index 0000000..f9b515f --- /dev/null +++ b/org.glite.jp.primary/examples/sample_job @@ -0,0 +1,8 @@ +DG.ARRIVED=20051010204845.000000 DATE=20051010204845.409455 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="UserInterface" DG.SRC_INSTANCE="" DG.EVNT="RegJob" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000001:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.REGJOB.JDL="blabla" DG.REGJOB.NS="NNNSSSS" DG.REGJOB.PARENT="" DG.REGJOB.JOBTYPE="SIMPLE" DG.REGJOB.NSUBJOBS="0" DG.REGJOB.SEED="uLU0BArrdV98O41PLThJ5Q" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.451986 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="WorkloadManager" DG.SRC_INSTANCE="" DG.EVNT="DeQueued" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000004:WM=000001:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.DEQUEUED.QUEUE="queue name" DG.DEQUEUED.LOCAL_JOBID="new jobId assigned by the receiving component" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.485702 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="WorkloadManager" DG.SRC_INSTANCE="" DG.EVNT="HelperCall" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000004:WM=000003:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.HELPERCALL.HELPER_NAME="name of the called component" DG.HELPERCALL.HELPER_PARAMS="parameters of the call" DG.HELPERCALL.SRC_ROLE="CALLING" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.520663 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="WorkloadManager" DG.SRC_INSTANCE="" DG.EVNT="Match" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000004:WM=000005:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.MATCH.DEST_ID="destination CE/queue" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.552015 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="WorkloadManager" DG.SRC_INSTANCE="" DG.EVNT="HelperReturn" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000004:WM=000007:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.HELPERRETURN.HELPER_NAME="name of the called component" DG.HELPERRETURN.RETVAL="returned data" DG.HELPERRETURN.SRC_ROLE="CALLING" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.584267 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="WorkloadManager" DG.SRC_INSTANCE="" DG.EVNT="EnQueued" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000004:WM=000009:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.ENQUEUED.QUEUE="destination queue" DG.ENQUEUED.JOB="job description in receiver language" DG.ENQUEUED.RESULT="OK" DG.ENQUEUED.REASON="detailed description of transfer" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.381506 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="NetworkServer" DG.SRC_INSTANCE="" DG.EVNT="Accepted" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000001:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.ACCEPTED.FROM="UserInterface" DG.ACCEPTED.FROM_HOST="sending component hostname" DG.ACCEPTED.FROM_INSTANCE="sending component instance" DG.ACCEPTED.LOCAL_JOBID="new jobId (Condor Globus ...)" +DG.ARRIVED=20051010204847.000000 DATE=20051010204847.409422 HOST="scientific.civ.zcu.cz" PROG=edg-wms LVL=SYSTEM DG.PRIORITY=0 DG.SOURCE="NetworkServer" DG.SRC_INSTANCE="" DG.EVNT="EnQueued" DG.JOBID="https://scientific.civ.zcu.cz:9200/1Yjk3Wlaspl07y45iX8Tng" DG.SEQCODE="UI=000002:NS=0000000003:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" DG.USER="/O=CESNET/O=Masaryk University/CN=Ales Krenek" DG.ENQUEUED.QUEUE="destination queue" DG.ENQUEUED.JOB="job description in receiver language" DG.ENQUEUED.RESULT="OK" DG.ENQUEUED.REASON="detailed description of transfer" diff --git a/org.glite.jp.primary/project/build.number b/org.glite.jp.primary/project/build.number index 17d7d4d..421b076 100644 --- a/org.glite.jp.primary/project/build.number +++ b/org.glite.jp.primary/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:52:14 CEST 2005 -module.build=39 +#Fri Oct 21 08:18:48 CEST 2005 +module.build=43 diff --git a/org.glite.jp.primary/project/version.properties b/org.glite.jp.primary/project/version.properties index 1ef4b00..3964bdd 100644 --- a/org.glite.jp.primary/project/version.properties +++ b/org.glite.jp.primary/project/version.properties @@ -1,2 +1,2 @@ -module.version=1.1.0 +module.version=1.1.1 module.age=1 diff --git a/org.glite.jp.server-common/project/build.number b/org.glite.jp.server-common/project/build.number index baeaebc..bc76a71 100644 --- a/org.glite.jp.server-common/project/build.number +++ b/org.glite.jp.server-common/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:50:18 CEST 2005 -module.build=3 +#Sun Oct 16 20:28:18 CEST 2005 +module.build=4 diff --git a/org.glite.jp.ws-interface/project/build.number b/org.glite.jp.ws-interface/project/build.number index af547f8..1a2bc84 100644 --- a/org.glite.jp.ws-interface/project/build.number +++ b/org.glite.jp.ws-interface/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:46:41 CEST 2005 -module.build=36 +#Sun Oct 16 20:24:25 CEST 2005 +module.build=37 diff --git a/org.glite.jp/build.xml b/org.glite.jp/build.xml index 512a8fd..2e5e7a0 100644 --- a/org.glite.jp/build.xml +++ b/org.glite.jp/build.xml @@ -12,6 +12,9 @@ Revision history: $Log$ + Revision 1.10 2005/10/14 17:23:07 akrenek + added jp.client + Revision 1.9 2005/10/11 20:37:50 akrenek added dependencies on lb.server-bones and security.gsoap-plugin @@ -306,7 +309,7 @@ - + @@ -322,7 +325,7 @@ - + diff --git a/org.glite.jp/project/build.number b/org.glite.jp/project/build.number index add42f8..aa96619 100644 --- a/org.glite.jp/project/build.number +++ b/org.glite.jp/project/build.number @@ -1,2 +1,2 @@ -#Fri Oct 14 15:24:20 CEST 2005 -module.build=38 +#Thu Dec 01 08:35:52 CET 2005 +module.build=81 diff --git a/org.glite.jp/project/dependencies.properties b/org.glite.jp/project/dependencies.properties index 18a5ca6..244b5ad 100644 --- a/org.glite.jp/project/dependencies.properties +++ b/org.glite.jp/project/dependencies.properties @@ -2,12 +2,16 @@ # System dependencies ################################################################### -org.glite.version = HEAD -org.glite.jp.version = HEAD +org.glite.version = glite_R_1_5_0 +org.glite.jp.version = glite-jp_R_1_1_3 # Component dependencies tag = do not remove this line = -org.glite.jp.ws-interface.version = HEAD -org.glite.jp.common.version = HEAD -org.glite.jp.server-common.version = HEAD -org.glite.jp.index.version = HEAD -org.glite.jp.primary.version = HEAD + +org.glite.jp.ws-interface.version = glite-jp-ws-interface_R_1_1_0 +org.glite.jp.common.version = glite-jp-common_R_1_1_0 +org.glite.jp.client.version = glite-jp-client_R_1_0_1 +org.glite.jp.server-common.version = glite-jp-server-common_R_1_0_0 +org.glite.jp.primary.version = glite-jp-primary_R_1_1_1 +org.glite.jp.index.version = glite-jp-index_R_1_1_0 + +ext.gsoap.version = 2.7.0 diff --git a/org.glite.jp/project/glite.jp.csf.xml b/org.glite.jp/project/glite.jp.csf.xml index 51c2be6..3f93fcb 100644 --- a/org.glite.jp/project/glite.jp.csf.xml +++ b/org.glite.jp/project/glite.jp.csf.xml @@ -12,6 +12,12 @@ Revision history: $Log$ + Revision 1.4.2.1 2005/10/17 09:49:02 akrenek + added jp.client module targets + + Revision 1.4 2005/10/03 17:00:50 valtri + Automatically checkout the new module yet. + Revision 1.3 2004/12/10 09:46:41 akrenek included ws-interface @@ -138,6 +144,10 @@ + + + + @@ -197,7 +207,7 @@ + description="Install external packages" depends="oscheck, libtar, mysql"/> + + + + + + + + @@ -259,6 +279,8 @@ diff --git a/org.glite.jp/project/version.properties b/org.glite.jp/project/version.properties index 1ef4b00..24a9118 100644 --- a/org.glite.jp/project/version.properties +++ b/org.glite.jp/project/version.properties @@ -1,2 +1,2 @@ -module.version=1.1.0 +module.version=1.1.3 module.age=1 diff --git a/org.glite.lb.client-interface/project/build.number b/org.glite.lb.client-interface/project/build.number index 4ab76be..53d22b5 100644 --- a/org.glite.lb.client-interface/project/build.number +++ b/org.glite.lb.client-interface/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:32:19 CEST 2005 -module.build=154 +#Sun Oct 16 20:19:50 CEST 2005 +module.build=155 diff --git a/org.glite.lb.client-interface/project/version.properties b/org.glite.lb.client-interface/project/version.properties index 1b13372..a4b48ac 100644 --- a/org.glite.lb.client-interface/project/version.properties +++ b/org.glite.lb.client-interface/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:16:31 CEST 2005 -module.version=3.0.0 +module.version=2.1.0 module.build=2 module.age=1 diff --git a/org.glite.lb.client/Makefile b/org.glite.lb.client/Makefile index 89e2250..3bfb840 100644 --- a/org.glite.lb.client/Makefile +++ b/org.glite.lb.client/Makefile @@ -78,14 +78,6 @@ CFLAGS:=${DEBUG} \ CXXFLAGS:=${CFLAGS} -GLOBUS_LIBS:=-L${globus_prefix}/lib \ - -lglobus_common_${nothrflavour} \ - -lglobus_gssapi_gsi_${nothrflavour} \ - -GLOBUS_THRLIBS:=-L${globus_prefix}/lib \ - -lglobus_common_${thrflavour} \ - -lglobus_gssapi_gsi_${thrflavour} - ifneq (${expat_prefix},/usr) EXPAT_LIBS:=-L${expat_prefix}/lib endif @@ -180,16 +172,16 @@ ${THRPLUSLIB}: ${PLUSTHROBJS} ${LINK} ${version_info} -o $@ ${PLUSTHRLOBJS} -rpath ${glite_location}/lib ${THRLIB} logevent: logevent.o args.o - ${LINK} -o $@ logevent.o args.o ${LIB} ${EXT_LIB} ${GLOBUS_LIBS} + ${LINK} -o $@ logevent.o args.o ${LIB} ${EXT_LIB} ${TOOLS} ${EXAMPLES}: %: %.o - ${LINK} -o $@ $< ${LIB} ${EXT_LIB} ${GLOBUS_LIBS} + ${LINK} -o $@ $< ${LIB} ${EXT_LIB} ${EXAMPLES_CL}: %: %.o - ${LINK} -o $@ $< ${LIB} ${COMMON_LIB} ${EXT_LIB} ${GLOBUS_LIBS} + ${LINK} -o $@ $< ${LIB} ${COMMON_LIB} ${EXT_LIB} ${FAKE_EXAMPLES}: %: %.o ${FAKELIB} - ${LINK} -o $@ $< ${FAKELIB} ${TEST_LIBS} ${EXT_LIB} ${GLOBUS_LIBS} + ${LINK} -o $@ $< ${FAKELIB} ${TEST_LIBS} ${EXT_LIB} ${TOOLS}: ${LIB} @@ -250,7 +242,7 @@ check.producer: producer_test ./producer_test producer_test: producer_test.o prod_proto_test.o - ${LINKXX} -o $@ ${LIB} ${TEST_LIBS} $+ ${EXT_LIB} ${GLOBUS_LIBS} + ${LINKXX} -o $@ ${LIB} ${TEST_LIBS} $+ ${EXT_LIB} producer_test.o: %.o: %.cpp ${CXX} -c ${CXXFLAGS} ${TEST_INC} ${GLOBUSINC} $< diff --git a/org.glite.lb.client/examples/job_reg.c b/org.glite.lb.client/examples/job_reg.c index ad57239..effd501 100644 --- a/org.glite.lb.client/examples/job_reg.c +++ b/org.glite.lb.client/examples/job_reg.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "glite/wmsutils/jobid/cjobid.h" #include "glite/lb/producer.h" @@ -18,7 +19,7 @@ static void usage(char *me) int main(int argc, char *argv[]) { - char *src = NULL,*job = NULL,*server = NULL,*seq; + char *src = NULL,*job = NULL,*server = NULL,*seq,*jdl = NULL; int lbproxy = 0; int done = 0,num_subjobs = 0,reg_subjobs = 0,i; edg_wll_Context ctx; @@ -29,13 +30,14 @@ int main(int argc, char *argv[]) opterr = 0; do { - switch (getopt(argc,argv,"xs:j:m:n:S")) { + switch (getopt(argc,argv,"xs:j:m:n:Sl:")) { case 'x': lbproxy = 1; break; case 's': src = (char *) strdup(optarg); break; case 'j': job = (char *) strdup(optarg); break; case 'm': server = strdup(optarg); break; case 'n': num_subjobs = atoi(optarg); break; case 'S': if (num_subjobs>0) { reg_subjobs = 1; break; } + case 'l': jdl = (char *) strdup(optarg); break; case '?': usage(argv[0]); exit(EINVAL); case -1: done = 1; break; } @@ -63,11 +65,29 @@ int main(int argc, char *argv[]) exit(1); } + if (jdl) { + int f = open(jdl,O_RDONLY,0); + off_t l,p,c; + + if (f<0) { perror(jdl); exit(1); } + l = lseek(f,0,SEEK_END); + lseek(f,0,SEEK_SET); + + jdl = malloc(l+1); + + for (p=0; p < l && (c = read(f,jdl+p,l-p)) > 0; p += c); + if (c<0) { + perror("read()"); + exit (1); + } + jdl[p] = 0; + } + edg_wll_SetParam(ctx,EDG_WLL_PARAM_SOURCE,edg_wll_StringToSource(src)); if (lbproxy) { if (edg_wll_RegisterJobProxy(ctx,jobid, num_subjobs?EDG_WLL_REGJOB_DAG:EDG_WLL_REGJOB_SIMPLE, - "blabla", "NNNSSSS", + jdl ? jdl : "blabla", "NNNSSSS", num_subjobs,NULL,&subjobs)) { char *et,*ed; @@ -78,7 +98,7 @@ int main(int argc, char *argv[]) } else { if (edg_wll_RegisterJobSync(ctx,jobid, num_subjobs?EDG_WLL_REGJOB_DAG:EDG_WLL_REGJOB_SIMPLE, - "blabla", "NNNSSSS", + jdl ? jdl : "blabla", "NNNSSSS", num_subjobs,NULL,&subjobs)) { char *et,*ed; diff --git a/org.glite.lb.client/examples/resubmission.l b/org.glite.lb.client/examples/resubmission.l index 3b8765c..ed6fdcb 100644 --- a/org.glite.lb.client/examples/resubmission.l +++ b/org.glite.lb.client/examples/resubmission.l @@ -3,6 +3,7 @@ -s LogMonitor,-e EnQueued, --queue="wm_input.fl", --job="job description in receiver language", --result=OK, --reason="detailed description of transfer" -s WorkloadManager,-e DeQueued, --queue="wm_input.fl", --local_jobid="WM_ID" +-s WorkloadManager, -e Resubmission, --result=${RESUB:-WILLRESUB}, --reason="let's try again", --tag=none -s WorkloadManager,-e HelperCall, --helper_name="name of the called component",--helper_params="parameters of the call", --src_role=CALLING -s WorkloadManager,-e Match,--dest_id="${DESTINATION:-destination CE/queue}" -s WorkloadManager,-e HelperReturn, --helper_name="name of the called component",--retval="returned data", --src_role=CALLING diff --git a/org.glite.lb.client/examples/shallow_and_full_resub.l b/org.glite.lb.client/examples/shallow_and_full_resub.l index 50f3718..c171348 100644 --- a/org.glite.lb.client/examples/shallow_and_full_resub.l +++ b/org.glite.lb.client/examples/shallow_and_full_resub.l @@ -9,14 +9,16 @@ ! DESTINATION=CE2/queue2 ! CE_NODE=worker2 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e Done, --status_code=FAILED, --reason="reason for the change", --exit_code=141 -s LogMonitor, -e Resubmission, --result=WILLRESUB, --reason="let's try again", --tag=none ! DESTINATION=CE3/queue3 ! CE_NODE=worker3 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e ReallyRunning, --wn_seq="$EDG_WL_SEQUENCE" @@ -27,7 +29,8 @@ ! DESTINATION=CE2/queue2 ! CE_NODE=worker2 -:resubmission_deep: +! RESUB=DEEP +:resubmission: # payload_running=false # destination=CE2/queue2 diff --git a/org.glite.lb.client/examples/shallow_resub_complex.l b/org.glite.lb.client/examples/shallow_resub_complex.l index 9932d29..ba1201b 100644 --- a/org.glite.lb.client/examples/shallow_resub_complex.l +++ b/org.glite.lb.client/examples/shallow_resub_complex.l @@ -2,6 +2,7 @@ ! DESTINATION=CE1/queue1 ! CE_NODE=worker1 +! RESUB=SHALLOW :running: -s LogMonitor, -e Done, --status_code=FAILED, --reason="reason for the change", --exit_code=141 @@ -9,7 +10,8 @@ ! DESTINATION=CE2/queue2 ! CE_NODE=worker2 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: ! BRANCH_SEQUENCE="$EDG_WL_SEQUENCE" -s LogMonitor, -e Done, --status_code=FAILED, --reason="reason for the change", --exit_code=141 @@ -17,7 +19,8 @@ ! DESTINATION=CE3/queue3 ! CE_NODE=worker3 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e ReallyRunning, --wn_seq="$BRANCH_SEQUENCE" @@ -34,7 +37,8 @@ ! DESTINATION=CE4/queue4 ! CE_NODE=worker4 -:resubmission_deep: +! RESUB=DEEP +:resubmission: # payload_running=false # destination=CE4/queue4 diff --git a/org.glite.lb.client/examples/shallow_resub_simple.l b/org.glite.lb.client/examples/shallow_resub_simple.l index a0e04d3..134368f 100644 --- a/org.glite.lb.client/examples/shallow_resub_simple.l +++ b/org.glite.lb.client/examples/shallow_resub_simple.l @@ -9,14 +9,16 @@ ! DESTINATION=CE2/queue2 ! CE_NODE=worker2 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e Done, --status_code=FAILED, --reason="reason for the change", --exit_code=141 -s LogMonitor, -e Resubmission, --result=WILLRESUB, --reason="let's try again", --tag=none ! DESTINATION=CE3/queue3 ! CE_NODE=worker3 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e ReallyRunning, --wn_seq="$EDG_WL_SEQUENCE" diff --git a/org.glite.lb.client/examples/shallow_resub_simple2.l b/org.glite.lb.client/examples/shallow_resub_simple2.l index a1e17b4..1cb74c2 100644 --- a/org.glite.lb.client/examples/shallow_resub_simple2.l +++ b/org.glite.lb.client/examples/shallow_resub_simple2.l @@ -9,7 +9,8 @@ ! DESTINATION=CE2/queue2 ! CE_NODE=worker2 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: ! BRANCH_SEQUENCE="$EDG_WL_SEQUENCE" -s LogMonitor, -e Done, --status_code=FAILED, --reason="reason for the change", --exit_code=141 @@ -17,7 +18,8 @@ ! DESTINATION=CE3/queue3 ! CE_NODE=worker3 -:resubmission_shallow: +! RESUB=SHALLOW +:resubmission: -s LogMonitor, -e ReallyRunning, --wn_seq="$BRANCH_SEQUENCE" diff --git a/org.glite.lb.client/project/build.number b/org.glite.lb.client/project/build.number index 557b922..cac87a2 100644 --- a/org.glite.lb.client/project/build.number +++ b/org.glite.lb.client/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:41:11 CEST 2005 -module.build=153 +#Fri Jan 20 07:05:15 CET 2006 +module.build=0182 diff --git a/org.glite.lb.client/project/version.properties b/org.glite.lb.client/project/version.properties index ab27283..29ae406 100644 --- a/org.glite.lb.client/project/version.properties +++ b/org.glite.lb.client/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:17:41 CEST 2005 -module.version=3.0.0 +module.version=2.1.2 module.build=2 module.age=1 diff --git a/org.glite.lb.client/src/connection.c b/org.glite.lb.client/src/connection.c index 33fdf78..232be5b 100644 --- a/org.glite.lb.client/src/connection.c +++ b/org.glite.lb.client/src/connection.c @@ -204,6 +204,10 @@ int edg_wll_open_proxy(edg_wll_Context ctx) int flags; + if (ctx->connProxy->conn.sock > -1) { + // XXX: test path socket here? + return edg_wll_ResetError(ctx); + } ctx->connProxy->conn.sock = socket(PF_UNIX, SOCK_STREAM, 0); if (ctx->connProxy->conn.sock < 0) { edg_wll_SetError(ctx, errno, "socket() error"); @@ -253,7 +257,7 @@ int http_check_status( char *response) { - int code,len; + int code = HTTP_INTERNAL,len = 0; edg_wll_ResetError(ctx); sscanf(response,"HTTP/%*f %n%d",&len,&code); diff --git a/org.glite.lb.client/src/logevent.c.T b/org.glite.lb.client/src/logevent.c.T index c58f72b..b939e05 100644 --- a/org.glite.lb.client/src/logevent.c.T +++ b/org.glite.lb.client/src/logevent.c.T @@ -35,7 +35,7 @@ int main(int argc, char *argv[]) char *ff = NULL, *jobid_s = NULL; char *src_instance = NULL; int err = 0/*,i,done = 0,fmtlen*/; - int pri = 0; + int pri = 0, noinc = 0; int use_lbproxy = 0; char *lbproxy_user = NULL; char *lbproxy_store_sock = NULL; @@ -91,6 +91,7 @@ int main(int argc, char *argv[]) { EDG_WLL_ARGS_BOOL, "d", "debug mode", "enable debug mode", &deb }, #ifdef ENABLE_REASON_LENGTH { EDG_WLL_ARGS_INT, "l", "reason-length", "extend 'reason' string to length (debug only)", &elength, 0, 1000000000 }, + { EDG_WLL_ARGS_BOOL, "I", "dont-increment", "don't increment initial seqence code", &noinc }, #endif @@@{ my %typetab = ( @@ -187,6 +188,8 @@ int main(int argc, char *argv[]) } } + if (noinc) edg_wll_SetSequenceCode(ctx,code,EDG_WLL_SEQ_NORMAL); + #ifdef ENABLE_REASON_LENGTH if (elength > 200000000) { fprintf(stderr,"%s: usupported reason message length: %d\n", argv[0], elength); diff --git a/org.glite.lb.client/src/producer.c b/org.glite.lb.client/src/producer.c index 49b4549..7b4510d 100644 --- a/org.glite.lb.client/src/producer.c +++ b/org.glite.lb.client/src/producer.c @@ -845,14 +845,15 @@ int edg_wll_RegisterJobProxy( const char * seed, edg_wlc_JobId ** subjobs) { +#define MY_SEED "edg_wll_RegisterJobProxy()" /* first register with bkserver */ - int ret = edg_wll_RegisterJob(context,job,type,jdl,ns,num_subjobs,seed,subjobs); + int ret = edg_wll_RegisterJob(context,job,type,jdl,ns,num_subjobs,seed ? seed : MY_SEED,subjobs); if (ret) { edg_wll_UpdateError(context,0,"edg_wll_RegisterJobProxy(): unable to register with bkserver"); return edg_wll_Error(context,NULL,NULL); } /* and then with L&B Proxy */ - return edg_wll_RegisterJobMaster(context,LOGFLAG_PROXY,job,type,jdl,ns,NULL,num_subjobs,seed,subjobs); + return edg_wll_RegisterJobMaster(context,LOGFLAG_PROXY,job,type,jdl,ns,NULL,num_subjobs,seed ? seed : MY_SEED,subjobs); } int edg_wll_RegisterSubjob( @@ -903,12 +904,15 @@ int edg_wll_RegisterSubjobs( while (*pjdl != NULL) { if (edg_wll_RegisterSubjob(ctx, *psubjob, EDG_WLL_REGJOB_SIMPLE, *pjdl, - ns, parent, 0, NULL, NULL) != 0) break; + ns, parent, 0, NULL, NULL) != 0) { + goto edg_wll_registersubjobs_end; + } pjdl++; psubjob++; } edg_wll_SetLoggingJob(ctx, oldctxjob, oldctxseq, EDG_WLL_SEQ_NORMAL); +edg_wll_registersubjobs_end: return edg_wll_Error(ctx, NULL, NULL); } @@ -932,10 +936,13 @@ int edg_wll_RegisterSubjobsProxy( while (*pjdl != NULL) { if (edg_wll_RegisterSubjobProxy(ctx, *psubjob, EDG_WLL_REGJOB_SIMPLE, *pjdl, - ns, parent, 0, NULL, NULL) != 0) break; + ns, parent, 0, NULL, NULL) != 0) { + goto edg_wll_registersubjobsproxy_end; + } pjdl++; psubjob++; } +edg_wll_registersubjobsproxy_end: edg_wll_SetLoggingJobProxy(ctx, oldctxjob, oldctxseq, NULL, EDG_WLL_SEQ_NORMAL); return edg_wll_Error(ctx, NULL, NULL); diff --git a/org.glite.lb.common/Makefile b/org.glite.lb.common/Makefile index 9bfa125..17cb422 100644 --- a/org.glite.lb.common/Makefile +++ b/org.glite.lb.common/Makefile @@ -47,12 +47,16 @@ CFLAGS:=${DEBUG} -I${top_srcdir}/src -I${top_srcdir}/interface \ # major version more frequently. This variable specifies how many steps ahead # we are. -VERSION_AHEAD=0 +VERSION_AHEAD=1 GLOBUS_LIBS:=-L${globus_prefix}/lib \ -lglobus_common_${nothrflavour} \ -lglobus_gssapi_gsi_${nothrflavour} \ +GLOBUS_THRLIBS:=-L${globus_prefix}/lib \ + -lglobus_common_${thrflavour} \ + -lglobus_gssapi_gsi_${thrflavour} \ + GLITE_LIBS:=-L${glite_location}/lib ifneq (${expat_prefix},/usr) @@ -65,6 +69,7 @@ LDFLAGS:=-L${stagedir}/lib \ ${COVERAGE_FLAGS} EXT_LIBS:= ${EXPAT_LIBS} ${ARES_LIBS} ${GLOBUS_LIBS} +EXT_THRLIBS:= ${EXPAT_LIBS} ${ARES_LIBS} ${GLOBUS_THRLIBS} # breaks linking when not installed in /opt, /home/dimeglio etc. # ${GLITE_LIBS} \ @@ -89,8 +94,8 @@ LOBJS:=${OBJS:.o=.lo} TRIO_OBJS:=escape.o trio.o strio.o TRIO_LIB:=libglite_lb_trio.a -MAILDIR_OBJS:=lb_maildir.o -MAILDIR_LIB:=libglite_lb_maildir.a +MAILDIR_OBJS:=lb_maildir.lo +MAILDIR_LIB:=libglite_lb_maildir.la THROBJS:=${OBJS:.o=.thr.o} THRLOBJS:=${OBJS:.o=.thr.lo} @@ -134,8 +139,7 @@ ${TRIO_LIB}: ${TRIO_OBJS} ranlib $@ ${MAILDIR_LIB}: ${MAILDIR_OBJS} - ar crv $@ ${MAILDIR_OBJS} - ranlib $@ + ${LINK} ${version_info} -o $@ ${MAILDIR_OBJS} ${THRSTATICLIB}: ${THROBJS} ar crv $@ ${THROBJS} @@ -152,7 +156,7 @@ ${THRLTLIB}: ${THROBJS} ${LINK} ${version_info} -o $@ ${THRLOBJS} \ -lglite_security_gss_${thrflavour} \ -lglite_wmsutils_cjobid \ - ${EXT_LIBS} \ + ${EXT_THRLIBS} \ -lm stage: compile @@ -197,12 +201,12 @@ distbin: install: mkdir -p ${PREFIX}/lib mkdir -p ${PREFIX}/share/doc/${package}-${version} - ${INSTALL} -m 644 ${LTLIB} ${THRLTLIB} ${PREFIX}/lib + ${INSTALL} -m 644 ${LTLIB} ${THRLTLIB} ${MAILDIR_LIB} ${PREFIX}/lib ${INSTALL} -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version} if [ x${DOSTAGE} = xyes ]; then \ mkdir -p ${PREFIX}/include/${globalprefix}/${lbprefix} ; \ (cd ${top_srcdir}/interface && install -m 644 ${HDRS} ${PREFIX}/include/${globalprefix}/${lbprefix}) ; \ - install -m 644 ${STATICLIB} ${THRSTATICLIB} ${TRIO_LIB} ${MAILDIR_LIB} ${PREFIX}/lib; \ + install -m 644 ${STATICLIB} ${THRSTATICLIB} ${TRIO_LIB} ${PREFIX}/lib; \ fi clean: diff --git a/org.glite.lb.common/interface/context-int.h b/org.glite.lb.common/interface/context-int.h index 9d68ded..84cbedf 100644 --- a/org.glite.lb.common/interface/context-int.h +++ b/org.glite.lb.common/interface/context-int.h @@ -16,6 +16,7 @@ typedef struct _edg_wll_SeqCode { unsigned int c[EDG_WLL_SOURCE__LAST]; } edg_wll_SeqCode; +#define EDG_WLL_SEQ_NULL "UI=000000:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" /* non-gsi one-element analogy of connPool for L&B Proxy server */ diff --git a/org.glite.lb.common/project/build.number b/org.glite.lb.common/project/build.number index 500a562..acb7652 100644 --- a/org.glite.lb.common/project/build.number +++ b/org.glite.lb.common/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:38:31 CEST 2005 -module.build=153 +#Thu Feb 02 06:38:30 CET 2006 +module.build=0194 diff --git a/org.glite.lb.common/project/version.properties b/org.glite.lb.common/project/version.properties index 2d55ba2..a6d696b 100644 --- a/org.glite.lb.common/project/version.properties +++ b/org.glite.lb.common/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:17:07 CEST 2005 -module.version=3.0.0 +module.version=3.0.3 module.build=2 module.age=1 diff --git a/org.glite.lb.common/src/context.c b/org.glite.lb.common/src/context.c index 7978a9e..c4a46d4 100644 --- a/org.glite.lb.common/src/context.c +++ b/org.glite.lb.common/src/context.c @@ -15,6 +15,10 @@ static void free_voms_groups(edg_wll_VomsGroups *); +/* uncomment to get the trace +#define CTXTRACE "/tmp/lb-context-trace" +*/ + int edg_wll_InitContext(edg_wll_Context *ctx) { int i; @@ -37,6 +41,18 @@ int edg_wll_InitContext(edg_wll_Context *ctx) out->connToUse = -1; *ctx = out; + +#ifdef CTXTRACE +{ + int trc = open(CTXTRACE,O_WRONLY|O_CREAT,0644); + char buf[200]; + sprintf(buf,"%p init\n",out); + lseek(trc,0,SEEK_END); + write(trc,buf,strlen(buf)); + close(trc); +} +#endif + return 0; } @@ -46,7 +62,16 @@ void edg_wll_FreeContext(edg_wll_Context ctx) OM_uint32 min_stat; if (!ctx) return; - +#ifdef CTXTRACE +{ + int trc = open(CTXTRACE,O_WRONLY|O_CREAT,0644); + char buf[200]; + sprintf(buf,"%p free\n",ctx); + lseek(trc,0,SEEK_END); + write(trc,buf,strlen(buf)); + close(trc); +} +#endif if (ctx->errDesc) free(ctx->errDesc); if (ctx->connPool) { int i; diff --git a/org.glite.lb.common/src/lb_plain_io.c b/org.glite.lb.common/src/lb_plain_io.c index 92bbf2b..7915dfa 100644 --- a/org.glite.lb.common/src/lb_plain_io.c +++ b/org.glite.lb.common/src/lb_plain_io.c @@ -2,6 +2,8 @@ #include #include #include +#include +#include #include #include #include @@ -173,7 +175,11 @@ int edg_wll_plain_write_full( int ct = -1; fd_set fds; struct timeval timeout, before, after; + struct sigaction sa,osa; + memset(&sa,0,sizeof(sa)); assert(sa.sa_handler == NULL); + sa.sa_handler = SIG_IGN; + sigaction(SIGPIPE,&sa,&osa); if ( to ) { memcpy(&timeout, to, sizeof(timeout)); @@ -204,5 +210,7 @@ end: if (to->tv_sec < 0) to->tv_sec = to->tv_usec = 0; } + sigaction(SIGPIPE,&osa,NULL); + if (errno == EPIPE) errno = ENOTCONN; return (errno)? -1: written; } diff --git a/org.glite.lb.common/src/log_msg.c b/org.glite.lb.common/src/log_msg.c index befa8cd..eaf5d2f 100644 --- a/org.glite.lb.common/src/log_msg.c +++ b/org.glite.lb.common/src/log_msg.c @@ -1,3 +1,8 @@ +#include +#include +#include +#include +#include #include #include #include diff --git a/org.glite.lb.common/src/ulm_parse.c b/org.glite.lb.common/src/ulm_parse.c index 2525a3e..855c26b 100644 --- a/org.glite.lb.common/src/ulm_parse.c +++ b/org.glite.lb.common/src/ulm_parse.c @@ -384,13 +384,14 @@ void edg_wll_ULMSplitDate( const char *s, int edg_wll_ULMTimevalToDate( long sec, long usec, char *dstr ) { char *func = "edg_wll_ULMTimevalToDate"; + struct tm tms; struct tm *tp; int len; if ( sec < 0 || usec < 0 || usec > 999999 ) return 1; - tp = gmtime( (const time_t *) &sec ); + tp = gmtime_r( (const time_t *) &sec, &tms ); if ( tp == NULL ) return 1; diff --git a/org.glite.lb.logger/project/build.number b/org.glite.lb.logger/project/build.number index 19840f2..0acc618 100644 --- a/org.glite.lb.logger/project/build.number +++ b/org.glite.lb.logger/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:54:17 CEST 2005 -module.build=153 +#Sun Oct 16 20:35:53 CEST 2005 +module.build=154 diff --git a/org.glite.lb.logger/project/version.properties b/org.glite.lb.logger/project/version.properties index 0b1a137..af47cb8 100644 --- a/org.glite.lb.logger/project/version.properties +++ b/org.glite.lb.logger/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:18:17 CEST 2005 -module.version=1.2.0 +module.version=1.2.1 module.build=2 module.age=1 diff --git a/org.glite.lb.logger/src/send_event.c b/org.glite.lb.logger/src/send_event.c index 602fd0d..7f1eb9d 100644 --- a/org.glite.lb.logger/src/send_event.c +++ b/org.glite.lb.logger/src/send_event.c @@ -132,7 +132,7 @@ get_reply(struct event_queue *eq, char **buf, int *code_min) { char *msg=NULL; int ret, code; - size_t len, l; + int len, l; struct timeval tv; struct reader_data data; diff --git a/org.glite.lb.proxy/Makefile b/org.glite.lb.proxy/Makefile index 6c06a69..4cb0fe8 100644 --- a/org.glite.lb.proxy/Makefile +++ b/org.glite.lb.proxy/Makefile @@ -70,7 +70,7 @@ endif SRVBONES_LIB:= -L${stagedir}/lib -lglite_lb_server_bones -LB_SERVER_SHARE_LIB:= -L${stagedir}/lib -lglite_lb_bkserver +LB_SERVER_SHARE_LIB:=${stagedir}/lib/libglite_lb_bkserver.a LB_PROXY_COMMON_LIB:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour} COMMON_LIBS:= -L${stagedir}/lib -lglite_lb_common_${nothrflavour} -lglite_security_gss_${nothrflavour} GRIDSITE_LIBS = -lgridsite_globus `xml2-config --libs` @@ -101,7 +101,7 @@ LB_PROXY_LIBS:= \ -glite_lb_proxy: lbproxy.o +glite_lb_proxy: lbproxy.o ${LB_SERVER_SHARE_LIB} @echo DEBUG: mysql_version=${mysql_version} mysql_prefix=${mysql_prefix} @echo DEBUG: shell: x$(shell echo ${mysql_version} | cut -d. -f1,2)x ${LINK} -o $@ lbproxy.o ${LB_PROXY_LIBS} @@ -140,9 +140,11 @@ install: ${INSTALL} -m 755 glite_lb_proxy ${PREFIX}/bin/glite-lb-proxy ${INSTALL} -m 644 ${top_srcdir}/config/glite-lb-dbsetup-proxy.sql ${PREFIX}/etc ${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-lb-proxy - if [ x${DOSTAGE} != xyes ]; then \ - ${INSTALL} -m 755 ${stagedir}/bin/glite-lb-interlogd ${PREFIX}/bin; \ - fi + +# don't do it due to RPM conflict +# if [ x${DOSTAGE} != xyes ]; then \ +# ${INSTALL} -m 755 ${stagedir}/bin/glite-lb-interlogd ${PREFIX}/bin; \ +# fi clean: diff --git a/org.glite.lb.proxy/project/build.number b/org.glite.lb.proxy/project/build.number index 8e91e0d..4047fe1 100644 --- a/org.glite.lb.proxy/project/build.number +++ b/org.glite.lb.proxy/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:58:34 CEST 2005 -module.build=10 +#Mon Feb 06 07:02:30 CET 2006 +module.build=0055 diff --git a/org.glite.lb.proxy/project/version.properties b/org.glite.lb.proxy/project/version.properties index dae4d14..79bc646 100644 --- a/org.glite.lb.proxy/project/version.properties +++ b/org.glite.lb.proxy/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:18:53 CEST 2005 -module.version=1.2.0 +module.version=1.2.4 module.build=2 module.age=0 diff --git a/org.glite.lb.proxy/src/lbproxy.c b/org.glite.lb.proxy/src/lbproxy.c index 3110076..f8294ab 100644 --- a/org.glite.lb.proxy/src/lbproxy.c +++ b/org.glite.lb.proxy/src/lbproxy.c @@ -76,6 +76,7 @@ static char sock_store[PATH_MAX], sock_serve[PATH_MAX]; static int slaves = 10, semaphores = -1, + con_queue = CON_QUEUE, semset; static char host[300]; static char * port; @@ -83,6 +84,7 @@ static char * port; static struct option opts[] = { {"port", 1, NULL, 'p'}, + {"con-queue", 1, NULL, 'c'}, {"debug", 0, NULL, 'd'}, {"mysql", 1, NULL, 'm'}, {"slaves", 1, NULL, 's'}, @@ -93,12 +95,13 @@ static struct option opts[] = { {NULL,0,NULL,0} }; -static const char *get_opt_string = "p:dm:s:l:i:X:Y:"; +static const char *get_opt_string = "p:c:dm:s:l:i:X:Y:"; static void usage(char *me) { fprintf(stderr,"usage: %s [option]\n" "\t-p, --sock\t path-name to the local socket\n" + "\t-c, --con-queue\t size of the connection queue (accept)\n" "\t-m, --mysql\t database connect string\n" "\t-d, --debug\t don't run as daemon, additional diagnostics\n" "\t-s, --slaves\t number of slave servers to fork\n" @@ -164,6 +167,7 @@ int main(int argc, char *argv[]) while ((opt = getopt_long(argc, argv, get_opt_string, opts, NULL)) != EOF) switch (opt) { case 'p': strcpy(socket_path_prefix, optarg); break; + case 'c': con_queue = atoi(optarg); break; case 'd': debug = 1; break; case 'm': dbstring = optarg; break; case 's': slaves = atoi(optarg); break; @@ -240,7 +244,7 @@ int main(int argc, char *argv[]) return 1; } - if ( listen(service_table[SRV_SERVE].conn, CON_QUEUE) ) { perror("listen()"); return 1; } + if ( listen(service_table[SRV_SERVE].conn, con_queue) ) { perror("listen()"); return 1; } service_table[SRV_STORE].conn = socket(PF_UNIX, SOCK_STREAM, 0); if ( service_table[SRV_STORE].conn < 0 ) { perror("socket()"); return 1; } @@ -263,7 +267,7 @@ int main(int argc, char *argv[]) perror(buf); return 1; } - if ( listen(service_table[SRV_STORE].conn, CON_QUEUE) ) { perror("listen()"); return 1; } + if ( listen(service_table[SRV_STORE].conn, con_queue) ) { perror("listen()"); return 1; } dprintf(("Listening at %s, %s ...\n", sock_store, sock_serve)); diff --git a/org.glite.lb.server-bones/examples/cnt_example.c b/org.glite.lb.server-bones/examples/cnt_example.c index 5f73a23..80b6af3 100644 --- a/org.glite.lb.server-bones/examples/cnt_example.c +++ b/org.glite.lb.server-bones/examples/cnt_example.c @@ -21,6 +21,7 @@ static struct option opts[] = { { "debug", no_argument, NULL, 'd'}, { "msg", required_argument, NULL, 'm'}, { "port", required_argument, NULL, 'p'}, + { "repeat", required_argument, NULL, 'r'}, }; int debug = 0; @@ -49,11 +50,11 @@ int main(int argc, char **argv) int opt, sock, n; - + int repeat = 1; me = strrchr(argv[0], '/'); if ( me ) me++; else me = argv[0]; - while ( (opt = getopt_long(argc, argv,"p:m:hd", opts, NULL)) != EOF ) + while ( (opt = getopt_long(argc, argv,"p:m:hdr:", opts, NULL)) != EOF ) { switch ( opt ) { @@ -64,6 +65,7 @@ int main(int argc, char **argv) port = atoi(optarg); break; case 'd': debug = 1; break; + case 'r': repeat = atoi(optarg); break; case 'h': usage(me); return 0; case '?': usage(me); return 1; } @@ -84,19 +86,21 @@ int main(int argc, char **argv) exit(1); } n = strlen(msg? msg: DEF_MSG); - if ( writen(sock, msg? msg: DEF_MSG, n) != n ) - { - dprintf(("error writing message\n")); - exit(1); - } - printf("reply: "); fflush(stdout); - n = readln(sock, buff); - if ( n < 0 ) - { - perror("read() reply error"); - return 1; + for (;repeat; repeat--) { + if ( writen(sock, msg? msg: DEF_MSG, n) != n ) + { + dprintf(("error writing message\n")); + exit(1); + } + printf("reply: "); fflush(stdout); + n = readln(sock, buff); + if ( n < 0 ) + { + perror("read() reply error"); + return 1; + } + writen(0, buff, n); } - writen(0, buff, n); close(sock); return 0; diff --git a/org.glite.lb.server-bones/project/build.number b/org.glite.lb.server-bones/project/build.number index 54c73e8..11a27e0 100644 --- a/org.glite.lb.server-bones/project/build.number +++ b/org.glite.lb.server-bones/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:44:59 CEST 2005 -module.build=111 +#Sun Oct 16 20:30:15 CEST 2005 +module.build=112 diff --git a/org.glite.lb.server-bones/project/version.properties b/org.glite.lb.server-bones/project/version.properties index 05b78d9..4108bb8 100644 --- a/org.glite.lb.server-bones/project/version.properties +++ b/org.glite.lb.server-bones/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:17:59 CEST 2005 -module.version=2.1.0 +module.version=2.1.1 module.build=2 module.age=1 diff --git a/org.glite.lb.server-bones/src/srvbones.c b/org.glite.lb.server-bones/src/srvbones.c index 12f748e..179cb4e 100644 --- a/org.glite.lb.server-bones/src/srvbones.c +++ b/org.glite.lb.server-bones/src/srvbones.c @@ -22,10 +22,12 @@ #define SLAVES_COUNT 5 /* default number of slaves */ #define SLAVE_OVERLOAD 10 /* queue items per slave */ -#define SLAVE_CONNS_MAX 500 /* commit suicide after that many connections */ +#define SLAVE_REQS_MAX 500 /* commit suicide after that many connections */ #define IDLE_TIMEOUT 30 /* keep idle connection that many seconds */ #define CONNECT_TIMEOUT 5 /* timeout for establishing a connection */ #define REQUEST_TIMEOUT 10 /* timeout for a single request */ +#define NEW_CLIENT_DURATION 10 /* how long a client is considered new, i.e. busy + connection is not closed to serve other clients */ #ifndef dprintf #define dprintf(x) { if (debug) printf x; } @@ -44,7 +46,7 @@ static int services_ct; static int set_slaves_ct = SLAVES_COUNT; static int set_slave_overload = SLAVE_OVERLOAD; -static int set_slave_conns_max = SLAVE_CONNS_MAX; +static int set_slave_reqs_max = SLAVE_REQS_MAX; static struct timeval set_idle_to = {IDLE_TIMEOUT, 0}; static struct timeval set_connect_to = {CONNECT_TIMEOUT, 0}; static struct timeval set_request_to = {REQUEST_TIMEOUT, 0}; @@ -276,12 +278,13 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) sigset_t sset; struct sigaction sa; struct timeval client_done, - client_start; + client_start, + new_client_duration = { NEW_CLIENT_DURATION, 0 }; void *clnt_data = NULL; int conn = -1, srv = -1, - conn_cnt = 0, + req_cnt = 0, sockflags, h_errno, pid, i, @@ -322,19 +325,23 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) */ exit(1); - while ( !die && (conn_cnt < set_slave_conns_max || conn >= 0) ) + while ( !die && req_cnt < set_slave_reqs_max) { fd_set fds; int max = sock, connflags, newconn = -1, - newsrv = -1, - kick_client = 0; + newsrv = -1; + + enum { KICK_DONT = 0, KICK_IDLE, KICK_LOAD, KICK_HANDLER, KICK_COUNT } + kick_client = KICK_DONT; + static char * kicks[] = { "don't kick", "idle client", "high load", - "no request handler" + "no request handler", + "request count limit reached", }; unsigned long seq; struct timeval now,to; @@ -367,7 +374,7 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) sigprocmask(SIG_BLOCK, &sset, NULL); gettimeofday(&now,NULL); - if (conn >= 0 && check_timeout(set_idle_to, client_done, now)) kick_client = 1; + if (conn >= 0 && check_timeout(set_idle_to, client_done, now)) kick_client = KICK_IDLE; if ( conn >= 0 && !kick_client && FD_ISSET(conn, &fds) ) { @@ -377,11 +384,12 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) int rv; dprintf(("[%d] incoming request\n", getpid())); + if ( !services[srv].on_request_hnd ) { - kick_client = 3; + kick_client = KICK_HANDLER; } else { - + req_cnt++; first_request = 0; to = set_request_to; if ((rv = services[srv].on_request_hnd(conn,to.tv_sec>=0 ? &to : NULL,clnt_data)) == ENOTCONN) { @@ -417,12 +425,12 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) gettimeofday(&client_done, NULL); } - continue; + if (!check_timeout(new_client_duration,client_start,now)) continue; } } - if ( !first_request && FD_ISSET(sock, &fds) && conn_cnt < set_slave_conns_max ) + if ( !first_request && FD_ISSET(sock, &fds) && req_cnt < set_slave_reqs_max ) { if ( conn >= 0 ) usleep(100000 + 1000 * (random() % 200)); if ( do_recvmsg(sock, &newconn, &seq, &newsrv) ) switch ( errno ) @@ -434,9 +442,11 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) if (!debug) syslog(LOG_CRIT,"recvmsg(): %m\n"); exit(1); } - kick_client = 2; + kick_client = KICK_LOAD; } + if (req_cnt >= set_slave_reqs_max) kick_client = KICK_COUNT; + if ( kick_client && conn >= 0 ) { if ( services[srv].on_disconnect_hnd ) @@ -469,7 +479,7 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) exit(1); } - conn_cnt++; + req_cnt++; dprintf(("[%d] serving %s connection %lu\n", getpid(), services[srv].id? services[srv].id: "", seq)); @@ -502,8 +512,12 @@ static int slave(slave_data_init_hnd data_init_hnd, int sock) dprintf(("[%d] Terminating on signal %d\n", getpid(), die)); if ( !debug ) syslog(LOG_INFO, "Terminating on signal %d", die); } - dprintf(("[%d] Terminating after %d connections\n", getpid(), conn_cnt)); - if ( !debug ) syslog(LOG_INFO, "Terminating after %d connections", conn_cnt); + + if (conn >= 0 && services[srv].on_disconnect_hnd ) + services[srv].on_disconnect_hnd(conn, NULL, clnt_data); + + dprintf(("[%d] Terminating after %d requests\n", getpid(), req_cnt)); + if ( !debug ) syslog(LOG_INFO, "Terminating after %d requests", req_cnt); exit(0); @@ -618,7 +632,7 @@ static void glite_srvbones_set_slave_overload(int n) static void glite_srvbones_set_slave_conns_max(int n) { - set_slave_conns_max = (n == -1)? SLAVE_CONNS_MAX: n; + set_slave_reqs_max = (n == -1)? SLAVE_REQS_MAX: n; } static void set_timeout(struct timeval *to, struct timeval *val) diff --git a/org.glite.lb.server/project/build.number b/org.glite.lb.server/project/build.number index 4380560..6cb4e7a 100644 --- a/org.glite.lb.server/project/build.number +++ b/org.glite.lb.server/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:56:05 CEST 2005 -module.build=154 +#Thu Feb 02 06:54:59 CET 2006 +module.build=0196 diff --git a/org.glite.lb.server/project/version.properties b/org.glite.lb.server/project/version.properties index 1455d3d..7655b8e 100644 --- a/org.glite.lb.server/project/version.properties +++ b/org.glite.lb.server/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:18:35 CEST 2005 -module.version=1.3.0 +module.version=1.3.5 module.build=2 module.age=1 diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index 3fdc08c..bc524bb 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -985,6 +985,7 @@ int bk_accept_store(int conn, struct timeval *timeout, void *cdata) case ETIMEDOUT: case EDG_WLL_ERROR_GSS: case EPIPE: + case EIO: dprintf(("[%d] %s (%s)\n", getpid(), errt, errd)); if (!debug) syslog(LOG_ERR,"%s (%s)", errt, errd); /* fallthrough diff --git a/org.glite.lb.server/src/db_store.c b/org.glite.lb.server/src/db_store.c index b0d3635..e021ba3 100644 --- a/org.glite.lb.server/src/db_store.c +++ b/org.glite.lb.server/src/db_store.c @@ -74,8 +74,13 @@ db_store(edg_wll_Context ctx,char *ucs, char *event) /* * send event to the proper BK server */ - if ( ev->any.type != EDG_WLL_EVENT_REGJOB - && edg_wll_EventSendProxy(ctx, ev->any.jobId, event) ) goto err; + /* XXX: RegJob events, which were logged also directly, are duplicated at server, + but it should not harm */ + + if (edg_wll_EventSendProxy(ctx, ev->any.jobId, event) ) { + edg_wll_SetError(ctx, EDG_WLL_IL_PROTO, "edg_wll_EventSendProxy() error."); + goto err; + } /* LB proxy purge * XXX: Set propper set of states! @@ -85,7 +90,6 @@ db_store(edg_wll_Context ctx,char *ucs, char *event) case EDG_WLL_EVENT_CLEAR: case EDG_WLL_EVENT_ABORT: case EDG_WLL_EVENT_CANCEL: - case EDG_WLL_EVENT_DONE: edg_wll_PurgeServerProxy(ctx, ev->any.jobId); break; default: break; diff --git a/org.glite.lb.server/src/jobstat.h b/org.glite.lb.server/src/jobstat.h index 181a85d..352af06 100644 --- a/org.glite.lb.server/src/jobstat.h +++ b/org.glite.lb.server/src/jobstat.h @@ -64,9 +64,11 @@ void write2rgma_status(edg_wll_JobStat *); int before_deep_resubmission(const char *, const char *); int same_branch(const char *, const char *); int component_seqcode(const char *a, edg_wll_Source index); +char * set_component_seqcode(char *s,edg_wll_Source index,int val); int processEvent(intJobStat *, edg_wll_Event *, int, int, char **); int add_stringlist(char ***, const char *); int edg_wll_compare_seq(const char *, const char *); void init_intJobStat(intJobStat *p); + diff --git a/org.glite.lb.server/src/jobstat_supp.c b/org.glite.lb.server/src/jobstat_supp.c index 58d4a51..6fb09ef 100644 --- a/org.glite.lb.server/src/jobstat_supp.c +++ b/org.glite.lb.server/src/jobstat_supp.c @@ -658,6 +658,41 @@ int component_seqcode(const char *a, edg_wll_Source index) return(c[index]); } +char * set_component_seqcode(char *s,edg_wll_Source index,int val) +{ + unsigned int c[EDG_WLL_SOURCE__LAST]; + int res; + char *ret; + + res = sscanf(s, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + &c[EDG_WLL_SOURCE_USER_INTERFACE], + &c[EDG_WLL_SOURCE_NETWORK_SERVER], + &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], + &c[EDG_WLL_SOURCE_BIG_HELPER], + &c[EDG_WLL_SOURCE_JOB_SUBMISSION], + &c[EDG_WLL_SOURCE_LOG_MONITOR], + &c[EDG_WLL_SOURCE_LRMS], + &c[EDG_WLL_SOURCE_APPLICATION]); + if (res != EDG_WLL_SOURCE__LAST-1) { + syslog(LOG_ERR, "unparsable sequence code %s\n", s); + fprintf(stderr, "unparsable sequence code %s\n", s); + return NULL; + } + + c[index] = val; + trio_asprintf(&ret,"UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d" + ":LM=%06d:LRMS=%06d:APP=%06d", + c[EDG_WLL_SOURCE_USER_INTERFACE], + c[EDG_WLL_SOURCE_NETWORK_SERVER], + c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], + c[EDG_WLL_SOURCE_BIG_HELPER], + c[EDG_WLL_SOURCE_JOB_SUBMISSION], + c[EDG_WLL_SOURCE_LOG_MONITOR], + c[EDG_WLL_SOURCE_LRMS], + c[EDG_WLL_SOURCE_APPLICATION]); + return ret; +} + int before_deep_resubmission(const char *a, const char *b) { if (component_seqcode(a, EDG_WLL_SOURCE_WORKLOAD_MANAGER) < diff --git a/org.glite.lb.server/src/process_event.c b/org.glite.lb.server/src/process_event.c index ab13ed4..7b0fb1d 100644 --- a/org.glite.lb.server/src/process_event.c +++ b/org.glite.lb.server/src/process_event.c @@ -1,8 +1,11 @@ +#ident "$Header$" + #include #include #include #include #include +#include #include "glite/lb/producer.h" #include "glite/lb/context-int.h" @@ -166,6 +169,17 @@ static void load_branch_state(intJobStat *js) } } +// clear branches (deep resub. or abort) +static void reset_branch(intJobStat *js, edg_wll_Event *e) +{ + js->resubmit_type = EDG_WLL_RESUBMISSION_WILLRESUB; + free_stringlist(&js->pub.possible_destinations); + free_stringlist(&js->pub.possible_ce_nodes); + free_branch_state(&js->branch_states); + js->pub.payload_running = 0; + rep(js->branch_tag_seqcode, NULL); + rep(js->deep_resubmit_seqcode, e->any.seqcode); +} static char* location_string(const char *source, const char *host, const char *instance) { @@ -174,6 +188,12 @@ static char* location_string(const char *source, const char *host, const char *i return ret; } +static int after_enter_wm(const char *es,const char *js) +{ + return component_seqcode(es,EDG_WLL_SOURCE_NETWORK_SERVER) > + component_seqcode(js,EDG_WLL_SOURCE_NETWORK_SERVER); +} + static int badEvent(intJobStat *js UNUSED_VAR, edg_wll_Event *e, int ev_seq UNUSED_VAR) { @@ -186,11 +206,15 @@ static int badEvent(intJobStat *js UNUSED_VAR, edg_wll_Event *e, int ev_seq UNUS return RET_FATAL; } +// (?) || (0 && 1) => true if (res == RET_OK) #define USABLE(res,strict) ((res) == RET_OK || ( (res) == RET_SOON && !strict)) + +// (?) || (1 && 1) => always true #define USABLE_DATA(res,strict) ((res) == RET_OK || ( (res) != RET_FATAL && !strict)) + #define USABLE_BRANCH(fine_res) ((fine_res) != RET_TOOOLD && (fine_res) != RET_BADBRANCH) #define LRMS_STATE(state) ((state) == EDG_WLL_JOB_RUNNING || (state) == EDG_WLL_JOB_DONE) - +#define PARSABLE_SEQCODE(code) (component_seqcode((code),0) >= 0) int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char **errstring) { @@ -200,7 +224,7 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char int res = RET_OK, fine_res = RET_OK; - + int lm_favour_lrms = 0; if (old_state == EDG_WLL_JOB_ABORTED || old_state == EDG_WLL_JOB_CANCELLED || @@ -208,6 +232,15 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char res = RET_LATE; } +/* new event coming from NS => forget about any resubmission loops */ + if (e->type != EDG_WLL_EVENT_CANCEL && + js->last_seqcode && + after_enter_wm(e->any.seqcode,js->last_seqcode)) + { + rep(js->branch_tag_seqcode,NULL); + rep(js->deep_resubmit_seqcode,NULL); + rep(js->last_branch_seqcode,NULL); + } if (js->deep_resubmit_seqcode && before_deep_resubmission(e->any.seqcode, js->deep_resubmit_seqcode)) { @@ -216,7 +249,7 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char } else if (js->branch_tag_seqcode) { // ReallyRunning ev. arrived if (same_branch(e->any.seqcode, js->branch_tag_seqcode)) { - if ((js->last_seqcode != NULL) && + if ((js->last_branch_seqcode != NULL) && edg_wll_compare_seq(e->any.seqcode, js->last_branch_seqcode) < 0) { res = RET_LATE; } @@ -248,7 +281,9 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char e->any.timestamp.tv_sec; res = RET_LATE; } - new_state = EDG_WLL_JOB_SCHEDULED; break; + new_state = EDG_WLL_JOB_SCHEDULED; + lm_favour_lrms = 1; + break; default: goto bad_event; break; } @@ -307,7 +342,9 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char new_state = EDG_WLL_JOB_WAITING; break; case EDG_WLL_SOURCE_LOG_MONITOR: if (LRMS_STATE(old_state)) res = RET_LATE; - new_state = EDG_WLL_JOB_READY; break; + new_state = EDG_WLL_JOB_READY; + lm_favour_lrms = 1; + break; case EDG_WLL_SOURCE_LRMS: new_state = EDG_WLL_JOB_SCHEDULED; break; default: @@ -480,17 +517,62 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char if (USABLE_BRANCH(fine_res)) { rep(js->pub.ce_node, e->running.node); } - if (e->any.source == EDG_WLL_SOURCE_LOG_MONITOR) { + /* why? if (e->any.source == EDG_WLL_SOURCE_LOG_MONITOR) { */ if (e->running.node) { update_branch_state(e->any.seqcode, NULL, e->running.node, NULL, &js->branch_states); add_stringlist(&js->pub.possible_ce_nodes, e->running.node); } - } + /* } */ } break; case EDG_WLL_EVENT_REALLYRUNNING: + /* consistence check -- should not receive two contradicting ReallyRunning's within single + deep resub cycle */ + if (fine_res == RET_BADBRANCH) { + syslog(LOG_ERR,"ReallyRunning on bad branch %s", + e->any.source == EDG_WLL_SOURCE_LOG_MONITOR ? e->reallyRunning.wn_seq : e->any.seqcode); + break; + } + /* select the branch unless TOOOLD, i.e. before deep resubmission */ + if (!(res == RET_LATE && fine_res == RET_TOOOLD)) { + if (e->any.source == EDG_WLL_SOURCE_LRMS) { + rep(js->branch_tag_seqcode, e->any.seqcode); + if (res == RET_OK) { + rep(js->last_branch_seqcode, e->any.seqcode); + js->pub.state = EDG_WLL_JOB_RUNNING; + } + } + if (e->any.source == EDG_WLL_SOURCE_LOG_MONITOR) { + if (!js->branch_tag_seqcode) { + if (PARSABLE_SEQCODE(e->reallyRunning.wn_seq)) { + rep(js->branch_tag_seqcode, e->reallyRunning.wn_seq); + } else + goto bad_event; + } + if (!js->last_branch_seqcode) { + if (PARSABLE_SEQCODE(e->reallyRunning.wn_seq)) { + if (res == RET_OK) { + rep(js->last_branch_seqcode, e->reallyRunning.wn_seq); + js->pub.state = EDG_WLL_JOB_RUNNING; + } + } else + goto bad_event; + } + } + + /* XXX: best effort -- if we are lucky, ReallyRunning is on the last shallow cycle, + so we take in account events processed so far */ + if (res == RET_LATE && !js->last_branch_seqcode) { + if (same_branch(js->last_seqcode,js->branch_tag_seqcode)) + rep(js->last_branch_seqcode,js->last_seqcode); + } + + js->pub.payload_running = 1; + load_branch_state(js); + } +#if 0 if (USABLE_DATA(res, strict)) { js->pub.state = EDG_WLL_JOB_RUNNING; free(js->pub.location); @@ -504,12 +586,22 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char rep(js->last_branch_seqcode, e->any.seqcode); } if (e->any.source == EDG_WLL_SOURCE_LOG_MONITOR) { - rep(js->branch_tag_seqcode, e->reallyRunning.wn_seq); - rep(js->last_branch_seqcode, e->reallyRunning.wn_seq); + if (!js->branch_tag_seqcode) { + if (PARSABLE_SEQCODE(e->reallyRunning.wn_seq)) { + rep(js->branch_tag_seqcode, e->reallyRunning.wn_seq); + } else + goto bad_event; + } + if (!js->last_branch_seqcode) { + if (PARSABLE_SEQCODE(e->reallyRunning.wn_seq)) { + rep(js->last_branch_seqcode, e->reallyRunning.wn_seq); + } else + goto bad_event; + } } - load_branch_state(js); } +#endif break; case EDG_WLL_EVENT_RESUBMISSION: if (USABLE(res, strict)) { @@ -524,18 +616,13 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char else if (e->resubmission.result == EDG_WLL_RESUBMISSION_WILLRESUB && e->any.source == EDG_WLL_SOURCE_WORKLOAD_MANAGER) { - js->resubmit_type = EDG_WLL_RESUBMISSION_WILLRESUB; - free_stringlist(&js->pub.possible_destinations); - free_stringlist(&js->pub.possible_ce_nodes); - free_branch_state(&js->branch_states); - js->pub.payload_running = 0; - rep(js->branch_tag_seqcode, NULL); - rep(js->deep_resubmit_seqcode, e->any.seqcode); + reset_branch(js, e); } else if (e->resubmission.result == EDG_WLL_RESUBMISSION_SHALLOW) { js->resubmit_type = EDG_WLL_RESUBMISSION_SHALLOW; - rep(js->deep_resubmit_seqcode, NULL); + // deep resubmit stays forever deadline for events + // rep(js->deep_resubmit_seqcode, NULL); } } break; @@ -613,11 +700,15 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char } break; case EDG_WLL_EVENT_ABORT: + // XXX: accept Abort from WM in every case + // setting res make USABLE macro true (awful !!) + if (e->any.source == EDG_WLL_SOURCE_WORKLOAD_MANAGER) res = RET_OK; if (USABLE(res, strict)) { js->pub.state = EDG_WLL_JOB_ABORTED; rep(js->pub.reason, e->abort.reason); rep(js->pub.location, "none"); - js->pub.payload_running = 0; + + reset_branch(js, e); } break; @@ -723,6 +814,28 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char js->pub.stateEnterTimes[1 + js->pub.state] = (int)js->pub.lastUpdateTime.tv_sec; } + if (e->any.type == EDG_WLL_EVENT_CANCEL) { + rep(js->last_cancel_seqcode, e->any.seqcode); + } else { + +/* the first set of LM events (Accept, Transfer/* -> LRMS) + should not should shift the state (to Ready, Scheduled) but NOT to + update js->last_seqcode completely, in order not to block following + LRMS events which are likely to arrive later but should still affect + job state (as there may be no more LM events due to the Condor bug). + However, don't ignore the incoming seqcode completely, to catch up + with possibly delayed WM/JSS events */ + + if (lm_favour_lrms) { + free(js->last_seqcode); + js->last_seqcode = set_component_seqcode(e->any.seqcode,EDG_WLL_SOURCE_LOG_MONITOR,0); + } + else rep(js->last_seqcode, e->any.seqcode); + } + + if (fine_res == RET_GOODBRANCH) { + rep(js->last_branch_seqcode, e->any.seqcode); + } } if (USABLE_DATA(res,strict)) { @@ -737,16 +850,6 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char } } - if (e->any.type == EDG_WLL_EVENT_CANCEL) { - rep(js->last_cancel_seqcode, e->any.seqcode); - } else { - rep(js->last_seqcode, e->any.seqcode); - } - - if (fine_res == RET_GOODBRANCH) { - rep(js->last_branch_seqcode, e->any.seqcode); - } - return res; bad_event: diff --git a/org.glite.lb.server/src/query.c b/org.glite.lb.server/src/query.c index 5d86547..1501fa5 100644 --- a/org.glite.lb.server/src/query.c +++ b/org.glite.lb.server/src/query.c @@ -78,7 +78,8 @@ int edg_wll_QueryEventsServer( goto cleanup; if (event_conditions && *event_conditions && (*event_conditions)->attr && - !(event_where = ec_to_head_where(ctx,event_conditions))) + !(event_where = ec_to_head_where(ctx,event_conditions)) && + edg_wll_Error(ctx,NULL,NULL) != 0) goto cleanup; if ( job_conditions && *job_conditions && (*job_conditions)->attr && diff --git a/org.glite.lb.server/src/store.c.T b/org.glite.lb.server/src/store.c.T index b2bcbc4..1130c93 100644 --- a/org.glite.lb.server/src/store.c.T +++ b/org.glite.lb.server/src/store.c.T @@ -128,7 +128,7 @@ int edg_wll_StoreEvent(edg_wll_Context ctx,edg_wll_Event *e,int *seq) free(stmt); } - free(stmt); + free(stmt); stmt = NULL; if ((err = store_seq(ctx,e,next)) || (err = store_flesh(ctx,e,jobid,next))) { /* attempt to cleanup, ignore new errors */ @@ -333,11 +333,13 @@ static int store_flesh(edg_wll_Context ctx,edg_wll_Event *e,char *jobid,int no) for (i=0; iany.src_instance); - if (edg_wll_ExecStmt(ctx,stmt,NULL) < 0) err = edg_wll_Error(ctx,NULL,NULL); - free(stmt); + if (!err) { + trio_asprintf(&stmt,"insert into short_fields(jobid,event,name,value) " + "values ('%|Ss',%d,'SRC_INSTANCE','%|Ss')", + jobid,no,e->any.src_instance); + if (edg_wll_ExecStmt(ctx,stmt,NULL) < 0) err = edg_wll_Error(ctx,NULL,NULL); + free(stmt); + } return err; } @@ -490,9 +492,11 @@ static int register_subjobs(edg_wll_Context ctx,const edg_wll_RegJobEvent *e) e2.any.host = strdup(ctx->srvName); e2.any.level = e->level; e2.any.priority = e->priority; - e2.any.seqcode = NULL; /* XXX: I'm not sure :-( */ + e2.any.seqcode = strdup(EDG_WLL_SEQ_NULL); e2.any.user = strdup(e->user); e2.any.source = e->source; + e2.any.src_instance = strdup(ctx->isProxy ? + "L&B proxy" : "L&B server"); e2.regJob.ns = strdup(e->ns); edg_wlc_JobIdDup(e->jobId,&e2.regJob.parent); e2.regJob.jobtype = EDG_WLL_REGJOB_SIMPLE; diff --git a/org.glite.lb.server/src/stored_master.c b/org.glite.lb.server/src/stored_master.c index 748d851..c2ca48d 100644 --- a/org.glite.lb.server/src/stored_master.c +++ b/org.glite.lb.server/src/stored_master.c @@ -58,8 +58,10 @@ int edg_wll_StoreProto(edg_wll_Context ctx) edg_wll_ResetError(ctx); ret = read_il_data(ctx, &buf, gss_reader); + if (ret == EDG_WLL_GSS_ERROR_EOF) + return edg_wll_SetError(ctx,ENOTCONN,"client side"); if(ret < 0) - return(ret); + return edg_wll_SetError(ctx,EIO,"interlogger protocol"); handle_request(ctx,buf); free(buf); diff --git a/org.glite.lb.utils/project/build.number b/org.glite.lb.utils/project/build.number index 5cfec85..505690c 100644 --- a/org.glite.lb.utils/project/build.number +++ b/org.glite.lb.utils/project/build.number @@ -1 +1,2 @@ -module.build = 0 +#Sun Oct 16 20:40:38 CEST 2005 +module.build=1 diff --git a/org.glite.lb.ws-interface/project/build.number b/org.glite.lb.ws-interface/project/build.number index ca5f569..17f82e7 100644 --- a/org.glite.lb.ws-interface/project/build.number +++ b/org.glite.lb.ws-interface/project/build.number @@ -1,2 +1,2 @@ -#Sat Oct 15 06:34:10 CEST 2005 -module.build=54 +#Sun Oct 16 20:34:11 CEST 2005 +module.build=55 diff --git a/org.glite.lb.ws-interface/project/version.properties b/org.glite.lb.ws-interface/project/version.properties index 84b4b0d..db5a284 100755 --- a/org.glite.lb.ws-interface/project/version.properties +++ b/org.glite.lb.ws-interface/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:16:49 CEST 2005 -module.version=3.0.0 +module.version=2.1.0 module.build=2 module.age=1 diff --git a/org.glite.lb/build.xml b/org.glite.lb/build.xml index 429dd44..d7337b8 100755 --- a/org.glite.lb/build.xml +++ b/org.glite.lb/build.xml @@ -20,6 +20,33 @@ Revision history: $Log$ + Revision 1.36.4.5 2005/12/02 11:15:33 akrenek + resolved logger dependency conflict + + Revision 1.36.4.4 2005/12/02 10:04:14 jpospi + server depends on logger + + Revision 1.36.4.3 2005/11/28 10:39:08 akrenek + merge bug #13928 fix on the pre_cares branch + + Revision 1.36.4.2 2005/11/24 12:59:36 akrenek + server depends on bones + + Revision 1.36.4.1 2005/11/24 12:32:02 akrenek + merged in "lbonly" + + Revision 1.39 2005/11/27 21:51:18 eronchie + Applied fix for bug 13928 + + Revision 1.38 2005/11/22 12:13:47 eronchie + Removed one utils + + Revision 1.37 2005/11/04 14:39:20 akrenek + merge in the "lbonly" hack + + Revision 1.36 2005/10/15 13:36:26 akrenek + added lb.utils + Revision 1.35 2005/10/14 17:19:08 akrenek build also lb.utils @@ -29,6 +56,17 @@ Revision 1.33 2005/09/19 15:23:45 akrenek "The gigantic merge"; from release 1.4 branch to HEAD + Revision 1.32.2.2 2005/10/31 12:45:10 akrenek + conditional disabling of cross-subsystem builds via "lbonly" property + + Revision 1.32.2.1 2005/08/18 10:36:05 eronchie + Added cross-subsystem dependencies feature in org.glite.lb subsystem. + Added wms-utils.jobid and security.gsoap-plugin among common dependencies. + Added security.voms among server dependencies. + At the moment I have not consider gridsite.core component. + Once built gridsiste component, run ant in org.glite.lb to build the whole lb + and its external gLite dependencies. + Revision 1.32 2005/08/03 11:58:25 akrenek Merged the release 1.0 branch @@ -292,7 +330,7 @@ - + @@ -310,17 +348,17 @@ - + - + @@ -328,7 +366,7 @@ - + @@ -346,7 +384,7 @@ - + @@ -364,6 +402,13 @@ + + + + + + + @@ -444,7 +489,7 @@ - + @@ -460,7 +505,7 @@ - + diff --git a/org.glite.lb/project/build.number b/org.glite.lb/project/build.number index 7e1b0d4..5d63cf4 100644 --- a/org.glite.lb/project/build.number +++ b/org.glite.lb/project/build.number @@ -1,2 +1,2 @@ -#Fri Oct 14 12:41:13 CEST 2005 -module.build=153 +#Mon Feb 06 07:04:02 CET 2006 +module.build=0197 diff --git a/org.glite.lb/project/dependencies.properties b/org.glite.lb/project/dependencies.properties index bd7e9af..ec00347 100644 --- a/org.glite.lb/project/dependencies.properties +++ b/org.glite.lb/project/dependencies.properties @@ -1,19 +1,20 @@ - ################################################################### # System dependencies ################################################################### -org.glite.version = HEAD -org.glite.lb.version = HEAD +org.glite.version = glite_R_1_5_1 +org.glite.lb.version = glite-lb_R_1_2_6 # Component dependencies tag = do not remove this line = -org.glite.lb.client-interface.version = HEAD -org.glite.lb.ws-interface.version = HEAD -org.glite.lb.common.version = HEAD -org.glite.lb.client.version = HEAD -org.glite.lb.server.version = HEAD -org.glite.lb.proxy.version = HEAD -org.glite.lb.server-bones.version = HEAD -org.glite.lb.logger.version = HEAD -ext.gsoap.version=2.7.0 +org.glite.lb.client-interface.version = glite-lb-client-interface_R_2_1_0 +org.glite.lb.ws-interface.version = glite-lb-ws-interface_R_2_1_0 +org.glite.lb.common.version = glite-lb-common_R_3_0_3 +org.glite.lb.client.version = glite-lb-client_R_2_1_2 +org.glite.lb.server-bones.version = glite-lb-server-bones_R_2_1_1 +org.glite.lb.server.version = glite-lb-server_R_1_3_5 +org.glite.lb.logger.version = glite-lb-logger_R_1_2_1 +org.glite.lb.proxy.version = glite-lb-proxy_R_1_2_4 +org.glite.lb.utils.version = glite-lb-utils_R_1_0_0 + +ext.gsoap.version = 2.7.0 diff --git a/org.glite.lb/project/glite.lb.csf.xml b/org.glite.lb/project/glite.lb.csf.xml index 96511ac..23862ad 100644 --- a/org.glite.lb/project/glite.lb.csf.xml +++ b/org.glite.lb/project/glite.lb.csf.xml @@ -22,6 +22,18 @@ Revision history: $Log$ + Revision 1.13.2.1 2005/10/17 16:27:48 akrenek + merged in the duplicate utils targed patch + + Revision 1.15 2005/11/27 21:51:18 eronchie + Applied fix for bug 13928 + + Revision 1.14 2005/10/15 20:14:55 jpospi + remove duplicate lb.utils section + + Revision 1.13 2005/10/15 13:36:26 akrenek + added lb.utils + Revision 1.12 2005/03/16 10:02:52 zsalvet proxy component added @@ -249,17 +261,6 @@ - - - - - - - - - - @@ -341,7 +342,7 @@ - + diff --git a/org.glite.lb/project/version.properties b/org.glite.lb/project/version.properties index 7089efc..5179c83 100644 --- a/org.glite.lb/project/version.properties +++ b/org.glite.lb/project/version.properties @@ -1,4 +1,4 @@ #Fri Sep 02 14:19:10 CEST 2005 -module.version=1.2.0 +module.version=1.2.6 module.build=3 module.age=1 diff --git a/org.glite.security.gsoap-plugin/Makefile b/org.glite.security.gsoap-plugin/Makefile index 17fc5be..8ced4f6 100644 --- a/org.glite.security.gsoap-plugin/Makefile +++ b/org.glite.security.gsoap-plugin/Makefile @@ -17,7 +17,7 @@ gsoap_prefix=/opt/gsoap CC=gcc -gsoap_versions?=2.6.2 2.7.0 +gsoap_versions?=2.6.2 2.7.0 2.7.6b -include Makefile.inc -include ../Makefile.inc @@ -53,10 +53,9 @@ default: all CFLAGS:= ${DEBUG} \ -DVERSION=\"${version}\" \ + -DWITH_NONAMESPACES \ -I. -I${top_srcdir}/interface \ -I${stagedir}/include \ - -I${globus_prefix}/include/${nothrflavour} \ - -I${globus_prefix}/include/${nothrflavour}/openssl \ -I${ares_prefix}/include \ ${COVERAGE_FLAGS} -D_GNU_SOURCE -DDATAGRID_EXTENSION @@ -69,13 +68,21 @@ INSTALL:=libtool --mode=install install LINKXX:=libtool --mode=link ${CXX} -rpath ${stagedir}/lib ${LDFLAGS} GLOBUS_INC:= -I${globus_prefix}/include/${nothrflavour} +GLOBUS_THR_INC:= -I${globus_prefix}/include/${thrflavour} + GLOBUS_LIBS:= -L${globus_prefix}/lib \ -lglobus_common_${nothrflavour} \ -lglobus_gssapi_gsi_${nothrflavour} \ +GLOBUS_THR_LIBS:= -L${globus_prefix}/lib \ + -lglobus_common_${thrflavour} \ + -lglobus_gssapi_gsi_${thrflavour} + GSOAP_LIBS:= -L${gsoap_prefix}/lib -lgsoap +ARES_LIBS:=-L${ares_prefix}/lib -lares -EX_LIBS:= ${GLOBUS_LIBS} -L${ares_prefix}/lib -lares +EX_LIBS:= ${GLOBUS_LIBS} ${ARES_LIBS} +EX_THRLIBS := ${GLOBUS_THR_LIBS} ${ARES_LIBS} HDRS:=glite_gss.h glite_gsplugin.h @@ -106,7 +113,7 @@ ${GSS_LTLIB}: ${GSS_OBJS} ${LINK} ${version_info} -o $@ ${GSS_LOBJS} ${EX_LIBS} ${GSS_THRLTLIB}: ${GSS_THROBJS} - ${LINK} ${version_info} -o $@ ${GSS_THRLOBJS} ${EX_LIBS} + ${LINK} ${version_info} -o $@ ${GSS_THRLOBJS} ${EX_THRLIBS} OBJS:=${GSS_OBJS} glite_gsplugin.o @@ -137,7 +144,7 @@ ${LTLIB}: ${OBJS} ${LINK} ${version_info} -o $@ ${LOBJS} ${EX_LIBS} ${THRLTLIB}: ${THROBJS} - ${LINK} ${version_info} -o $@ ${THRLOBJS} ${EX_LIBS} + ${LINK} ${version_info} -o $@ ${THRLOBJS} ${EX_THRLIBS} ${STATICLIB_S}: ${OBJS_S} ar crv $@ ${OBJS_S} @@ -151,7 +158,7 @@ ${LTLIB_S}: ${OBJS_S} ${LINK} ${version_info} -o $@ ${LOBJS_S} ${EX_LIBS} ${THRLTLIB_S}: ${THROBJS_S} - ${LINK} ${version_info} -o $@ ${THRLOBJS_S} ${EX_LIBS} + ${LINK} ${version_info} -o $@ ${THRLOBJS_S} ${EX_THRLIBS} all compile: \ ${GSS_STATICLIB} ${GSS_LTLIB} ${GSS_THRSTATICLIB} ${GSS_THRLTLIB} \ @@ -271,9 +278,9 @@ clean: ${COMPILE} ${GLOBUS_THR_INC} -o $@ -c $< test_gss.o: %.o: %.cpp - ${CXX} -c ${CFLAGS} ${GLOBUSINC} ${TEST_INC} $< + ${CXX} -c ${CFLAGS} ${GLOBUS_INC} ${TEST_INC} $< -glite_gsplugin.o: soap_version.h +glite_gsplugin.o, glite_gsplugin.thr.o: soap_version.h soap_version.h: stdsoap2.h head stdsoap2.h | \ diff --git a/org.glite.security.gsoap-plugin/build.xml b/org.glite.security.gsoap-plugin/build.xml index b5b3f7f..1bfdeed 100755 --- a/org.glite.security.gsoap-plugin/build.xml +++ b/org.glite.security.gsoap-plugin/build.xml @@ -93,6 +93,11 @@ + + + + + diff --git a/org.glite.security.gsoap-plugin/project/build.number b/org.glite.security.gsoap-plugin/project/build.number index d794048..80f2b00 100644 --- a/org.glite.security.gsoap-plugin/project/build.number +++ b/org.glite.security.gsoap-plugin/project/build.number @@ -1 +1,2 @@ -module.build=0 +#Fri Jan 20 02:46:44 CET 2006 +module.build=0006 diff --git a/org.glite.security.gsoap-plugin/project/version.properties b/org.glite.security.gsoap-plugin/project/version.properties index ff80206..11d5538 100644 --- a/org.glite.security.gsoap-plugin/project/version.properties +++ b/org.glite.security.gsoap-plugin/project/version.properties @@ -1,2 +1,2 @@ -module.version=1.2.0 +module.version=1.2.2 module.age=0 diff --git a/org.glite.security.proxyrenewal/build.xml b/org.glite.security.proxyrenewal/build.xml index 6ebb14f..0bf0729 100755 --- a/org.glite.security.proxyrenewal/build.xml +++ b/org.glite.security.proxyrenewal/build.xml @@ -95,7 +95,8 @@ Load version file ========================================= --> - + +