<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font size="-1">I have some food for thought with regards to
      upgrades that was provoked by some incorrect usage of Magnum which
      led me to finding [1].<br>
      <br>
      Let's say we're running a cloud with Liberty Magnum, which works
      with Kubernetes API v1. During the Mitaka release, Kubernetes
      released v2, so now Magnum conductor in Mitaka works with
      Kubernetes v2 API. What would happen if I upgrade from L to M with
      Magnum? My existing Magnum/k8s stuff will be on v1, so having
      Mitaka conductor attempt to interact with that stuff will cause it
      to blow up right? The k8s API calls will fail because the
      communicating components are using differing versions of the API
      (assuming there are backwards incompatibilities).<br>
      <br>
      I'm running through some suggestions in my head in order to handle
      this:<br>
      <br>
      1. Have conductor maintain all supported older versions of k8s,
      and do API discovery to figure out which version of the API to use<br>
        - This one sounds like a total headache from a code management
      standpoint<br>
      <br>
      2. Do some sort of heat stack update to upgrade all existing
      clusters to use the current version of the API<br>
        - In my head, this would work kind of like a database migration,
      but it seems like it would be a lot harder<br>
      <br>
      3. Maintain cluster clients outside of the Magnum tree<br>
        - This would make maintaining the client compatibilities a lot
      easier<br>
        - Would help eliminate the cruft of merging 48k lines for a
      swagger generated client [2]<br>
        - Having the client outside of tree would allow for a simple pip
      install<br>
        - Not sure if this *actually* solves the problem above<br>
      <br>
      This isn't meant to be a "we need to change this" topic, it's just
      meant to be more of a "what if" discussion. I am also up for
      suggestions other than the 3 above.<br>
      <br>
      [1]
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/pipermail/openstack-dev/2015-September/074448.html">http://lists.openstack.org/pipermail/openstack-dev/2015-September/074448.html</a><br>
      [2] <a class="moz-txt-link-freetext" href="https://review.openstack.org/#/c/217427/">https://review.openstack.org/#/c/217427/</a><br>
    </font>
    <pre class="moz-signature" cols="72">-- 
Thanks,

Ryan Rossiter (rlrossit)</pre>
  </body>
</html>