Download the Ninf-G package from the download Web page( http://ninf.apgrid.org/packages/welcome.html).
It is recommended that you create a "ninf" user on the installation system.
It is also possible, however, to install Ninf-G in a location where the user has read and write privileges under general user privileges (that user's home directory, for example).
Move the files of the downloaded package to the directory in which the source files are to be expanded and then use the following command to expand the Ninf-G package files. (The ng5-CCYYMMDD.tgz in the command is a package name and 5.x.x is the version number.)
% tar xfvz ng5-CCYYMMDD.tgz
Executing the above command will create a "ng-5.x.x" directory and expand the Ninf-G source files in that directory.
Note: Use the GNU tar to expand the package.
(Move to the directory in which the source files are expanded.)
% cd ng-5.x.x
Executing the above command, the host software environment is examined, and the execution environment for the tools used by compile is prepared (creating Makefile, etc.).
Parameters such as those for specifying a particular Ninf-G installation directory can be included as shown below.
For non Globus Toolkit environment:
% ./configure --prefix=/usr/local/ng
For Globus Toolkit environment:
% ./configure --prefix=/usr/local/ng --with-cc=gcc --with-globusFlavor=gcc32dbgpthr
In this example, the following parameters are specified.
If the Globus Toolkit is used, The flavor must be Pthread (*pthr) and the compiler must be the same as the compiler by which the Globus Toolkit was compiled.
If you do not know about flavors, ask the administrator for flavors which the system-installed Globus Toolkit implies. (The flavors may be obtained by $GLOBUS_LOCATION/sbin/gpt-query command instead.)
Other options are described in section 2.4. The options that can be used with the configure command can be viewed with the following command.
% ./configure --help
Executing make generates the libraries needed by Ninf-G as well as an executable binary file.
Note: Use the GNU make.
To configure either the server environment only or the client environment only, run one of the following make commands.
The following command can be used to configure the server environment only.
% make server
The following command can be used to configure the client environment only.
% make client
With owner privileges for the directory in which the files are to be installed (specified by a --prefix at the time of configure command; the default is "/usr/local"), execute the following command from the directory in which the source files were expanded.
% make install
Executing the above command copies the libraries and executable binaries created by executing the make command and the commands needed to run Ninf-G to the specified directory.
To install either the server environment only or the client environment only, execute the make command as described below.
It is possible to install only the server environment by executing the following command.
% make install_server
It is possible to install only the client environment by executing the following command.
% make install_client
(The following commands are executed only on the server machine
(where the Ninf-G Executable is run).
If Information Service MDS4 is not being used, the following tasks are not necessary. In that case, owner user privileges for $GLOBUS_LOCATION are also not needed.)
If the Ninf-G Client uses Information Service MDS4, MDS4 server setup is required. This is required only on gatekeeper nodes.
Execute the following items with owner user privileges for $GLOBUS_LOCATION (for example, "globus").
% mkdir -p $GLOBUS_LOCATION/var/gridrpc % chmod a+w $GLOBUS_LOCATION/var/gridrpc % chmod +t $GLOBUS_LOCATION/var/gridrpc
% cd ng-5.x.x/src/InformationService/mds4/webService % ant % ant deploy
Edit URL in wsa:Address element in $GLOBUS_LOCATION/etc/ng5grpcinfo/regist.xml . (You'll have to modify example.org to the IP-address or FQDN of your host.)
Edit the hostName in $GLOBUS_LOCATION/etc/ng5grpcinfo/jndi-config.xml to match the following description.
Note. This hostname is the name of the GRAM server host.
Edit the infoDirPath in $GLOBUS_LOCATION/etc/ng5grpcinfo/jndi-config.xml to match the following description.
This may be $GLOBUS_LOCATION/var/gridrpc .
Append following line to $GLOBUS_LOCATION/container-log4j.properties .
Restart the WS Servlet container, and watch the console output. If the following message is output, registration was successful.
????-??-?? ??:??:??,??? INFO impl.GrpcInfoHome [Thread-?,run:???] done rescan to regist
Note: If you change the information of the executable in $GLOBUS_LOCATION/var/gridrpc, the following command forcibly updates this information immediately.
% java -DGLOBUS_LOCATION=$GLOBUS_LOCATION \ -classpath $GLOBUS_LOCATION/lib/ng5grpcinfo.jar:$CLASSPATH \ org.apgrid.ninf.ng5.grpcinfo.client.RescanClient \ -s https://[IP-ADDR or FQDN]:8443/wsrf/services/org/apgrid/ninf/ng5/grpcinfo/GrpcInfoService
The entire options can be displayed with the following command.
% ./configure --help
The options that can be used with the configure script are described below.
|--enable-debug||no default value||whether to use debug option or not|
|--enable-optimize||no default value||whether to use optimize option or not|
|--disable-largefile||yes||omit support for large files|
|--with-pthread||yes||use pthread or not, for non Pthreads environment|
yes (except MacOS X)
no (MacOS X)
|whether to use poll or not|
yes (MacOS X)
no (except MacOS X)
|whether to use select or not|
yes (if zlib is available)
no (if zlib is unavailable)
|use zlib for compression|
|--with-signal||yes||whether to use signal or not|
|--with-python||yes||specify python command path|
yes (if GLOBUS_LOCATION is defined)
|--with-globusFlavor||gcc32dbgpthr||Globus Toolkit flavor|
yes (if GLOBUS_LOCATION is defined and pthread is available)
|whether to use Pre-WS GRAM or not|
yes (if GLOBUS_LOCATION is defined and python 2.3 or later is available)
|whether to use WS GRAM or not|
yes (if GLOBUS_LOCATION is defined and pthread is available)
|whether to use Communication Proxy GT or not|
|--with-ssh||yes||whether to use Invoke Server SSH or not||--with-naregi||no||Support NAREGI SS.|
|--with-naregidir=NAREGIDIR||/usr/naregi||Specify the directory in which NAREGI Middleware has been installed.|
|--with-nrf||yes||whether to use Information Service NRF or not|
Ninf-G can compile with Globus Toolkit installation. This appendix shows how to accomplish GT4 installation. When you install GT4, refer to Globus Website for exact information.
This section gives hints for installing GT4.
Make the temporary directory.
% mkdir dirForInstaller
Install GT4 (we recommend Version 4.0.5 or later and "source" installer).
% cd dirForInstaller % tar xfvz [TARBALL LOCATION]/gt4.0.6-all-source-installer.tar.gz % cd gt4.0.6-all-source-installer % ./configure --prefix=/path/to/gt4-install % make % make install
See also information about setting the Globus Toolkit at following URL.http://www.globus.org/toolkit/docs/4.0/admin/docbook/
Ninf-G requires some components of the Globus Toolkit. Following URLs provide information about setting of components.
Globus Toolkit provides Usage statistics. (See http://www.globus.org/toolkit/docs/4.0/Usage_Stats.html) If you desire to prevent this, match the following configuration changes.
Set the environment variable "GLOBUS_USAGE_OPTOUT" to "1."
% setenv GLOBUS_USAGE_OPTOUT 1
$ export GLOBUS_USAGE_OPTOUT
Comment out the "usageStatisticsTargets" parameter in the configuration file $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsddThis setting,
<globalConfiguration> <parameter name="usageStatisticsTargets" value="usage-stats.globus.org:4810"/>Delete or comment out as follows.
<globalConfiguration> <!--parameter name="usageStatisticsTargets" value="usage-stats.globus.org:4810"/-->Also check the following URLs.
Setup the environment variable and execute the script for setting up the environment.
% setenv GLOBUS_LOCATION /path/to/gt4-install % source $GLOBUS_LOCATION/etc/globus-user-env.csh
$ GLOBUS_LOCATION=/path/to/gt4-install $ export GLOBUS_LOCATION $ . $GLOBUS_LOCATION/etc/globus-user-env.sh
% cd $GLOBUS_LOCATION % ./bin/globus-start-container
Starting the SOAP server at: https://[IP-ADDR]:8443/wsrf/services/ with the following services:
: https://[IP-ADDR]:8443/wsrf/services/TriggerFactoryService : https://[IP-ADDR]:8443/wsrf/services/DelegationTestService .... : https://[IP-ADDR]:8443/wsrf/services/CASService : https://[IP-ADDR]:8443/wsrf/services/ManagedJobFactoryService
Test the WS GRAM using following procedures.
% cd $GLOBUS_LOCATION % ./bin/grid-proxy-init (input your passphrase) % globusrun-ws -submit -job-description-file \ $GLOBUS_LOCATION/test/globus_wsrf_gram_service_java_test_unit/test.xml Submitting job...Done. Job ID: uuid:[UUIDUUID-UUID-UUID-UUID-UUIDUUIDUUID] Termination time: MM/DD/CCYY HH:MM GMT Current job state: Unsubmitted Current job state: Done Destroying job...Done.
It is recommended to install Globus Toolkit from source installer. If Globus Toolkit is installed from binary installer, you need to install globus_core with the following command:
% $GLOBUS_LOCATION/sbin/gpt-build -nosrc <flavor>
Where flavor is the Globus Toolkit flavor you're passing to Ninf-G configure script.
(GT4 Admin Guide B.4. Using globus-makefile-header with a binary distribution)
The installed file composition is listed below.
$GLOBUS_LOCATION/ +etc | +gpt | | +packages | | +ng5grpcinfo (optional) | | +undeploy.xml (optional) | +ng5grpcinfo (optional) | +regist.xml (optional) | +server-config.wsdd (optional) | +jndi-config.xml (optional) +lib | +ng5grpcinfo.jar (optional) | +ng5grpcinfo_stubs.jar (optional) +share | +schema | +ng5grpcinfo (optional) | +GrpcInfo_flattened.wsdl (optional) | +GrpcInfo.wsdl (optional) | +GrpcInfo_service.wsdl (optional) | +GrpcInfo_bindings.wsdl (optional) +var +gridrpc (optional) $NG_DIR +bin | +ng_version | +ng_hostname | +ng_cc | +ng_gen | +ng_gen_nrf | +ng_invoke_server.GT4py (optional) | +ng_invoke_server.GT2c (optional) | +ng_invoke_server.SSH (optional) | +ng_invoke_server.Condor (optional) | +ng_invoke_server.NAREGISS (optional) | +ng_invoke_server.GT4java (optional) | +ng_client_communication_proxy.GT (optional) | +ng_remote_communication_proxy.GT (optional) | +ng_client_relay.GT (optional) | +ng_remote_relay.GT (optional) | +ng_information_service.NRF (optional) | +ng_information_service.MDS4 (optional) +doc | +tutorial | +users_manual +etc | +ng_invoke_server.GTtempl | +ninfg-user-env.csh | +ninfg-user-env.sh +include | +grpc.h | +grpc_error.h | +grpcError.h | +grpc_executable.h | +grpcLocal.h | +ng.h | +net.h | +ngClientInternal.h | +ngCommon.h | +ngConfigFile.h | +ngConfig.h | +ngEnvironment.h | +ngExecutableInternal.h | +ngEx.h | +ngFunctionInformation.h | +ngInternal.h | +ngUtility.h | +queue.h +lib +libexpat.a +libngclient.a +libngcommon.a +libngemcommon.a +libngexecutable.a +libnggrpc.a +libngnet.a +libngutility.a +template.mk +template-print.mk +ng_invoke_server.GT4.py (optional) +gt4invokeserverconfig.py (optional) +gt4invokeserver.py (optional) +ioutils.py (optional) +ngutils.py (optional) +uuid.py (optional) +classad.jar (optional) +condorAPI.jar (optional) +condorIS.jar (optional) +ng_invoke_server.jar (optional) +ngisgt4.jar (optional) +naregissIS.jar (optional) +naregiss_is_execute.sh (optional) +ng_information_service_mds4.jar (optional)