<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 25, 2012 at 6:04 PM, Andrew Bogott <span dir="ltr"><<a href="mailto:abogott@wikimedia.org" target="_blank">abogott@wikimedia.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 4/25/12 4:48 PM, Nathanael Burton wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, Mar 8, 2012 at 11:53 AM, Andrew Bogott<<a href="mailto:abogott@wikimedia.org" target="_blank">abogott@wikimedia.org</a>>  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    I'm working on an API and implementation to support the creation of<br>
filesystems that are shared among Nova instances.<br>
<br>
<a href="http://wiki.openstack.org/SharedFS" target="_blank">http://wiki.openstack.org/<u></u>SharedFS</a><br>
<br>
    My hope is to keep this API isolated from core Nova code, partly to avoid<br>
stepping on toes and partly because I hope to be able to drop it into an<br>
existing essex install.  There are two things I need which I know how to do<br>
within Nova but am not clear on how to do without modding Nova code:<br>
<br>
1)  DB support<br>
<br>
    I need a database table to keep track of some filesystem metadata.  My<br>
current implementation adds the table via nova/db/sqlalchemy/migrate_<u></u>repo...<br>
but is it really necessary to coordinate this table with the rest of Nova?<br>
  Would it be reasonable to maintain the table independently within the<br>
extension code?  And, if so, are there any existing extensions that do<br>
something like this?<br>
</blockquote>
Have you determined a cleaner way of doing this?  I have the same<br>
issues as you when writing API extensions.<br>
</blockquote></div>
Nate --<br>
<br>
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.<br>
<br>
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 <a href="http://wiki.openstack.org/novaplugin" target="_blank">http://wiki.openstack.org/<u></u>novaplugin</a>, 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.</blockquote>
<div><br></div><div>The wiki page says that a plugin may want to "<span style="background-color:rgb(255,255,255);color:rgb(83,83,83);font-family:sans-serif;font-size:18px;line-height:23px">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"? </span></div>
<div><span style="background-color:rgb(255,255,255);color:rgb(83,83,83);font-family:sans-serif;font-size:18px;line-height:23px"><br></span></div><div><span style="background-color:rgb(255,255,255);color:rgb(83,83,83);font-family:sans-serif;font-size:18px;line-height:23px">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?</span></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
<br>
-Andrew</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~<u></u>openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~<u></u>openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/<u></u>ListHelp</a><br>
</div></div></blockquote></div><br></div>