Difference between revisions of "DHN Installation"
Manuelesimi (Talk | contribs) (→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 === | ||
− | |||
− | |||
− | |||
* 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 | ||
− | |||
* Software | * Software | ||
Line 21: | Line 21: | ||
=== Migrating from the previous releases === | === Migrating from the previous releases === | ||
− | The | + | 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 | + | The DHN 1.0 can be downloaded from [https://elibrary.isti.cnr.it/svn_public/diligent_GAR/DHNInstaller/1.0/ here]. |
− | == Installation | + | === 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 '' | + | * 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) | ||
− | |||
− | |||
− | |||
− | |||
* 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 === | ||
− | + | The Final Release Candidate version of the DHN Installer includes the following Collective Layer components: | |
− | * NAL | + | * NAL 1.0 Final |
− | * DIS-HLSClient | + | * DIS-HLSClient 1.0 Final |
− | * DIS-IP | + | * DIS-IP 1.0 Final |
− | * HNM Service | + | * HNM Service 1.0 Final |
− | * HNM Service stubs | + | * HNM Service stubs 1.0 Final |
− | * DIS-IC stubs | + | * DIS-IC stubs 1.0 Final |
− | * DIS-Registry stubs | + | * DIS-Registry stubs 1.0 Final |
− | * DIS-Broker stubs | + | * DIS-Broker stubs 1.0 Final |
− | * DLManagement stubs | + | * DLManagement stubs 1.0 Final |
− | * KeeperCommon Library | + | * KeeperCommon Library 1.0 Final |
− | * DIS-Util Library | + | * DIS-Util Library 1.0 Final |
− | * ProfileManagement Library | + | * ProfileManagement Library 1.0 Final |
− | * DILIGENTProvider | + | * DILIGENTProvider 1.0 Final |
− | * Authentication API | + | * DILIGENT Provider Stubs 1.0 Final |
− | * Delegation Service | + | * Authentication API 1.0 Final |
− | * Delegation Stubs | + | * Delegation Service 1.0 Final |
− | * DVOS Common Library | + | * 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. | |
− | All the components above are also available in ETICS in their * | + | |
== 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 | + | # 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/'' | + | 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 | + | 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 | + | ** 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 → to join only the global DILIGENT VO |
*** /diligent/ARTE → to join the ARTE VO (working in the pre-production infrastructure) | *** /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/ImpECt → to join the ImpECt VO (working in the pre-production infrastructure) | ||
− | *** /diligent/ | + | *** /diligent/devsec → 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 | + | ** 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 | + | * ''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. | ||
− | === | + | ===== 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. | ||
+ | <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/ | + | 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
THIS SECTION OF GCUBE DOCUMENTATION IS OBSOLETE. THE NEW VERSION IS UNDER CONSTRUCTION.
Contents
Host preparation
Minimal host requirements
- Operating System
- any Unix-based tested platform for Java WS Core
- tested platform: SL3.0, Red Hat FC6, Ubuntu
- any Unix-based tested platform for Java WS Core
- Connectivity
- a machine configured with a static IP address
- Software
- java 1.5
- Apache ANT 1.6.0 or higher
- Java Ws Core 4.0.4
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)
- 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:
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
- configure the DHN following the instructions reported 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.
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)