<br><br><div class="gmail_quote">On Wed, Nov 21, 2012 at 11:37 AM, Thierry Carrez <span dir="ltr"><<a href="mailto:thierry@openstack.org" target="_blank">thierry@openstack.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">Doug Hellmann wrote:<br>
>>     In particular, where would that library code live ? In Nova tree ? Or in<br>
>>     a separate tree under nova's responsibility, like python-novaclient ?<br>
><br>
> It would definitely be the nova team's responsibility, although I am<br>
> sure Eoghan and others from the ceilometer team will have input as well.<br>
><br>
> If we don't move the library out of the main nova code base, then we<br>
> will have to be very vigilant to avoid introducing dependencies on<br>
> global state (cfg.CONF), API changes, etc. For that reason, I think the<br>
> simplest long-term solution would be to create a new git repo managed by<br>
> the nova team with the code for this library and then treat it in the<br>
> same way we plan to treat the oslo libraries. It should install into its<br>
> own namespace (i.e., not the nova package, maybe oslo-virt?) and have a<br>
> separate version number (the triplet Eoghan proposed would work for<br>
> this). The OpenStack projects that use it would need to declare which<br>
> version they want and within an OpenStack release we would have to<br>
> coordinate so that nova and ceilometer don't require different versions,<br>
> just as with other libraries.<br>
<br>
</div>OK, that makes sense to me. If we can piggy-back on oslo for this, it's<br>
even better (no need to create a corner case project).<br></blockquote><div><br></div><div>Yes, down with special cases! :-)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><br>
>>     If we are talking about a separate library, the versioning can<br>
>>     theoretically use anything (like we do with oslo libraries or Python<br>
>>     client libraries). But then it's better if a given library version can<br>
>>     handle /any/ Nova install, in the same way the Python client libraries<br>
>>     do. That option seems to be adding a new corner case category of<br>
>>     OpenStack project within the "library" project type, with its own<br>
>>     release model... Not exactly a lightweight solution. I'm not sure option<br>
>>     2 is that much of an headache compared to that.<br>
><br>
> Why do you propose that the library needs to support any version of<br>
> nova? I don't see why it would be treated any differently than any other<br>
> dependency of nova or ceilometer.<br>
<br>
</div>There is the question of stable releases, and PyPI insufficient support<br>
for that (same concerns as in the oslo versioning thread). I'm also a<br>
bit worried that we'd have to maintain a weird compatibility matrix,<br>
like "you need 1.6 to talk with Nova 2013.1", but since it's not really<br>
user-oriented, maybe it doesn't matter that much.<br>
<div class="im"><br>
> It isn't an API in the sense that the<br>
> library would be used to communicate with nova. It would be something<br>
> nova uses, like anyjson, gevent, or libvirt.<br>
<br>
</div>My understanding of option 5 is that the library would be use by<br>
ceilometer to access Nova, not the other way around ?<br></blockquote><div><br></div><div>I thought that option represented moving the virtualization code out of nova into a library that was used by both components for talking to the hypervisor. That introduces a new dependency, but neither component is communicating with the other so there is still no dependency between nova and ceilometer (in fact, removing our current dependency on nova is part of the motivation for these changes).</div>
<div><br></div><div>Doug</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
--<br>
Thierry Carrez (ttx)<br>
Release Manager, OpenStack<br>
<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>
</div></div></blockquote></div><br>