On 06/11/12 18:37, Ian Main wrote:
> On Fri, Nov 02, 2012 at 11:35:44AM +0200, [email protected] wrote:
>> Hi Ian:
>>
>> On 01/11/12 22:01, Ian Main wrote:
>>>
>>> Howdy guys,
>>>
>>> So I've been using the openstack driver as a backend for heat ->
>>> deltacloud work.  I just posted a few patches to resolve issues that I
>>> have run into but I've now hit a more serious roadblock and that is the
>>
>> great thanks for those but I need some clarification:
>>
>> "Add user-data support to openstack driver"
>>
>> in this patch - are you trying to add the ability to push user-data into
>> a launched instance (as opposed to server metadata, which is different)?
>> If you are then Openstack has a different way of doing this, called
>> 'server personality' [1] which we already have implemented. You have to
>> pass a hash that matches the data you want pushed with where on the
>> server you want it, like: {path1='server_path1'. content1='contents1',
>> path2='server_path2', content2='contents2'}
>>
>> When testing this against openstack@HPcloud, I was able to inject data
>> but only into /etc (see comment at [2] for more info). As an example,
>> the cURL command for launching an Openstack instance via deltacloud,
>> complete with user data looks like:
>>
>> curl -ivX POST --user "foo:bar" -F "image_id=foo" -F
>> "path1=/etc/my_file1" -F "content1=another test 1 here" -F
>> "path2=/etc/anotherfile" -F "content2=this is a test"
>> "http://localhost:3001/api/instances?format=xml";
>>
>>
>>
>>> lack of volume support for openstack.
>>>
>>
>> great - this is something i've been meaning to do for a while. But
>> again, need some clarification/info. Until now, there is no mention of
>> 'Volumes' in the Nova 'API Proper' [3]. It *has* been available as an
>> API extension. This is not a problem as I've already implemented other
>> extensions such as 'floating IPs' and 'keypairs' for the Openstack
>> rubygem [4]. However, I am also aware that there is a 'new' service
>> called 'Cinder' which is meant to be the 'Volume API'. I suspect that
>> what was formerly an extension has now (in folsom?) become the seperate
>> 'cinder' aka 'Volume' service - though the API is not yet available at
>> [5]. So my question is - what are you using? Have you deployed the
>> Volume service (I guess this is the case but I need to know so I can
>> proceed for implementation),
> 
> I guess it is more complicated when coming from ruby.. we are using the
> python novaclient and the volume API is just built in.  My guess
> is they are routing it to wherever it needs to go.
> 
> Code I see in novaclient is eg:
> 
>           body = {'volume': {'size': size,
>                              'snapshot_id': snapshot_id,
>                              'display_name': display_name,
>                              'display_description': display_description,
>                              'volume_type': volume_type}}
>          return self._create('/volumes', body, 'volume')
> 
> Which just calls the same base class _create() that all the other API
> functions use.  I honestly have not kept up on the swift vs cinder debate
> though I have heard it discussed..  If I were you though I would just
> duplicate novaclient calls.
> 

apologies for the delay - jumping on this today.

marios

>     Ian
> 

Reply via email to