Resource Management Installation
Contents
Preliminary Note
All the software cited in this section be downloaded from the gCube Software Distribution Site, unless otherwise reported.
gHNManager
Installation
The gHNManager is a Local Service shipped and installed within the gHN distribution.
gHN Configuration
No specific configuration is needed, but the the typical gHN configuration.
Instance Configuration
The service instance does not require any specific configuration. As Local Service, it automatically joins all the gHN scopes.
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portType:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [3]: http://host:port/wsrf/services/gcube/common/vremanagement/GHNManager ...
Looking at the $GLOBUS_LOCATION/logs/container.fullog, the following messages related to the gHNManager initialisation have to be observed:
2009-07-06 16:08:04,329 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.0s] GHNManager: Added scope(s) [/testing] 2009-07-06 16:08:04,329 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.0010s] GHNManager: INITIALISING RUNNING INSTANCE 2009-07-06 16:08:04,479 TRACE contexts.ServiceContext [GHNManager-Initialiser,trace:82] [0.151s] GHNManager: loading RI profile 2009-07-06 16:08:04,490 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.162s] GHNManager: Added scope(s) [/testing, /testing/vo1] 2009-07-06 16:08:04,495 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.167s] GHNManager: managing security with a GCUBESimpleServiceSecurityManager 2009-07-06 16:08:04,497 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.169s] GHNManager: managing remote persistence with a GCUBERINoPersistenceManager 2009-07-06 16:08:04,500 INFO contexts.GHNContext [GHNManager-Initialiser,info:78] [0.997s] GHNContext: REGISTERED RI OF (VREMANAGEMENT,GHNMANAGER) 2009-07-06 16:08:04,538 INFO contexts.ServiceContext [GHNManager-Initialiser,info:78] [0.21s] GHNManager: moved to status INITIALISED 2009-07-06 16:08:04,542 DEBUG contexts.ServiceContext [GHNConsumer$<anon>,debug:66] [0.0s] GHNManager: UPDATE event received 2009-07-06 16:08:04,744 INFO contexts.ServiceContext [GHNManager-Subscriber,info:78] [0.0s] GHNManager: registering for GHN shutdown events 2009-07-06 16:08:04,745 INFO contexts.ServiceContext [GHNManager-Subscriber,info:78] [0.0010s] GHNManager: registering for GHN scope events as a local service 2009-07-06 16:08:04,790 TRACE impl.GHNManager [PortTypeConsumer,trace:82] [0.0s] GHNManager: INITIALISING PORTTYPE GHNMANAGER
Afterward, per each gHN scope, the following messages related to the gHN profile publication have to be reported in the same log file:
2009-07-06 16:08:04,542 DEBUG contexts.ServiceContext [GHNConsumer$<anon>,debug:66] [0.0s] GHNManager: UPDATE event received 2009-07-06 16:08:04,544 DEBUG contexts.ServiceContext [GHNConsumer$<anon>,debug:66] [0.0020s] GHNManager: Publishing GHN profile in scope /testing 2009-07-06 16:08:04,551 TRACE impl.GCUBEProfileManager [GHNConsumer$<anon>,trace:82] GCUBEProfileManager: Trying to update resource with ID=0722bbe0-50f5-11de-aea3-d209846ff30b in scope /testing 2009-07-06 16:08:04,586 TRACE scope.GCUBEScopeManagerImpl [GHNConsumer$<anon>,trace:82] GCUBEScopeManagerImpl: Setting scope /testing in Thread[GHNConsumer$<anon>,5,main] 2009-07-06 16:08:04,586 INFO tasks.ISRegistryServiceUpdaterHandler [GHNConsumer$<anon>,info:78] ISRegistryServiceUpdaterHandler: looking for instances of ISRegistry ServiceHandler 2009-07-06 16:08:04,587 TRACE tasks.ISRegistryServiceUpdaterHandler [GHNConsumer$<anon>,trace:82] ISRegistryServiceUpdaterHandler: Refreshing Registry instances 2009-07-06 16:08:04,588 TRACE tasks.ISRegistryLookup [GHNConsumer$<anon>,trace:82] ISRegistryLookup: Querying the IS for Registry instances 2009-07-06 16:08:05,102 TRACE tasks.ISRegistryServiceUpdaterHandler [GHNConsumer$<anon>,trace:82] ISRegistryServiceUpdaterHandler: Connecting to the IS-Registry instance located at http://grid10.4dsoft.hu:8080/wsrf/services/gcube/informationsystem/registry/RegistryFactory... 2009-07-06 16:08:05,244 INFO contexts.GCUBERemotePortTypeContext$1 [GHNConsumer$<anon>,info:78] : Preparing call to service InformationSystem,IS-Registry in scope /testing 2009-07-06 16:08:05,592 TRACE impl.GCUBEProfileManager [GHNConsumer$<anon>,trace:82] GCUBEProfileManager: Resource with ID=0722bbe0-50f5-11de-aea3-d209846ff30b successfully updated
Deployer
Installation
The Deployer is a Local Service shipped and installed within the gHN distribution.
gHN Configuration
No specific configuration is needed, but the typical gHN configuration.
Instance Configuration
The service instance does not require any specific configuration. As Local Service, it automatically joins all the gHN scopes.
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portType:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [3]: http://host:port/wsrf/services/gcube/common/vremanagement/Deployer ...
Looking at the $GLOBUS_LOCATION/logs/container.fullog, the following messages related to the Deployer initialisation have to be observed:
2009-07-06 16:08:05,538 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0s] Deployer: Added scope(s) [/testing] 2009-07-06 16:08:05,538 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0s] Deployer: INITIALISING RUNNING INSTANCE 2009-07-06 16:08:05,539 TRACE contexts.ServiceContext [Deployer-Initialiser,trace:82] [0.0010s] Deployer: loading RI profile 2009-07-06 16:08:05,542 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0040s] Deployer: Added scope(s) [/testing, /testing/vo1] 2009-07-06 16:08:05,543 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0050s] Deployer: managing security with a GCUBESimpleServiceSecurityManager 2009-07-06 16:08:05,543 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0050s] Deployer: managing remote persistence with a GCUBERINoPersistenceManager 2009-07-06 16:08:05,544 INFO contexts.GHNContext [Deployer-Initialiser,info:78] [0.0s] GHNContext: REGISTERED RI OF (VREMANAGEMENT,DEPLOYER) 2009-07-06 16:08:05,544 INFO impl.ServiceContext [VREModeler-Subscriber,info:78] [0.0s] VREModeler: registering for GHN shutdown events 2009-07-06 16:08:05,545 INFO impl.ServiceContext [VREModeler-Subscriber,info:78] [0.0s] VREModeler: registering for GHN scope removal events 2009-07-06 16:08:05,545 INFO contexts.ServiceContext [Deployer-Initialiser,info:78] [0.0070s] Deployer: moved to status INITIALISED 2009-07-06 16:08:05,550 INFO contexts.ServiceContext [Deployer-Subscriber,info:78] [0.0s] Deployer: registering for GHN shutdown events 2009-07-06 16:08:05,550 INFO contexts.ServiceContext [Deployer-Subscriber,info:78] [0.0010s] Deployer: registering for GHN scope events as a local service 2009-07-06 16:08:05,551 TRACE impl.Deployer [PortTypeConsumer,trace:82] [0.0s] Deployer: INITIALISING PORTTYPE DEPLOYER
Resource Manager
Installation
The Resource Manager can be installed in two ways:
- statically, for infrastructure and VO scopes
- here the service is deployed on a gHN as any other gCube Service by typing:
gcore-deploy-service <path>/org.gcube.vremanagement.resourcemanager.gar
- The command above assumes that the $GLOBUS_LOCATION/bin folder is in your PATH
- Then, if the service is configured to use the BrokerService as resourceBrokerClass, two additional libraries have to be installed:
- org.gcube.vre-management.resourcebroker-serialization.jar
- org.gcube.vre-management.resourcebroker-stubs.jar
- dynamically, for VRE scopes
- in this case, it is the VREModeler service that takes care of the installation and its settings. Typically, a Resource Manager instance is deployed as first step of the VRE creation process.
gHN Configuration
No specific configuration is needed, but the typical gHN distribution.
Instance Configuration
The Resource Manager is a scope-specific service, meaning that it must join one and only one scope. Therefore, it must be configured properly to behave in the assigned scope. In the case of a dynamically deployed instance, the appropriate configuration is automatically done by the Deployer service.
In the case of a statically deployed instance, its JNDI file ($GLOBUS_LOCATION/etc/org.gcube.vremanagement.resourcemanager/jndi-config.xml) must be configured to join only one scope. In the following example, the instance (startScopes environment variable) is configured to join the scope named /testing/vo1:
<?xml version="1.0" encoding="UTF-8"?> <jndiConfig xmlns="http://wsrf.globus.org/jndi/config"> <service name="gcube/vremanagement/ResourceManager/service"> <environment name="configDir" value="@config.dir@" type="java.lang.String" override="false" /> <environment name="resourceBrokerClass" value="org.gcube.vremanagement.resourcemanager.impl.brokerage.ServiceBroker" type="java.lang.String" override="false" /> <environment name="startScopes" value="/gcube/devsec/CNR-VRE" type="java.lang.String" override="false" /> </service> <service name="gcube/vremanagement/ResourceManager"> <environment name="name" value="VREManager" type="java.lang.String" override="false" /> <environment name="RPDName" value="VREManagerResourceProperties" type="java.lang.String" override="false"/> <resource name="home" type="org.gcube.vremanagement.resourcemanager.impl.state.ResourceManagerHome"> <resourceParams> <parameter> <name>factory</name> <value>org.globus.wsrf.jndi.BeanFactory</value> </parameter> <parameter> <name>resourceClass</name> <value>org.gcube.vremanagement.resourcemanager.impl.state.InstanceState</value> </parameter> </resourceParams> </resource> </service> </jndiConfig>
Do note that:
- resourceBrokerClass is about which broker to use for allocating gCube packages on gHN. There are two available:
- org.gcube.vremanagement.resourcemanager.impl.brokerage.ServiceBroker which uses the Broker Service
- org.gcube.vremanagement.resourcemanager.impl.brokerage.InternalBroker which uses an internal broker and requires that the target gHNs are specified in any deployment request
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portType:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [5]: http://host:port/wsrf/services/gcube/vremanagement/ResourceManager ...
Resource Broker
Installation
Under the assumption that the $GLOBUS_LOCATION is properly setup and the respective bin folder your PATH, the installation of ResourceBroker service is done by executing the following command:
gcore-deploy-service <path>/org.gcube.vremanagement.resourcebroker.gar
Required software
In order to properly work, the following libraries are required and must be present in the $GLOBUS_LOCATION/lib location:
- org.gcube.vre-management.resourcebroker-serialization.jar
- org.gcube.vre-management.resourcebroker-stubs.jar
gHN Configuration
The scope in which the service should be bound must be specified in the:
$GLOBUS_LOCATION</em>/etc/org.gcube.vremanagement.resourcebroker/jndi-config.xml
Here you'll find the following xml block (the scope is specified by the value attribute):
<!-- SPECIFY YOUR scope HERE -->
<environment
name="startScopes"
value="/gcube"
type="java.lang.String"
override="false" />
</pre>
Instance Configuration
The instance configuration parameters are specified in the file:
$GLOBUS_LOCATION</em>/etc/org.gcube.vremanagement.resourcebroker/broker.properties
For a detailed explanation on configuring the ResourceBroker instance parameter read here.
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portType:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [4]: http://host:port/wsrf/services/gcube/vremanagement/ResourceBroker ...
Look at the $GLOBUS_LOCATION/logs/container.fulllog, then follow messages related to the ResourceBroker with the prefix [BMM].
Software Gateway
Installation
The Software Gateway can be deployed on a gHN as any other gCube Service by typing:
gcore-deploy-service <path>/org.gcube.vremanagement.softwarerepository.gar
The command above assumes that the $GLOBUS_LOCATION/bin folder is in your PATH.
In addition, it requires that the following software are available in the $GLOBUS_LOCATION/lib folder:
- hsqldb 1.8.0 (or higher)
- commons-compress 1.00
- mavencustom 1.00.01
- jetty 7.0 (or higher)
All of them can be downloaded from Software Distribution Site, while the installation instructions are available in their websites.
Migrating from version 1.0.0 to version 1.1.0 (or higher)
The underlying DB Schema has been changed from version 1.0.0 to version 1.1.0 of the Software Repository. In order to migrate between the two, it is needed to log on in the local DB instance and run the following queries:
ALTER TABLE Services ADD name VARCHAR(128); ALTER TABLE Services ADD class VARCHAR(128); ALTER TABLE Services ADD version VARCHAR(30); CREATE TABLE Plugins ( pluginServiceID VARCHAR(128) NOT NULL, groupPluginServiceID VARCHAR(512) NOT NULL, groupTargetServiceID VARCHAR(512) NOT NULL, PRIMARY KEY (pluginServiceID,groupPluginServiceID), FOREIGN KEY (pluginServiceID) REFERENCES Services(serviceID) );
SR Cleaning
In order to clean the Software Repository ( the operation is needed in case of major upgrades ) the following actions need to be performed:
- stop the gCore container;
- remove $HOME/.gcore/persisted/<ghn_name>/SoftwareRepository/jetty/webapps/maven folder content;
- remove $HOME/.gcore/persisted/<ghn_name>/SoftwareRepository/dbFolder folder content;
- remove $HOME/.gcore/persisted/<ghn_name>/SoftwareRepository/maven folder content except for setting.xml file;
- remove $HOME/.gcore/persisted/<ghn_name>/SoftwareRepository/pending folder content;
- restart the gCore container.
gHN Configuration
Besides the normal gHN configuration, an additional TCP port has to be open for the internal HTTP service used by the Software Repository instance. This port must be then reported as value of the httpServerPort configuration parameters (see next paragraph).
Instance Configuration
The Software Repository can join in multiple scope, so no specific configuration are needed. However it has a lot start-up configuration that the administrator can change as he likes in the in the JNDI file ($GLOBUS_LOCATION/etc/org.gcube.vremanagement.softwarerepository/jndi-config.xml). The configurable parameters are:
<!-- Allow the submission from ETICS --> <environment name="eticsSubmission" value="true" type="java.lang.String" override="false" /> <!-- Javadoc check --> <!-- Approve all pending packages before change this --> <environment name="javadocCheck" value="true" type="java.lang.String" override="false" /> <!-- Publish service profile on IS --> <environment name="publishServiceProfile" value="false" type="java.lang.String" override="false" /> <!-- Check for TXT file with the information of source code link --> <environment name="checkSourceLink" value="true" type="java.lang.String" override="false" /> <!-- Check extra documentation --> <environment name="extraDocumentation" value="false" type="java.lang.String" override="false" /> <environment name="checkTestSuite" value="false" type="java.lang.String" override="false" /> <environment name="bannedVersion" value="0.00.00" type="java.lang.String" override="false" /> <environment name="acceptedDependencyVersion" value="\s*(((\(|\[)\s*\d{1,2}.\d{1,2}.\d{1,2}\s*,\s*\d{1,2}.\d{1,2}.\d{1,2}\s*(\)|\]))|(\d{1,2}.\d{1,2}.\d{1,2})|(\[\s*\d{1,2}.\d{1,2}.\d{1,2}\s*\]))\s*" type="java.lang.String" override="false" /> <environment name="xpathsVersionCheck" value="/Resource/Profile/Packages/Main/Version,/Resource/Profile/Packages/Main/Dependencies/Dependency/Version,/Resource/Profile/Packages/Software/Version" type="java.lang.String" override="false" /> <!-- HTTP server information --> <environment name="httpServerBasePath" value="jetty/webapps" type="java.lang.String" override="false" /> <environment name="httpServerPort" value="6900" type="java.lang.String" override="false" /> <!-- All parameter below are read at service startup time. You need to restart the container to apply changes --> <environment name="configDir" value="@config.dir@" type="java.lang.String" override="false" /> <environment name="profile" value="profile.xml" type="java.lang.String" override="false" /> <!-- HSQL DB parameters and queries --> <environment name="username" value="sa" type="java.lang.String" override="false" /> <environment name="password" value="" type="java.lang.String" override="false" /> <environment name="dbFilename" value="db" type="java.lang.String" override="false" /> <environment name="queriesFile" value="dbQuery.xml" type="java.lang.String" override="false" /> <!-- END HSQL DB parameters and queries --> <!-- Temporary directory for store operation --> <environment name="tmpDir" value="tmp" type="java.lang.String" override="false" /> <!-- Directory where the pending packages are stored --> <environment name="pendingDir" value="pending" type="java.lang.String" override="false" /> <!-- Parameter to publish service profile on IS --> <environment name="publisherClass" value="org.gcube.vremanagement.softwarerepository.publisher.GCUBEPublisher" type="java.lang.String" override="false" /> <!-- END Parameter to publish service profile on IS --> <environment name="reportGeneratorClass" value="org.gcube.vremanagement.softwarerepository.report.impl.kxml.generator.GCUBEKXMLReportGenerator" type="java.lang.String" override="false" /> <!-- <environment name="reportGeneratorClass" value="org.gcube.vremanagement.softwarerepository.report.impl.jaxb.generator.GCUBEJAXBReportGenerator" type="java.lang.String" override="false" /> --> <environment name="groupIDManagerClass" value="org.gcube.vremanagement.softwarerepository.softwarearchive.operations.impl.GCUBEGroupIDManager" type="java.lang.String" override="false" /> <environment name="validatorClass" value="org.gcube.vremanagement.softwarerepository.softwarearchive.operations.impl.GCUBEValidator" type="java.lang.String" override="false" /> <environment name="approverClass" value="org.gcube.vremanagement.softwarerepository.softwarearchive.operations.impl.GCUBEApprover" type="java.lang.String" override="false" /> <environment name="artifactClass" value="org.gcube.vremanagement.softwarerepository.repository.impl.maven.MavenArtifact" type="java.lang.String" override="false" /> <environment name="dependenciesSolverClass" value="org.gcube.vremanagement.softwarerepository.repository.impl.maven.MavenDependenciesSolver" type="java.lang.String" override="false" /> <environment name="webServerClass" value="org.gcube.vremanagement.softwarerepository.webserver.impl.jetty.JettyWebServer" type="java.lang.String" override="false" /> <!-- Maven local service parameter --> <environment name="mavenDir" value="maven" type="java.lang.String" override="false" /> <environment name="mavenSettingsFileName" value="settings.xml" type="java.lang.String" override="false" /> <!-- END Maven local service parameter --> <!-- This directory, if not exist, must be created before service start --> <!-- Maven HTTP relative directory. If you want to change this directory when the SR has installed some artifact you have to create a symbolic link or copy the whole content the new one--> <environment name="mavenRelativeDir" value="maven" type="java.lang.String" override="false" /> <!-- This directory, if not exist, must be created before service start --> <!-- Report HTTP relative directory. If you want to change this directory when the SR has already worked you have to create a symbolic link or copy the whole content to the new one --> <environment name="reportRelativeDir" value="report" type="java.lang.String" override="false" /> <!-- XSLT to be applied to report XML files --> <!-- XSLT service directory --> <environment name="xsltDir" value="xslt" type="java.lang.String" override="false" /> <!-- XSLT for index.xml --> <environment name="indexXSLTfilename" value="index.xslt" type="java.lang.String" override="false" /> <!-- CSS for index.xml --> <environment name="indexCSSfilename" value="styles.css" type="java.lang.String" override="false" /> <!-- XSLT for single service archive report--> <environment name="reportXSLTfilename" value="report.xslt" type="java.lang.String" override="false" /> <!-- END XSLT to be applied to report XML files --> <!-- Javadoc check --> <environment name="relativeJavadocPath" value="doc/api" type="java.lang.String" override="false" /> <!-- END Documentation check -->
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portType:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [3]: http://host:port/wsrf/services/gcube/vremanagement/SoftwareRepository ...
Looking at the $GLOBUS_LOCATION/logs/container.fulllog, the following messages related to the SoftwareRepository initialisation have to be observed:
2009-07-14 22:17:22,457 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0s] SoftwareRepository: Added scope(s) [/d4science.research-infrastructures.eu] 2009-07-14 22:17:22,458 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0010s] SoftwareRepository: INITIALISING RUNNING INSTANCE 2009-07-14 22:17:22,460 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0030s] SoftwareRepository: starting in scopes [/d4science.research-infrastructures.eu] 2009-07-14 22:17:22,460 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0030s] SoftwareRepository: Added scope(s) [/d4science.research-infrastructures.eu] 2009-07-14 22:17:22,461 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0040s] SoftwareRepository: managing security with a GCUBEServiceSecurityManagerImpl 2009-07-14 22:17:22,461 INFO impl.ServiceContext [SoftwareRepository-Initialiser,info:78] [0.0040s] SoftwareRepository: managing remote persistence with a GCUBERINoPersistenceManager 2009-07-14 22:17:22,462 INFO contexts.GHNContext [SoftwareRepository-Initialiser,info:78] [0.0s] GHNContext: REGISTERED RI OF (VREMANAGEMENT,SOFTWAREREPOSITORY) 2009-07-14 22:17:22,539 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.082s] SoftwareRepository: banned version: 0.00.00 2009-07-14 22:17:22,540 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.083s] SoftwareRepository: regular expression for dependency version is: \s*(((\(|\[)\s*\d{1,2}.\d{1,2}.\d{1,2}\s*,\s*\d{1,2}.\d{1,2}.\d{1,2}\s*(\)|\]))|(\d{1,2}.\d{1,2}.\d{1,2}))\s* 2009-07-14 22:17:22,637 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.18s] SoftwareRepository: DB filename = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/db 2009-07-14 22:17:22,639 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.182s] SoftwareRepository: Queries file = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/dbQuery.xml 2009-07-14 22:17:22,639 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.182s] SoftwareRepository: Tmp directory = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/tmp 2009-07-14 22:17:22,640 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.183s] SoftwareRepository: Pending directory = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/pending 2009-07-14 22:17:22,640 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.183s] SoftwareRepository: Maven directory = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/maven 2009-07-14 22:17:22,640 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.183s] SoftwareRepository: Maven settings file path = settings.xml 2009-07-14 22:17:22,641 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.184s] SoftwareRepository: HTTP Server Base path = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/jetty/webapps 2009-07-14 22:17:22,642 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.185s] SoftwareRepository: HTTP Server port = 6900 2009-07-14 22:17:22,642 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.185s] SoftwareRepository: HTTP relative Maven directory = maven 2009-07-14 22:17:22,642 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.185s] SoftwareRepository: HTTP relative Report directory = report 2009-07-14 22:17:22,643 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.186s] SoftwareRepository: XSLT directory = /home/gcube1/gCore/etc/org.gcube.vremanagement.softwarerepository/xslt 2009-07-14 22:17:22,646 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.189s] SoftwareRepository: Documentation will be controlled in doc/api on each package 2009-07-14 22:17:22,646 DEBUG impl.ServiceContext [SoftwareRepository-Initialiser,debug:66] [0.189s] SoftwareRepository: On each package the file containing link with the source code should be svnpath.txt ...
VREModeler
Installation
The VREModeler is typically statically deployed by typing:
gcore-deploy-service <path>/org.gcube.vremanagement.vremodeler.gar
The command above assumes that the $GLOBUS_LOCATION/bin folder is in your PATH. In addition, the service requires that the following software are available in the $GLOBUS_LOCATION/lib folder:
- hsqldb 1.8.0 (or higher)
- org.gcube.vremanagement.vremodeler.stubs.jar
Moreover, the service can be also dynamically deployed by using the Resource Manager instance in the target scope. In this case, all its dependencies are also automatically deployed too.
gHN Configuration
No specific configuration is needed, but the typical configuration.
Instance Configuration
The service instance does not require any specific configuration.
Verify the Installation
Once the gHN is started, the $GLOBUS_LOCATION/nohup.out file has to report (among the others) the following portTypes:
gHN started at: http://host:port/wsrf/services/ with the following services: GCUBE SERVICES: ... [5]: http://host:port/wsrf/services/gcube/vremanagement/vremodeler/ModelerFactoryService [6]: http://host:port/wsrf/services/gcube/vremanagement/vremodeler/ModelerService ...
Looking at the $GLOBUS_LOCATION/logs/container.fulllog, the following messages related to the VREModeler initialisation have to be observed:
2009-10-02 14:37:54,604 INFO impl.ServiceContext [VREModeler-Initialiser,info:78] [0.0030s] VREModeler: INITIALISING RUNNING INSTANCE 2009-10-02 14:37:54,617 INFO impl.ServiceContext [VREModeler-Initialiser,info:78] [0.016s] VREModeler: Added scope(s) [/gcube, /gcube/devsec] 2009-10-02 14:37:54,621 INFO impl.ServiceContext [VREModeler-Initialiser,info:78] [0.02s] VREModeler: managing security with a GCUBEServiceSecurityManagerImpl 2009-10-02 14:37:54,622 INFO impl.ServiceContext [VREModeler-Initialiser,info:78] [0.021s] VREModeler: managing remote persistence with a GCUBERINoPersistenceManager 2009-10-02 14:37:54,687 INFO impl.ServiceContext [VREModeler-Initialiser,info:78] [0.086s] VREModeler: moved to status INITIALISED 2009-10-02 14:37:54,736 INFO impl.ServiceContext [VREModeler-Subscriber,info:78] [0.0s] VREModeler: registering for GHN shutdown events 2009-10-02 14:37:54,737 INFO impl.ServiceContext [VREModeler-Subscriber,info:78] [0.0010s] VREModeler: registering for GHN scope removal events 2009-10-02 14:37:54,919 INFO impl.ModelerHome [HomeConsumer,info:78] [0.0030s] VREModeler: managing resources in SOFTPERSISTENT mode 2009-10-02 14:37:55,020 INFO impl.ModelerHome [HomeConsumer,info:78] [0.104s] VREModeler: activated sweeper to run every 60 seconds 2009-10-02 14:37:57,922 INFO impl.ServiceContext [VREModeler-Stager,info:78] [0.0s] VREModeler: ready event invoked on VREModeler 2009-10-02 14:37:57,929 INFO db.IStoDBUtil [VREModeler-Stager,info:78] IStoDBUtil: Starting initialization!! ... 2009-10-02 14:43:42,472 INFO impl.ServiceContext [VREModeler-Stager,info:78] [30.529s] VREModeler: moved to status READY
During the initialization phase, the instance looks for some resources that are not yet available (and it warns about these) and that are therefore created.
Requirements
The VREDefinitionPortlet (the VREModeler's GUI) allows the VRE Designer to select a set of functionalities to be included in the new VRE. At VREModeler level, a functionality is mapped on a set of services and portlets that globally deliver the specific operations. These mappings are defined in a Generic Resource (named FuctionalitiesResource) published on the IS.
This Generic Resource must be defined as follow:
<Resource> <ID>df899630-82ae-11de-a6cc-f15c9cf886be</ID> <Type>GenericResource</Type> <Scopes> </Scopes> <Profile> <SecondaryType>VREModelerResource</SecondaryType> <Name>FuctionalitiesResource</Name> <Description> A Generic resource containing the functionalities requested to a VRE at design time </Description> <Body> <MainFunctionalities> <MainFunctionality> <Name>Access Functions</Name> <Description> This class of functions characterises the facilities that can be activated in the Virtual Research Environment to support users in requesting, locating, and accessing the Virtual Research Environment content. </Description> <Functionalities> <Functionality> <Name>Search (Browse, Simple, and Combined)</Name> <Description> By selecting this function VRE users will be provided with facilities supporting the discovery of Information Objects by issuing keyword based queries. This is the simplest modality for discovering Information Objects constituting the VRE Information Space. In addition to the specification of the keywords characterising the Information Objects the user is interested in, this function permits to restrict the Information Space in which to search by specifying the set of Collections against which the query will be evaluated. </Description> <Services> <Service> <ServiceName>FilterXPathOperator</ServiceName> <ServiceClass>Search</ServiceClass> </Service> <!-- ...other services --> </Services> <Portlets> <Portlet>userprofileeditingportlet#UserProfileEditingPortlet</Portlet> <Portlet>layoutcreator#LayoutcreatorPortlet</Portlet> <!-- ...other portlets --> </Portlets> </Functionality> <!-- ...other functionalities --> </Functionalities> </MainFunctionality> <!-- ...other main functionalities --> </MainFunctionalities> </Body> </Profile> </Resource>