Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have downloaded the Amazon AWS SDK for C#, I have no problem accessing the EC2 part of our private cloud running Eucalyptus, I can list, Images, Instances, Zones ...

This is working fine :

AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client("abcdefghijklmnopqrstuvwxyz1234567890", "abcdefghijklmnopqrstuvwxyz1234567890", new AmazonEC2Config().WithServiceURL("http://10.140.54.12:8773/services/Eucalyptus"));

DescribeInstancesRequest ec2Request = new DescribeInstancesRequest();
try
{
    DescribeInstancesResponse ec2Response = ec2.DescribeInstances(ec2Request);
    int numInstances = 0;
    numInstances = ec2Response.DescribeInstancesResult.Reservation.Count;
    textBoxInstancesLog.AppendText("You have " + numInstances + " running instances");
    textBoxInstancesLog.AppendText(ec2Response.ToString());
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

But I need to access the Walrus (S3) part of our Cloud. This is how I try to access the Walrus, the code is almost identical, but with this call I will get an exception.

This is not working:

AmazonS3 s3 = AWSClientFactory.CreateAmazonS3Client("abcdefghijklmnopqrstuvwxyz1234567890", "abcdefghijklmnopqrstuvwxyz1234567890", new AmazonS3Config().WithServiceURL("http://10.140.54.12:8773/services/Walrus"));
ListBucketsRequest s3Request = new ListBucketsRequest();
try
{
    ListBucketsResponse s3Response = s3.ListBuckets(s3Request);
    textBoxS3Log.AppendText(s3Response.ToString());
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

I will receive this exception :

System.Net.WebException: The remote name could not be resolved: 'http'
   at Amazon.S3.AmazonS3Client.processRequestError(String actionName, HttpWebRequest request, WebException we, HttpWebResponse errorResponse, String requestAddr, WebHeaderCollection& respHdrs, Type t, Exception& cause)
   at Amazon.S3.AmazonS3Client.handleHttpWebErrorResponse(S3Request userRequest, WebException we, HttpWebRequest request, HttpWebResponse httpResponse, Exception& cause, HttpStatusCode& statusCode)
   at Amazon.S3.AmazonS3Client.getResponseCallback[T](IAsyncResult result)
   at Amazon.S3.AmazonS3Client.endOperation[T](IAsyncResult result)
   at Amazon.S3.AmazonS3Client.ListBuckets(ListBucketsRequest request)
   at IAASClient.FormMain.buttonS3Test_Click(Object sender, EventArgs e) in X:\work\IAASClient\FormMain.cs:line 107

From Eucalyptus site :

Eucalyptus implements an IaaS (Infrastructure as a Service) private cloud that is accessible via an API compatible with Amazon EC2 and Amazon S3

What am I missing ?

Note: The same code work flawlessly with Amazon S3, the problem is to access Eucalyptus Walrus.

share|improve this question
    
It's reccomended that you don't cross post between different sites, pick on and if it is incorrect it will get migrated. stackoverflow.com/questions/6280919/… –  Sam Jan 15 '12 at 19:10
add comment

1 Answer 1

In the zip file AWS_Console_App1 (AWS_Console_App1_1_0_3699_15931.zip) you'll find a reference to the Walrus support in the Readme.txt file. I found it in this article of The Scientific Cloud.

It mentions the following: "Amazon.S3\AmazonS3Config.cs: Added privateServiceUrl property and field in support of Walrus compatibility".

It looks like this could be a good lead.

share|improve this answer
    
This project has changed the SDK to add a PrivateServiceURL, but its not up to date. Its not a solution. –  pallaire Jun 10 '11 at 17:27
    
To bad. Hope you'll find your answer. –  pcantin Jun 10 '11 at 22:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.