<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi Illia,
<div><br>
</div>
<div>You're correct; until the work on establishing datastore types and versions as a first class Trove concept is finished, which will hopefully be soon (see Andrey Shestakov's pull request), testing non-MySQL datastore types will be problematic.</div>
<div><br>
</div>
<div><span style="font-size: 10pt;">A short term, fake-mode only solution could be accomplished fairly quickly as follows:</span><span style="font-size: 10pt;"> run the fake mode tests a third time in Tox with a new configuration which allows for MongoDB. </span></div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div><span style="font-size: 10pt;">If you look at tox.ini, you'll see that the integration tests run in fake mode twice already:</span></div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div><span style="font-size: 10pt;">>> </span><span style="font-size: 10pt;">{envpython} run_tests.py</span></div>
<div>>> {envpython} run_tests.py --test-config=etc/tests/xml.localhost.test.conf</div>
<div><br>
</div>
<div>The second invocation causes the trove-client to be used in XML mode, effectively testing the XML client. </div>
<div><br>
</div>
<div>(Tangent: currently running the tests twice takes some time, even in fake mode- however it will cost far less time once the following pull request is merged: https://review.openstack.org/#/c/52490/)</div>
<div><br>
</div>
<div>If you look at run_tests.py, you'll see that on line 104 it accepts a trove config file. If the run_tests.py script is updated to allow this value to be specified optionally via the command line, you could create a variation on "etc/trove/trove.conf.test"
which specifies MongoDB. You'd then invoke run_tests.py with a "--group=" argument to run some subset of the tests support by the current Mongo DB code in fake mode.</div>
<div><br>
</div>
<div>Of course, this will do nothing to test the guest agent changes or confirm that the end to end system actually works, but it could help test a lot of incidental API and infrastructure database code.</div>
<div><br>
</div>
<div>As for real mode tests, I think we should wait until the datastore type / version code is finished, at which point I know we'll all be eager to add additional tests for these new datastores. Of course in the short term it should be possible for you to
change the code locally to build a Mongo DB image as well as a Trove config file to support this and then just run some subset of tests that works with Mongo.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>Tim </div>
<div><br>
</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF814851" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Illia Khudoshyn [ikhudoshyn@mirantis.com]<br>
<b>Sent:</b> Monday, October 21, 2013 9:42 AM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> [openstack-dev] [Trove] Testing of new service types support<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Hi all,
<div><br>
</div>
<div>I've done with implementing the very first bits of MongoDB support in Trove along with unit tests and faced an issue with proper testing of it. </div>
<div><br>
</div>
<div>It is well known that right now only one service type per installation is supported by Trove (it is set in config). All testing infrastructure, including Trove-integration codebase and jenkins jobs, seem to rely on that service type as well. So it seems
to be impossible to run all existing tests AND some additional tests for MongoDB service type in one pass, at least until Trove client will allow to pass service type (I know that there is ongoing work in this area).</div>
<div><br>
</div>
<div>Please note, that all of the above is about functional and intergation testing -- there is no issues with unit tests.</div>
<div><br>
</div>
<div>So the question is, should I first submit the code to Trove and then proceed with updating Trove-integration or just put aside all that MongoDB stuff until client (and -integration) will be ready?</div>
<div><br>
</div>
<div>PS AFAIK, there is some work on adding Cassandra and Riak (or Redis?) support to Trove. These guys will likely face this issue as well.</div>
<div>
<div><br>
</div>
-- <br>
<div dir="ltr">
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
Best regards,</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
Illia Khudoshyn,<br>
Software Engineer, Mirantis, Inc.</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
38, Lenina ave. Kharkov, Ukraine</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
<span style="font-size:10pt; font-family:Arial,sans-serif; color:rgb(136,136,136)"><a href="http://www.mirantis.ru/" style="color:rgb(17,85,204)" target="_blank">www.mirantis.com</a></span></p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
<span style="font-size:10pt; font-family:Arial,sans-serif; color:rgb(136,136,136)"><a href="http://www.mirantis.ru/" style="color:rgb(17,85,204)" target="_blank">www.mirantis.ru</a></span></p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
<span style="font-size:10pt; font-family:Arial,sans-serif; color:rgb(136,136,136)"> </span></p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
<span style="font-size:11pt">Skype: gluke_work</span><br>
</p>
<p style="margin:0in 0in 0.0001pt; font-size:11pt; font-family:Calibri,sans-serif">
<span style="font-size:10pt; font-family:Arial,sans-serif; color:rgb(136,136,136)"><a href="mailto:ikhudoshyn@mirantis.com" style="color:rgb(17,85,204)" target="_blank">ikhudoshyn@mirantis.com</a></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>