You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by Dario Garcia Gasulla <da...@lsi.upc.edu> on 2012/12/20 10:50:47 UTC

Java REST Client

Hi,

I'm Dario Garcia, a researcher from the Technical University of
Catalonia (UPC). In a research project we are developing together with
other partners we are using deltacloud to manage connections to various
IaaS providers. For this we require a java REST client which can
automate the requests to deltacloud.

I've been looking for Java REST clients, and there is not a single
library which seems to be particularly appropriate. I also noticed that
there's a client developed within the deltacloud project:
https://github.com/apache/deltacloud/tree/master/clients/java

I've already downloaded this client and I'm currently testing it.
However, any information and help I could get about it would be most useful.
My question mainly is, what is the state of this client? Which
functionalities work in the latest version?

If I can get to use this client I could provide bugs reports and usage
examples.

Thanks in advance,
Dario.

Re: Java REST Client

Posted by Dario Garcia Gasulla <da...@lsi.upc.edu>.
El 04/01/13 13:23, Dario Garcia Gasulla escribió:
> El 02/01/13 11:23, Michal Fojtik escribió:
>> On 12/31, Dario Garcia Gasulla wrote:
>>> Thanks Andre and Mario, your explanations were quite useful.
>>> The approach you use to create and manage instances is quite simple and
>>> intuitive (much better than what I was trying to do).
>>>
>>> I found one more problem, I'll tell you about it to see if you know what
>>> I'm doing wrong:
>>>
>>> When launching an instance
>>>
>>>      /   instance = client.createInstance(image.getId());/
>>>
>>> there's no way to specify the pem key the instance is supposed to
>>> accept. The second create method does not accept key id either:
>>>
>>>         /createInstance(String name, String imageId, String profileId,
>>> String realmId, String memory, String storage)/
>>>
>>> Unfortunately, if the key is not provided on launch time, the instance
>>> will only be accessible through <user,pass> (says Amazon).
>>> I've tried to set it before and then launch it:/
>>>         instance.setKeyId("pem_key_file");
>>> //        instance = client.createInstance(image.getId());/
>>>
>> The 'key' in Deltacloud is specified by 'keyname' parameter during
>> 'create_instance' operation. The naming of this parameter is a bit
>> ambiguous because the 'key id' is actually require here.
>>
>> To use this 'key' you first need to 'create' one under /api/keys
>> collection or use one of the already created id's.
>>
>> The PEM is returned in response of the 'key' creation. Then you can
>> use this 'key' when creating a new instance. The using that PEM you
>> should be able to connected to the instance.
>>
>> Hope that helps :-)
>>
>>   -- Michal
>>
> Thanks a lot Michal, I used the method:
>
> DeltaCloudClient.createInstance(String name, String imageId, String
> profileId, String realmId, String keyname, String memory, String storage)
>
> And I passed only the first three parameters plus the keyname. If I did
> not pass some of those I got an exception for null parameter. I tried to
> reduce the number of parameters to see which ones could be left "by
> default" just in case I do not have that information available. It works
> perfectly.
>
> The following question is about the design of the library. I've noticed
> that many methods (e.g., getImage) are available for both
> DeltaCloudConnectionManager and it's object DeltaCloudClient. In most
> cases both seem to return the same values. So I wondered, why such
> replication? From my point of view the client should be in charge of
> performing actions on the provider, but maybe I'm misunderstanding their
> purposes. In which cases should one be used instead of the other?
>
Ok, forget this. DeltaCloudConnectionManager is a class developed by a
workmate which uses the DeltaCloudClient.
Sorry for the misunderstanding. I feel stupid now.



Re: Java REST Client

Posted by Dario Garcia Gasulla <da...@lsi.upc.edu>.
El 02/01/13 11:23, Michal Fojtik escribió:
> On 12/31, Dario Garcia Gasulla wrote:
>> Thanks Andre and Mario, your explanations were quite useful.
>> The approach you use to create and manage instances is quite simple and
>> intuitive (much better than what I was trying to do).
>>
>> I found one more problem, I'll tell you about it to see if you know what
>> I'm doing wrong:
>>
>> When launching an instance
>>
>>      /   instance = client.createInstance(image.getId());/
>>
>> there's no way to specify the pem key the instance is supposed to
>> accept. The second create method does not accept key id either:
>>
>>         /createInstance(String name, String imageId, String profileId,
>> String realmId, String memory, String storage)/
>>
>> Unfortunately, if the key is not provided on launch time, the instance
>> will only be accessible through <user,pass> (says Amazon).
>> I've tried to set it before and then launch it:/
>>         instance.setKeyId("pem_key_file");
>> //        instance = client.createInstance(image.getId());/
>>
> The 'key' in Deltacloud is specified by 'keyname' parameter during
> 'create_instance' operation. The naming of this parameter is a bit
> ambiguous because the 'key id' is actually require here.
>
> To use this 'key' you first need to 'create' one under /api/keys
> collection or use one of the already created id's.
>
> The PEM is returned in response of the 'key' creation. Then you can
> use this 'key' when creating a new instance. The using that PEM you
> should be able to connected to the instance.
>
> Hope that helps :-)
>
>   -- Michal
>

Thanks a lot Michal, I used the method:

DeltaCloudClient.createInstance(String name, String imageId, String
profileId, String realmId, String keyname, String memory, String storage)

And I passed only the first three parameters plus the keyname. If I did
not pass some of those I got an exception for null parameter. I tried to
reduce the number of parameters to see which ones could be left "by
default" just in case I do not have that information available. It works
perfectly.

