<div dir="ltr">The underlying assumption was originally that tools versions would change much more frequently than client versions, but this hasn't been borne out in practice -- as you note, this is all a consequence of the rapid CLI -> API changes. But if the known-issue handwave wasn't good enough for 1.16.3->1.16.4 -- and you're right, it wasn't -- it's certainly not going to be enough for 1.16.x->1.18.x.<div>
<br></div><div>Since we don't expect schema upgrades to be a practical reality until 2.0 -- and since we don't want to blow through a load of major version numbers in the interim -- I think we have no choice but to have the CLI fall back to using direct DB access when it's communicating with an out-of-date state server. The only actual downside of providing proper compatibility is that the code is boring to write, and that's no excuse not to do it.</div>
<div><br></div><div>FWIW, I *am* comfortable with the idea that we can only guarantee compatibility between 1.x and 1.x+2, for even x -- thus allowing us to retire direct db-access CLI code at a reasonable rate -- but that needs to be in *both* directions, as we always planned and agreed. And even then, only on the understanding that this state of affairs persists *only* until 2.0, after which we cannot drop 2.0 compatibility until 3.0, however far 2.x might take us.</div>
<div><br></div><div>Counterarguments?<br><div><br></div><div>Cheers</div><div>William</div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 20, 2013 at 9:26 PM, Curtis Hovey-Canonical <span dir="ltr"><<a href="mailto:curtis@canonical.com" target="_blank">curtis@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Resend to the list.<br>
<div class="im"><br>
<br>
On Tue, Nov 19, 2013 at 11:42 PM, John Meinel <<a href="mailto:john@arbash-meinel.com">john@arbash-meinel.com</a>> wrote:<br>
> I know William and I are well aware that 1.18 cli wont work with a 1.16<br>
> server (and most likely the reverse is true).<br>
> Agent compatibility is actually easy at this point because we have that all<br>
> in the API already. CLI compat is something we've explicitly skipped.<br>
><br>
> I would  love to support it and will certainly require it post 2.0. Is it<br>
> worth spending the time now?<br>
<br>
</div>I think we have a numbers problem. I believe savvy users will accept<br>
incompatibilities between major numbers. 0, 1, and 2 imply different<br>
foundations. 1.16 and 1.18 imply additional features, not the removal<br>
of them. If 1.18 cannot help 1.16 upgrade to 1.18, we offer ways to<br>
have co-installs of both.<br>
<br>
Alternatively, if this is just about the transition about cli to api,<br>
we write a make this clear in the known issues, explain how we think<br>
small organisations and large enterprises will accomplish the upgrade.<br>
We will also accept that many will refuse to upgrade because the<br>
barrier is too high, just as users have done with pyjuju,<br>
<br>
Honestly. as much as I want to see 1.18 this month, I don't think it<br>
can happen this year. If we make upgrades hard, we will stop work on<br>
features after the 1.18 release to address the concerns of<br>
organisations that cannot complete upgrades.<br>
<div class="im HOEnZb"><br>
--<br>
Curtis Hovey<br>
Canonical Cloud Development and Operations<br>
<a href="http://launchpad.net/~sinzui" target="_blank">http://launchpad.net/~sinzui</a><br>
<br>
<br>
--<br>
Curtis Hovey<br>
Canonical Cloud Development and Operations<br>
<a href="http://launchpad.net/~sinzui" target="_blank">http://launchpad.net/~sinzui</a><br>
<br>
</div><div class="HOEnZb"><div class="h5">--<br>
Juju-dev mailing list<br>
<a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
</div></div></blockquote></div><br></div>