<div dir="ltr">Version checking for features can be dangerous because a commands output or availability may change in the future and now your charm also needs a "max-version", or "version-range" etc. A more robust solution could be something along the lines of a "feature-supported" query which would return whether that command is indeed supported in the active environment with the necessary syntax. <div><br></div><div>In JS this is a common workflow when dealing with cross browser compatibility issues and this issue is similar. The use could be something like...</div><div><br></div><div>IS_LEADER_SUPPORTED=`juju supported-command is_leader`</div><div>if [ "$IS_LEADER_SUPPORTED" == "true" ]; then</div><div>  # Do stuff</div><div>else </div><div> juju-log "Requires is_leader Juju command"</div><div>fi</div><div><div><div><br></div><div>-Jeff</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 2:32 PM, Matt Bruzek <span dir="ltr"><<a href="mailto:matthew.bruzek@canonical.com" target="_blank">matthew.bruzek@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br>We wrote a charm that needed election logic, so we used the new Juju feature "is_leader".  A user was interested in using a bundle that contained this charm and it failed on them.  It was hard to track down the cause of the problem.  It appears they were using an earlier version of Juju that is available from universe and only the PPA had the more current version.<br><br></div><div class="gmail_default" style="font-size:small">Read more about the problem here: <a href="https://bugs.launchpad.net/charms/+source/etcd/+bug/1483380" target="_blank">https://bugs.launchpad.net/charms/+source/etcd/+bug/1483380</a><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I heard the "min-version" feature discussed at previous Cloud sprints but to my knowledge we do not have it implemented yet.  The idea was a charm could specify in metadata.yaml what min-version of Juju they support. <br><br></div><div class="gmail_default" style="font-size:small">There are a lot of new features that juju-core are cranking out (and that is *awesome*)!  We have already run into this problem with a real user, and will have the problem in the future. <br><br></div><div class="gmail_default" style="font-size:small">Can we reopen the discussion of min-version?  Or some other method of preventing this kind of problem in the future?<br></div><div class="gmail_default" style="font-size:small"><br clear="all"></div><div><div><div dir="ltr">   - Matt Bruzek <<a href="mailto:matthew.bruzek@canonical.com" target="_blank">matthew.bruzek@canonical.com</a>><br></div></div></div>
</div>
<br>--<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" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
<br></blockquote></div><br></div>