Jets3t (pronounced “jet-set”) is a free, open-source Java toolkit and application suite for the Amazon Simple Storage Service (Amazon S3) and Amazon CloudFront content delivery network. For some reason almost all the standard tools for accessing S3 will not easily work with the Eucalyptus equivalent to S3 called Walrus. I am use to using the excellent S3Fox add-on for Firefox and wanted some GUI tool that had similar capabilities. I was able to piece together how to get Jets3t to work with Eucalyptus Walrus. This article puts it all together in one place.
The basic build procedure is based on the instructions for downloading and building Jet3t from Source. I got the hints for what to change to make things work with Walrus from the Jets3t Users Forum article eucalyptus walrus. And an almost unrelated article hadoop in eucalyptus private cloud in the Cloudera Support Forum. Search on the page for the section that says my jets3t file has these values.
Prerequisites
These instructions assume you are on Ubuntu (I had 10.4 Lucid) though it should be easily modifiable to work on any platform that supports Java.
You’ll need to install
- Mercurial (hg)
- Sun Java 6 (I couldn’t get it to work with openjdk-6)
- Ant
You can use the command:
sudo apt-get install mercurial sun-java6-jdk ant1.8
Get the Source of Jets3t with Mercurial
cd to where you want to create the directory that will contain the source. Then use the following command to create a local mercurial repository of the source. Then cd into the repository directory jets3t
hg clone http://bitbucket.org/jmurty/jets3t/
cd jets3t
Edit files to make jets3t work with Walrus
Use your favorite editor (emacs of course 🙂 to make the following edits.
Edit LoginCredentialsPanel.java
to not check the length of login credentials
Jets3t enforces the length of the Access Key and Access Secret Key. But some newer versions of Walrus do not fit the assumptions. This edit eliminates the checks.
This should be around line 230 of src/org/jets3t/apps/cockpit/gui/LoginCredentialsPanel.java
. Comment out the lines that have errors.add
. It should look something like the following after you comment out the two lines with errors.add
.
if (getAWSAccessKey().length() == 20) {
// Correct length for AWS Access Key
} else if (getAWSAccessKey().length() == 22) {
// Correct length for Eucalyptus ID
} else {
// errors.add("Access Key must have 20 or 22 characters");
}
if (getAWSSecretKey().length() == 40) {
// Correct length for AWS Access Key
} else if (getAWSSecretKey().length() == 38) {
// Correct length for Eucalyptus Secret Key
} else {
// errors.add("Secret Key must have 40 or 38 characters");
}
Edit jets3t.properties
to use parameters for accessing Walrus instead of AWS S3
You’ll want to set the following for Walrus access in jets3t/configs/jets3t.properties
. The following are the values you need to change. s3service.s3-endpoint should be set to the fully qualified domain name of the host that runs Walrus (you could use an ip address I believe). I had to set s3service.https-only to false since I don’t know what it would take to set up SSL/TLS between the Java environment and the Walrus environment. If you do, let me know!
s3service.https-only=false
s3service.s3-endpoint=your_walrus_host_name
s3service.s3-endpoint-http-port=8773
s3service.s3-endpoint-https-port=8443
s3service.disable-dns-buckets=true
s3service.s3-endpoint-virtual-path=/services/Walrus
Optionally edit build.properties
If you want to mark the build version in a way that distinguishes from the standard version and or change the debug level.
I changed the version to version=0.7.4-runa
.
Build Jets3t with your changes to work with Walrus
The following use the default target of dist which will create a target tree in the top level directory dist.
ant
If that works (it will say BUILD SUCCESSFUL at the end if it was) then there will be a director dist/jets3t-0.7.4-runa (or whatever you set the version value to in build.properties). You should be able to:
cd dist/jets3t-0.7.4-runa/bin
bash cockpit.sh &
This should start up an application window and a window for you to enter your Eucalyptus credentials. Select the Direct Login tab and enter you Eucalyptus Access Key and Access Secret Key.
After you click ok, you should see your Walrus buckets!
Once it all works you can use the <i>Store Credentials</i> option on the login window to store your credentials on Walrus and use a login/password to access Walrus. But that is optional.
I would love to hear what your experience is accessing a Eucalyptus Walrus storage with Cyberduck. Refer to http://trac.cyberduck.ch/wiki/help/en/howto/eucalyptus
You may want to check out CloudBerry Explorer that has full support for Eucalyptus / Walrus . It is a freeware. http://s3.cloudberrylab.com/
SMEStorage Support Eucalyptus with their OpenS3 provider. It enables access web file manager, mac, Linux and Windows desktop tools and also native mobile tools for every platform.
Hi is their any one could give suggestion i have download centos 6.4 on one pc and then configure Walrus server from this eucalyptus documentation
http://jeevanullas.in/tmp/Hybrid-Storage-Cloud-Jets3t.pdf
and on second pc which have windows 7 64 bit i have download and configure Jets3t i have completed all the steps and got key from s3 the problem is i am not able to access Walrus server and don’t know how to upload or download files any one could help me out that will be great thanks.