)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"22f65144de51b8f102f2a4afb3d968d7cfa50217","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-09 17:42:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ensure no \"db\" related functional/fullstack tests are skipped on the gate"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently neutron uses MySQLOpportunisticTestCase[1] and"},{"line_number":10,"context_line":"PostgreSQLOpportunisticTestCase[1] for functional and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_ff5fbce2","line":7,"updated":"2015-06-09 20:42:14.000000000","message":"Nit: s/on/in/","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9c3fd4d22b81ac8ba11e5775d27096d4b8d1924d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-09 17:42:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ensure no \"db\" related functional/fullstack tests are skipped on the gate"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently neutron uses MySQLOpportunisticTestCase[1] and"},{"line_number":10,"context_line":"PostgreSQLOpportunisticTestCase[1] for functional and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_734ae327","line":7,"in_reply_to":"3afb71cf_ff5fbce2","updated":"2015-06-09 22:19:13.000000000","message":"Done","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"22f65144de51b8f102f2a4afb3d968d7cfa50217","unresolved":false,"context_lines":[{"line_number":17,"context_line":"as previous oslo.db test classes wrappers. When the db is unavailable"},{"line_number":18,"context_line":"these classes ensure tests will:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* fail on the gate (dsvm-functional, dsvm-fullstack jobs),"},{"line_number":21,"context_line":"* be skipped otherwise (functional, fullstack jobs)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[1] oslo_db.sqlalchemy.test_base"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_ff069ccc","line":20,"updated":"2015-06-09 20:42:14.000000000","message":"Nit: fail in gate jobs (dsvm-functional, dsvm-fullstack)","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9c3fd4d22b81ac8ba11e5775d27096d4b8d1924d","unresolved":false,"context_lines":[{"line_number":17,"context_line":"as previous oslo.db test classes wrappers. When the db is unavailable"},{"line_number":18,"context_line":"these classes ensure tests will:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* fail on the gate (dsvm-functional, dsvm-fullstack jobs),"},{"line_number":21,"context_line":"* be skipped otherwise (functional, fullstack jobs)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[1] oslo_db.sqlalchemy.test_base"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_535367e2","line":20,"in_reply_to":"3afb71cf_ff069ccc","updated":"2015-06-09 22:19:13.000000000","message":"Done","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"22f65144de51b8f102f2a4afb3d968d7cfa50217","unresolved":false,"context_lines":[{"line_number":18,"context_line":"these classes ensure tests will:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* fail on the gate (dsvm-functional, dsvm-fullstack jobs),"},{"line_number":21,"context_line":"* be skipped otherwise (functional, fullstack jobs)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[1] oslo_db.sqlalchemy.test_base"},{"line_number":24,"context_line":"[2] neutron.tests.common.base"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_ffd45c20","line":21,"updated":"2015-06-09 20:42:14.000000000","message":"Nit: be skipped by default otherwise (functional, fullstack)","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9c3fd4d22b81ac8ba11e5775d27096d4b8d1924d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"these classes ensure tests will:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* fail on the gate (dsvm-functional, dsvm-fullstack jobs),"},{"line_number":21,"context_line":"* be skipped otherwise (functional, fullstack jobs)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[1] oslo_db.sqlalchemy.test_base"},{"line_number":24,"context_line":"[2] neutron.tests.common.base"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_3350ebd3","line":21,"in_reply_to":"3afb71cf_ffd45c20","updated":"2015-06-09 22:19:13.000000000","message":"Done","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"}],"neutron/tests/common/base.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"22f65144de51b8f102f2a4afb3d968d7cfa50217","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    \"\"\"Base test class for MySQL tests."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    When the MySQL db is unavailable, this class fails tests on the gate"},{"line_number":70,"context_line":"    and skips tests otherwise."},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    SKIP_ON_UNAVAILABLE_DB \u003d not base.bool_from_env(\u0027OS_FAIL_ON_GATE\u0027)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_3ff0b490","line":70,"updated":"2015-06-09 20:42:14.000000000","message":"\"If the MySQL db is unavailable then this test is skipped, unless FAIL_ON_MISSING_DEPS is enabled.\"","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9c3fd4d22b81ac8ba11e5775d27096d4b8d1924d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    \"\"\"Base test class for MySQL tests."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    When the MySQL db is unavailable, this class fails tests on the gate"},{"line_number":70,"context_line":"    and skips tests otherwise."},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    SKIP_ON_UNAVAILABLE_DB \u003d not base.bool_from_env(\u0027OS_FAIL_ON_GATE\u0027)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_93c67f98","line":70,"in_reply_to":"3afb71cf_3ff0b490","updated":"2015-06-09 22:19:13.000000000","message":"Done","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"22f65144de51b8f102f2a4afb3d968d7cfa50217","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    \"\"\"Base test class for PostgreSQL tests."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    When the PostgreSQL db is unavailable, this class fails tests on the gate"},{"line_number":79,"context_line":"    and skips tests otherwise."},{"line_number":80,"context_line":"    \"\"\""},{"line_number":81,"context_line":"    SKIP_ON_UNAVAILABLE_DB \u003d not base.bool_from_env(\u0027OS_FAIL_ON_GATE\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_df31a05b","line":79,"updated":"2015-06-09 20:42:14.000000000","message":"Ditto","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9c3fd4d22b81ac8ba11e5775d27096d4b8d1924d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    \"\"\"Base test class for PostgreSQL tests."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    When the PostgreSQL db is unavailable, this class fails tests on the gate"},{"line_number":79,"context_line":"    and skips tests otherwise."},{"line_number":80,"context_line":"    \"\"\""},{"line_number":81,"context_line":"    SKIP_ON_UNAVAILABLE_DB \u003d not base.bool_from_env(\u0027OS_FAIL_ON_GATE\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_7371c375","line":79,"in_reply_to":"3afb71cf_df31a05b","updated":"2015-06-09 22:19:13.000000000","message":"Done","commit_id":"486ea5beefc451be02790eeca4ab60c85f0054c4"}],"neutron/tests/fullstack/base.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"46e37d9f391898fdb8cfcfebfb6778942c3678a0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        MySQLTestCase creates a new database for each test, but these need to"},{"line_number":47,"context_line":"        be populated with the appropriate tables. Before we can do that, we"},{"line_number":48,"context_line":"        must change the \u0027connection\u0027 option which the Neutron code knows to"},{"line_number":49,"context_line":"        look at."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        Currently, the username and password options are hard-coded by"},{"line_number":52,"context_line":"        oslo.db and neutron/tests/functional/contrib/gate_hook.sh. Also,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_e1924757","line":49,"updated":"2015-06-15 03:30:52.000000000","message":"this hunk seems to belong to the parent change.","commit_id":"3eb3a636cf53c1453760e3673b2429953fa7d461"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"5813485304531ca541ab235332fe01a59e7b01c8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        MySQLTestCase creates a new database for each test, but these need to"},{"line_number":47,"context_line":"        be populated with the appropriate tables. Before we can do that, we"},{"line_number":48,"context_line":"        must change the \u0027connection\u0027 option which the Neutron code knows to"},{"line_number":49,"context_line":"        look at."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        Currently, the username and password options are hard-coded by"},{"line_number":52,"context_line":"        oslo.db and neutron/tests/functional/contrib/gate_hook.sh. Also,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_f82c35ad","line":49,"in_reply_to":"fa32b979_e1924757","updated":"2015-06-15 09:24:06.000000000","message":"Done","commit_id":"3eb3a636cf53c1453760e3673b2429953fa7d461"}]}
