0% found this document useful (0 votes)
97 views11 pages

Globus Toolkit 4 in A Windows Environment

The document discusses setting up Globus Toolkit 4 in a Windows environment. It can only support some web services functionality natively, and other key components like job submission and GridFTP are not supported. Possible solutions include using a Unix machine or virtual machine to run the full toolkit and interface with resources on Windows machines.

Uploaded by

AshokKumarSekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views11 pages

Globus Toolkit 4 in A Windows Environment

The document discusses setting up Globus Toolkit 4 in a Windows environment. It can only support some web services functionality natively, and other key components like job submission and GridFTP are not supported. Possible solutions include using a Unix machine or virtual machine to run the full toolkit and interface with resources on Windows machines.

Uploaded by

AshokKumarSekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11

Globus Toolkit 4 in a Windows Environment

Karen McPherson
Radford University
[email protected]

Abstract. Globus Toolkit 4 (GT4) has been developed to include some support
for the Microsoft Windows operating system. Unfortunately, the entire toolkit
will not function in this environment. Primarily the web services do function in
Windows enabling the organization to develop and submit services. GT4 does,
however, lack support for much of its job submission and control, therefore it is
not a solution for a Windows-only environment. This paper looks at the limited
functionality of GT4 in a strictly Windows environment and some possible
solutions for an organization facing such a scenario.

1. Introduction
Globus is the de facto standard for the grid environment. Globus Toolkit 4 (GT4) has
been developed to include some support for the Microsoft Windows operating system.
Unfortunately, the entire toolkit will not function in this environment. This paper looks
at the limited functionality of GT4 in a strictly Windows environment and some possible
solutions for an organization facing such a scenario. It is divided as follows. Section 2
looks at the features of GT4 that will work with Windows. Section 3 discusses those that
are not supported. Section 4 suggests some possible solutions for using GT4 on
Windows. Section 5 is a conclusion of the material discussed.

2. Windows Supported GT4 Features


Since “only the Java only components [of GT4] will build”1 on a windows machine the
Java WS Core is downloaded and installed. This core contains supports functionality in
Windows to develop and run web services with the Web Services Resource Framework
(WSRF) which extends Web services. The Java WS core also contains the Globus
Security Infrastructure (GSI), which is based upon private-public key encryption and
certificates. However, special consideration must be considered with regard to
accessibility of files which would otherwise be controlled by the Unix server. Some
suggestions for these security issues with these files are described below.

6.1. Permissions of service configuration files

The service configuration files such as jndi-config.xml or server-config.wsdd


(located under $GLOBUS_LOCATION/etc/<gar>/ directory) may contain
private information such as database passwords, etc. Ensure that these
configuration files are only readable by the user that is running the container. The
deployment process automatically sets the permissions of the jndi-config.xml and
server-config.wsdd files as user readable only. However, this might not work
correctly on all platforms and this does not apply to any other configuration files.

6.2. Permissions of persistent data


The services using subscription persistence API or other basic persistence helper
API will store all or part of its persistent data under the ~/.globus/persisted
directory. Ensure that the entire ~/.globus/persisted directory is only readable by
the user running the container.

6.3. Invocation of non-public service functions

A client can potentially invoke a service function that is not formally defined in
the WSDL but it is defined in the service implementation class. There are two
ways to prevent this from happening:

1. Define all service methods in your service class as either private or protected.

2. Configure appropriate allowedMethods or allowedMethodsClass parameter in


the service deployment descriptor (please see Java WS Core Configuration for
details). 2

3. GT4 Functionality Not Windows Supported


An important security functionality in GT4 not supported for Windows is the GridFTP,
which is a “data transfer protocol optimized for high-bandwidth wide-area networks
based on FTP (File Transfer Protocol).” 3 The GridFTP contains much of the security
needed to address the file issues mentioned above. Specifically, GridFTP supplies: GSI
security of control and data channels, multiple data channels for parallel transfers, partial
file transfers, third-party (server to server) transfers, authenticated data channels, reusable
data channels, and command pipelining.

GridFTP is one of the components that use the Web Services Globus Resource Allocation
Manager (WS GRAM), which is another feature lacking support in the Windows
environment. The main task of the WS GRAM is to provide the ability to submit and
control jobs. Clearly, without this functionality – there is no grid. Beyond job
submission, GT4 also lacks Windows support for its Monitoring and Discovery Services
(MDS). This component is used to find available grid resources.

4. Possible Solutions for Windows-Only Organizations