The following question is about the design of the library. I've noticed
that many methods (e.g., getImage) are available for both
DeltaCloudConnectionManager and it's object DeltaCloudClient. In most
cases both seem to return the same values. So I wondered, why such
replication? From my point of view the client should be in charge of
performing actions on the provider, but maybe I'm misunderstanding their
purposes. In which cases should one be used instead of the other?



Re: Java REST Client

Posted by Michal Fojtik <mf...@redhat.com>.
On 12/31, Dario Garcia Gasulla wrote:
> Thanks Andre and Mario, your explanations were quite useful.
> The approach you use to create and manage instances is quite simple and
> intuitive (much better than what I was trying to do).
> 
> I found one more problem, I'll tell you about it to see if you know what
> I'm doing wrong:
> 
> When launching an instance
> 
>      /   instance = client.createInstance(image.getId());/
> 
> there's no way to specify the pem key the instance is supposed to
> accept. The second create method does not accept key id either:
> 
>         /createInstance(String name, String imageId, String profileId,
> String realmId, String memory, String storage)/
> 
> Unfortunately, if the key is not provided on launch time, the instance
> will only be accessible through <user,pass> (says Amazon).
> I've tried to set it before and then launch it:/
>         instance.setKeyId("pem_key_file");
> //        instance = client.createInstance(image.getId());/
> 

The 'key' in Deltacloud is specified by 'keyname' parameter during
'create_instance' operation. The naming of this parameter is a bit
ambiguous because the 'key id' is actually require here.

To use this 'key' you first need to 'create' one under /api/keys
collection or use one of the already created id's.

The PEM is returned in response of the 'key' creation. Then you can
use this 'key' when creating a new instance. The using that PEM you
should be able to connected to the instance.

Hope that helps :-)

  -- Michal


-- 
Michal Fojtik <mf...@redhat.com>
Deltacloud API, CloudForms

Re: Java REST Client

Posted by André Dietisheim <ad...@redhat.com>.
Hi Dario

Happy new year!
Sorry for the late response, but I was on holidays the last 3 weeks.

On 12/31/2012 01:18 PM, Dario Garcia Gasulla wrote:
> Thanks Andre and Mario, your explanations were quite useful.
> The approach you use to create and manage instances is quite simple 
> and intuitive (much better than what I was trying to do).
>
> I found one more problem, I'll tell you about it to see if you know 
> what I'm doing wrong:
>
> When launching an instance
>
> /   instance = client.createInstance(image.getId());/
>
> there's no way to specify the pem key the instance is supposed to 
> accept. The second create method does not accept key id either:
>
> /createInstance(String name, String imageId, String profileId, String 
> realmId, String memory, String storage)/
>
> Unfortunately, if the key is not provided on launch time, the instance 
> will only be accessible through <user,pass> (says Amazon).
> I've tried to set it before and then launch it:/
>         instance.setKeyId("pem_key_file");
> //        instance = client.createInstance(image.getId());/
>
> But it does not work, and the created instance has no key associated 
> once created. Image doesn't accept keys either.
> I haven't found any other method for defining the key before creating 
> the instance.
> Is there a way to do this?
>

Afaik the keys were handled at a user global level (and not at an 
instance level - at least that was the case when I wrote the client. 
Things might have changed since then, I dont really know):

DeltaCloudClient#createKey(keyName)
DeltaCloudClient#listKeys()
DeltaCloudClient#listKey(keyName)

https://git-wip-us.apache.org/repos/asf?p=deltacloud.git;a=blob;f=clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java;h=bd66e7e41ccc26553da2e794c5f1652350e77b3d;hb=HEAD#l216

The integration tests for the keys are here:

https://git-wip-us.apache.org/repos/asf?p=deltacloud.git;a=blob;f=clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/client/KeyMockIntegrationTest.java;h=8591c7c16f02b1d153cafd8ad4d1dcd59639fe45;hb=HEAD

Hope that helps...

Cheers
André


