openstack team mailing list archive
Mailing list archive
db & notification support for API extension?
I'm working on an API and implementation to support the creation of
filesystems that are shared among Nova instances.
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
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!