<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 05/20/2014 03:19 PM, Christopher
      Yeoh wrote:<br>
    </div>
    <blockquote
cite="mid:CANCY3edX90bfgqiN=o1tp08HZ8QFD=MfeYT4OSVfTh4HUdhiLA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Tue, May 20, 2014 at 8:58 PM, Sean
            Dague <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="">On 05/19/2014 11:49 PM, Christopher Yeoh
                wrote:<br>
                >><br>
                > - if/else inlined in tests based on the
                "microversion mode" that is<br>
                > being tested at the moment (perhaps least amount of
                "code" but cost is<br>
                > readability)<br>
                > - class inheritance (override specific bits where
                necessary - bit more<br>
                > code, but readbility better?).<br>
                > - duplicated tests (min sharing)<br>
                <br>
              </div>
              Realistically, the current approach won't scale to micro
              versions. We<br>
              really won't be able to have 100 directories for Nova, or
              a 100 class<br>
              inheritances.<br>
              <br>
              When a micro version happens, it will affect a small
              number of<br>
              interfaces. So the important thing will be testing those
              interfaces<br>
              before and after that change. We'll have to be really
              targeted here.<br>
              Much like the way the database migration tests with data
              injection are.<br>
              <br>
              Honestly, I think this is going to be hard to fully map
              until we've got<br>
              an interesting version sitting in front of us.<br>
              <span class="HOEnZb"><font color="#888888"><br>
                </font></span></blockquote>
            <div><br>
            </div>
            <div>So I agree that we won't be able to have a new
              directory for every microversion. But for the v2/v3
              changes<br>
              we already have a lot of typical minor changes we'll need
              to handle. Eg.<br>
              <br>
            </div>
            <div>- a parameter that has been renamed or removed
              (effectively the same thing from an API point of view)<br>
            </div>
            <div>- a success status code that has changed<br>
              <br>
            </div>
            <div>Something like say a tasks API would I think be quite
              different because there would be a lot less shared code
              for the tests and so we'll need a different solution.<br>
              <br>
            </div>
            <div>I guess what I'm saying is once we have a better idea
              of how the microversion interface will work then I think
              doing the work to minimise the code duplication on the
              tempest side is worth it because we have lots of examples
              of the sorts of cases we'll need to handle.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I agree. I think what Sean is saying, and this was the original
    intent of starting this thread, is that the structure we come up
    with for micro versions will look a lot different than the v2/v3
    consolidation that was in progress in tempest when the decision to
    abandon v3 as a monolithic new api was made. So we have to stop the
    current changes based on a monolithic v2/v3, and then come up with a
    new organization based on micro versions when the nova approach has
    solidified sufficiently.<br>
    <br>
     -David<br>
    <br>
    <blockquote
cite="mid:CANCY3edX90bfgqiN=o1tp08HZ8QFD=MfeYT4OSVfTh4HUdhiLA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>
            </div>
            <div><br>
              Regards,<br>
              <br>
              Chris<br>
            </div>
            <div><br>
               </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex"><span
                class="HOEnZb"><font color="#888888">
                          -Sean<br>
                </font></span>
              <div class="HOEnZb">
                <div class="h5"><br>
                  --<br>
                  Sean Dague<br>
                  <a moz-do-not-send="true" href="http://dague.net"
                    target="_blank">http://dague.net</a><br>
                  <br>
                </div>
              </div>
              <br>
              _______________________________________________<br>
              OpenStack-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
              <a moz-do-not-send="true"
                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>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>