> Thanks again, and happy new year!
> Dario.
>
> El 27/12/12 10:39, marios@redhat.com escribió:
>> Andre - thanks very much for your very useful input
>> Dario - minor point on clarification inline:
>>
>> On 22/12/12 12:34, André Dietisheim wrote:
>>> Hi Dario
>>> .
>>>> Right now there are several things I wonder about the code. I've been
>>>> capable of figuring out some of them, but not all. If you could help me
>>>> out with the first one, that would be great.
>>>>
>>>>       -When performing an Action, I set the name (e.g., STOP_NAME) and the
>>>> url from the instance to stop (e.g., instance.getPublicAddress().get(0)).
>>>> This url is of the form: "ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com",
>>>> however I get the following error:
>> the URL you are getting from "instance.getPublicAddress().get(0)" is
>> literally the public address of the ec2 instance. This is the address
>> you would use to (for example) connect to the running instance using an
>> (external) ssh client.
>>
>> Actions are invoked on the actual instance object - as shown clearly in
>> the link below (Andre's test suite):
>>
>> <quote>
>>
>> 1. public void canShutdownInstance() throws DeltaCloudClientException {
>> 2. Instance testInstance = testSetup.getTestInstance();
>> 3. DeltaCloudClient client = testSetup.getClient();
>> 4. testInstance.stop(client);
>> 5. testInstance = client.listInstances(testInstance.getId()); // reload!
>> 6. assertEquals(State.STOPPED, testInstance.getState());
>> }
>>
>> </quote>
>>
>> so on line 2 we get a reference to the instance, and on line 4 call the
>> stop action.
>>
>> marios
>>
>>
>>>>               Could not connect to
>>>> "ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com". The url is invalid.
>>>>               Caused by: java.net.MalformedURLException: no protocol:
>>>> ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
>>>> What protocol does this library use? Should I concatenate it at the
>>>> beginning of the url? The address is ok, since I can ping it.
>>>>
>>> There's a test that I wrote back then to integration-test if the client
>>> can stop a running instance:
>>>
>>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/client/InstanceMockIntegrationTest.java#L204
>>>
>>>
>>> The test is running against a local DC which is running with a mock
>>> driver. The url you'd have to pass to the client is a fully fledged URL
>>> (with protocol):
>>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/context/MockIntegrationTestContext.java#L50
>>>
>>>
>>> Afair this was because:
>>> 1) to allow you to run DC server on what proto you want (http, https, etc.)
>>> 2) is good REST practice anyhow, you should not have some resource url
>>> building logic. Links to resources within responses should be absolute
>>> links
>>>
>>>>       -When calling the method to perform an Action, it returns an
>>>> InputStream. What is that stream used for?
>>>>
>>> Afaik the stream holds the server response. You can see it in the client
>>> impl when it performs a request and then unmarshalls the response:
>>> <https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L84>https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L87
>>>
>>>
>>>>       -Why is Action<OWNER> defined as Raw type?
>>> Afaik because Actions operate on different resources. The OWNER is the
>>> resource the Action operatea on. You see this in
>>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/StateAware.java
>>>
>>>
>>> Actions may be operated on any class that knows states, that extends
>>> StateAware<OWNER>. Ex.
>>>
>>> *Instance extends StateAware<Instance>:
>>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Instance.java
>>>
>>>
>>> * Key extends StateAware<Key>:
>>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Key.java
>>>
>>>
>>> Actions change the state of a resource if they're executed successfully.
>>>
>>>
>>>> Regarding marios question:
>>>>
>>>> interesting... how are you tackling the issue of pricing for example?
>>>> Like many clouds don't expose pricing info via the API (aws only started
>>>> supporting this recently if i recall correctly) - will you be
>>>> maintaining some kind of persistence layer with pricing info?
>>>>
>>>>
>>>> We are not currently working on the pricing, but eventually we'll have
>>>> to.
>>>> The idea was to define some scheduler with AI heuristics on it which can
>>>> choose at each time the most cost-efficient provider for each job. I'm
>>>> an AI PhD student after all.
>>>> If we can get that information from an API we'll have to store it
>>>> manually and provide an interface to update that information (we can't
>>>> do anything else, can we?). But that's still a few months away.
>>>>
>>>>
>>>> Thanks for your time,
>>>> Dario.
>>>>
>>>>> Cheers
>>>>> André
>>>>>
>>>>> On 12/20/2012 11:07 AM,marios@redhat.com  wrote:
>>>>>> Hi Dario:
>>>>>>
>>>>>> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm Dario Garcia, a researcher from the Technical University of
>>>>>>> Catalonia (UPC). In a research project we are developing together with
>>>>>>> other partners we are using deltacloud to manage connections to
>>>>>>> various
>>>>>>> IaaS providers. For this we require a java REST client which can
>>>>>>> automate the requests to deltacloud.
>>>>>> awesome - is there any more info on the project (e.g. do you have a
>>>>>> website somewhere?)?
>>>>>>
>>>>>>> I've been looking for Java REST clients, and there is not a single
>>>>>>> library which seems to be particularly appropriate. I also noticed
>>>>>>> that
>>>>>>> there's a client developed within the deltacloud project:
>>>>>>> https://github.com/apache/deltacloud/tree/master/clients/java
>>>>>>>
>>>>>>> I've already downloaded this client and I'm currently testing it.
>>>>>>> However, any information and help I could get about it would be most
>>>>>>> useful.
>>>>>>> My question mainly is, what is the state of this client? Which
>>>>>>> functionalities work in the latest version?
>>>>>>>
>>>>>> wrt to the 'state' - I believe the last anyone worked on this client is
>>>>>> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
>>>>>> here for any input/pointers he could give if he has the time these
>>>>>> days).
>>>>>>
>>>>>> So I'm not quite sure what does/doesn't work there. My suggestion for
>>>>>> now is to try it out. For those things that aren't working, file jira
>>>>>> tickets [1] so they can be addressed. Even better, if you are able to
>>>>>> implement the fixes yourself, we will be very happy to help you on your
>>>>>> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
>>>>>> to 'the layout of the deltacloud code' etc
>>>>>>
>>>>>> marios
>>>>>>
>>>>>>
>>>>>> [1]https://issues.apache.org/jira/browse/DTACLOUD
>>>>>> [2]
>>>>>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>>>>>
>>>>>>
>>>>>>
>>>>>>> If I can get to use this client I could provide bugs reports and usage
>>>>>>> examples.
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>> Dario.
>>>>>>>
>


Re: Java REST Client

Posted by Dario Garcia Gasulla <da...@lsi.upc.edu>.
Thanks Andre and Mario, your explanations were quite useful.
The approach you use to create and manage instances is quite simple and
intuitive (much better than what I was trying to do).

I found one more problem, I'll tell you about it to see if you know what
I'm doing wrong:

When launching an instance

     /   instance = client.createInstance(image.getId());/

there's no way to specify the pem key the instance is supposed to
accept. The second create method does not accept key id either:

        /createInstance(String name, String imageId, String profileId,
String realmId, String memory, String storage)/

Unfortunately, if the key is not provided on launch time, the instance
will only be accessible through <user,pass> (says Amazon).
I've tried to set it before and then launch it:/
        instance.setKeyId("pem_key_file");
//        instance = client.createInstance(image.getId());/