Due to the popularity of the Windows environment in the corporate world and the
emerging popularity of the grid network, a reasonable solution to the windows grid
support within the Globus framework is needed. One option to address this challenge is
to use one machine (server) under a Unix environment either wholly or in part by using
VMWare player. The entire toolkit will function and provide the necessary tools to run
the grid main functions. Since the web services are provided for windows the
computational power can be used on these machines. This would also require using
Community Grid (CoG) software such as java CoG kit to be able to submit jobs. In fact,
the java CoG kit supplies client side supports to enable the use of GridFTP transfers as
well. Globus makes the following recommendations for running Grid services on
Windows systems:
The Globus Toolkit's Java WS Core implementation, which provides a WSRF
development environment, can be used on Windows systems with the JDK (Java
development kit) installed.
The Java CoG Kit (http://www.cogkit.org) provides access to Grid services via
the Java programming language, which of course is available on Windows
systems.
WSRF.NET is a .NET implementation of WSRF. It is available from the
University of Virginia 4

Research does continue for Windows support. Univa Corporation, co-founded by Steve
Tuecke, Dr. Carl Kesselman, and Dr. Ian Foster – all leading names in the Globus
Alliance is “in the process of porting the GT4 server (and the underlying libraries upon
which it depends, like XI0) to Windows.”5.

5. Conclusion
At this time, there is no way to run a Grid network using GT4 and a strictly Windows
environment. As research continues, this support should be a reality. Microsoft is in the
process of creating its own grid setup; however, Globus remains as the de facto standard
for Grid networking. The most viable solution at this point seems to be to incorporate
Unix based machines into the organization.

References
1
http://www.globus.org/toolkit/docs/4.0/admin/docbook/ch03.html#s-platform
2
http://www.globus.org/toolkit/docs/4.0/common/javawscore/admin-index.html#s-
javawscore-admin-security_considerations
3
http://www.globus.org/grid_software/data/gridftp.php
4
http://www.globus.org/faq.php#windows
5
http://www-unix.globus.org/mail_archive/gt4-friends/2005/12/msg00055.html
Installing Java

use following command in terminal to install java

globus@dace-107:~$ sudo add-apt-repository ppa:webupd8team/java

globus@dace-107:~$ sudo apt-get update

globus@dace-107:~$ sudo apt-get install oracle-java8-installer

To check version of java after installation

globus@dace-107:~$ java -version

java version "1.8.0_101"


Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

globus@dace-107:~$ javac -version

javac 1.8.0_101

To automatically set up the Java 8 environment variables, you can install the
following package.

globus@dace-107:~$ sudo apt-get install oracle-java8-set-default

Installing GCC

globus@dace-107:~$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

globus@dace-107:~$ sudo apt-get update

globus@dace-107:~$ sudo apt-get install gcc-6 gcc-6-base

Installing Perl

globus@dace-107:~$ sudo apt-get install perl

Installing other Essential

globus@dace-107:~$ sudo apt-get install sed make libssl-dev pkg-config

Installing GRID Essential


globus@dace-107:~$ wget http://www.globus.org/ftppub/gt6/installers/repo/globus-
toolkit-repo_latest_all.deb

globus@dace-107:~$ sudo dpkg -i globus-toolkit-repo_latest_all.deb

globus@dace-107:~$ sudo apt-get update

globus@dace-107:~$ sudo apt-get install globus-data-management-client

globus@dace-107:~$ sudo apt-get install globus-gridftp

globus@dace-107:~$ sudo apt-get install globus-gram5

globus@dace-107:~$ sudo apt-get install globus-gsi

globus@dace-107:~$ sudo apt-get install globus-data-management-server

globus@dace-107:~$ sudo apt-get install globus-data-management-client

globus@dace-107:~$ sudo apt-get install globus-data-management-sdk

globus@dace-107:~$ sudo apt-get install globus-resource-management-server

globus@dace-107:~$ sudo apt-get install globus-resource-management-client

globus@dace-107:~$ sudo apt-get install globus-resource-management-sdk

globus@dace-107:~$ sudo apt-get install myproxy

globus@dace-107:~$ sudo apt-get install gsi-openssh

globus@dace-107:~$ sudo apt-get install globus-gridftp globus-gram5 globus-gsi


myproxy myproxy-server myproxy-admin

Installing NetBeans:

globus@dace-107:~$ wget
http://download.netbeans.org/netbeans/8.1/final/bundles/netbeans-8.1-javaee-linux.sh

globus@dace-107:~$ chmod +x netbeans-8.1-javaee-linux.sh

globus@dace-107:~$ ./netbeans-8.1-javaee-linux.sh

Apache Axis Installation

Download Axis from


http://www-eu.apache.org/dist/axis/axis2/java/core/1.7.3/axis2-1.7.3-bin.zip
globus@dace-107:~$ sudo unzip ~/Downloads/axis2-1.7.3-war.zip

globus@dace-107:~$ cd Downloads/

globus@dace-107:~/Downloads$ sudo mv axis2-1.7.3-war /opt/

globus@dace-107:~/Downloads$ cd /opt/

globus@dace-107:/opt$ sudo mv axis2-1.7.3-war/ axis2/

globus@dace-107:/opt$ sudo chmod -R 777 axis2/

globus@dace-107:/opt$ sudo gedit /etc/environment

globus@dace-107:/opt$ source /etc/environment

Video of the installation available at


Internet connection is working.

apt-get is working.

Trying to add ppa:cooperjona/lightread but an


error has raised:

Cannot add PPA 'ppa:cooperjona/lightread'


. Please check that the PPA name or
format is correct.

I supposed there is an error in writing or in the


PPA.

I tried also the 'ppa:tombeckmann/ppa' but with


same error.

ppa
asked Mar 5 '14 at
11:56

shareimprove this
question

Maythux
31k1999153
The issue comes from your
system, not the PPA, which
works fine for me. – MrVaykadji
Mar 5 '14 at 12:01
I tried all of this here and still got
the same error. – user2117580
Jun 19 '14 at 20:21
If anyone of you ends up here
and is using a proxy, check this
thread instead – eis Nov 17 '15 at
11:27
add a comment
3 Answers
active oldest votes
up vote 16 Open Terminal and run the command
down vote
sudo apt-get install --reinstall ca-certificates
It may work, but if doesn't then run

sudo -E add-apt-repository ppa:ppaname/ppa

instead of

sudo add-apt-repository ppa:ppaname/ppa

note to reader: sudo -E preserves the user environment, including


any proxy config. – eis Apr 29 at 12:04

add a comment

I googled the error and find this. So i tried to clone a git as he did there
and has the same result.

So to solve this:
up vote 10
down vote sudo apt-get install --reinstall ca-certificates
accepted
and things become smooth again :)

