)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"fc6f4ce3b06631292b2eaea4d0e3c67dace0e2da","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Allow testing of MySQL and PostgreSQL scenario locally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This leverage pifpaf to start MySQL or PostgreSQL temporarily and allow to test"},{"line_number":10,"context_line":"provisioning directly without being on OpenStack CI."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1ee582e6f96e98378f02be79f4aaff0f447a062a"},{"line_number":13,"context_line":"Depends-On: Id3e6b694bb186724517599cd9875ad80ceeee053"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_bf93e5f9","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":21},"updated":"2016-04-15 16:50:46.000000000","message":"Can you please mention the new tox targets (py27-mysql, py27-postgresql) in the commit message?\n\nIt would be even better if it\u0027s documented somewhere else.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"a67543f6fc77221f2bfbe238dd977bb9d9e3765b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"be passed through tox. This allows to run the opportunistic tests on a"},{"line_number":27,"context_line":"more persistent pifpaf database, for example by running tox with:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"$ eval `pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql`"},{"line_number":30,"context_line":"$ echo $OS_TEST_DBAPI_ADMIN_CONNECTION"},{"line_number":31,"context_line":"postgresql://localhost/postgres?host\u003d/var/folders/7k/pwdhb_mj2cv4zyr0kyrlzjx40000gq/T/tmpMGqN8C\u0026port\u003d9824"},{"line_number":32,"context_line":"$ tox -e py27"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bab6814e_64d4f646","line":29,"updated":"2016-05-19 13:09:10.000000000","message":"Adding this to docs would be even better ;)\n\ne.g. to https://github.com/openstack/oslo.db/blob/master/CONTRIBUTING.rst#how-to-run-unit-tests","commit_id":"42acd48bab3926dd75585c3131d4f911138c0d81"}],"oslo_db/sqlalchemy/provision.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"cc9c0e4c4d9b0b1a127a0f25d383fe5582e45a94","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        found to be available."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        \"\"\""},{"line_number":302,"context_line":"        configured_urls \u003d os.getenv(\u0027OS_TEST_DBAPI_ADMIN_CONNECTION\u0027,"},{"line_number":303,"context_line":"                                    os.getenv(\"PIFPAF_URL\"))"},{"line_number":304,"context_line":"        if configured_urls:"},{"line_number":305,"context_line":"            configured_urls \u003d configured_urls.split(\";\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_468b57c3","line":302,"updated":"2016-04-14 15:59:58.000000000","message":"It\u0027s not clear if pifpaf is *required* for testing, in which case we need to remove OS_TEST_DBAPI_ADMIN_CONNECTION entirely, or if it is not, then why not have tox.ini just set this variable when pifpaf is in place.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b777455eced9ea34427f204074b34806e2fdafca","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        found to be available."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        \"\"\""},{"line_number":302,"context_line":"        configured_urls \u003d os.getenv(\u0027OS_TEST_DBAPI_ADMIN_CONNECTION\u0027,"},{"line_number":303,"context_line":"                                    os.getenv(\"PIFPAF_URL\"))"},{"line_number":304,"context_line":"        if configured_urls:"},{"line_number":305,"context_line":"            configured_urls \u003d configured_urls.split(\";\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_d666eb4f","line":302,"in_reply_to":"5a18252c_468b57c3","updated":"2016-04-14 20:11:04.000000000","message":"It\u0027s not more needed than OS_TEST_DBAPI_ADMIN_CONNECTION.\n\nBoth works.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"364ba2411c1659c163232521de8e6e46e0756b7b","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        found to be available."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        \"\"\""},{"line_number":302,"context_line":"        configured_urls \u003d os.getenv(\u0027OS_TEST_DBAPI_ADMIN_CONNECTION\u0027,"},{"line_number":303,"context_line":"                                    os.getenv(\"PIFPAF_URL\"))"},{"line_number":304,"context_line":"        if configured_urls:"},{"line_number":305,"context_line":"            configured_urls \u003d configured_urls.split(\";\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_d91e1c6f","line":302,"in_reply_to":"5a18252c_d666eb4f","updated":"2016-04-14 20:42:23.000000000","message":"I\u0027d ask that the tox.ini set up env variables specific to this extension.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"505b04687d43b0c1d31c79ba6ad5b1874d642843","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        found to be available."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        \"\"\""},{"line_number":302,"context_line":"        configured_urls \u003d os.getenv(\u0027OS_TEST_DBAPI_ADMIN_CONNECTION\u0027,"},{"line_number":303,"context_line":"                                    os.getenv(\"PIFPAF_URL\"))"},{"line_number":304,"context_line":"        if configured_urls:"},{"line_number":305,"context_line":"            configured_urls \u003d configured_urls.split(\";\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a1531f4_34d1d0fc","line":302,"in_reply_to":"5a18252c_d91e1c6f","updated":"2016-04-15 08:27:25.000000000","message":"Well, it\u0027s done by pifpaf, so there\u0027s no need to setup anything in tox.ini\n\n(Unless you want to set OS_TEST_DBAPI…blabla which we can do, but we need a 10 lines bash script… I doubt that it\u0027d be an improvement.)","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"fc6f4ce3b06631292b2eaea4d0e3c67dace0e2da","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        This searches through OS_TEST_DBAPI_ADMIN_CONNECTION for URLs.  If"},{"line_number":294,"context_line":"        not present, we set up URLs based on the \"opportunstic\" convention,"},{"line_number":295,"context_line":"        e.g. username+password \u003d \"openstack_citest\"."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        The provisioning system will then use or discard these URLs as they"},{"line_number":298,"context_line":"        are requested, based on whether or not the target database is actually"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_7a415b39","line":295,"updated":"2016-04-15 16:50:46.000000000","message":"You should document that PIFPAF_URL env var is used by default.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2865a7d1424190822e2fbd83b1d6082f7f4667f0","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        This searches through OS_TEST_DBAPI_ADMIN_CONNECTION for URLs.  If"},{"line_number":294,"context_line":"        not present, we set up URLs based on the \"opportunstic\" convention,"},{"line_number":295,"context_line":"        e.g. username+password \u003d \"openstack_citest\"."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        The provisioning system will then use or discard these URLs as they"},{"line_number":298,"context_line":"        are requested, based on whether or not the target database is actually"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_0fa0bda4","line":295,"in_reply_to":"1a122d0e_7a415b39","updated":"2016-05-03 16:30:36.000000000","message":"Done","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"}],"setup.cfg":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"cc9c0e4c4d9b0b1a127a0f25d383fe5582e45a94","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  testtools\u003e\u003d1.4.0 # MIT"},{"line_number":46,"context_line":"  tempest-lib\u003e\u003d0.14.0 # Apache-2.0"},{"line_number":47,"context_line":"  reno\u003e\u003d1.6.2 # Apache2"},{"line_number":48,"context_line":"  pifpaf"},{"line_number":49,"context_line":"fixtures \u003d"},{"line_number":50,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5a18252c_a6506b33","line":48,"updated":"2016-04-14 15:59:58.000000000","message":"Is pifpaf being made as a requirement for testing, or just an option?   -10 on making it a requirement.  Otherwise this dep would be under [extras]","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"505b04687d43b0c1d31c79ba6ad5b1874d642843","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  testtools\u003e\u003d1.4.0 # MIT"},{"line_number":46,"context_line":"  tempest-lib\u003e\u003d0.14.0 # Apache-2.0"},{"line_number":47,"context_line":"  reno\u003e\u003d1.6.2 # Apache2"},{"line_number":48,"context_line":"  pifpaf"},{"line_number":49,"context_line":"fixtures \u003d"},{"line_number":50,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"3a1531f4_b42a00e6","line":48,"in_reply_to":"5a18252c_942f4b87","updated":"2016-04-15 08:27:25.000000000","message":"Sure, I\u0027ll change with a specific extras.\n\nThis run the provision tests, AFAIU, all the tests that ran against a real database backend. Running \"tox -e py27\" only run the unit tests with no backend, and with that patch \"tox -e py27-mysql\" runs the test against a real MySQL too. They are not skipped anymore.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b777455eced9ea34427f204074b34806e2fdafca","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  testtools\u003e\u003d1.4.0 # MIT"},{"line_number":46,"context_line":"  tempest-lib\u003e\u003d0.14.0 # Apache-2.0"},{"line_number":47,"context_line":"  reno\u003e\u003d1.6.2 # Apache2"},{"line_number":48,"context_line":"  pifpaf"},{"line_number":49,"context_line":"fixtures \u003d"},{"line_number":50,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5a18252c_b6fa4f41","line":48,"in_reply_to":"5a18252c_a6506b33","updated":"2016-04-14 20:11:04.000000000","message":"under [extras]? Not sure I understand what you mean.\n\nIt\u0027s a dependency for some tests, though we can also list it in the dep list of the tox scenarios that are concerned. Whichever is prefered.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"364ba2411c1659c163232521de8e6e46e0756b7b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  testtools\u003e\u003d1.4.0 # MIT"},{"line_number":46,"context_line":"  tempest-lib\u003e\u003d0.14.0 # Apache-2.0"},{"line_number":47,"context_line":"  reno\u003e\u003d1.6.2 # Apache2"},{"line_number":48,"context_line":"  pifpaf"},{"line_number":49,"context_line":"fixtures \u003d"},{"line_number":50,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5a18252c_942f4b87","line":48,"in_reply_to":"5a18252c_b6fa4f41","updated":"2016-04-14 20:42:23.000000000","message":"under [extras] like this: https://github.com/openstack/keystone/blob/master/setup.cfg#L32 then https://github.com/openstack/keystone/blob/master/tox.ini#L56\n\n\u003e It\u0027s a dependency for some tests, \n\nwhich tests dont run without it?  right now we can run MySQL and PG tests without this package.  this seems to change the whole method by which we run those, which seems fairly dramatic (blueprint thing at least).","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"9b9dceb6eb1b8da23a3b11a1ee1170b93c72041a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"fixtures \u003d"},{"line_number":49,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":50,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"pifpaf \u003d"},{"line_number":52,"context_line":"  pifpaf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"[files]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"1a122d0e_8d49b5d3","line":51,"updated":"2016-04-15 11:56:28.000000000","message":"It\u0027s good thing pifpaf is not required. \n\nI\u0027m a bit reluctant, though, to add one more way to run unit tests - I\u0027d rather we just stick  either to the existing one or to pifpaf.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"fc6f4ce3b06631292b2eaea4d0e3c67dace0e2da","unresolved":false,"context_lines":[{"line_number":48,"context_line":"fixtures \u003d"},{"line_number":49,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":50,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"pifpaf \u003d"},{"line_number":52,"context_line":"  pifpaf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"[files]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"1a122d0e_da2a2f7e","line":51,"in_reply_to":"1a122d0e_8d49b5d3","updated":"2016-04-15 16:50:46.000000000","message":"\u003e It\u0027s good thing pifpaf is not required. \n\nWhat do you mean by \"required\"? Written like that \"pifpaf\" is a group of optional dependencies. Only py27-{mysql,postgresql} require this group of dependencies. It doesn\u0027t add it to oslo.db dependencies (\"pip install oslo.db\" will not pull pifpaf).","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e402346b79781ddaceeb26a9c1dd808f8893ab3d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"fixtures \u003d"},{"line_number":49,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":50,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"pifpaf \u003d"},{"line_number":52,"context_line":"  pifpaf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"[files]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"1a122d0e_d2622516","line":51,"in_reply_to":"1a122d0e_8d49b5d3","updated":"2016-04-15 13:30:26.000000000","message":"As you wish. Pifpaf as upside to just work with 0 effort both on -infra and on your laptop.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"48fcd415d6510aa1e342d4c7bdb48e0801af1a9a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"fixtures \u003d"},{"line_number":49,"context_line":"  testresources\u003e\u003d0.2.4 # Apache-2.0/BSD"},{"line_number":50,"context_line":"  testscenarios\u003e\u003d0.4 # Apache-2.0/BSD"},{"line_number":51,"context_line":"pifpaf \u003d"},{"line_number":52,"context_line":"  pifpaf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"[files]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"1a122d0e_e1659fe1","line":51,"in_reply_to":"1a122d0e_da2a2f7e","updated":"2016-04-18 07:42:38.000000000","message":"Victor, yep, got it - that\u0027s exactly what I liked about it :)","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"}],"tox.ini":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"cc9c0e4c4d9b0b1a127a0f25d383fe5582e45a94","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"}],"source_content_type":"text/x-properties","patch_set":1,"id":"5a18252c_460eb73b","line":25,"updated":"2016-04-14 15:59:58.000000000","message":"I already have postgresql /mysql installed with the URLs I want.  Why do I have to use pifpaf ?  Will that no longer be possible and we are moving to pifpaf required for testing?  is the rest of openstack moving to this, have not seen it mentioned?","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"505b04687d43b0c1d31c79ba6ad5b1874d642843","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"}],"source_content_type":"text/x-properties","patch_set":1,"id":"3a1531f4_947d44ea","line":25,"in_reply_to":"5a18252c_14a85bda","updated":"2016-04-15 08:27:25.000000000","message":"Pifpaf does not care about your local setup. I mean, that\u0027s the whole point of it. I\u0027m lazy, I don\u0027t want to do any kind of local setup. :)\n\nThe only thing is does not do is install $rdbms on your system obviously.\n\nThe code and the README is at https://github.com/jd/pifpaf, and I hope is pretty explicit considering the simplicity of the tool.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b777455eced9ea34427f204074b34806e2fdafca","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"}],"source_content_type":"text/x-properties","patch_set":1,"id":"5a18252c_56249bc3","line":25,"in_reply_to":"5a18252c_460eb73b","updated":"2016-04-14 20:11:04.000000000","message":"pifpaf automatises the setup of MySQL/PostgreSQL is this context, so it allows to run the tests anywhere. I imagine you can call that \"portability\" or some kind of UX improvement.\n\nI don\u0027t know what \"the rest of OpenStack\" is but pifpaf is already|being used by Ceilometer, Gnocchi, Aodh and tooz.\n\nAs if we want to move to use pifpaf instead of the current manual setup, I don\u0027t know. I\u0027m not the one in charge here. This is a proposal for improvement, if the maintainers of oslo.db don\u0027t want to simplify their test setup, nevermind.","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"364ba2411c1659c163232521de8e6e46e0756b7b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"}],"source_content_type":"text/x-properties","patch_set":1,"id":"5a18252c_14a85bda","line":25,"in_reply_to":"5a18252c_56249bc3","updated":"2016-04-14 20:42:23.000000000","message":"I have mysql and Postgresql running with an openstack_ci_test database already.  how does pifpaf deal with that?    Does it know the packages are already installed?  how does it create its own database (unless I have to give it a database to use anyway)?    \n\nis there a blueprint for this somewhere already from some other package?  otherwise it would be nice to see a full proposal for what I\u0027m looking at :)","commit_id":"f38418a1a36fee4771e9c7d243f53dd687e7b86c"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"9b9dceb6eb1b8da23a3b11a1ee1170b93c72041a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":20,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql,pifpaf]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_ad93d14e","line":22,"updated":"2016-04-15 11:56:28.000000000","message":"Can pifpaf run more than one daemon at once? So that we would not have to run the tests twice - for mysql and postgresql separately.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"2865a7d1424190822e2fbd83b1d6082f7f4667f0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":20,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql,pifpaf]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_4faab586","line":22,"in_reply_to":"1a122d0e_5f2291ba","updated":"2016-05-03 16:30:36.000000000","message":"Done","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e402346b79781ddaceeb26a9c1dd808f8893ab3d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":20,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql,pifpaf]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_f248018a","line":22,"in_reply_to":"1a122d0e_ad93d14e","updated":"2016-04-15 13:30:26.000000000","message":"Not directly, but I can add a shell script help with that if you want.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"fc6f4ce3b06631292b2eaea4d0e3c67dace0e2da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":20,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"[testenv:py27-postgresql]"},{"line_number":23,"context_line":"deps \u003d .[test,fixtures,postgresql,pifpaf]"},{"line_number":24,"context_line":"commands \u003d"},{"line_number":25,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_5f2291ba","line":22,"in_reply_to":"1a122d0e_f248018a","updated":"2016-04-15 16:50:46.000000000","message":"I\u0027m sad: I want my Python 3 pony :-( (Why not adding py34-postgresql \u0026 py34-mysql)\n\nMaybe tox has a super-magic syntax to support multiple python versions? Something like [testenv:{py27,py34}-mysql] maybe?","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"9b9dceb6eb1b8da23a3b11a1ee1170b93c72041a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"},{"line_number":29,"context_line":"deps \u003d .[test,fixtures,mysql,postgresql,pifpaf]"},{"line_number":30,"context_line":"commands \u003d"},{"line_number":31,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run mysql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":32,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run mysql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_2d518163","line":29,"updated":"2016-04-15 11:56:28.000000000","message":"nit: why is postgresql here?","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e402346b79781ddaceeb26a9c1dd808f8893ab3d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run postgresql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[testenv:py27-mysql]"},{"line_number":29,"context_line":"deps \u003d .[test,fixtures,mysql,postgresql,pifpaf]"},{"line_number":30,"context_line":"commands \u003d"},{"line_number":31,"context_line":"    env TEST_EVENTLET\u003d0 pifpaf run mysql -- tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":32,"context_line":"    env TEST_EVENTLET\u003d1 pifpaf run mysql -- tools/pretty_tox.sh \u0027{posargs}\u0027"}],"source_content_type":"text/x-properties","patch_set":2,"id":"1a122d0e_123bfdec","line":29,"in_reply_to":"1a122d0e_2d518163","updated":"2016-04-15 13:30:26.000000000","message":"I\u0027m glad you ask: there\u0027s something trying to import psycopg2 that fails if postgresql is not listed there. I think it\u0027s a \"bug\", but we can fix it in a later patch.","commit_id":"132d501baa8becf7b853c1570178d1cb35644e15"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"a67543f6fc77221f2bfbe238dd977bb9d9e3765b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"setenv \u003d"},{"line_number":9,"context_line":"   VIRTUAL_ENV\u003d{envdir}"},{"line_number":10,"context_line":"deps \u003d .[test,fixtures,mysql,postgresql]"},{"line_number":11,"context_line":"    py{27,34}-{postgresql,mysql,all}: .[pifpaf]"},{"line_number":12,"context_line":"commands \u003d bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":13,"context_line":"passenv \u003d OS_TEST_DBAPI_ADMIN_CONNECTION"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"bab6814e_e41c6615","line":11,"updated":"2016-05-19 13:09:10.000000000","message":"nice! I suppose this is what tox minimal version bump is for","commit_id":"42acd48bab3926dd75585c3131d4f911138c0d81"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"515c43c8f9fc7b88d587b7dc79e3366c7eccea1c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":22,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:py27-all]"},{"line_number":25,"context_line":"commands \u003d pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql -- pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql -- {toxinidir}/tools/run-pifpaf-tests.sh {posargs}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[testenv:py34-all]"}],"source_content_type":"text/x-properties","patch_set":5,"id":"9abb7d3a_3aeacedb","line":24,"updated":"2016-05-31 14:51:46.000000000","message":"I just tried this and looks like it looks for pifpaf binary not in an venv:\n\nhttp://paste.openstack.org/show/506598/\n\nLooking...","commit_id":"044cf85ef562da1cea696fc047277297c6ee7bf4"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"24074be5d83d3ac70b7850498c983072e3e3be5d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    env TEST_EVENTLET\u003d0 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":22,"context_line":"    env TEST_EVENTLET\u003d1 bash tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:py27-all]"},{"line_number":25,"context_line":"commands \u003d pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql -- pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql -- {toxinidir}/tools/run-pifpaf-tests.sh {posargs}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[testenv:py34-all]"}],"source_content_type":"text/x-properties","patch_set":5,"id":"9abb7d3a_b328a987","line":24,"in_reply_to":"9abb7d3a_3aeacedb","updated":"2016-05-31 15:32:13.000000000","message":"Ok, so this seems to be confusing error reporting.\n\nstrace\u0027ing shows that it actually tried to run mysqld binary but could not find it: http://paste.openstack.org/show/506610/\n\nwhich is expected, as I don\u0027t have one installed.","commit_id":"044cf85ef562da1cea696fc047277297c6ee7bf4"}]}
