← Back to team overview

openstack team mailing list archive

Re: db & notification support for API extension?

 

On Wed, Apr 25, 2012 at 6:04 PM, Andrew Bogott <abogott@xxxxxxxxxxxxx>wrote:

> On 4/25/12 4:48 PM, Nathanael Burton wrote:
>
>> On Thu, Mar 8, 2012 at 11:53 AM, Andrew Bogott<abogott@xxxxxxxxxxxxx>
>>  wrote:
>>
>>>    I'm working on an API and implementation to support the creation of
>>> filesystems that are shared among Nova instances.
>>>
>>> http://wiki.openstack.org/**SharedFS<http://wiki.openstack.org/SharedFS>
>>>
>>>    My hope is to keep this API isolated from core Nova code, partly to
>>> avoid
>>> stepping on toes and partly because I hope to be able to drop it into an
>>> existing essex install.  There are two things I need which I know how to
>>> do
>>> within Nova but am not clear on how to do without modding Nova code:
>>>
>>> 1)  DB support
>>>
>>>    I need a database table to keep track of some filesystem metadata.  My
>>> current implementation adds the table via nova/db/sqlalchemy/migrate_**
>>> repo...
>>> but is it really necessary to coordinate this table with the rest of
>>> Nova?
>>>  Would it be reasonable to maintain the table independently within the
>>> extension code?  And, if so, are there any existing extensions that do
>>> something like this?
>>>
>> Have you determined a cleaner way of doing this?  I have the same
>> issues as you when writing API extensions.
>>
> Nate --
>
> The short answer is:  I'm sure that it's straightforward to create a
> 'private' table which doesn't collide with existing nova tables, but I have
> yet to do so.
>
> The longer answer is:  Everything about that thread is now rolled into the
> topic of 'the plugin framework' which we discussed at the design summit and
> which I'm currently devoted to.  Please consider adding your use cases to
> the wiki page at http://wiki.openstack.org/**novaplugin<http://wiki.openstack.org/novaplugin>,
> and let me know if you would like me to add you to the list of people I cc:
> when looking for opinions and/or reporting progress.


The wiki page says that a plugin may want to "Access the Nova database" but
that phrasing is a little vague. Does it mean "Read and write data to its
own tables in the Nova database" (as mentioned later on the page) or "Read
data from the Nova tables" or even "Write data to the Nova tables"?

I assume if we're talking about Nova tables, access would be through the
existing core classes in Nova that manage those tables, rather than
manipulating them directly. Should that be stated explicitly?


>
>
> -Andrew
>
>
> ______________________________**_________________
> Mailing list: https://launchpad.net/~**openstack<https://launchpad.net/~openstack>
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~**openstack<https://launchpad.net/~openstack>
> More help   : https://help.launchpad.net/**ListHelp<https://help.launchpad.net/ListHelp>
>

References