)]}'
{"climate/db/migration/README":[{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"29545e2825b95eab3b4cdd0a36f0c699a378d427","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Intel Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAUX%2F%2BfgM%3D","line":1,"updated":"2014-02-20 21:51:28.000000000","message":"It\u0027s mostly based on https://github.com/openstack/savanna/tree/master/savanna/db/migration/alembic_migrations, so, please, add initial author copyright.","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"8111582defa62cf3ba757c8521c777b90eea728b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Intel Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAU3%2F%2F3Is%3D","line":1,"in_reply_to":"AAAAUX%2F%2BfgM%3D","updated":"2014-02-24 13:40:25.000000000","message":"Done","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"}],"climate/db/migration/alembic_migrations/script.py.mako":[{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"29545e2825b95eab3b4cdd0a36f0c699a378d427","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\"${message}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Revision ID: ${up_revision}"},{"line_number":4,"context_line":"Revises: ${down_revision}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAUX%2F%2BffY%3D","line":1,"updated":"2014-02-20 21:51:28.000000000","message":"It should add foundation copyright like in the https://github.com/openstack/savanna/blob/master/savanna/db/migration/alembic_migrations/script.py.mako","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"8111582defa62cf3ba757c8521c777b90eea728b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"\"\"${message}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Revision ID: ${up_revision}"},{"line_number":4,"context_line":"Revises: ${down_revision}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAU3%2F%2F3Ik%3D","line":1,"in_reply_to":"AAAAUX%2F%2BffY%3D","updated":"2014-02-24 13:40:25.000000000","message":"Done","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"}],"climate/db/migration/alembic_migrations/versions/icehouse_initial.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4e9fc2fee46507c8e6fc2799288dec07cd8cc4ea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Intel Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2Ba8U%3D","line":1,"updated":"2014-02-21 09:45:19.000000000","message":"this file should be called 0_1_initial.py\n\nWe\u0027re not currently following Openstack release cycle.","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"8111582defa62cf3ba757c8521c777b90eea728b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Intel Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAU3%2F%2F3GA%3D","line":1,"in_reply_to":"AAAAUX%2F%2Ba8U%3D","updated":"2014-02-24 13:40:25.000000000","message":"Done","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"}],"climate/db/migration/cli.py":[{"author":{"_account_id":6786,"name":"Sergey Lukjanov","email":"me@slukjanov.name","username":"slukjanov"},"change_message_id":"29545e2825b95eab3b4cdd0a36f0c699a378d427","unresolved":false,"context_lines":[{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CONF \u003d cfg.ConfigOpts()"},{"line_number":40,"context_line":"CONF.register_opts(db_opts, \u0027database\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def do_alembic_command(config, cmd, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2Bfes%3D","line":40,"updated":"2014-02-20 21:51:28.000000000","message":"You\u0027re duplicating option that was already registered in oslo/db. It\u0027s better to just import this config value from oslo/db. https://github.com/openstack/savanna/blob/master/savanna/db/migration/cli.py#L25","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"8111582defa62cf3ba757c8521c777b90eea728b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CONF \u003d cfg.ConfigOpts()"},{"line_number":40,"context_line":"CONF.register_opts(db_opts, \u0027database\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def do_alembic_command(config, cmd, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAU3%2F%2F3DI%3D","line":40,"in_reply_to":"AAAAUX%2F%2Bfes%3D","updated":"2014-02-24 13:40:25.000000000","message":"Done","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"d26431c52f210b990cd9c7f6aa273f94bb724845","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"CONF.import_opt(\"connection\", \"climate.openstack.common.db.sqlalchemy.session\","},{"line_number":35,"context_line":"                group\u003d\"database\")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2F%2Bvk%3D","line":34,"updated":"2014-03-12 15:17:38.000000000","message":"there is no these opts there - use db_options for that\n\notherwise you\u0027ll have:\n\nstack@ubuntu-12:/opt/stack/climate$ climate-db-manage --config-file /etc/climate/climate.conf upgrade head\nTraceback (most recent call last):\n  File \"/usr/local/bin/climate-db-manage\", line 6, in \u003cmodule\u003e\n    from climate.db.migration.cli import main\n  File \"/opt/stack/climate/climate/db/migration/cli.py\", line 35, in \u003cmodule\u003e\n    group\u003d\"database\")\n  File \"/opt/stack/oslo.config/oslo/config/cfg.py\", line 1765, in import_opt\n    self._get_opt_info(name, group)\n  File \"/opt/stack/oslo.config/oslo/config/cfg.py\", line 2102, in _get_opt_info\n    group \u003d self._get_group(group)\n  File \"/opt/stack/oslo.config/oslo/config/cfg.py\", line 2086, in _get_group\n    raise NoSuchGroupError(group_name)\noslo.config.cfg.NoSuchGroupError: no such group: database","commit_id":"eb9e9b3edacbba8af7b47dbd2e8024ade857f6c7"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"a1471d83215c0ba97e178db9c260f4967ed6f3c7","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"CONF.import_opt(\"connection\", \"climate.openstack.common.db.sqlalchemy.session\","},{"line_number":35,"context_line":"                group\u003d\"database\")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2F%2BnE%3D","line":34,"in_reply_to":"AAAAWH%2F%2F%2BqI%3D","updated":"2014-03-12 15:30:51.000000000","message":"Done","commit_id":"eb9e9b3edacbba8af7b47dbd2e8024ade857f6c7"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"723319f838ba9277dcfd76668823419d5c117494","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"CONF.import_opt(\"connection\", \"climate.openstack.common.db.sqlalchemy.session\","},{"line_number":35,"context_line":"                group\u003d\"database\")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2F%2BqI%3D","line":34,"in_reply_to":"AAAAWH%2F%2F%2Bvk%3D","updated":"2014-03-12 15:25:51.000000000","message":"Anyway, please test that migration is working before publishing new patch set: you may do that on devstack, or somewhere else by running climate-db-manage --config-file /etc/climate/climate.conf upgrade head - that should be done automatically when devstack runs manager. It should create table smth like alembic_version, as far as I remember in climate database created by devstack.","commit_id":"eb9e9b3edacbba8af7b47dbd2e8024ade857f6c7"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"a1471d83215c0ba97e178db9c260f4967ed6f3c7","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d cfg.CONF"},{"line_number":34,"context_line":"CONF.import_opt(\"connection\", \"climate.openstack.common.db.sqlalchemy.session\","},{"line_number":35,"context_line":"                group\u003d\"database\")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2F%2BnQ%3D","line":34,"in_reply_to":"AAAAWH%2F%2F%2Bvk%3D","updated":"2014-03-12 15:30:51.000000000","message":"Done","commit_id":"eb9e9b3edacbba8af7b47dbd2e8024ade857f6c7"}],"climate/tests/db/migration/test_migrations.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the test case runs a series of test cases to ensure that migrations work"},{"line_number":21,"context_line":"properly."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"There are also \"opportunistic\" tests for both mysql and postgresql in here,"},{"line_number":24,"context_line":"which allows testing against mysql and pg in a properly configured unit"},{"line_number":25,"context_line":"test environment."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzAw%3D","line":23,"updated":"2014-03-24 09:40:50.000000000","message":"where are defined the tests related to these RDBMS ?","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the test case runs a series of test cases to ensure that migrations work"},{"line_number":21,"context_line":"properly."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"There are also \"opportunistic\" tests for both mysql and postgresql in here,"},{"line_number":24,"context_line":"which allows testing against mysql and pg in a properly configured unit"},{"line_number":25,"context_line":"test environment."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2Bx4Q%3D","line":23,"in_reply_to":"AAAAWH%2F%2BzAw%3D","updated":"2014-03-25 14:12:16.000000000","message":"This tests are defined in CommonTestsMixIn","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which allows testing against mysql and pg in a properly configured unit"},{"line_number":25,"context_line":"test environment."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"For the opportunistic testing you need to set up a db named \u0027openstack_citest\u0027"},{"line_number":28,"context_line":"with user \u0027openstack_citest\u0027 and password \u0027openstack_citest\u0027 on localhost."},{"line_number":29,"context_line":"The test will then use that db and u/p combo to run the tests."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzAU%3D","line":27,"updated":"2014-03-24 09:40:50.000000000","message":"it would be worth moving this comment snippet in the TestCase itself","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"For postgres on Ubuntu this can be done with the following commands:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"sudo -u postgres psql"},{"line_number":34,"context_line":"postgres\u003d# create user openstack_citest with createdb login password"},{"line_number":35,"context_line":"      \u0027openstack_citest\u0027;"},{"line_number":36,"context_line":"postgres\u003d# create database openstack_citest with owner openstack_citest;"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2By%2F4%3D","line":33,"updated":"2014-03-24 09:40:50.000000000","message":"does that require to install postgresql plus configure the user ?\nWoah, this is too huge then","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"For postgres on Ubuntu this can be done with the following commands:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"sudo -u postgres psql"},{"line_number":34,"context_line":"postgres\u003d# create user openstack_citest with createdb login password"},{"line_number":35,"context_line":"      \u0027openstack_citest\u0027;"},{"line_number":36,"context_line":"postgres\u003d# create database openstack_citest with owner openstack_citest;"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BoKU%3D","line":33,"in_reply_to":"AAAAWH%2F%2By%2F4%3D","updated":"2014-03-25 14:12:16.000000000","message":"This is only needed by the opportunistic testing, so I think is OK. If I got it right this \u0027feature\u0027 is used by the Infra guys. If a developer need to run this test suite, only requires that postgresql is installed.","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"from oslo.config import cfg"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"from climate.tests.db.migration import test_migrations_base as base"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"CONF \u003d cfg.CONF"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzDI%3D","line":44,"updated":"2014-03-24 09:40:50.000000000","message":"please change accordingly to my remark on test_mgration_base","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"from oslo.config import cfg"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"from climate.tests.db.migration import test_migrations_base as base"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"CONF \u003d cfg.CONF"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2Bn3w%3D","line":44,"in_reply_to":"AAAAWH%2F%2BzDI%3D","updated":"2014-03-25 14:12:16.000000000","message":"Done","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class TestMigrations(base.BaseWalkMigrationTestCase, base.CommonTestsMixIn):"},{"line_number":50,"context_line":"    \"\"\"Test alembic migrations.\"\"\""},{"line_number":51,"context_line":"    USER \u003d \"openstack_citest\""},{"line_number":52,"context_line":"    PASSWD \u003d \"openstack_citest\""},{"line_number":53,"context_line":"    DATABASE \u003d \"openstack_citest\""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzCY%3D","line":51,"updated":"2014-03-24 09:40:50.000000000","message":"please document why USER, PASSWD and DATABASE are necessary to be defined here (which super class uses them ?)","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class TestMigrations(base.BaseWalkMigrationTestCase, base.CommonTestsMixIn):"},{"line_number":50,"context_line":"    \"\"\"Test alembic migrations.\"\"\""},{"line_number":51,"context_line":"    USER \u003d \"openstack_citest\""},{"line_number":52,"context_line":"    PASSWD \u003d \"openstack_citest\""},{"line_number":53,"context_line":"    DATABASE \u003d \"openstack_citest\""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BoII%3D","line":51,"in_reply_to":"AAAAWH%2F%2BzCY%3D","updated":"2014-03-25 14:12:16.000000000","message":"Done","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    DATABASE \u003d \"openstack_citest\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":56,"context_line":"        super(TestMigrations, self).__init__(*args, **kwargs)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def setUp(self):"},{"line_number":59,"context_line":"        super(TestMigrations, self).setUp()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzCE%3D","line":56,"updated":"2014-03-24 09:40:50.000000000","message":"not necessary to implement this method unless you define extra actions","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    DATABASE \u003d \"openstack_citest\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":56,"context_line":"        super(TestMigrations, self).__init__(*args, **kwargs)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def setUp(self):"},{"line_number":59,"context_line":"        super(TestMigrations, self).setUp()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BoH4%3D","line":56,"in_reply_to":"AAAAWH%2F%2BzCE%3D","updated":"2014-03-25 14:12:16.000000000","message":"Done","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.assertEqual(sorted(members), sorted(index_columns))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _check_0_1(self, engine, data):"},{"line_number":110,"context_line":"        self.assertTableExists(engine, \u0027computehosts\u0027)"},{"line_number":111,"context_line":"        self.assertTableExists(engine, \u0027leases\u0027)"},{"line_number":112,"context_line":"        self.assertTableExists(engine, \u0027reservations\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2BzBE%3D","line":109,"updated":"2014-03-24 09:40:50.000000000","message":"maybe I missed it, but this method is useless as not called, so it can be removed","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.assertEqual(sorted(members), sorted(index_columns))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _check_0_1(self, engine, data):"},{"line_number":110,"context_line":"        self.assertTableExists(engine, \u0027computehosts\u0027)"},{"line_number":111,"context_line":"        self.assertTableExists(engine, \u0027leases\u0027)"},{"line_number":112,"context_line":"        self.assertTableExists(engine, \u0027reservations\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2Bx3Q%3D","line":109,"in_reply_to":"AAAAWH%2F%2BzBE%3D","updated":"2014-03-25 14:12:16.000000000","message":"This method is called in BaseWalkMigrationTestCase._migrate_up()","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"}],"climate/tests/db/migration/test_migrations_base.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2010-2011 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2012-2013 IBM Corp."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2By%2Fs%3D","line":1,"updated":"2014-03-24 09:40:50.000000000","message":"Please distribute this code on __init__.py rather than on that file","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2010-2011 OpenStack Foundation"},{"line_number":2,"context_line":"# Copyright 2012-2013 IBM Corp."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2Bn%2FI%3D","line":1,"in_reply_to":"AAAAWH%2F%2By%2Fs%3D","updated":"2014-03-25 14:12:16.000000000","message":"Done","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"18180bcf7486cc3f8ccb0148411fcb41110d0fe2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            self.fail(\"Shouldn\u0027t have connected\")"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"class BaseMigrationTestCase(test.BaseTestCase):"},{"line_number":157,"context_line":"    \"\"\"Base class for testing migrations and migration utils. This sets up"},{"line_number":158,"context_line":"    and configures the databases to run tests against."},{"line_number":159,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2By%2FE%3D","line":156,"updated":"2014-03-24 09:40:50.000000000","message":"please inherit from climate.tests instead if possible","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"7b39e0b97e0796cbf3838a899fe06f40ba8d1bea","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            self.fail(\"Shouldn\u0027t have connected\")"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"class BaseMigrationTestCase(test.BaseTestCase):"},{"line_number":157,"context_line":"    \"\"\"Base class for testing migrations and migration utils. This sets up"},{"line_number":158,"context_line":"    and configures the databases to run tests against."},{"line_number":159,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWH%2F%2Bn38%3D","line":156,"in_reply_to":"AAAAWH%2F%2By%2FE%3D","updated":"2014-03-25 14:12:16.000000000","message":"Done","commit_id":"f425d45ac6be5cb6fadd06dae03e5078a1097d37"}],"contrib/devstack/lib/climate":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4e9fc2fee46507c8e6fc2799288dec07cd8cc4ea","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    # Database"},{"line_number":114,"context_line":"    recreate_database climate utf8"},{"line_number":115,"context_line":"    "},{"line_number":116,"context_line":"    # Run Climate db migrations"},{"line_number":117,"context_line":"    $CLIMATE_BIN_DIR/climate-db-manage --config-file $CLIMATE_CONF_FILE upgrade head"},{"line_number":118,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAUX%2F%2Ba9o%3D","line":115,"updated":"2014-02-21 09:45:19.000000000","message":"please correct tab here","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"8111582defa62cf3ba757c8521c777b90eea728b","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    # Database"},{"line_number":114,"context_line":"    recreate_database climate utf8"},{"line_number":115,"context_line":"    "},{"line_number":116,"context_line":"    # Run Climate db migrations"},{"line_number":117,"context_line":"    $CLIMATE_BIN_DIR/climate-db-manage --config-file $CLIMATE_CONF_FILE upgrade head"},{"line_number":118,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAU3%2F%2F3FM%3D","line":115,"in_reply_to":"AAAAUX%2F%2Ba9o%3D","updated":"2014-02-24 13:40:25.000000000","message":"Done","commit_id":"7389ca67a2a93f3b4e70d8fcd1b9feca4e5662ee"}]}
