[Openstack] db & notification support for API extension?

Andrew Bogott abogott at wikimedia.org
Thu Mar 8 16:53:24 UTC 2012


     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

     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?

2)  Responding to nova events

     In order to manage access permissions, I need to hook the creation 
and deletion of instances.  The easiest way to do this is by hooking 
into existing nova functions; a more isolated way is to listen on the 
queue for creation/deletion notifications.  My question about that 
latter method is:  who will listen?  Should my API extension just spin 
up a daemon and leave it to run forever?  Should I create a full-blown 
service for this?

I can think of various approaches to both these problems, but I welcome 
your suggestions.  Thank you!

-Andrew





More information about the Openstack mailing list