Note: We recommend you use *pthr flavor. Some features don't work with non-*pthr flavor.
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 4.x.x in the command is the version number.)
% gunzip -c ng-4.x.x.tgz | tar xvf -
Executing the above command will create a "ng-4.x.x" directory and expand the Ninf-G source files in that directory.
Note: The Ninf-G package is created by GNU tar, so it requires you to use GNU tar to expand the package.
(Move to the directory in which the source files are expanded.)
% cd ng-4.x.x
% ./configure
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.
% ./configure --prefix=/usr/local/ng --with-globusFlavor=gcc32dbgpthr
In this example, the following parameters are specified.
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 $GPT_LOCATION/sbin/gpt-query command instead.)
If the Ninf-G user desires to use MDS2 or MDS4 on a C client, --with-mds2 or --with-mds4 options must be specified.
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
Execute the following command in the directory for expanding the source files.
% make
Executing make generates the libraries needed by Ninf-G as well as an executable binary file.
In Ninf-G, the Makefile is created by using the GNU autoconf configure script. If there is code in the Makefile written with the POSIX make program that cannot be executed, try using the GNU make program.
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.
If you want to specify a number of CPUs for MPI for LocalLDIF(*.ngdef), you have to modify < package_dir > /etc/server.conf and change the variable of MPIRUN_NO_OF_CPUS.
% 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 MDS 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 MDS2 or MDS4, MDS setup is required. This is required only on gatekeeper nodes.
Execute the following command with owner user privileges
for $GLOBUS_LOCATION (for example, "globus").
If you want to specify the number of CPUs for MPI, you have to edit
server_install and change the variable of MPIRUN_NO_OF_CPUS.
% cd ng-4.x.x/utility/script
% ./server_install
If the Ninf-G Client uses MDS2, MDS2 setup is required. This is required only on gatekeeper nodes.
Execute the following items with owner user privileges for $GLOBUS_LOCATION (for example, "globus").
"include ${GLOBUS_LOCATION}/etc/grid-info-resource.schema"
Below that line, add the following line.
"include ${GLOBUS_LOCATION}/etc/grpc.schema"
% ${GLOBUS_LOCATION}/sbin/globus-mds stop
% ${GLOBUS_LOCATION}/sbin/globus-mds start
If the Ninf-G Client uses MDS4, MDS4 setup is required. This is required only on gatekeeper nodes.
Execute the following items with owner user privileges for $GLOBUS_LOCATION (for example, "globus").
% cd ng-4.x.x/infoService
% ant
% ant deploy
Edit URL in wsa:Address element in $GLOBUS_LOCATION/etc/ng4grpcinfo/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/ng4grpcinfo/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/ng4grpcinfo/jndi-config.xml to match the following description.
This may be $GLOBUS_LOCATION/var/gridrpc .
Append following line to $GLOBUS_LOCATION/container-log4j.properties .
log4j.category.org.apgrid=INFO
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/ng4grpcinfo.jar:$CLASSPATH \ org.apgrid.ninf.ng4.grpcinfo.client.RescanClient \ -s https://[IP-ADDR or FQDN]:8443/wsrf/services/org/apgrid/ninf/ng4/grpcinfo/GrpcInfoService
The available options can be displayed with the following command.
% ./configure --help
The options that can be used with the configure script are described below.
The general configure command options have no effect on the Ninf-G functions.
option | description |
---|---|
--cache-file=FILE | Cache test results in FILE |
--help | Print help message |
--no-create | Do not create output files |
--quiet, --silent | Do not print `checking...' messages |
--version | Print the version of autoconf that created configure |
Specify the location for installing Ninf-G.
Specify the installation path for the targets listed below.
The default values are shown.
option | default | description |
---|---|---|
--prefix=PREFIX | /usr/local | Install architecture-independent files in PREFIX |
--exec-prefix=EPREFIX | same as prefix | Install architecture-dependent files in EPREFIX |
--bindir=DIR | EPREFIX/bin | User executables in DIR |
--sbindir=DIR | EPREFIX/sbin | System admin executables in DIR |
--libexecdir=DIR | EPREFIX/libexec | Program executables in DIR |
--datadir=DIR | EPREFIX/share | Read-only architecture-independent data in DIR |
--sysconfdir=DIR | EPREFIX/etc | Read-only single-machine data in DIR |
--sharedstatedir=DIR | EPREFIX/com | Modifiable architecture-independent data in DIR |
--localstate=DIR | EPREFIX/var | Modifiable single-machine data in DIR |
--lib-dir=DIR | EPREFIX/lib | Object code libraries in DIR |
--includedir=DIR | EPREFIX/include | C header files in DIR |
--oldincludedir=DIR | /usr/include | C header files for non-gcc in DIR |
--infodir=DIR | EPREFIX/info | Info documentation in DIR |
--mandir=DIR | EPREFIX/man | Man documentation in DIR |
--srcdir | configure dir or ... | Find the sources in DIR |
--program-prefix=PREFIX | Prepend PREFIX to installed program names | |
--program-suffix=SUFFIX | Append SUFFIX to installed program names | |
--program-transform-name=PROGRAM | Run sed PROGRAM on installed program names |
option | default | description |
---|---|---|
--disable-FEATURE | Do not include FEATURE (same as --enable-FEATURE=no) | |
--enable-FEATURE[=ARG] | ARG=yes | Include FEATURE |
--with-PACKAGE[=ARG] | ARG=yes | Use PACKAGE |
--without-PACKAGE | Do not use PACKAGE (same as --with-PACKAGE=no) | |
--with-globusFlavor=FLAVOR | gcc32dbgpthr | Specify Globus runtime library flavor |
--with-mds | Obsolete option (use mds2 or mds4) | |
--with-mds2 | no | Include functions for getting information on servers and functions from PreWS MDS |
--with-mds4 | no | Include functions for getting information on servers and functions from WS MDS |
--with-zlib | yes if available | Use zlib for compression |
--with-largefile | yes | Support largefile |
--with-cc=CC | cc | Specify C compiler to use |
--with-opt=OPT | Specify C compiler options for optimization | |
--with-debug=OPT | Specify C compiler options for debuggable executable file creation | |
--with-cppflag=OPT | Specify C preprocessor options | |
--with-python | Specify python command path | |
--with-naregi | no | Support NAREGI SS. |
--with-naregidir=NAREGIDIR | /usr/naregi | Specify the directory in which NAREGI Middleware has been installed. |
--enable-gcc | Allow use of gcc if available | |
--enable-debug | no | Enable generate executable with debug symbol |
Ninf-G requires 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.1 or later (not 4.0.0) and "source" installer).
% cd dirForInstaller % gunzip -c [TARBALL LOCATION]/gt4.0.1-all-source-installer.tar.gz | tar xf - % cd gt4.0.1-all-source-installer % ./configure --prefix=/path/to/gt4-install % make % make install
Note: Use of MDS2 on Ninf-G requires the --enable-prewsmds option on GT4.
See also information about setting the Globus Toolkit at following URL.
http://www.globus.org/toolkit/docs/4.0/admin/docbook/Ninf-G4 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
$ 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.wsdd
This 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:
[1]: https://[IP-ADDR]:8443/wsrf/services/TriggerFactoryService [2]: https://[IP-ADDR]:8443/wsrf/services/DelegationTestService .... [48]: https://[IP-ADDR]:8443/wsrf/services/CASService [49]: 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.
If the Ninf-G C Client uses MDS4, the Index Service Bindings should be installed with Globus Toolkit.
Execute the following items with owner user privileges for $GLOBUS_LOCATION (for example, "globus").
% cd gt4.0.1-all-source-installer % make globus_c_wsrf_core_bindings-thr % make globus_handler_ws_addressing-thr % $GLOBUS_LOCATION/sbin/gpt-build index_service_bindings-1.2.tar.gz [flavor]
Note: threaded flavor recommended.
An index_service_bindings package is not prepared at the beginning. The user must create the package.
Note: For convenience, the Ninf-G4 package includes a generated index_service_bindings package on ng-4.x.x/external/index_service.
% cp \ gt4.0.1-all-source-installer/source-trees/wsrf/c/parser/cgen/source/globus_wsrf_bindings_template.tar.gz \ $GLOBUS_LOCATION/share/globus_c_wsrf_cgen
Edit and remove line 657 of $GLOBUS_LOCATION/share/globus_c_wsrf_cgen/client-stub-source-doclit.tmpl .
|
% $GLOBUS_LOCATION/bin/globus-wsrf-cgen -no-service \ -s index_service -flavor gcc32dbg -d $PWD/bindings \ $GLOBUS_LOCATION/share/schema/mds/index/index_service.wsdl
The package is created in bindings/index_service_bindings-1.2.tar.gz
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)
$GLOBUS_LOCATION/ +etc | +grid-info-resource-ldif.conf (optional) (*1) | +grpc.schema (optional) | +gpt | | +packages | | +ng4grpcinfo (optional) | | +undeploy.xml (optional) | +ng4grpcinfo (optional) | +regist.xml (optional) | +server-config.wsdd (optional) | +jndi-config.xml (optional) +lib | +ng4grpcinfo.jar (optional) | +ng4grpcinfo_stubs.jar (optional) +share | +schema | +ng4grpcinfo (optional) | +GrpcInfo_flattened.wsdl (optional) | +GrpcInfo.wsdl (optional) | +GrpcInfo_service.wsdl (optional) | +GrpcInfo_bindings.wsdl (optional) +var +gridrpc (optional) +catldif (optional) +root.ldif (optional) +*.ldif (optional) *1) The information of Ninf-G was added to this file. $NG_DIR +bin | +base64encode | +globusflags | +ng_cc | +ng_delete_functions | +ng_dump_functions | +ng_gen | +ng_gen_dif | +ng_invoke_server.Condor (optional) | +ng_invoke_server.GT2c | +ng_invoke_server.GT4java (optional) | +ng_invoke_server.GT4py | +ng_invoke_server.SSH | +ng_invoke_server.NAREGISS (optional) | +ng_version +doc | +tutorial | +users_manual +etc | +gpt-query-result.txt | +ng_invoke_server.GTtempl | +ninfg-user-env.csh | +ninfg-user-env.sh | +server.conf +include | +grpc.h | +grpcError.h | +grpcLocal.h | +grpc_executable.h | +net.h | +ng.h | +ngClientInternal.h | +ngCommon.h | +ngConfig.h | +ngConfigFile.h | +ngEx.h | +ngExecutableInternal.h | +ngFunctionInformation.h | +ngInternal.h | +ngPlatform.h | +ngXML.h +lib +classad.jar (optional) +condorAPI.jar (optional) +condorIS.jar (optional) +gt4invokeserver.py +gt4invokeserverconfig.py +ioutils.py +libexpat.a +libngclient.a +libngcommon.a +libngexecutable.a +libnggrpc.a +libngnet.a +libngutility.a +ng_invoke_server.GT4.py +ng_invoke_server.jar (optional) +ngisgt4.jar (optional) +ngutils.py +template.mk +template.sh +uuid.py +naregissIS.jar (optional) +naregiss_is_execute.sh (optional)