But it does not work, and the created instance has no key associated
once created. Image doesn't accept keys either.
I haven't found any other method for defining the key before creating
the instance.
Is there a way to do this?

Thanks again, and happy new year!
Dario.

El 27/12/12 10:39, marios@redhat.com escribió:
> Andre - thanks very much for your very useful input
> Dario - minor point on clarification inline:
>
> On 22/12/12 12:34, André Dietisheim wrote:
>> Hi Dario
>> .
>>> Right now there are several things I wonder about the code. I've been
>>> capable of figuring out some of them, but not all. If you could help me
>>> out with the first one, that would be great.
>>>
>>>      -When performing an Action, I set the name (e.g., STOP_NAME) and the
>>> url from the instance to stop (e.g., instance.getPublicAddress().get(0)).
>>> This url is of the form: "ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com",
>>> however I get the following error:
> the URL you are getting from "instance.getPublicAddress().get(0)" is
> literally the public address of the ec2 instance. This is the address
> you would use to (for example) connect to the running instance using an
> (external) ssh client.
>
> Actions are invoked on the actual instance object - as shown clearly in
> the link below (Andre's test suite):
>
> <quote>
>
> 1. public void canShutdownInstance() throws DeltaCloudClientException {
> 2. Instance testInstance = testSetup.getTestInstance();
> 3. DeltaCloudClient client = testSetup.getClient();
> 4. testInstance.stop(client);
> 5. testInstance = client.listInstances(testInstance.getId()); // reload!
> 6. assertEquals(State.STOPPED, testInstance.getState());
> }
>
> </quote>
>
> so on line 2 we get a reference to the instance, and on line 4 call the
> stop action.
>
> marios
>
>
>>>              Could not connect to
>>> "ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com". The url is invalid.
>>>              Caused by: java.net.MalformedURLException: no protocol:
>>> ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
>>> What protocol does this library use? Should I concatenate it at the
>>> beginning of the url? The address is ok, since I can ping it.
>>>
>> There's a test that I wrote back then to integration-test if the client
>> can stop a running instance:
>>
>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/client/InstanceMockIntegrationTest.java#L204
>>
>>
>> The test is running against a local DC which is running with a mock
>> driver. The url you'd have to pass to the client is a fully fledged URL
>> (with protocol):
>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/context/MockIntegrationTestContext.java#L50
>>
>>
>> Afair this was because:
>> 1) to allow you to run DC server on what proto you want (http, https, etc.)
>> 2) is good REST practice anyhow, you should not have some resource url
>> building logic. Links to resources within responses should be absolute
>> links
>>
>>>      -When calling the method to perform an Action, it returns an
>>> InputStream. What is that stream used for?
>>>
>> Afaik the stream holds the server response. You can see it in the client
>> impl when it performs a request and then unmarshalls the response:
>> <https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L84>https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L87
>>
>>
>>>      -Why is Action<OWNER> defined as Raw type?
>> Afaik because Actions operate on different resources. The OWNER is the
>> resource the Action operatea on. You see this in
>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/StateAware.java
>>
>>
>> Actions may be operated on any class that knows states, that extends
>> StateAware<OWNER>. Ex.
>>
>> *Instance extends StateAware<Instance>:
>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Instance.java
>>
>>
>> * Key extends StateAware<Key>:
>> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Key.java
>>
>>
>> Actions change the state of a resource if they're executed successfully.
>>
>>
>>>
>>> Regarding marios question:
>>>
>>> interesting... how are you tackling the issue of pricing for example?
>>> Like many clouds don't expose pricing info via the API (aws only started
>>> supporting this recently if i recall correctly) - will you be
>>> maintaining some kind of persistence layer with pricing info?
>>>
>>>
>>> We are not currently working on the pricing, but eventually we'll have
>>> to.
>>> The idea was to define some scheduler with AI heuristics on it which can
>>> choose at each time the most cost-efficient provider for each job. I'm
>>> an AI PhD student after all.
>>> If we can get that information from an API we'll have to store it
>>> manually and provide an interface to update that information (we can't
>>> do anything else, can we?). But that's still a few months away.
>>>
>>>
>>> Thanks for your time,
>>> Dario.
>>>
>>>> Cheers
>>>> André
>>>>
>>>> On 12/20/2012 11:07 AM, marios@redhat.com wrote:
>>>>> Hi Dario:
>>>>>
>>>>> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I'm Dario Garcia, a researcher from the Technical University of
>>>>>> Catalonia (UPC). In a research project we are developing together with
>>>>>> other partners we are using deltacloud to manage connections to
>>>>>> various
>>>>>> IaaS providers. For this we require a java REST client which can
>>>>>> automate the requests to deltacloud.
>>>>> awesome - is there any more info on the project (e.g. do you have a
>>>>> website somewhere?)?
>>>>>
>>>>>> I've been looking for Java REST clients, and there is not a single
>>>>>> library which seems to be particularly appropriate. I also noticed
>>>>>> that
>>>>>> there's a client developed within the deltacloud project:
>>>>>> https://github.com/apache/deltacloud/tree/master/clients/java
>>>>>>
>>>>>> I've already downloaded this client and I'm currently testing it.
>>>>>> However, any information and help I could get about it would be most
>>>>>> useful.
>>>>>> My question mainly is, what is the state of this client? Which
>>>>>> functionalities work in the latest version?
>>>>>>
>>>>> wrt to the 'state' - I believe the last anyone worked on this client is
>>>>> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
>>>>> here for any input/pointers he could give if he has the time these
>>>>> days).
>>>>>
>>>>> So I'm not quite sure what does/doesn't work there. My suggestion for
>>>>> now is to try it out. For those things that aren't working, file jira
>>>>> tickets [1] so they can be addressed. Even better, if you are able to
>>>>> implement the fixes yourself, we will be very happy to help you on your
>>>>> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
>>>>> to 'the layout of the deltacloud code' etc
>>>>>
>>>>> marios
>>>>>
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/DTACLOUD
>>>>> [2]
>>>>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>>>>
>>>>>
>>>>>
>>>>>> If I can get to use this client I could provide bugs reports and usage
>>>>>> examples.
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Dario.
>>>>>>
>>


