)]}'
{"neutron/db/migration/alembic_migrations/versions/544212a0e6f9_portbinding_add_dev_group.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"78ceb70ba960550b376b18ca3685d4fa89c25fc0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_197325b2","line":1,"updated":"2015-01-23 12:51:54.000000000","message":"2015","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"d14ca238b4e2b54b74f0d6ae622ebeef5d4e08d9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_02700ea4","line":1,"in_reply_to":"1a930d6b_197325b2","updated":"2015-01-23 14:16:48.000000000","message":"Done","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"78ceb70ba960550b376b18ca3685d4fa89c25fc0","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# revision identifiers, used by Alembic."},{"line_number":25,"context_line":"revision \u003d \u0027544212a0e6f9\u0027"},{"line_number":26,"context_line":"down_revision \u003d \u0027juno\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"migration_for_plugins \u003d ["},{"line_number":29,"context_line":"    \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_39b0e142","line":26,"updated":"2015-01-23 12:51:54.000000000","message":"juno? head is far from it already","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"78ceb70ba960550b376b18ca3685d4fa89c25fc0","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"migration_for_plugins \u003d ["},{"line_number":29,"context_line":"    \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from alembic import op"},{"line_number":33,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_39146143","line":30,"updated":"2015-01-23 12:51:54.000000000","message":"Migration are unconditional now, so this is not needed at all.","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"d14ca238b4e2b54b74f0d6ae622ebeef5d4e08d9","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"migration_for_plugins \u003d ["},{"line_number":29,"context_line":"    \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from alembic import op"},{"line_number":33,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_02a72e0d","line":30,"in_reply_to":"1a930d6b_39146143","updated":"2015-01-23 14:16:48.000000000","message":"Done","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"78ceb70ba960550b376b18ca3685d4fa89c25fc0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from neutron.db import migration"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    if not migration.schema_has_table(\u0027ml2_port_bindings\u0027):"},{"line_number":40,"context_line":"        return"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_9919d57b","line":38,"updated":"2015-01-23 12:51:54.000000000","message":"upgrade do not take any arguments. just upgrade()","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"d14ca238b4e2b54b74f0d6ae622ebeef5d4e08d9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from neutron.db import migration"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    if not migration.schema_has_table(\u0027ml2_port_bindings\u0027):"},{"line_number":40,"context_line":"        return"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_22aa6ad4","line":38,"in_reply_to":"1a930d6b_9919d57b","updated":"2015-01-23 14:16:48.000000000","message":"Done","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"78ceb70ba960550b376b18ca3685d4fa89c25fc0","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    if not migration.schema_has_table(\u0027ml2_port_bindings\u0027):"},{"line_number":40,"context_line":"        return"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    op.add_column(\u0027ml2_port_bindings\u0027,"},{"line_number":43,"context_line":"                  sa.Column(\u0027dev_group\u0027, sa.String(length\u003d64)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_9947154b","line":40,"updated":"2015-01-23 12:51:54.000000000","message":"I\u0027m not sure that we really need this check here..","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"58eaf5843253866b33611d3f9cdea82dd8f4fa00","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    if not migration.schema_has_table(\u0027ml2_port_bindings\u0027):"},{"line_number":40,"context_line":"        return"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    op.add_column(\u0027ml2_port_bindings\u0027,"},{"line_number":43,"context_line":"                  sa.Column(\u0027dev_group\u0027, sa.String(length\u003d64)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_f3275262","line":40,"in_reply_to":"1a930d6b_02b64efa","updated":"2015-01-23 15:22:07.000000000","message":"In Juno we have heal_script and make all migrations unconditional, so this table should be in db","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"d14ca238b4e2b54b74f0d6ae622ebeef5d4e08d9","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    if not migration.schema_has_table(\u0027ml2_port_bindings\u0027):"},{"line_number":40,"context_line":"        return"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    op.add_column(\u0027ml2_port_bindings\u0027,"},{"line_number":43,"context_line":"                  sa.Column(\u0027dev_group\u0027, sa.String(length\u003d64)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_02b64efa","line":40,"in_reply_to":"1a930d6b_9947154b","updated":"2015-01-23 14:16:48.000000000","message":"I\u0027m not sure that we\u0027ll have this column in db by default","commit_id":"b6d3f78140129ec38693993c5e762beb60e491e1"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"64dcfa3f11f6a5165c2099bd035aa2f90166daf9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                  sa.Column(\u0027dev_group\u0027, sa.String(length\u003d64)))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def downgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":39,"context_line":"    op.drop_column(\u0027ml2_port_bindings\u0027, \u0027dev_group\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_c596e24b","line":38,"updated":"2015-01-26 10:13:39.000000000","message":"downgrade isn\u0027t needed any arguments","commit_id":"e1a13e60534a9f39da5c39f981a8951e5976d651"}],"neutron/tests/unit/ml2/test_ml2_plugin.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"64dcfa3f11f6a5165c2099bd035aa2f90166daf9","unresolved":false,"context_lines":[{"line_number":518,"context_line":""},{"line_number":519,"context_line":"class TestMl2PortBindingDevGroup(Ml2PluginV2TestCase,"},{"line_number":520,"context_line":"                                 (test_bindings."},{"line_number":521,"context_line":"                                  PortBindingsDevGroupTestCaseMixin)):"},{"line_number":522,"context_line":"    pass"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_e57afe22","line":521,"updated":"2015-01-26 10:13:39.000000000","message":"pep8 error","commit_id":"e1a13e60534a9f39da5c39f981a8951e5976d651"}]}
