<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Anne,
<div><br>
</div>
<div>Thank you for the information, I was unaware those existed. It appears some of the things we are discussing here are already described in those pages.</div>
<div><br>
</div>
<div>Aaron</div>
<div><br>
<div>
<div>On Oct 20, 2011, at 9:15 AM, Anne Gentle wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">Hi Aaron and all - 
<div><br>
</div>
<div>Just wanted to make you aware of testing wiki pages that exist already: 
<div><br>
<div><a href="http://wiki.openstack.org/SmallTestingGuide">http://wiki.openstack.org/SmallTestingGuide</a></div>
<div><br>
</div>
<div><a href="http://wiki.openstack.org/TestGuide">http://wiki.openstack.org/TestGuide</a><br>
<br>
</div>
<div>If you look at the info for these pages you can see who has worked on them, for example see <a href="http://wiki.openstack.org/TestGuide?action=info">http://wiki.openstack.org/TestGuide?action=info</a> for all the writers on the page. I'm just listed at
 the bottom as the last editor.</div>
<div><br>
Looks like there's work at standardizing vocabulary there. </div>
<div><br>
</div>
<div>Anne</div>
<div><br>
</div>
<div><br>
<div class="gmail_quote">On Thu, Oct 20, 2011 at 6:53 AM, Aaron Lee <span dir="ltr">
<<a href="mailto:aaron.lee@rackspace.com">aaron.lee@rackspace.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">
<div>Adding dependancies between tests is going to create a maintenance and communication headache later. If the test requires a specific state to run, that state should be setup, or asserted within that test.</div>
<div><br>
</div>
<div>We need to set up a wiki page that gives us a glossary of testing terms. It seems like everyone here has a different definition of "framework", "test", "suite", "functional", and "integration". I think we need to make sure we are expecting the same things
 from this project, and that we all don't just agree to run in different directions. I'll set this up when I get in to the office.</div>
<div><br>
</div>
<div>I strongly agree with your point about not making the official integration suite dependent on a single implementation. Yesterday Daryl was talking about making sure the tests were extensible enough that anyone could keep a separate set(s) of tests around
 for extensions or their custom configuration. This should not be a problem, if we make the configuration and client easy enough to use, and the inclusion of additional tests into the project could be handled with git submodules. If we keep the tests separated
 in this way it would not be hard to keep the main suite down to a minimum "does it work, can be run on a live system" set of tests, and have separate submodules for twisting, torquing, breaking, or whatever other mayhem we want to cause on a test system.</div>