Re: Java REST Client

Posted by "marios@redhat.com" <ma...@redhat.com>.
Andre - thanks very much for your very useful input
Dario - minor point on clarification inline:

On 22/12/12 12:34, André Dietisheim wrote:
> Hi Dario
> .
>> Right now there are several things I wonder about the code. I've been
>> capable of figuring out some of them, but not all. If you could help me
>> out with the first one, that would be great.
>>
>>      -When performing an Action, I set the name (e.g., STOP_NAME) and the
>> url from the instance to stop (e.g., instance.getPublicAddress().get(0)).
>> This url is of the form: "ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com",
>> however I get the following error:

the URL you are getting from "instance.getPublicAddress().get(0)" is
literally the public address of the ec2 instance. This is the address
you would use to (for example) connect to the running instance using an
(external) ssh client.

Actions are invoked on the actual instance object - as shown clearly in
the link below (Andre's test suite):

<quote>

1. public void canShutdownInstance() throws DeltaCloudClientException {
2. Instance testInstance = testSetup.getTestInstance();
3. DeltaCloudClient client = testSetup.getClient();
4. testInstance.stop(client);
5. testInstance = client.listInstances(testInstance.getId()); // reload!
6. assertEquals(State.STOPPED, testInstance.getState());
}

</quote>

so on line 2 we get a reference to the instance, and on line 4 call the
stop action.

marios


>>              Could not connect to
>> "ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com". The url is invalid.
>>              Caused by: java.net.MalformedURLException: no protocol:
>> ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
>> What protocol does this library use? Should I concatenate it at the
>> beginning of the url? The address is ok, since I can ping it.
>>
> There's a test that I wrote back then to integration-test if the client
> can stop a running instance:
> 
> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/client/InstanceMockIntegrationTest.java#L204
> 
> 
> The test is running against a local DC which is running with a mock
> driver. The url you'd have to pass to the client is a fully fledged URL
> (with protocol):
> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/context/MockIntegrationTestContext.java#L50
> 
> 
> Afair this was because:
> 1) to allow you to run DC server on what proto you want (http, https, etc.)
> 2) is good REST practice anyhow, you should not have some resource url
> building logic. Links to resources within responses should be absolute
> links
> 
>>
>>      -When calling the method to perform an Action, it returns an
>> InputStream. What is that stream used for?
>>
> 
> Afaik the stream holds the server response. You can see it in the client
> impl when it performs a request and then unmarshalls the response:
> <https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L84>https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/DeltaCloudClientImpl.java#L87
> 
> 
>>      -Why is Action<OWNER> defined as Raw type?
> 
> Afaik because Actions operate on different resources. The OWNER is the
> resource the Action operatea on. You see this in
> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/StateAware.java
> 
> 
> Actions may be operated on any class that knows states, that extends
> StateAware<OWNER>. Ex.
> 
> *Instance extends StateAware<Instance>:
> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Instance.java
> 
> 
> * Key extends StateAware<Key>:
> https://github.com/adietish/deltacloud/blob/trunk/clients/java/org.apache.deltacloud.client/src/org/apache/deltacloud/client/Key.java
> 
> 
> Actions change the state of a resource if they're executed successfully.
> 
> 
>>
>>
>> Regarding marios question:
>>
>> interesting... how are you tackling the issue of pricing for example?
>> Like many clouds don't expose pricing info via the API (aws only started
>> supporting this recently if i recall correctly) - will you be
>> maintaining some kind of persistence layer with pricing info?
>>
>>
>> We are not currently working on the pricing, but eventually we'll have
>> to.
>> The idea was to define some scheduler with AI heuristics on it which can
>> choose at each time the most cost-efficient provider for each job. I'm
>> an AI PhD student after all.
>> If we can get that information from an API we'll have to store it
>> manually and provide an interface to update that information (we can't
>> do anything else, can we?). But that's still a few months away.
>>
>>
>> Thanks for your time,
>> Dario.
>>
>>> Cheers
>>> André
>>>
>>> On 12/20/2012 11:07 AM, marios@redhat.com wrote:
>>>> Hi Dario:
>>>>
>>>> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>>>>> Hi,
>>>>>
>>>>> I'm Dario Garcia, a researcher from the Technical University of
>>>>> Catalonia (UPC). In a research project we are developing together with
>>>>> other partners we are using deltacloud to manage connections to
>>>>> various
>>>>> IaaS providers. For this we require a java REST client which can
>>>>> automate the requests to deltacloud.
>>>> awesome - is there any more info on the project (e.g. do you have a
>>>> website somewhere?)?
>>>>
>>>>> I've been looking for Java REST clients, and there is not a single
>>>>> library which seems to be particularly appropriate. I also noticed
>>>>> that
>>>>> there's a client developed within the deltacloud project:
>>>>> https://github.com/apache/deltacloud/tree/master/clients/java
>>>>>
>>>>> I've already downloaded this client and I'm currently testing it.
>>>>> However, any information and help I could get about it would be most
>>>>> useful.
>>>>> My question mainly is, what is the state of this client? Which
>>>>> functionalities work in the latest version?
>>>>>
>>>> wrt to the 'state' - I believe the last anyone worked on this client is
>>>> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
>>>> here for any input/pointers he could give if he has the time these
>>>> days).
>>>>
>>>> So I'm not quite sure what does/doesn't work there. My suggestion for
>>>> now is to try it out. For those things that aren't working, file jira
>>>> tickets [1] so they can be addressed. Even better, if you are able to
>>>> implement the fixes yourself, we will be very happy to help you on your
>>>> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
>>>> to 'the layout of the deltacloud code' etc
>>>>
>>>> marios
>>>>
>>>>
>>>> [1] https://issues.apache.org/jira/browse/DTACLOUD
>>>> [2]
>>>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>>>
>>>>
>>>>
>>>>> If I can get to use this client I could provide bugs reports and usage
>>>>> examples.
>>>>>
>>>>> Thanks in advance,
>>>>> Dario.
>>>>>
>>>
> 
> 


