Difference between revisions of "DHN Installation"

From Gcube Wiki
Jump to: navigation, search
(Download)
 
(65 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
[[Category:TO BE REMOVED]]
 +
 +
[[Image:Alert_icon2.gif]] ''THIS SECTION OF GCUBE DOCUMENTATION IS OBSOLETE. THE NEW VERSION IS UNDER CONSTRUCTION.''
 +
 
== Host preparation ==
 
== Host preparation ==
  
 
=== Minimal host requirements ===
 
=== Minimal host requirements ===
 
* Hardware
 
TBD
 
  
 
* Operating System
 
* Operating System
Line 12: Line 13:
 
* Connectivity
 
* Connectivity
 
** a machine configured with a static IP address
 
** a machine configured with a static IP address
** bandwidth...
 
  
 
* Software
 
* Software
Line 21: Line 21:
 
=== Migrating from the previous releases ===
 
=== Migrating from the previous releases ===
  
The last version of DHN (RCBeta) is a full installation and also can be used to upgrade from a previous DHN distributions.
+
The 1.0 version of the DHN bundle can be installed as a full installation as well as an upgrade from a previous DHN distribution.
  
 
== Package Installation ==
 
== Package Installation ==
Line 27: Line 27:
 
=== Download ===  
 
=== Download ===  
  
The DHN 1.0 Beta can be downloaded from [https://elibrary.isti.cnr.it/svn_public/diligent_GAR/DHNInstaller/Beta/ here].
+
The DHN 1.0 can be downloaded from [https://elibrary.isti.cnr.it/svn_public/diligent_GAR/DHNInstaller/1.0/ here].
  
== Installation Beta==
+
=== Installation Procedure ===
  
 
After having prepared the node as described in [[DHN_Installation:Host_preparation| Host preparation]], the following steps have to be performed in order to install the DHN:
 
After having prepared the node as described in [[DHN_Installation:Host_preparation| Host preparation]], the following steps have to be performed in order to install the DHN:
* uncompress the ''DHN_installer_Beta.tar.gz'' file
+
* uncompress the ''DHN_installer_1.0.tar.gz'' file
 
* stop the Java WS Core container (if any)
 
* stop the Java WS Core container (if any)
* if you are installing a new DHN from scratch:
 
** type "make install" in the uncompressed ./DHN_installer_Beta folder
 
* if you are making an upgrade from a previous DHN distribution:
 
**  type "make upgrade" in the uncompressed ./DHN_installer_Beta folder
 
 
* source your ${GLOBUS_LOCATION}/etc/globus-devel-env.sh file
 
* source your ${GLOBUS_LOCATION}/etc/globus-devel-env.sh file
 +
* if you are installing the DHN from scratch
 +
** type ''make install'' in the uncompressed ./DHN_installer_1.0 folder
 +
* if you are upgrading a previous FRC installation:
 +
** type ''make upgradeFromFRC'' in the uncompressed ./DHN_installer_1.0 folder
 +
* if you are upgrading a previous Beta installation:
 +
** type ''make upgradeFromBeta'' in the uncompressed ./DHN_installer_1.0 folder
 
* follow the [[DHN_Installation:Post-installation_configuration| Post-installation configuration steps]]
 
* follow the [[DHN_Installation:Post-installation_configuration| Post-installation configuration steps]]
 
* (re)start the container
 
* (re)start the container
Line 44: Line 46:
 
=== Included software ===
 
=== Included software ===
  
This version of the DHN Installer includes the following Collective Layer components:
+
The Final Release Candidate version of the DHN Installer includes the following Collective Layer components:
* NAL Beta
+
* NAL 1.0 Final
* DIS-HLSClient Beta
+
* DIS-HLSClient 1.0 Final
* DIS-IP Beta
+
* DIS-IP 1.0 Final
* HNM Service Beta
+
* HNM Service 1.0 Final
* HNM Service stubs Beta
+
* HNM Service stubs 1.0 Final
* DIS-IC stubs Beta
+
* DIS-IC stubs 1.0 Final
* DIS-Registry stubs Beta
+
* DIS-Registry stubs 1.0 Final
* DIS-Broker stubs Beta
+
* DIS-Broker stubs 1.0 Final
* DLManagement stubs Beta
+
* DLManagement stubs 1.0 Final
* KeeperCommon Library Beta
+
* KeeperCommon Library 1.0 Final
* DIS-Util Library Beta
+
* DIS-Util Library 1.0 Final
* ProfileManagement Library Beta
+
* ProfileManagement Library 1.0 Final
* DILIGENTProvider Beta
+
* DILIGENTProvider 1.0 Final
* Authentication API Beta
+
* DILIGENT Provider Stubs 1.0 Final
* Delegation Service Beta
+
* Authentication API 1.0 Final
* Delegation Stubs Beta
+
* Delegation Service 1.0 Final
* DVOS Common Library Beta
+
* Delegation Stubs 1.0 Final
* Gas stubs Beta
+
* DVOS Common Library 1.0 Final
* DILIGENT Provider Stubs Beta
+
* a customised distribution of the Aggregator Framework for Java WS Core 4.0.4
 
+
All the components above are also available in ETICS in their *_0_3_0 configurations.
All the components above are also available in ETICS in their *_0_2_0 configurations.
+
  
 
== Post-installation configuration ==
 
== Post-installation configuration ==
Line 79: Line 80:
 
The Log4J output should be redirected on the file system in order to simplify the debugging of what is happening on the DHN and the exchange of such information. The following configuration in the ''$GLOBUS_LOCATION/container-log4j.properties'' file has to replace the default one for the log4j.appender.A1:
 
The Log4J output should be redirected on the file system in order to simplify the debugging of what is happening on the DHN and the exchange of such information. The following configuration in the ''$GLOBUS_LOCATION/container-log4j.properties'' file has to replace the default one for the log4j.appender.A1:
 
<pre>
 
<pre>
 +
# A1 is set to be a RollingFileAppender
 
log4j.appender.A1=org.apache.log4j.RollingFileAppender
 
log4j.appender.A1=org.apache.log4j.RollingFileAppender
 
log4j.appender.A1.file=container.log
 
log4j.appender.A1.file=container.log
 
log4j.appender.A1.MaxFileSize=10000KB
 
log4j.appender.A1.MaxFileSize=10000KB
# Keep ten backup file
+
# Keep 100 backup files
 
log4j.appender.A1.MaxBackupIndex=100
 
log4j.appender.A1.MaxBackupIndex=100
  
Line 103: Line 105:
  
 
===== server-config.wsdd =====
 
===== server-config.wsdd =====
This file includes a set of global properties related to the container. It is located in the ''$GLOBUS_LOCATION/etc/globus_wsrf_core/'' directory.
+
This file includes a set of global properties related to the container. It is located in the ''$GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd''.
 
It must be changed in order to allow the DHN to publish its hostname. The following two lines have to be added in the <globalConfiguration> section:  
 
It must be changed in order to allow the DHN to publish its hostname. The following two lines have to be added in the <globalConfiguration> section:  
  
Line 119: Line 121:
 
The HNMService performs JNDI lookups for some static configuration parameters. Its JNDI file is located in ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/jndi-config.xml''
 
The HNMService performs JNDI lookups for some static configuration parameters. Its JNDI file is located in ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/jndi-config.xml''
  
The global resource ''HNMServiceConfiguration'' groups the configuration parameters. The following ones have to be changed accordingly to the suggestion reported:
+
The global resource ''HNMServiceConfiguration'' groups the configuration parameters. The following ones have to be changed accordingly to the suggestions reported:
  
 +
*''infrastructure'' This parameter specify the type of infrastructure to join:
 +
** PPS: the PPS infrastructure (in case the DHN has to join Arte or ImpECt VOs)
 +
** development: the development infrastructure (in case the DHN has to join the devsec VO)
 +
The default value is PPS.
 
* ''defaultVO''
 
* ''defaultVO''
** This parameter has to be filled with the name of the VO in which the DHN will act. This is the Default VO where the DHN and all the hosted RIs will be published as default behavior. The DHN is pre-configured to work in three different VOs (ARTE, ImpECt and Testing). One of the followings has to be specified as default VO value:
+
** This parameter has to be filled with the name of the VO in which the DHN will act. This is the Default VO where the DHN and all the hosted RIs will be published as default behavior. The DHN is pre-configured to work in three different VOs (ARTE, ImpECt and Development) or in the root VO (named diligent). One of the followings has to be specified as default VO value:
*** /diligent &rarr; to join only the global DILIGENT VO (working in the pre-production infrastructure)
+
*** /diligent &rarr; to join only the global DILIGENT VO  
 
*** /diligent/ARTE &rarr; to join the ARTE VO (working in the pre-production infrastructure)
 
*** /diligent/ARTE &rarr; to join the ARTE VO (working in the pre-production infrastructure)
 
*** /diligent/ImpECt &rarr; to join the ImpECt VO (working in the pre-production infrastructure)
 
*** /diligent/ImpECt &rarr; to join the ImpECt VO (working in the pre-production infrastructure)
*** /diligent/dev &rarr; to join the Development VO (working in the development infrastructure)
+
*** /diligent/devsec &rarr; to join the Secure Development VO (working in the development infrastructure)
  
 +
The default value is /diligent.
  
 
* ''DHNProfileUpdateIntervalInMillis''
 
* ''DHNProfileUpdateIntervalInMillis''
 
** the DHN profile is updated accordingly to this interval. The interval is specified as milliseconds.
 
** the DHN profile is updated accordingly to this interval. The interval is specified as milliseconds.
 
* ''latitude'' + ''longitude''
 
* ''latitude'' + ''longitude''
** these two coordinates are used to correctly locate the DHN on the Google Map visualized by the Monitoring Portlet. To discover which are the coordinates  for the DILIGENT partner DHNs see [[DHN-coordinates|here]]
+
** these two coordinates are used to correctly place the DHN on the Google Map visualized by the Monitoring Portlet. To discover which are the coordinates  for the DILIGENT partner DHNs see [[DHN-coordinates|here]]
 
* ''country'': two letter code of the country (e.g. IT)
 
* ''country'': two letter code of the country (e.g. IT)
* ''location'': a freetext placeholder (e.g. Pisa)
+
* ''location'': a free text placeholder (e.g. Pisa)
 
* ''localFileSystem''
 
* ''localFileSystem''
 
** the partition on your file system that you want to share with the hosted services
 
** the partition on your file system that you want to share with the hosted services
 
* ''DHNType''
 
* ''DHNType''
** allowed values here are: Dynamic, Static and SelfCleaning. A static DHN is not used as target for the dynamic deployment, while a SelfCleaning is automatically cleaned every night (used just for demos). The default value is Dynamic.
+
** allowed values here are: ''Dynamic,'' ''Static'' and ''SelfCleaning.'' A static DHN is not used as target for the dynamic deployment, while a SelfCleaning is automatically cleaned every night (used just for demos). The default value is Dynamic.
 
+
* ''securityEnabled''
 
+
** if ''true,'' the DHN supports a secure context both at VO and DL level. In this case, it is necessary to
 +
# configure the DHN following the instructions reported [[How_To_Configure_DHN_Security|here]]
 +
# overwrite the ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/deploy-server.wsdd'' with the ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/deploy-server.wsdd_SEC''
 +
*''rootDHN''
 +
** state if the DHN is a root DHN or not (the root DHNs are special nodes dedicated to the VO management)
 
There are other parameters in the resource and they have to be left with their default values.
 
There are other parameters in the resource and they have to be left with their default values.
  
=== Scripts ===
+
===== DHN static description file =====
 +
The DHN profile can be enriched with some static labels that describes the DHN characteristics. These labels are matched at deployment time with the ones reported . Such labels can be added to the ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/customDHNlabels.xml'' file.
  
Scripts that have to be run that take care of post installation activities:
+
===== VOMap files =====
 +
A VO Map is a file placed in the ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/VOMaps'' folder reporting all the basic EPRs needed to properly startup a DHN. Such EPRs are the starting point to discover all the others gCube resource available in the VO.
 +
<br>
 +
An example of VO Map file can be found [[DHN_Installation:VOMap-example|here]]
 +
<br>
 +
The file name has to follow a naming convention:
 +
* ''VOMap_<VO-name>.xml'' if the VO is not the root one in the current infrastructure
 +
* ''VOMap_<VO-name>_<infrastructure-name>.xml'' if the VO is the root one
  
 
== Testing and Verification ==
 
== Testing and Verification ==
Line 151: Line 170:
 
After the installation the DHN automatically joins the Beta infrastructure of DILIGENT. This is a completely new infrastructure that officially becomes the target infrastructure for the Beta releases of all the DILIGENT components. All the profiles produced by the DHN software are published on this new infrastructure glued together by the Beta release of the Collective Layer components.  
 
After the installation the DHN automatically joins the Beta infrastructure of DILIGENT. This is a completely new infrastructure that officially becomes the target infrastructure for the Beta releases of all the DILIGENT components. All the profiles produced by the DHN software are published on this new infrastructure glued together by the Beta release of the Collective Layer components.  
  
To understand if a DHN has been successfully installed it is important to check if the DHN profile and the HNMService Running Instance profiles are correctly published in the DIS of such a infrastructure. A new [http://dlib25.isti.cnr.it/diligent/diligent DILIGENT Administrative Portal] is available to manage this new infrastructure. In order to access to the monitoring capabilities of the Portal, you can use the following:
+
To understand if a DHN has been successfully installed it is important to check if the DHN profile and the HNMService Running Instance profiles are correctly published in the DIS of such a infrastructure. A new [http://dlib25.isti.cnr.it/ DILIGENT Administrative Portal] is available to manage this new infrastructure. In order to access to the monitoring capabilities of the Portal, you can use the following:
 
* user ''monitoring''
 
* user ''monitoring''
 
* pass ''monitoring''
 
* pass ''monitoring''
 
 
  
 
== Installation Troubleshooting ==
 
== Installation Troubleshooting ==
 +
In case something goes wrong in the restart of the Java WS Core container after an upgrade of the DHN, it is possible to source the ''$GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/utils/cleanDHNstate.sh"" script. This script cleans up the DHN state and forces the HNM Service to rebuild the DHN state from scratch. The script has to be executed when the container is not running.
 +
<br><br>
 +
[[User:Manuelesimi|Manuelesimi]] 20:12, 4 December 2007 (EET)

Latest revision as of 18:55, 6 July 2016

Alert icon2.gif THIS SECTION OF GCUBE DOCUMENTATION IS OBSOLETE. THE NEW VERSION IS UNDER CONSTRUCTION.

Host preparation

Minimal host requirements

  • Operating System
    • any Unix-based tested platform for Java WS Core
      • tested platform: SL3.0, Red Hat FC6, Ubuntu
  • Connectivity
    • a machine configured with a static IP address

Migrating from the previous releases

The 1.0 version of the DHN bundle can be installed as a full installation as well as an upgrade from a previous DHN distribution.

Package Installation

Download

The DHN 1.0 can be downloaded from here.

Installation Procedure

After having prepared the node as described in Host preparation, the following steps have to be performed in order to install the DHN:

  • uncompress the DHN_installer_1.0.tar.gz file
  • stop the Java WS Core container (if any)
  • source your ${GLOBUS_LOCATION}/etc/globus-devel-env.sh file
  • if you are installing the DHN from scratch
    • type make install in the uncompressed ./DHN_installer_1.0 folder
  • if you are upgrading a previous FRC installation:
    • type make upgradeFromFRC in the uncompressed ./DHN_installer_1.0 folder
  • if you are upgrading a previous Beta installation:
    • type make upgradeFromBeta in the uncompressed ./DHN_installer_1.0 folder
  • follow the Post-installation configuration steps
  • (re)start the container

Included software

The Final Release Candidate version of the DHN Installer includes the following Collective Layer components:

  • NAL 1.0 Final
  • DIS-HLSClient 1.0 Final
  • DIS-IP 1.0 Final
  • HNM Service 1.0 Final
  • HNM Service stubs 1.0 Final
  • DIS-IC stubs 1.0 Final
  • DIS-Registry stubs 1.0 Final
  • DIS-Broker stubs 1.0 Final
  • DLManagement stubs 1.0 Final
  • KeeperCommon Library 1.0 Final
  • DIS-Util Library 1.0 Final
  • ProfileManagement Library 1.0 Final
  • DILIGENTProvider 1.0 Final
  • DILIGENT Provider Stubs 1.0 Final
  • Authentication API 1.0 Final
  • Delegation Service 1.0 Final
  • Delegation Stubs 1.0 Final
  • DVOS Common Library 1.0 Final
  • a customised distribution of the Aggregator Framework for Java WS Core 4.0.4

All the components above are also available in ETICS in their *_0_3_0 configurations.

Post-installation configuration

Configuration files

Configuration files that have to be edited after the installation:

Java WS Core

container-log4j.properties

The Log4J output should be redirected on the file system in order to simplify the debugging of what is happening on the DHN and the exchange of such information. The following configuration in the $GLOBUS_LOCATION/container-log4j.properties file has to replace the default one for the log4j.appender.A1:

# A1 is set to be a RollingFileAppender
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.file=container.log
log4j.appender.A1.MaxFileSize=10000KB
# Keep 100 backup files
log4j.appender.A1.MaxBackupIndex=100


# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} [%t,%M:%L] %m%n

# Display any warnings generated by our code
log4j.category.org.globus=INFO

This configuration enables the file rolling behavior and a rollover schedule when the file log size reaches 10MB by managing in this way 100 log files.

Moreover, we initially suggest also to enable a DEBUG log level for the HNMService and the Profile Management Library. In order to do that, add the following lines to the same file:

log4j.category.org.diligentproject.keeperservice.hnm.impl=DEBUG
log4j.category.org.diligentproject.common.profile.impl=DEBUG
server-config.wsdd

This file includes a set of global properties related to the container. It is located in the $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd. It must be changed in order to allow the DHN to publish its hostname. The following two lines have to be added in the <globalConfiguration> section:

<parameter name="logicalHost" value="yourHostName.yourDomain"/>
<parameter name="publishHostName" value="true"/>

Of course, the yourHostName.yourDomain string must be replaced with your real hostname.

HNMService

JNDI file

The HNMService performs JNDI lookups for some static configuration parameters. Its JNDI file is located in $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/jndi-config.xml

The global resource HNMServiceConfiguration groups the configuration parameters. The following ones have to be changed accordingly to the suggestions reported:

  • infrastructure This parameter specify the type of infrastructure to join:
    • PPS: the PPS infrastructure (in case the DHN has to join Arte or ImpECt VOs)
    • development: the development infrastructure (in case the DHN has to join the devsec VO)

The default value is PPS.

  • defaultVO
    • This parameter has to be filled with the name of the VO in which the DHN will act. This is the Default VO where the DHN and all the hosted RIs will be published as default behavior. The DHN is pre-configured to work in three different VOs (ARTE, ImpECt and Development) or in the root VO (named diligent). One of the followings has to be specified as default VO value:
      • /diligent → to join only the global DILIGENT VO
      • /diligent/ARTE → to join the ARTE VO (working in the pre-production infrastructure)
      • /diligent/ImpECt → to join the ImpECt VO (working in the pre-production infrastructure)
      • /diligent/devsec → to join the Secure Development VO (working in the development infrastructure)

The default value is /diligent.

  • DHNProfileUpdateIntervalInMillis
    • the DHN profile is updated accordingly to this interval. The interval is specified as milliseconds.
  • latitude + longitude
    • these two coordinates are used to correctly place the DHN on the Google Map visualized by the Monitoring Portlet. To discover which are the coordinates for the DILIGENT partner DHNs see here
  • country: two letter code of the country (e.g. IT)
  • location: a free text placeholder (e.g. Pisa)
  • localFileSystem
    • the partition on your file system that you want to share with the hosted services
  • DHNType
    • allowed values here are: Dynamic, Static and SelfCleaning. A static DHN is not used as target for the dynamic deployment, while a SelfCleaning is automatically cleaned every night (used just for demos). The default value is Dynamic.
  • securityEnabled
    • if true, the DHN supports a secure context both at VO and DL level. In this case, it is necessary to
  1. configure the DHN following the instructions reported here
  2. overwrite the $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/deploy-server.wsdd with the $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/deploy-server.wsdd_SEC
  • rootDHN
    • state if the DHN is a root DHN or not (the root DHNs are special nodes dedicated to the VO management)

There are other parameters in the resource and they have to be left with their default values.

DHN static description file

The DHN profile can be enriched with some static labels that describes the DHN characteristics. These labels are matched at deployment time with the ones reported . Such labels can be added to the $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/customDHNlabels.xml file.

VOMap files

A VO Map is a file placed in the $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/VOMaps folder reporting all the basic EPRs needed to properly startup a DHN. Such EPRs are the starting point to discover all the others gCube resource available in the VO.
An example of VO Map file can be found here
The file name has to follow a naming convention:

  • VOMap_<VO-name>.xml if the VO is not the root one in the current infrastructure
  • VOMap_<VO-name>_<infrastructure-name>.xml if the VO is the root one

Testing and Verification

After the installation the DHN automatically joins the Beta infrastructure of DILIGENT. This is a completely new infrastructure that officially becomes the target infrastructure for the Beta releases of all the DILIGENT components. All the profiles produced by the DHN software are published on this new infrastructure glued together by the Beta release of the Collective Layer components.

To understand if a DHN has been successfully installed it is important to check if the DHN profile and the HNMService Running Instance profiles are correctly published in the DIS of such a infrastructure. A new DILIGENT Administrative Portal is available to manage this new infrastructure. In order to access to the monitoring capabilities of the Portal, you can use the following:

  • user monitoring
  • pass monitoring

Installation Troubleshooting

In case something goes wrong in the restart of the Java WS Core container after an upgrade of the DHN, it is possible to source the $GLOBUS_LOCATION/etc/org_diligentproject_keeperservice_hnm/utils/cleanDHNstate.sh"" script. This script cleans up the DHN state and forces the HNM Service to rebuild the DHN state from scratch. The script has to be executed when the container is not running.

Manuelesimi 20:12, 4 December 2007 (EET)