Difference between revisions of "Resource Management Installation"

From Gcube Wiki
Jump to: navigation, search
(Installation)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
+
[[Category:Administrator's Guide]]
 +
{|align=right
 +
||__TOC__
 +
|}
 
=== Preliminary Note ===
 
=== Preliminary Note ===
  
Line 109: Line 112:
 
: here the service is deployed on a gHN as any other gCube Service by typing:
 
: here the service is deployed on a gHN as any other gCube Service by typing:
 
<pre>
 
<pre>
gcore-deploy-service <path>/org.gcube.vremanagement.resourcemanager.gar
+
gcore-deploy-service <path>/resource-manager-service-x.x.x.gar ( where x.x.x is the version of the service to deploy)
 
</pre>
 
</pre>
  
Line 118: Line 121:
  
 
* ''dynamically'', for VRE scopes
 
* ''dynamically'', for VRE scopes
: in this case, it is the [[VRE_Management_Installation#VREModeler|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.
+
: in this case, it is the [[VRE_Management_Installation#VREModeler|VREModeler]] service that takes care of the installation and its settings.
  
 
==== gHN Configuration ====
 
==== gHN Configuration ====
Line 270: Line 273:
 
The Software Gateway can be deployed on a gHN as any other gCube Service by typing:
 
The Software Gateway can be deployed on a gHN as any other gCube Service by typing:
 
<pre>
 
<pre>
gcore-deploy-service <path>/softwaregateway-service-1.1.0-SNAPSHOT.gar
+
gcore-deploy-service <path>/softwaregateway-service-x.x.x.gar ( where x.x.x is the version of the service to deploy)
 
</pre>
 
</pre>
  
Line 281: Line 284:
 
* [http://www.java2s.com/Code/Jar/a/Downloadaetherspi111jar.htm aether-spi 1.11]
 
* [http://www.java2s.com/Code/Jar/a/Downloadaetherspi111jar.htm aether-spi 1.11]
 
* [http://www.java2s.com/Code/Jar/a/Downloadaetherutil111jar.htm aether-util 1.11]
 
* [http://www.java2s.com/Code/Jar/a/Downloadaetherutil111jar.htm aether-util 1.11]
 +
* [http://www.java2s.com/Code/JarDownload/aether/aether-connector-wagon-1.7.jar.zip aether-connector-wagon-1.7.jar]
 
* [http://commons.apache.org/codec/ commons-codec 1.2]
 
* [http://commons.apache.org/codec/ commons-codec 1.2]
 
* [http://www.java2s.com/Code/Jar/c/Downloadcommonscompress20050911jar.htm commons-compress 20050911]
 
* [http://www.java2s.com/Code/Jar/c/Downloadcommonscompress20050911jar.htm commons-compress 20050911]
Line 307: Line 311:
 
* [http://grepcode.com/snapshot/repo1.maven.org/maven2/org.slf4j/slf4j-api/1.6.4 slf4j-api 1.6.4]
 
* [http://grepcode.com/snapshot/repo1.maven.org/maven2/org.slf4j/slf4j-api/1.6.4 slf4j-api 1.6.4]
 
* [http://www.java2s.com/Code/JarDownload/wagon/wagon-file-1.0-beta-7.jar.zip wagon-file-1.0-beta-7.jar]
 
* [http://www.java2s.com/Code/JarDownload/wagon/wagon-file-1.0-beta-7.jar.zip wagon-file-1.0-beta-7.jar]
* [http://www.java2s.com/Code/Jar/w/Downloadwagonproviderapi10beta7jar.htm wagon-provider-api 1.0-beta-7]
+
* [http://www.java2s.com/Code/JarDownload/wagon/wagon-provider-api-1.0-beta-7.jar.zip wagon-provider-api 1.0-beta-7]
 +
* [http://www.java2s.com/Code/JarDownload/wagon/wagon-http-lightweight-1.0-beta-7.jar.zip wagon-http-lightweight-1.0-beta-7.jar]
 +
* [http://www.java2s.com/Code/JarDownload/jsch/jsch-0.1.38.jar.zip jsch-0.1.38.jar]
 
* [http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/7.0.0.pre5/jetty-util-7.0.0.pre5.jar jetty-util-7.0.0.pre5.jar]
 
* [http://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util/7.0.0.pre5/jetty-util-7.0.0.pre5.jar jetty-util-7.0.0.pre5.jar]
 
* [http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/7.0.0.pre5/jetty-7.0.0.pre5.jar jetty-7.0.0.pre5.jar]
 
* [http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/7.0.0.pre5/jetty-7.0.0.pre5.jar jetty-7.0.0.pre5.jar]
Line 589: Line 595:
  
 
<pre>
 
<pre>
gcore-deploy-service <path>/org.gcube.vremanagement.vremodeler.gar
+
gcore-deploy-service <path>/vremodeler-service-x.x.x.gar
 
</pre>
 
</pre>
  
Line 595: Line 601:
  
 
* [http://hsqldb.org/ hsqldb 1.8.0] (or higher)
 
* [http://hsqldb.org/ hsqldb 1.8.0] (or higher)
* org.gcube.vremanagement.vremodeler.stubs.jar
+
* vremodeler-stubs-x.x.x.jar
 +
* [http://ormlite.com/  ormlite  4.4] (or higher)
  
 
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.
 
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.

Latest revision as of 12:03, 10 December 2013

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>/resource-manager-service-x.x.x.gar ( where x.x.x is the version of the service to deploy) 
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.

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:
...
[1]: http://host:port/wsrf/services/gcube/vremanagement/resourcemanager/administration
[2]: http://host:port/wsrf/services/gcube/vremanagement/resourcemanager/binder
[3]: http://host:port/wsrf/services/gcube/vremanagement/resourcemanager/reporting
[4]: http://host:port/wsrf/services/gcube/vremanagement/resourcemanager/scopecontroller
...

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>/softwaregateway-service-x.x.x.gar ( where x.x.x is the version of the service to deploy) 

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:


Maven 3

The Software Gateway service relies on Maven 3. These are the installation instructions for Unix-based Operating Systems:

These instructions assume you chose /usr/local/apache-maven. The subdirectory apache-maven-3.0.4 will be created from the archive.

  • In a command terminal, add the M3_HOME environment variable, e.g. export M3_HOME=/usr/local/apache-maven/apache-maven-3.0.4.
  • Add the M3 environment variable, e.g. export M3=$M3_HOME/bin.
  • Optional: Add the MAVEN_OPTS environment variable to specify JVM properties, e.g. export MAVEN_OPTS="-Xms256m -Xmx512m". This environment variable can be used to supply extra options to Maven.
  • Add M2 environment variable to your path, e.g. export PATH=$M2:$PATH.
  • Make sure that JAVA_HOME is set to the location of your JDK, e.g. export JAVA_HOME=/usr/java/jdk1.5.0_02 and that $JAVA_HOME/bin is in your PATH environment variable.
  • Run mvn --version to verify that it is correctly installed.

gHN Configuration

No specific configuration is needed, but the typical gHN distribution.

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:

               <?xml version="1.0" encoding="UTF-8"?>
<jndiConfig xmlns="http://wsrf.globus.org/jndi/config">
 
	<service name="gcube/vremanagement/softwaregateway">
 
		<!-- This permits less control allowing the submission from ETICS -->
		<environment
			name="eticsSubmission" 
			value="true" 
			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" />
 
 
		<!-- 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" />
 
		<environment
			name="dependenciesSolverClass" 
			value="org.gcube.vremanagement.softwaregateway.impl.repositorymanager.util.MavenDependenciesSolver" 
			type="java.lang.String"
			override="false" />
 
		<environment
			name="webServerClass" 
			value="org.gcube.vremanagement.softwaregateway.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 -->
 
 
 
		<!-- Name of the file containing SVN source code -->
		<environment
			name="sourceCodeLinkPathfilename" 
			value="svnpath.txt" 
			type="java.lang.String"
			override="false" />
 
 
	</service>
 
 
	<service name="gcube/vremanagement/softwaregateway/Access">  
 
		<environment 
			name="name" 
			value="Access" 
			type="java.lang.String"
			override="false" />
 
		<environment 
			name="settingsDirectory" 
			value="tmp" 
			type="java.lang.String"
			override="false" />	
 
    </service>
 
 
    <service name="gcube/vremanagement/softwaregateway/Registration">
 
		<environment name="name" value="Registration" type="java.lang.String"
			override="false" />
    </service>
 
</jndiConfig>
 
		<!-- 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/softwaregateway/Access
[4]: http://host:port/wsrf/services/gcube/vremanagement/softwaregateway/Registration
...


Looking at the $GLOBUS_LOCATION/logs/sgateway.log, the following messages related to the SoftwareRepository initialisation have to be observed:

2012-09-06 17:14:19,950 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.0010s] SoftwareGateway: INITIALISING RUNNING INSTANCE
2012-09-06 17:14:20,103 TRACE porttypes.ServiceContext [SoftwareGateway-Initialiser,trace:82] [0.153s] SoftwareGateway: loading RI profile
2012-09-06 17:14:20,130 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.181s] SoftwareGateway: Added scope(s) [/gcube/devNext, /gcube/devsec, /gcube]
2012-09-06 17:14:20,159 WARN  porttypes.ServiceContext [SoftwareGateway-Initialiser,warn:86] [0.209s] SoftwareGateway: Attempt to change class of gCube instance 80ec0bf0-f608-11e1-b150-8388f7d74ea3
2012-09-06 17:14:20,159 WARN  porttypes.ServiceContext [SoftwareGateway-Initialiser,warn:86] [0.21s] SoftwareGateway: Attempt to change name of gCube instance 80ec0bf0-f608-11e1-b150-8388f7d74ea3
2012-09-06 17:14:20,160 WARN  porttypes.ServiceContext [SoftwareGateway-Initialiser,warn:86] [0.211s] SoftwareGateway: Attempt to change version of gCube instance 80ec0bf0-f608-11e1-b150-8388f7d74ea3
2012-09-06 17:14:20,161 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.212s] SoftwareGateway: Generating security manager...
2012-09-06 17:14:20,164 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] [0.215s] SoftwareGateway: Loading credentials propagation property from jndi service environment
2012-09-06 17:14:20,164 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] [0.215s] SoftwareGateway: Credential propagation property = null
2012-09-06 17:14:20,165 WARN  porttypes.ServiceContext [SoftwareGateway-Initialiser,warn:86] [0.216s] SoftwareGateway: No service propagation property set and no default configuration available
2012-09-06 17:14:20,165 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.216s] SoftwareGateway: managing security with a GCUBESimpleServiceSecurityManager
2012-09-06 17:14:20,169 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.22s] SoftwareGateway: Generating security control manager org.gcube.common.core.security.GCUBEServiceAuthenticationController
2012-09-06 17:14:20,172 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.223s] SoftwareGateway: managing security control with a GCUBESimpleServiceAuthController
2012-09-06 17:14:20,173 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.224s] SoftwareGateway: Generating security control manager org.gcube.common.core.security.GCUBEServiceAuthorizationController
2012-09-06 17:14:20,179 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.23s] SoftwareGateway: managing security control with a GCUBEAuthzChainAuthorizationController
2012-09-06 17:14:20,186 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.237s] SoftwareGateway: managing remote persistence with a GCUBERINoPersistenceManager
2012-09-06 17:14:20,194 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: in initialization
2012-09-06 17:14:20,195 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: banned version: null
2012-09-06 17:14:20,196 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: Tmp directory = /home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/tmp
2012-09-06 17:14:20,196 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: Pending directory = /home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/pending
2012-09-06 17:14:20,197 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: Maven directory = /home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/maven
2012-09-06 17:14:20,197 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: Maven settings file path = settings.xml
2012-09-06 17:14:20,197 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: HTTP Server Base path = /home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/jetty/webapps
2012-09-06 17:14:20,198 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: HTTP Server port = 6900
2012-09-06 17:14:20,198 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: CHECK: httpServerBasePath=/home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/jetty/webapps httpServerPort6900
2012-09-06 17:14:20,198 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: CHECK: httpServerBasePath=/home/gcube1/.gcore/persisted/node4.d.d4science.research-infrastructures.eu-8080/SoftwareGateway/jetty/webapps httpServerPort6900
2012-09-06 17:14:20,199 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: HTTP relative Maven directory = maven
2012-09-06 17:14:20,200 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: HTTP relative Report directory = report
2012-09-06 17:14:20,201 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: XSLT directory = /home/gcube1/gCore/etc/softwaregateway-service-1.1.0-SNAPSHOT/xslt
2012-09-06 17:14:20,201 DEBUG porttypes.ServiceContext [SoftwareGateway-Initialiser,debug:66] ServiceContext: webServerClass: org.gcube.vremanagement.softwaregateway.webserver.impl.jetty.JettyWebServer
2012-09-06 17:14:20,225 INFO  porttypes.ServiceContext [SoftwareGateway-Initialiser,info:78] [0.276s] SoftwareGateway: moved to status INITIALISED
2012-09-06 17:14:20,231 INFO  porttypes.ServiceContext [SoftwareGateway-Subscriber,info:78] [0.0s] SoftwareGateway: registering for GHN shutdown events
2012-09-06 17:14:20,231 TRACE porttypes.Registration [PortTypeConsumer,trace:82] [0.0s] SoftwareGateway: INITIALISING PORTTYPE REGISTRATION
2012-09-06 17:14:20,232 TRACE porttypes.Access [PortTypeConsumer,trace:82] [0.0s] SoftwareGateway: INITIALISING PORTTYPE ACCESS
2012-09-06 17:14:20,268 INFO  porttypes.ServiceContext [SoftwareGateway-Subscriber,info:78] [0.037s] SoftwareGateway: registering for GHN scope removal events
2012-09-06 17:14:22,824 INFO  porttypes.ServiceContext [SoftwareGateway-Stager,info:78] [0.0s] SoftwareGateway: moved to status READY
2012-09-06 17:14:22,824 TRACE porttypes.ServiceContext [SoftwareGateway-Stager,trace:82] [0.0s] SoftwareGateway: RI has been UPDATED
2012-09-06 17:14:22,870 TRACE porttypes.ServiceContext [Updater,trace:82] [0.0s] SoftwareGateway: publishing RI profile in scope(s) [/gcube/devNext, /gcube, /gcube/devsec]
...

VREModeler

Installation

The VREModeler is typically statically deployed by typing:

gcore-deploy-service <path>/vremodeler-service-x.x.x.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:

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>