Re: Java REST Client

Posted by Dario Garcia Gasulla <da...@lsi.upc.edu>.
El 20/12/12 15:15, André Dietisheim escribió:
> Hi Marios, Hi Dario
>
> yes, indeed, I implemented this client until 2011 when we had the
> Eclipse tooling in JBoss Tools. Unfortunately I then had to switch
> over to some other project and no time left to maintain the code.
> I also had no chance to check anything with deltacloud since then. I
> really can't tell you if it's still 100% functional against latest DC
> server. There is a large test-suite with integration tests that should
> tell you fairly quickly though:
>
> https://github.com/apache/deltacloud/blob/master/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/DeltaCloudClientIntegrationTestSuite.java
>
>
Cool, I'll run this ASAP (along next week) to know the current state,
and I'll post the results here so you can get an idea of how is it right
now.
Be as it may, so far it seems to work just fine.

> Feel free to ping me if you face any problems, questions. I'd be glad
> to help if I can.
>

Right now there are several things I wonder about the code. I've been
capable of figuring out some of them, but not all. If you could help me
out with the first one, that would be great.

    -When performing an Action, I set the name (e.g., STOP_NAME) and the
url from the instance to stop (e.g., instance.getPublicAddress().get(0)).
This url is of the form: "ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com",
however I get the following error:
            Could not connect to
"ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com". The url is invalid.
            Caused by: java.net.MalformedURLException: no protocol:
ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
What protocol does this library use? Should I concatenate it at the
beginning of the url? The address is ok, since I can ping it.



    -When calling the method to perform an Action, it returns an
InputStream. What is that stream used for?


    -Why is Action<OWNER> defined as Raw type?



Regarding marios question:

interesting... how are you tackling the issue of pricing for example?
Like many clouds don't expose pricing info via the API (aws only started
supporting this recently if i recall correctly) - will you be
maintaining some kind of persistence layer with pricing info?


We are not currently working on the pricing, but eventually we'll have to.
The idea was to define some scheduler with AI heuristics on it which can
choose at each time the most cost-efficient provider for each job. I'm
an AI PhD student after all.
If we can get that information from an API we'll have to store it
manually and provide an interface to update that information (we can't
do anything else, can we?). But that's still a few months away.


Thanks for your time,
Dario.

> Cheers
> André
>
> On 12/20/2012 11:07 AM, marios@redhat.com wrote:
>> Hi Dario:
>>
>> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>>> Hi,
>>>
>>> I'm Dario Garcia, a researcher from the Technical University of
>>> Catalonia (UPC). In a research project we are developing together with
>>> other partners we are using deltacloud to manage connections to various
>>> IaaS providers. For this we require a java REST client which can
>>> automate the requests to deltacloud.
>> awesome - is there any more info on the project (e.g. do you have a
>> website somewhere?)?
>>
>>> I've been looking for Java REST clients, and there is not a single
>>> library which seems to be particularly appropriate. I also noticed that
>>> there's a client developed within the deltacloud project:
>>> https://github.com/apache/deltacloud/tree/master/clients/java
>>>
>>> I've already downloaded this client and I'm currently testing it.
>>> However, any information and help I could get about it would be most
>>> useful.
>>> My question mainly is, what is the state of this client? Which
>>> functionalities work in the latest version?
>>>
>> wrt to the 'state' - I believe the last anyone worked on this client is
>> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
>> here for any input/pointers he could give if he has the time these
>> days).
>>
>> So I'm not quite sure what does/doesn't work there. My suggestion for
>> now is to try it out. For those things that aren't working, file jira
>> tickets [1] so they can be addressed. Even better, if you are able to
>> implement the fixes yourself, we will be very happy to help you on your
>> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
>> to 'the layout of the deltacloud code' etc
>>
>> marios
>>
>>
>> [1] https://issues.apache.org/jira/browse/DTACLOUD
>> [2]
>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>
>>
>>> If I can get to use this client I could provide bugs reports and usage
>>> examples.
>>>
>>> Thanks in advance,
>>> Dario.
>>>
>
>


Re: Java REST Client

Posted by André Dietisheim <ad...@redhat.com>.
Hi Marios, Hi Dario

yes, indeed, I implemented this client until 2011 when we had the 
Eclipse tooling in JBoss Tools. Unfortunately I then had to switch over 
to some other project and no time left to maintain the code.
I also had no chance to check anything with deltacloud since then. I 
really can't tell you if it's still 100% functional against latest DC 
server. There is a large test-suite with integration tests that should 
tell you fairly quickly though:

https://github.com/apache/deltacloud/blob/master/clients/java/org.apache.deltacloud.client.test/src/org/apache/deltacloud/client/internal/test/DeltaCloudClientIntegrationTestSuite.java

