)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dima Shulyak \u003cdshulyak@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-11-29 18:03:23 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow usage of alembic tool for migrations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed:"},{"line_number":10,"context_line":"ironic-dbsync now supports both formats of migrations"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2BLhU%3D","line":7,"updated":"2013-11-29 16:21:34.000000000","message":"I would suggest to add a big \"Proof of Concept\" warning here and mark the patch itself as Work In Progress (as this is something that won\u0027t be merged soon and we should not worsen Ironic open reviews stats :) )","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"94581f28264ac83b9686ae6aca2f486da8eee581","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dima Shulyak \u003cdshulyak@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-11-29 18:03:23 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow usage of alembic tool for migrations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Changed:"},{"line_number":10,"context_line":"ironic-dbsync now supports both formats of migrations"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2BLaQ%3D","line":7,"in_reply_to":"AAAATn%2F%2BLhU%3D","updated":"2013-11-29 16:46:17.000000000","message":"Something like:\n[PROOF OF CONCEPT] Switch to Alembic","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}],"ironic/cmd/dbrevision.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":19,"context_line":"#    under the License."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import sys"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from oslo.config import cfg"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLhA%3D","line":21,"updated":"2013-11-29 16:21:34.000000000","message":"Looks great, but should be done by a separate patch","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}],"ironic/cmd/dbversion.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":"Run storage database migration."},{"line_number":23,"context_line":"\"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from ironic.common import service"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLg8%3D","line":24,"updated":"2013-11-29 16:21:34.000000000","message":"Ditto (separate patch)","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}],"ironic/db/sqlalchemy/alembic/env.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from __future__ import with_statement"},{"line_number":14,"context_line":"from logging import config as log_config"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from alembic import context"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLgs%3D","line":13,"updated":"2013-11-29 16:21:34.000000000","message":"I\u0027m not sure this is needed as we only support py26+","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"94581f28264ac83b9686ae6aca2f486da8eee581","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from __future__ import with_statement"},{"line_number":14,"context_line":"from logging import config as log_config"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from alembic import context"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLdE%3D","line":13,"in_reply_to":"AAAATn%2F%2BLgs%3D","updated":"2013-11-29 16:46:17.000000000","message":"No, this is required for \u003c\u003d2.5","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}],"ironic/db/sqlalchemy/models.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    __table_args__ \u003d ("},{"line_number":113,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, name\u003d\u0027node_uuid_ux\u0027),"},{"line_number":114,"context_line":"        Index(\u0027node_instance_uuid\u0027, \u0027instance_uuid\u0027),"},{"line_number":115,"context_line":"        Index(\u0027nodes_chassis_id_fkey\u0027, \u0027chassis_id\u0027, unique\u003dFalse))"},{"line_number":116,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":117,"context_line":"    uuid \u003d Column(String(36))"},{"line_number":118,"context_line":"    instance_uuid \u003d Column(String(36), nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLfw%3D","line":115,"updated":"2013-11-29 16:21:34.000000000","message":"If Node model is out of sync with migration scripts, you should fix it by a separate patch","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    __table_args__ \u003d ("},{"line_number":137,"context_line":"        schema.UniqueConstraint(\u0027address\u0027, name\u003d\u0027iface_address_ux\u0027),"},{"line_number":138,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, name\u003d\u0027port_uuid_ux\u0027),"},{"line_number":139,"context_line":"        Index(\u0027node_id\u0027, \u0027node_id\u0027, unique\u003dFalse))"},{"line_number":140,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":141,"context_line":"    uuid \u003d Column(String(36))"},{"line_number":142,"context_line":"    address \u003d Column(String(18))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BLfo%3D","line":139,"updated":"2013-11-29 16:21:34.000000000","message":"ditto","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}],"setup.cfg":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"133c3917cdb37547ed42f30cd67be1731e95fc9b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"source-dir \u003d doc/source"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"[egg_info]"},{"line_number":53,"context_line":"tag_build \u003d"},{"line_number":54,"context_line":"tag_date \u003d 0"},{"line_number":55,"context_line":"tag_svn_revision \u003d 0"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"AAAATn%2F%2BLfY%3D","line":53,"updated":"2013-11-29 16:21:34.000000000","message":"seems to be an unrelated change","commit_id":"9498c5f13ea6f0a2b9934b360edcb478bdb8f045"}]}