shareimprove this answer


I tried this, but the same error exist and it does not work, ain't it
3
odd? – Mohammad Rafiee Dec 6 '14 at 5:20
add a comment
I had this exact error message about checking the PPA name or format.
My network was connected and I could ping websites and browse fine.

What I finally figured out was the clock on my computer was set wrong.
up vote 2 down If it's off more than a small amount, the secure connection will fail and it
vote will report this message. It's very unhelpful.

Check your clock. I set mine and then it immediately worked as expected.

shareimprove this answer


I'm trying to follow the "Installing Cross Toolchain on Ubuntu 10.04 (Lucid) and 10.10
(Maverick) Hosts" instructions on wiki.linaro.org (on my Ubuntu 10.04 VM). The first
step is:

sudo add-apt-repository ppa:linaro-maintainers/toolchain

But when I run that I get:

Error reading
https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain:
<urlopen error [Errno 110] Connection timed out>

I'm guessing the problem is with my configuration for my employer's proxy server,
particularly for HTTPS.

When I opened https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain in


Firefox, I got "The connection has timed out". I then went into Firefox Preferences ->
Advanced -> Network -> Settings... and set HTTP Proxy to "gateway" and Port to 8080,
and checked "Use this proxy server for all protocols". Then the page loaded. This
supports my theory.

I've tried setting the http_proxy and https_proxy environment variables (both lower and
upper case):

$ set | grep -i proxy


HTTPS_PROXY=https://gateway:8080
HTTP_PROXY=http://gateway:8080
http_proxy=http://gateway:8080
https_proxy=https://gateway:8080

I also tried changing them to:

$ set | grep -i proxy


HTTPS_PROXY=gateway:8080
HTTP_PROXY=gateway:8080
http_proxy=gateway:8080
https_proxy=gateway:8080

And I tried adding this second line to /etc/apt/apt.conf:


Acquire::http::proxy "http://gateway:8080/";
Acquire::https::proxy "https://gateway:8080/";

But I continue to get the same error.

How do I troubleshoot this?

Update: I followed the instructions in the accepted answer to "Problem adding


repositories and connecting from terminal behind a proxy" and got further:

$ sudo add-apt-repository ppa:linaro-maintainers/toolchain


Executing: gpg --ignore-time-conflict --no-options --no-default-keyring
--secret-keyring /etc/apt/secring.gpg --trustdb-name
/etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring
/etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv
1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn't connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

I wonder if the "HTTP fetch error" means I also need to add "Defaults env_keep =
http_proxy" to /etc/sudoers...

Update #2: I added:

Defaults env_keep="http_proxy"
Defaults env_keep="https_proxy"

...as in Comment 18 for bug 516032, but I still get the same "gpgkeys: HTTP fetch error
7: couldn't connect to host" error.

And this is curious:

$ sudo env | grep proxy


https_proxy=https://gateway:8080

...because http_proxy isn't there.

Any advice is appreciated.

Update #3: Since the host of my VM is a laptop, I took it home and tried there (with no
proxies):

$ sudo add-apt-repository ppa:linaro-maintainers/toolchain


Executing: gpg --ignore-time-conflict --no-options --no-default-keyring
--secret-keyring /etc/apt/secring.gpg --trustdb-name
/etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring
/etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv
1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpg: key 7BE1F97B: public key "Launchpad Linaro Overlay PPA" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

It worked. So problem is related to proxy configuration. But I suppose I have a


workaround.

You might also like