Feel free to ping me if you face any problems, questions. I'd be glad to 
help if I can.

Cheers
André

On 12/20/2012 11:07 AM, marios@redhat.com wrote:
> Hi Dario:
>
> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>> Hi,
>>
>> I'm Dario Garcia, a researcher from the Technical University of
>> Catalonia (UPC). In a research project we are developing together with
>> other partners we are using deltacloud to manage connections to various
>> IaaS providers. For this we require a java REST client which can
>> automate the requests to deltacloud.
> awesome - is there any more info on the project (e.g. do you have a
> website somewhere?)?
>
>> I've been looking for Java REST clients, and there is not a single
>> library which seems to be particularly appropriate. I also noticed that
>> there's a client developed within the deltacloud project:
>> https://github.com/apache/deltacloud/tree/master/clients/java
>>
>> I've already downloaded this client and I'm currently testing it.
>> However, any information and help I could get about it would be most useful.
>> My question mainly is, what is the state of this client? Which
>> functionalities work in the latest version?
>>
> wrt to the 'state' - I believe the last anyone worked on this client is
> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
> here for any input/pointers he could give if he has the time these days).
>
> So I'm not quite sure what does/doesn't work there. My suggestion for
> now is to try it out. For those things that aren't working, file jira
> tickets [1] so they can be addressed. Even better, if you are able to
> implement the fixes yourself, we will be very happy to help you on your
> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
> to 'the layout of the deltacloud code' etc
>
> marios
>
>
> [1] https://issues.apache.org/jira/browse/DTACLOUD
> [2]
> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>
>> If I can get to use this client I could provide bugs reports and usage
>> examples.
>>
>> Thanks in advance,
>> Dario.
>>


Re: Java REST Client

Posted by "marios@redhat.com" <ma...@redhat.com>.
On 20/12/12 14:01, Dario Garcia Gasulla wrote:
> El 20/12/12 11:07, marios@redhat.com escribió:
>> Hi Dario:
>>
>> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>>> Hi,
>>>
>>> I'm Dario Garcia, a researcher from the Technical University of
>>> Catalonia (UPC). In a research project we are developing together with
>>> other partners we are using deltacloud to manage connections to various
>>> IaaS providers. For this we require a java REST client which can
>>> automate the requests to deltacloud.
>> awesome - is there any more info on the project (e.g. do you have a
>> website somewhere?)?
>>
> 
> Currently there's no web page for the project. Roughly, the project aims
> to develop a system which recieves petitions from clients to execute
> computationally expensive jobs on remote Clouds. The system, through
> deltacloud and other tools, connects to various IaaS providers (clouds
> or grids), choses the most appropriate one according to certain
> heuristics (based on load balancing, price and system requirements) and
> transparently executes the job and returns the results.

interesting... how are you tackling the issue of pricing for example?
Like many clouds don't expose pricing info via the API (aws only started
supporting this recently if i recall correctly) - will you be
maintaining some kind of persistence layer with pricing info?

