<div dir="ltr">I think there is some confusion about what the glance metadata api is going to do.<div><br></div><div>We are *not* planning to store metadata about other openstack resources in glance.</div><div><br></div><div>
We *are* planning to store definitions of the relevant schemas of metadata for other classes of openstack resources.</div><div><br></div><div>For example, if somebody adds a feature to Nova or a hypervisor driver to deliver clowns and rainbows whenever you boot a flavor with "extra_specs:clowns_and_rainbows" = "yes please", the metadata catalog will allow users to discover that property, read its description, learn the schema of possible values for this key, and learn the related keys that could be applied on images, volumes, volume image metadata, etc.</div>
<div><br></div><div>If someone wants to make a general store that can be used to store actual metadata, as opposed to just the definitions for metadata, they have my support. But given the mission of the Glance Program at this point, such a service probably does not belong in Glance.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 24, 2014 at 3:11 PM, Tim Simpson <span dir="ltr"><<a href="mailto:tim.simpson@rackspace.com" target="_blank">tim.simpson@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div style="word-wrap:break-word">
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">
<div><font face="Calibri, sans-serif"><span style="font-size:14px">I agree as well.</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px">I think we should spend less time worrying about what other projects in OpenStack might do in the future and spend more time on adding the features we need today to Trove. I understand that
 it's better to work together but too often we stop progress on something in Trove to wait on a feature in another project that is either incomplete or merely being planned. </span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px">While this stems from our strong desire to be part of the community, which is a good thing, it hasn't actually led many of us to do work for these other projects. At the same time, its negatively
 impacted Trove. I also think it leads us to over-design or incorrectly design features as we plan for functionality in other projects that may never materialize in the forms we expect.</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px">So my vote is we merge our own metadata feature and not fret over how metadata may end up working in Glance.</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px">Thanks,</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px">Tim</span></font></div>
<div><font face="Calibri, sans-serif"><span style="font-size:14px"><br>
</span></font></div>
<div style="color:rgb(0,0,0);font-family:'Times New Roman';font-size:16px">
<hr>
<div style="direction:ltr"><font face="Tahoma" color="#000000"><b>From:</b> Iccha Sethi [<a href="mailto:iccha.sethi@RACKSPACE.COM" target="_blank">iccha.sethi@RACKSPACE.COM</a>]<br>
<b>Sent:</b> Thursday, July 24, 2014 4:02 PM<div class=""><br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
</div><div><div class="h5"><b>Subject:</b> Re: [openstack-dev] [Glance][Trove] Metadata Catalog<br>
</div></div></font><br>
</div><div><div class="h5">
<div></div>
<div>
<div>+1</div>
<div><br>
</div>
<div>We are unsure when these changes will get into glance.</div>
<div>IMO we should go ahead will our instance metadata patch for now and when things are ready in glance land we can consider migrating to using that as a generic metadata repository.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Iccha</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;border-bottom:medium none;border-left:medium none;padding-bottom:0in;padding-left:0in;padding-right:0in;border-top:#b5c4df 1pt solid;border-right:medium none;padding-top:3pt">

<span style="font-weight:bold">From: </span>Craig Vyvial <<a href="mailto:cp16net@gmail.com" target="_blank">cp16net@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>

<span style="font-weight:bold">Date: </span>Thursday, July 24, 2014 at 3:04 PM<br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>

<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Glance][Trove] Metadata Catalog<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">Denis,
<div><br>
</div>
<div>The scope of the metadata api goes beyond just using the glance metadata. The metadata can be used for instances and and other objects to add extra data like tags or something else that maybe a UI might want to use. We need this feature either way. </div>

