[one-users] Globus WS + OpenNebula integration: We have code!

William Voorsluys williamvoor at gmail.com
Tue Sep 2 20:49:00 PDT 2008


Hello OpenNebula Users,

You may have noticed that I have been spamming this list about the
long-awaited Globus WS + ONE integration.
So, I though it would be interesting to report to all of you about
what has been done, focusing in the OpenNebula side.
In this sense, this specific message contains instructions on how to
access my GSOC code.
I have made some changes in ONE's code according to ticket 33
(http://trac.opennebula.org/ticket/33). The modified code is attached.
More specifically, I modified the following files:

HostPool.h
HostPool.cc
RequestManager.h
RequestManager.cc
+ RequestManagerAllHostsIds.cc
src/rm/SConstruct

The OpenNebula Java API has been improved as well. Most notably, I
added a feature that allows listeners to subscribe and be notified
about VM state changes. This was necessary to keep a workspace state
always up-to-date. An additional feature is the ability to input a VM
template programmatically, with specific classes to deal with
metadata, which is much easier and less error prone than just
concatenating strings or creating a template file.

In the Globus WS side, all modifications were made on version TP 1.3.3.1.
Here is a list of packages that contain files created for this
integration. In the Globus SVN, they are in the
following repository:
https://svn.globus.org/repos/gsoc/william/virtual-workspaces/trunk
Main source folder: vm/service/service/java/source/src

org.globus.workspace.opennebula (Tasks that communicate with ONE backend)
org.globus.workspace.scheduler.defaults.opennebula (Slot Management)
org.globus.workspace.service.binding.opennebula (Metadata Binding Adapter)

XML schema modifications are in:
vm/service/common/schema/workspace/negotiable.xsd

ONE Java API is at:
https://svn.globus.org/repos/gsoc/william/onejava/trunk

TO RUN:

Please note that most code is available in the SVN and no distribution
packages have been created yet. I'm working on consolidating all
packages on a single place.

On my tests, everything has been installed on the same machine.

0. Install Xen

1. Install OpenNebula
 The workspace default backend does not need to be installed, since
ONE replaces it completely.

2. Install GT 4.0.7
3. Install the Workspace Service frontend
 Package contents are on 'virtual-workspaces/vm/service' from SVN.

You can follow the website admin docs, but basic steps are:
---
Logged in as 'globus' and enter:
export GLOBUS_LOCATION=/path/to/globus-location
cd virtual-workspaces/vm/service
ant deploy

cd /path/to/globus-location/etc/workspace-service
tar xzf ws-one-sample-config.tar.gz (contains jndi-config.xml and ONE
configuration folder)
---

The above commands will also install the workspace client at
/path/to/globus-location/bin/workspace

4. Run client
grid-proxy-init
workspace --deploy --file workspace.epr --metadata hellonebula.xml -s
https://localhost:8443/wsrf/services/WorkspaceFactoryService
--deploy-duration 120 --deploy-mem 128 --numnodes 1 --deploy-state
Running

The image I'm using is 'hello1.img' (see hellonebula.xml). I once
downloaded it from the workspace website but it is not available
anymore. You can use any other image though.

5. Issues/Limitations

1. Sometimes it is necessary to go to the base installation directory
(workspace-service-william) and type 'ant resetDB'. I don't know why
but sometimes after shutting the container down it can't be restarted
unless the db is reset.

2. Networking
Like in a regular OpenNebula installation, DHCP configuration must be
manually done. I prepared the code to deal with network associations,
but to make networking fully automatic, some python scripts from the
original workspace backend should be ported to our integration code.
----

Cheers,

William
-------------- next part --------------
A non-text attachment was scrubbed...
Name: one-william.tar.gz
Type: application/x-gzip
Size: 551708 bytes
Desc: not available
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20080903/5ee48a80/attachment-0006.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hellonebula.xml
Type: text/xml
Size: 1584 bytes
Desc: not available
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20080903/5ee48a80/attachment-0007.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ws-one-sample-config.tar.gz
Type: application/x-gzip
Size: 9967 bytes
Desc: not available
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20080903/5ee48a80/attachment-0008.bin>


More information about the Users mailing list