> 
>>> I've been looking for Java REST clients, and there is not a single
>>> library which seems to be particularly appropriate. I also noticed that
>>> there's a client developed within the deltacloud project:
>>> https://github.com/apache/deltacloud/tree/master/clients/java
>>>
>>> I've already downloaded this client and I'm currently testing it.
>>> However, any information and help I could get about it would be most useful.
>>> My question mainly is, what is the state of this client? Which
>>> functionalities work in the latest version?
>>>
>> wrt to the 'state' - I believe the last anyone worked on this client is
>> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
>> here for any input/pointers he could give if he has the time these days).
>>
>> So I'm not quite sure what does/doesn't work there. My suggestion for
>> now is to try it out. For those things that aren't working, file jira
>> tickets [1] so they can be addressed. Even better, if you are able to
>> implement the fixes yourself, we will be very happy to help you on your
>> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
>> to 'the layout of the deltacloud code' etc
>>
>> marios
>>
> Thanks, I'll check out those references.
> 
> On the meantime I wrote a first test to connect to deltacloud, which
> connects to Amazon and then retrieves the list of images, and I already
> obtained weird results.
> 
> The connection works OK, but I cannot retrieve the images which I own.
> The authentication however does not seems to be the problem, since I
> obtain a huge list of available images (some owned by Amazon, some I
> don't know by whom) which I wouldn't get if the authentication was not
> successful.
> To do so I call these two methods of Class DeltaCloudClient:
> DeltaCloudClientImpl(String url, String username, String password)
> listImages()
> 
> Any clues?

Two things, firstly - you can always check if the java client is giving
you a 'correct' response by calling the server with a different, (known
to be) better supported/updated client, like the HTML UI or even better
call the server directly using something like cURL [1].

WRT the specific issue here - if you check the entry point of the API
you can see that the ec2 driver exposes the 'owner_id' feature [2] -
which allows you to filter by this parameter e.g.:

curl --user "user:pass" -H "Accept: application/xml"
http://localhost:3001/api/images?owner_id=123456789

marios


[1] http://deltacloud.apache.org/curl-examples.html
[2] http://deltacloud.apache.org/api-entry-point.html#feature

> 
>> [1] https://issues.apache.org/jira/browse/DTACLOUD
>> [2]
>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>
>>> If I can get to use this client I could provide bugs reports and usage
>>> examples.
>>>
>>> Thanks in advance,
>>> Dario.
>>>
> 


Re: Java REST Client

Posted by André Dietisheim <ad...@redhat.com>.
Hi Dario

> On the meantime I wrote a first test to connect to deltacloud, which
> connects to Amazon and then retrieves the list of images, and I already
> obtained weird results.
>
> The connection works OK, but I cannot retrieve the images which I own.
> The authentication however does not seems to be the problem, since I
> obtain a huge list of available images (some owned by Amazon, some I
> don't know by whom) which I wouldn't get if the authentication was not
> successful.
> To do so I call these two methods of Class DeltaCloudClient:
> DeltaCloudClientImpl(String url, String username, String password)
> listImages()
>
> Any clues?

I'm not completely sure about the API any more (~2y since I dealt with 
the code), but as far as I remember, this would not just return you the 
images you own. It would return you all images that you may use. 
Furhtermore the REST service would not return the complete list since it 
could be insanely huge. Afaik none of the possible solutions to improve 
this were implemented in the backend: query, filter, paging etc.
Marios: correct?
As far as I remember you'd be strongly encouraged to know the name of 
your image and then query the specific one via

DeltaCloudClient# listImages(String imageId)

Hope this helps.

>
>> [1] https://issues.apache.org/jira/browse/DTACLOUD
>> [2]
>> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>>
>>> If I can get to use this client I could provide bugs reports and usage
>>> examples.
>>>
>>> Thanks in advance,
>>> Dario.
>>>


Re: Java REST Client

Posted by Dario Garcia Gasulla <da...@lsi.upc.edu>.
El 20/12/12 11:07, marios@redhat.com escribió:
> Hi Dario:
>
> On 20/12/12 11:50, Dario Garcia Gasulla wrote:
>> Hi,
>>
>> I'm Dario Garcia, a researcher from the Technical University of
>> Catalonia (UPC). In a research project we are developing together with
>> other partners we are using deltacloud to manage connections to various
>> IaaS providers. For this we require a java REST client which can
>> automate the requests to deltacloud.
> awesome - is there any more info on the project (e.g. do you have a
> website somewhere?)?
>

Currently there's no web page for the project. Roughly, the project aims
to develop a system which recieves petitions from clients to execute
computationally expensive jobs on remote Clouds. The system, through
deltacloud and other tools, connects to various IaaS providers (clouds
or grids), choses the most appropriate one according to certain
heuristics (based on load balancing, price and system requirements) and
transparently executes the job and returns the results.

>> I've been looking for Java REST clients, and there is not a single
>> library which seems to be particularly appropriate. I also noticed that
>> there's a client developed within the deltacloud project:
>> https://github.com/apache/deltacloud/tree/master/clients/java
>>
>> I've already downloaded this client and I'm currently testing it.
>> However, any information and help I could get about it would be most useful.
>> My question mainly is, what is the state of this client? Which
>> functionalities work in the latest version?
>>
> wrt to the 'state' - I believe the last anyone worked on this client is
> close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
> here for any input/pointers he could give if he has the time these days).
>
> So I'm not quite sure what does/doesn't work there. My suggestion for
> now is to try it out. For those things that aren't working, file jira
> tickets [1] so they can be addressed. Even better, if you are able to
> implement the fixes yourself, we will be very happy to help you on your
> way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
> to 'the layout of the deltacloud code' etc
>
> marios
>
Thanks, I'll check out those references.

On the meantime I wrote a first test to connect to deltacloud, which
connects to Amazon and then retrieves the list of images, and I already
obtained weird results.

The connection works OK, but I cannot retrieve the images which I own.
The authentication however does not seems to be the problem, since I
obtain a huge list of available images (some owned by Amazon, some I
don't know by whom) which I wouldn't get if the authentication was not
successful.
To do so I call these two methods of Class DeltaCloudClient:
DeltaCloudClientImpl(String url, String username, String password)
listImages()

Any clues?

> [1] https://issues.apache.org/jira/browse/DTACLOUD
> [2]
> http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s
>
>> If I can get to use this client I could provide bugs reports and usage
>> examples.
>>
>> Thanks in advance,
>> Dario.
>>


Re: Java REST Client

Posted by "marios@redhat.com" <ma...@redhat.com>.
Hi Dario:

On 20/12/12 11:50, Dario Garcia Gasulla wrote:
> Hi,
> 
> I'm Dario Garcia, a researcher from the Technical University of
> Catalonia (UPC). In a research project we are developing together with
> other partners we are using deltacloud to manage connections to various
> IaaS providers. For this we require a java REST client which can
> automate the requests to deltacloud.

awesome - is there any more info on the project (e.g. do you have a
website somewhere?)?

> 
> I've been looking for Java REST clients, and there is not a single
> library which seems to be particularly appropriate. I also noticed that
> there's a client developed within the deltacloud project:
> https://github.com/apache/deltacloud/tree/master/clients/java
> 
> I've already downloaded this client and I'm currently testing it.
> However, any information and help I could get about it would be most useful.
> My question mainly is, what is the state of this client? Which
> functionalities work in the latest version?
> 

wrt to the 'state' - I believe the last anyone worked on this client is
close to 2 years ago (that brave soul was Andre Dietisheim - I cc him
here for any input/pointers he could give if he has the time these days).

So I'm not quite sure what does/doesn't work there. My suggestion for
now is to try it out. For those things that aren't working, file jira
tickets [1] so they can be addressed. Even better, if you are able to
implement the fixes yourself, we will be very happy to help you on your
way (here/irc) ;) - on anything ranging from 'how to make patches' [2]
to 'the layout of the deltacloud code' etc

marios


[1] https://issues.apache.org/jira/browse/DTACLOUD
[2]
http://www.youtube.com/watch?feature=player_embedded&v=cUC96SdQjaE#t=1827s

> If I can get to use this client I could provide bugs reports and usage
> examples.
> 
> Thanks in advance,
> Dario.
>