<div><br>
</div>
<div>-Craig</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Jul 24, 2014 at 12:17 PM, Amrith Kumar <span dir="ltr">
<<a href="mailto:amrith@tesora.com" target="_blank">amrith@tesora.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">Speaking as a ‘database guy’ and a ‘Trove guy’, I’ll say this; “Metadata” is a very generic term and the meaning of “metadata” in a database context is very different
 from the meaning of “metadata” in the context that Glance is providing. <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">Furthermore the usage and access pattern for this metadata, the frequency of change, and above all the frequency of access are fundamentally different between
 Trove and what Glance appears to be offering, and we should probably not get too caught up in the project “title”.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">We would not be “reinventing the wheel” if we implemented an independent metadata scheme for Trove; we would be implementing the right kind of when for the vehicle
 that we are operating. Therefore I do not agree with your characterization that concludes that:<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">>> given goals at [1] are out of scope of Database program, etc</span><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">Just to be clear, when you write:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">>> Unfortunately, we’re(Trove devs) are on half way to metadata …<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">it is vital to understand that our view of “metadata” is very different from (for example, a file system’s view of metadata, or potentially Glance’s view of metadata).
 For that reason, I believe that your comments on <a href="https://review.openstack.org/#/c/82123/16" target="_blank">
https://review.openstack.org/#/c/82123/16</a> are also somewhat extreme.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">Before postulating a solution (or “delegating development to Glance devs”), it would be more useful to fully describe the problem being solved by Glance and the
 problem(s) we are looking to solve in Trove, and then we could have a meaningful discussion about the right solution.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">I submit to you that we will come away concluding that there is a round peg, and a square hole. Yes, one will fit in the other but the final product will leave
 neither party particularly happy with the end result.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)">-amrith<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:'Courier New';color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Denis Makogon [mailto:<a href="mailto:dmakogon@mirantis.com" target="_blank">dmakogon@mirantis.com</a>]
<br>
<b>Sent:</b> Thursday, July 24, 2014 9:33 AM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> [openstack-dev] [Glance][Trove] Metadata Catalog<u></u><u></u></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">Hello, Stackers.</span><u></u><u></u></p>
<p class="MsoNormal"><br>
<span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">     I’d like to discuss the future of Trove metadata API. But first small history info (mostly taken for Trove medata spec, see [1]):</span><u></u><u></u></p>

<div style="margin-left:30.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt"><i><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">Instance metadata is a feature that has been requested frequently by our users. They need a way to store critical information for
 their instances and have that be associated with the instance so that it is displayed whenever that instance is listed via the API. This also becomes very usable from a testing perspective when doing integration/ci. We can utilize the metadata to store things
 like what process created the instance, what the instance is being used for, etc... The design for this feature is modeled heavily on the Nova metadata API with a few tweaks in how it works internally.</span></i><u></u><u></u></p>

</div>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">    And here comes conflict. Glance devs are working on “Glance Metadata Catalog” feature (see [2]). And as for me, we
 don’t have to<i> “reinvent the wheel” for Trove. </i>It seems that we would be able
</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">to use Glance API to interact with   Metadata Catalog. And it seems to be redundant to write our own API for metadata
 CRUD operations.</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">   
</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">    From Trove perspective, we need to define a list concrete use cases for metadata usage (eg given goals at [1] are
 out of scope of Database program, etc.). </span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">From development and cross-project integration perspective, we need to delegate all development to Glance devs. But we
 still able to help Glance devs with this feature by taking active part in polishing proposed spec (see [2]).</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">   
</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">    Unfortunately, we’re(Trove devs) are on half way to metadata - patch for python-troveclient already merged. So, we
 need to consider deprecation/reverting of merged and block </span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">merging of proposed ( see [3]) patchsets in favor of Glance Metadata Catalog.</span><u></u><u></u></p>

<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black"><br>
    Thoughts?</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">[1]
</span><a href="https://wiki.openstack.org/wiki/Trove-Instance-Metadata" target="_blank"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:rgb(17,85,204)">https://wiki.openstack.org/wiki/Trove-Instance-Metadata</span></a><u></u><u></u></p>

<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">[2]
</span><a href="https://review.openstack.org/#/c/98554/11" target="_blank"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:rgb(17,85,204)">https://review.openstack.org/#/c/98554/11</span></a><u></u><u></u></p>

<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">[3]
</span><a href="https://review.openstack.org/#/c/82123/" target="_blank"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:rgb(17,85,204)">https://review.openstack.org/#/c/82123/</span></a><u></u><u></u></p>

<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">Best regards,</span><u></u><u></u></p>
<p style="margin:0in;margin-bottom:.0001pt;text-align:justify"><span style="font-size:11.5pt;font-family:Arial,sans-serif;color:black">Denis Makogon</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</span></div>
</div></div></div>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>