<div><br>
</div>
<font color="#888888">
<div>Aaron</div>
</font>
<div>
<div></div>
<div class="h5"><br>
<div>
<div>On Oct 19, 2011, at 10:48 PM, Joseph Heck wrote:</div>
<br>
<blockquote type="cite">
<div style="word-wrap:break-word">Fair enough; let me outline the goals I'm pursuing:
<div><br>
</div>
<div>In the integration tests, I'm looking for a suite of tests that are relatively agnostic to the implementation of the components of OpenStack, and which interact with OpenStack through the API's (and potentially nova-* swift-* command line).</div>
<div><br>
</div>
<div>I have a hardware environment that I want to "burn down and rebuild" on a regular basis (i.e. PXE boot and clean-slate the stuff), installing and configuring OpenStack from the trunk branches (or a release branch if we're at milestone time) and run test
 that use these systems together:</div>
<div> - the integration authorization, authentication (keystone) with nova and swift</div>
<div> - using glance in conjunction with swift</div>
<div> - using glance in conjunction with nova</div>
<div> - working the dashboard and it's UI mechanisms that interacts with everything else behind it through the keystone "endpoints" service catalog</div>
<div><br>
</div>
<div>I'm hoping that this framework would allow for supporting any number of installs - whether it's Fedora & GridDynamics RPMs, Ubuntu+KVM, or interesting and random variations on the themes. It's especially important to me that we can have this framework
 run, and expect to pass, against any OpenStack setup as we get into Quantum and Melange improvements over the Essex timeframe, which will be heavily reliant on deployment specific choices (Cisco vs. OpenVSwitch vs. whatever else might come available).</div>
<div><br>
</div>
<div>I'd prefer the test suite not choose or show preference to a specific install, or at the very minimum support identifying tests specific to an install (i.e. to highlight the interesting delta's that have grown in between Xen and KVM installations) - and
 be something that anyone can set up and run (since I don't want to expect any one entity to be responsible for having all the various OpenStack flavors).</div>
<div><br>
</div>
<div>My own personal aim is to have a stable back-end environment that I can run Selenium or equivalent tests against the dashboard that will in turn work everything else. This means having the environment in a known state to start with, and I'm expecting that
 a whole suite of these tests might well be very time consuming to run - up to a couple of hours.</div>
<div><br>
</div>
<div>My intention is to actually have multiple "swim lanes" of these hardware environments (I do already) and to automate the burn-down, install, configuration, and testing of those environments. I would like the "testing" portion of this to be consistent -
 and I'm looking to the OpenStack Integration Tests to be the basis for that - and to which we'll be submitting back tests working the Dashboard as it goes forward.</div>
<div><br>
</div>
<div>Something to note - (kind of buried in: <a href="http://wiki.openstack.org/openstack-integration-test-suites" target="_blank">http://wiki.openstack.org/openstack-integration-test-suites</a>). The proboscis library (<a href="http://pypi.python.org/pypi/proboscis" target="_blank">http://pypi.python.org/pypi/proboscis</a>)
 for Nose is a NoseTest running that allows the annotation of tests with dependencies and groups, inspired by TestNG and maintiained by Tim Simpson @ rackspace.</div>
<div><br>
</div>
<div>I haven't written much with it yet, but would like to suggestion that tests could be organized with this to allow for dependencies and grouping to allow parallel execution where appropriate.</div>
<div><br>
</div>
<div>I've been currently generating functional tests using Lettuce (with a httplib2 based webdriver), and while I like it from a BDD perspective, I'm finding it more time consuming to generate the tests (as I end up messing with the DSL more than writing tests)
 today.</div>
<div><br>
</div>
<div>-joe</div>
<div><br>
<div>
<div>On Oct 19, 2011, at 8:25 PM, Daryl Walleck wrote:</div>
<blockquote type="cite">
<div style="word-wrap:break-word">
<div>Interesting analysis. I see a few issues though. I don't think that running tests in serial is a realistic option with a functional/integration test suite of significant size, given the time needed to create the resources needed for testing. We could,
 but the time needed to execute the suite and get feedback in a useful period of time would be prohibitive. If tests are self sufficient and create or intelligently share resources, parallelization should be doable. </div>
<div><br>
</div>
<div>I've heard the idea of forced test dependencies several times, which adds its own set of problems. Independent and flexible grouping/execution of tests is something I've relied on quite a bit in the past when troubleshooting. I'd also be concerned about
 the stability and reliability of the tests if each relies on the state generated by the tests before it. If test 4 out of 100 fails, that means the results of the 96 tests would either be false positives, or if all test dependent execution ends at that point
 numerous test cases would not be executed, possible hiding other issues until the first issue is resolved.</div>
<div><br>
</div>
<div>I also get the impression that I think we all may be fairly far apart about what it is that we each want from a testing framework (and even to some degree of what components make up a framework). It might be useful to take a step back and discuss what
 it is that we want from this test suite and what it should accomplish. For example, my understanding is that this suite will likely grow to hundreds, if not into the thousands of tests, which in my mind significantly changes how I would design the suite. </div>
<div><br>
</div>
<div>Daryl</div>
<div><br>
</div>
<div>
<div>On Oct 19, 2011, at 7:26 PM, Joseph Heck wrote:</div>
<br>
<blockquote type="cite">
<div bgcolor="#FFFFFF">
<div>What you've described is a great unit testing framework, but with integration testing you need recognition that some tests are dependent of specific system state - and therefore can not be run blindly in parallel. </div>
<div><br>
</div>
<div>Some can, just not all - and often the most expedient way to get a system in a known state is to "walk it there" through sequences of tests. </div>
<div><br>
</div>
<div>I believe we essentially already have this framework in place with the openstack-integration-tests repo and the proposed (but not yet implemented) set of tests using proboscis to enable dependencies and grouping in those tests. </div>
<div><br>
-joe</div>
<div><br>
On Oct 19, 2011, at 5:00 PM, "Ngo, Donald (HP Cloud Services : QA)" <<a href="mailto:donald.ngo@hp.com" target="_blank">donald.ngo@hp.com</a>> wrote:<br>
<br>
</div>
<div></div>
<blockquote type="cite">
<div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">My wish list for our proposed framework:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><u></u> <u></u></span></p>
<p><span style="color:#1F497D"><span>-<span style="font:7.0pt "Times New Roman"">       
</span></span></span><span style="color:#1F497D">Create XML JUnit style run reports<u></u><u></u></span></p>
<p><span style="color:#1F497D"><span>-<span style="font:7.0pt "Times New Roman"">       
</span></span></span><span style="color:#1F497D">Run tests in parallel<u></u><u></u></span></p>
<p><span style="color:#1F497D"><span>-<span style="font:7.0pt "Times New Roman"">       
</span></span></span><span style="color:#1F497D">Should be able to run out of the box with little configuration (a single configuration file, everything in one place)<u></u><u></u></span></p>
<p><span style="color:#1F497D"><span>-<span style="font:7.0pt "Times New Roman"">       
</span></span></span><span style="color:#1F497D">Run through standard runner like Nosetest (i.e. nosetests /Kong or nosetests /YourSuite). This will allow the suites to easily integrate in each company’s framework.<u></u><u></u></span></p>
<p><span style="color:#1F497D"><span>-<span style="font:7.0pt "Times New Roman"">       
</span></span></span><span style="color:#1F497D">Tests framework should support drop and run using reflection as a way to identify tests to run<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Donald<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt">
<a href="mailto:openstack-bounces+donald.ngo=hp.com@lists.launchpad.net" target="_blank">
openstack-bounces+donald.ngo=hp.com@lists.launchpad.net</a> [mailto:<a href="mailto:openstack-bounces%2Bdonald.ngo" target="_blank">openstack-bounces+donald.ngo</a>=<a href="mailto:hp.com@lists.launchpad.net" target="_blank">hp.com@lists.launchpad.net</a>]
<b>On Behalf Of </b>Brebner, Gavin<br>
<b>Sent:</b> Wednesday, October 19, 2011 10:39 AM<br>
<b>To:</b> Daryl Walleck; Rohit Karajgi<br>
<b>Cc:</b> <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
<b>Subject:</b> Re: [Openstack] [QA] openstack-integration-tests<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">My 2c<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">To me, the end-customer facing part of the Openstack solution is in many ways the set of libraries and tools customers are likely to use – as such testing with them<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">is essential. If there’s a bug that can be only exposed through some obscure API call that isn’t readily available through one of the usual libraries, it mostly will be of
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">only minor importance as it will be rarely if ever get used, whereas e.g. a bug in a library that causes data corruption will not be good for Openstack no matter<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">how correct things are from the endpoint in. The whole solution needs to work; this is complex as we don’t necessarily control all the libraries, and can’t test everything<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">with every possible library, so we have to do the best we can to ensure we catch errors as early as possible e.g. via direct API testing for unit tests / low level
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">functional tests. Testing at multiple levels is required, and the art is in selecting how much effort to put at each level.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Re. framework we need a wide range of capabilities, hence keep it simple and flexible. One thing I’d really like to see would be a means to express parallelism – e.g. for
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">chaos monkey type tests, race conditions, realistic stress runs and so on. Support for tests written in any arbitrary language is also required. I can write all<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">this myself, but would love a framework to handle it for me, and leave me to concentrate on mimicking what I think our end customers are likely to do.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Gavin<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt">
<a href="mailto:openstack-bounces+gavin.brebner=hp.com@lists.launchpad.net" target="_blank">
openstack-bounces+gavin.brebner=hp.com@lists.launchpad.net</a> [mailto:<a href="mailto:openstack-bounces%2Bgavin.brebner" target="_blank">openstack-bounces+gavin.brebner</a>=<a href="mailto:hp.com@lists.launchpad.net" target="_blank">hp.com@lists.launchpad.net</a>]
<b>On Behalf Of </b>Daryl Walleck<br>
<b>Sent:</b> Wednesday, October 19, 2011 6:27 PM<br>
<b>To:</b> Rohit Karajgi<br>
<b>Cc:</b> <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
<b>Subject:</b> Re: [Openstack] [QA] openstack-integration-tests<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi Rohit,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm glad to see so much interest in getting testing done right. So here's my thoughts. As far as the nova client/euca-tools portion, I think we absolutely need a series of tests that validate that these bindings work correctly. As a nice
 side effect they do test their respective APIs, which is good. I think duplication of testing between these two bindings and even what I'm envisioning as the "main" test suite is necessary, as we have to verify at least at a high level that they work correctly.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">My thoughts for our core testing is that those would the ones that do not use language bindings. I think this is where the interesting architectural work can be done. Test framework is a very loose term that gets used a lot, but to me a
 framework includes:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<ul type="disc">
<li class="MsoNormal">The test runner and it's capabilities<u></u><u></u></li><li class="MsoNormal">How the test code is structured to assure maintainability/flexibility/ease of code re-use<u></u><u></u></li><li class="MsoNormal">Any utilities provided to extend or ease the ability to test<u></u><u></u></li></ul>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">I think we all have a lot of good ideas about this, it's just a matter of consolidating that and choosing one direction to go forward with.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Daryl<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">On Oct 19, 2011, at 9:58 AM, Rohit Karajgi wrote:<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Hello Stackers,</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">I was at the design summit and the sessions that were ‘all about QA’ and had shown my interest in supporting this effort. Sorry I could not be present at the first QA IRC meeting due to a vacation.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">I had a chance to eavesdrop at the meeting log and Nachi-san also shared his account of the outcome with me. Thanks Nachi!</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Just a heads up to put some of my thoughts on ML before today’s meeting.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">I had a look at the various (7 and counting??) test frameworks out there to test OpenStack API.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Jay, Gabe and Tim put up a neat wiki (</span><a href="http://wiki.openstack.org/openstack-integration-test-suites" target="_blank">http://wiki.openstack.org/openstack-integration-test-suites</a>)<span> </span><span style="font-size:11.0pt;color:#1F497D">to
 compare many of these.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">I looked at<a href="https://github.com/gabrielfalcao/lettuce" target="_blank"><span> </span>Lettuce</a><span> </span>and felt it was quite effective. It’s incredibly easy to write tests once
 the wrappers over the application are setup. Easy as in “Given a ttylinux image create a Server” would be how a test scenario would be written in a typical .feature file, (which is basically a list of test scenarios for a particular feature) in a natural language.
 It has nose support, and there’s some neat<span> </span><a href="http://lettuce.it/index.html" target="_blank">documentation</a><span> </span>too. I was just curious if anyone has already tried out Lettuce with OpenStack? From the ODS, I think the Grid Dynamics
 guys already have their own implementation. It would be great if one of you guys join the meeting and throw some light on how you’ve got it to work.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Just for those who may be unaware, Soren’s branch<span> </span><a href="https://github.com/openstack/openstack-integration-tests" target="_blank">openstack-integration-tests</a><span> </span>is
 actually a merge of Kong and Stacktester.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">The other point I wanted to have more clarity on was on using both novaclient AND httplib2 to make the API requests. Though <wwkeyboard> did mention issues regarding spec bug proliferation into
 the client, how can we best utilize this dual approach and avoid another round of duplicate test cases. Maybe we target novaclient first and then the use httplib2 to fill in gaps? After-all novaclient does call httplib2 internally.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">I would like to team up with Gabe and others for the unified test runner task. Please chip me in if you’re doing some division of labor there.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Thanks!</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Rohit</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">(NTT)</span><u></u><u></u></p>
</div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-width:initial;border-color:initial">
<div>
<p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span><span style="font-size:10.0pt"> </span></span><span style="font-size:10.0pt"><a href="mailto:openstack-bounces+rohit.karajgi=vertex.co.in@lists.launchpad.net" target="_blank">openstack-bounces+rohit.karajgi=vertex.co.in@lists.launchpad.net</a><span> </span>[mailto:<a href="mailto:openstack-bounces%2Brohit.karajgi" target="_blank">openstack-bounces+rohit.karajgi</a>=<a href="mailto:vertex.co.in@lists.launchpad.net" target="_blank">vertex.co.in@lists.launchpad.net</a>]<span> </span><b>On
 Behalf Of<span> </span></b>Gabe Westmaas<br>
<b>Sent:</b><span> </span>Monday, October 10, 2011 9:22 PM<br>
<b>To:</b><span> </span><a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
<b>Subject:</b><span> </span>[Openstack] [QA] openstack-integration-tests</span><u></u><u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">I'd like to try to summarize and propose at least one next step for the content of the openstack-integration-tests git repository.  Note that this is only about the actual tests themselves, and
 says absolutely nothing about any gating decisions made in other sessions.  </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">First, there was widespread agreement that in order for an integration suite to be run in the openstack jenkins, it should be included in the community github repository.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Second, it was agreed that there is value in having tests in multiple languages, especially in the case where those tests add value beyond the base language.  Examples of this may include testing
 using another set of bindings, and therefore testing the API.  Using a testing framework that just takes a different approach to testing.  Invalid examples include implanting the exact same test in another language simply because you don't like python.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Third, it was agreed that there is value in testing using novaclient as well as httplib2.  Similarly that there is value in testing both XML and JSON.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Fourth, for black box tests, any fixture setup that a suite of tests requires should be done via script that is close to but not within that suite – we want tests to be as agnostic to an implementation
 of openstack as possible, and anything you cannot do from the the API should not be inside the tests.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Fifth, there are suites of white box tests – we understand there can be value here, but we aren't sure how to approach that in this project, definitely more discussion needed here.  Maybe we have
 a separate directory for holding white and black box tests?</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Sixth, no matter what else changes, we must maintain the ability to run a subset of tests through a common runner.  This can be done via command line or configuration, whichever makes the most
 sense.  I'd personally lean towards configuration with the ability to override on the command line.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">If you feel I mischaracterized any of the agreements, please feel free to say so.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Next, we want to start moving away from the multiple entry points to write additional tests.  That means taking inventory of the tests that are there now, and figuring out what they are testing,
 and how we run them, and then working to combine what makes sense, into a directory structure that makes sense.  As often as possible, we should make sure the tests can be run in the same way.  I started a little wiki to start collecting information.  I think
 a short description of the general strategy of each suite and then details about the specific tests in that suite would be useful.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"><a href="http://wiki.openstack.org/openstack-integration-test-suites" target="_blank">http://wiki.openstack.org/openstack-integration-test-suites</a></span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Hopefully this can make things a little easier to start contributing.</span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black"> </span><u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Gabe</span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Courier New";color:black">This email may include confidential information. If you received it in error, please delete it.</span><u></u><u></u></p>
</div>
<p class="MsoNormal"><span style="font-size:13.5pt">_______________________________________________<br>
Mailing list:<span> </span><a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     :<span> </span><a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe :<span> </span><a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   :<span> </span><a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><br>
<span style="font-family:"Courier New"">This email may include confidential information. If you received it in error, please delete it.</span><u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a></span><br>
<span>Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">
openstack@lists.launchpad.net</a></span><br>
<span>Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a></span><br>
<span>More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">
https://help.launchpad.net/ListHelp</a></span><br>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br>
<font face="monospace">This email may include confidential information. If you received it in error, please delete it.</font></div>
</blockquote>
</div>
<br>
</div>
</div>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</div>
<br>
<font face="monospace">This email may include confidential information. If you received it in error, please delete it.</font></div>
</div>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<font face="monospace">This email may include confidential information. If you received it in error, please delete it.</font></body>
</html>