<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Dec 18, 2012, at 11:26 AM, Matt Dietz <<a href="mailto:matt.dietz@rackspace.com">matt.dietz@rackspace.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif; ">
<div>I agree with this</div>
<div><br>
</div>
<div>The only thing I would add is it would be ideal if the extensions were treated explicitly as extensions. More specifically, if the client documentation made it clear that extension X might not be available across all openstack clouds. That the client currently
 sorts the extensions docstrings in with the rest of the core functionality could lead to some confusion down the road. </div>
</div></blockquote><br></div><div>I think we are on the same page here. I'd like to outline a few steps:</div><div><br></div><div>a) Add some logic in novaclient to only show extensions which have a matching endpoint if nova help is called with credentials</div><div>b) Move all existing extension functionality into the novaclient/v1_1/contrib/ dir</div><div>c) Update the client documentation to make it clear which functionality is extension based.</div><div><br></div><div>This should be fairly easy for the large blocks of extension functionality (e.g. os-networks) but it will be tricky for the extensions that add extra parameters to existing commands. We may be able to figure out how to tag which options are enabled by which extensions, but if not we could at the very least add some comments to the help text like (requires os-keypairs extension)</div><div><br></div><div>We should be careful about moving around classes for people using python-novaclient as a library as well.</div><div><br></div><div>Vish</div><br></body></html>