)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f139907944101a826a0442a2d723980e57c0127","unresolved":false,"context_lines":[{"line_number":12,"context_line":"need to fetch the instance details from the BuildRequest object rather"},{"line_number":13,"context_line":"than looking for the instance in a cell database. A migration is added"},{"line_number":14,"context_line":"and the InstanceMapping object is modified to make this possible."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Iee768512314f11a13e2a85a1e7d5442864ddbc4b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7af24918_d902e20a","line":15,"updated":"2016-03-02 21:13:25.000000000","message":"Would be good to tie this to whatever blueprint it\u0027s needed for.","commit_id":"c4d041bbe7a2502d19cc4bf32950b4f45ef198a4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fd35bce247e8c3a98878d46ac020370a39d4a80d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"need to fetch the instance details from the BuildRequest object rather"},{"line_number":13,"context_line":"than looking for the instance in a cell database. A migration is added"},{"line_number":14,"context_line":"and the InstanceMapping object is modified to make this possible."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partially-implements: bp cells-scheduling-interaction"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Iee768512314f11a13e2a85a1e7d5442864ddbc4b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7af24918_c67ad687","line":15,"updated":"2016-03-03 11:06:43.000000000","message":"Well, adding that it\u0027s possible to just modify the object because it\u0027s not passed over the wire would have been appreciate for later developers reading that code, but that\u0027s nitpick :-)","commit_id":"c87fc2344c793017770636f442ba890027826225"}],"nova/db/sqlalchemy/api_migrations/migrate_repo/versions/007_instance_mapping_nullable_cellid.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"793d77576555202639156294a0f9f61090f127ad","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    instance_mapping \u003d Table(\u0027instance_mappings\u0027, meta, autoload\u003dTrue)"},{"line_number":22,"context_line":"    instance_mapping.c.cell_id.alter(nullable\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_943bff37","line":22,"updated":"2016-03-02 21:26:52.000000000","message":"At first I wasn\u0027t sure if you could have a nullable column in a foreign key with DB2 but it must not be a problem because:\n\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L576\n\nWorks, i.e. bdm.instance_uuid is a fkey back to the instances.uuid column and it\u0027s nullable. From what I\u0027ve read, you have to define the column and fkey with \u0027NOT NULL\u0027 in the DB2 schema for the table create, and that must not be a default.","commit_id":"c4d041bbe7a2502d19cc4bf32950b4f45ef198a4"}],"nova/db/sqlalchemy/api_models.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"793d77576555202639156294a0f9f61090f127ad","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":61,"context_line":"    instance_uuid \u003d Column(String(36), nullable\u003dFalse)"},{"line_number":62,"context_line":"    cell_id \u003d Column(Integer, ForeignKey(\u0027cell_mappings.id\u0027),"},{"line_number":63,"context_line":"            nullable\u003dTrue)"},{"line_number":64,"context_line":"    project_id \u003d Column(String(255), nullable\u003dFalse)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_34130bba","line":63,"updated":"2016-03-02 21:26:52.000000000","message":"nit: this is the default so we could just omit the kwarg, but it\u0027s not a big deal.","commit_id":"c4d041bbe7a2502d19cc4bf32950b4f45ef198a4"}],"nova/objects/instance_mapping.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f05a300e3499fa7042f0b87b101524e83730756a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject,"},{"line_number":26,"context_line":"                      ovo.VersionedObjectDictCompat):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_048f862a","line":28,"updated":"2016-02-17 19:15:09.000000000","message":"Don\u0027t we need a version bump for this?\n\nAnd a obj_make_compatible method for setting cell_id to an appropriate non-null value for object backports?","commit_id":"9845584e7e52d2fc38102551c7f2d85c2eaaba61"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9929fc8f73fda75f9bea80af76df6a205fe3e4f9","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject,"},{"line_number":26,"context_line":"                      ovo.VersionedObjectDictCompat):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_e41edd6e","line":28,"in_reply_to":"dae33548_048f862a","updated":"2016-02-17 21:00:16.000000000","message":"To be technically correct we should have those. This object has never been used or passed over RPC though so there\u0027s no place where it would need to be made compatible.\n\nThis object is created in one nova-manage command that\u0027s never been published but it only creates new objects so it would never fail on this being nullable now.","commit_id":"9845584e7e52d2fc38102551c7f2d85c2eaaba61"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a9c5157b861f911ad946ad6c3a28c2e06f6c63b1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject,"},{"line_number":26,"context_line":"                      ovo.VersionedObjectDictCompat):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"bae84128_e7ba02c0","line":28,"in_reply_to":"dae33548_c72d9ba9","updated":"2016-02-19 15:20:35.000000000","message":"Hmm... feels bad not bumping it, but I agree its not required here.","commit_id":"9845584e7e52d2fc38102551c7f2d85c2eaaba61"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"fd3b3bb3c0a48a284135f0177256e1c06c452546","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject,"},{"line_number":26,"context_line":"                      ovo.VersionedObjectDictCompat):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_c72d9ba9","line":28,"in_reply_to":"dae33548_e41edd6e","updated":"2016-02-17 21:20:42.000000000","message":"Okay, thanks","commit_id":"9845584e7e52d2fc38102551c7f2d85c2eaaba61"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9dd77acd674d267297fb2b9a67dcd77d0e8209a1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject,"},{"line_number":26,"context_line":"                      ovo.VersionedObjectDictCompat):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":10,"id":"7af24918_a416df52","line":28,"updated":"2016-03-02 16:33:37.000000000","message":"I guess we are not bumping this, as its not been used yet?","commit_id":"8cb4c8ccf487893b065b0e1b22767105cd10a1bd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"793d77576555202639156294a0f9f61090f127ad","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"},{"line_number":32,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":33,"context_line":"        \u0027cell_id\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027project_id\u0027: fields.StringField(),"},{"line_number":35,"context_line":"        }"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_9422dfff","line":33,"updated":"2016-03-02 21:26:52.000000000","message":"We don\u0027t need a version bump for this?","commit_id":"c4d041bbe7a2502d19cc4bf32950b4f45ef198a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1804cee8bd7f5ded8aa6ed4695d66798614ee0b1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"},{"line_number":32,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":33,"context_line":"        \u0027cell_id\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027project_id\u0027: fields.StringField(),"},{"line_number":35,"context_line":"        }"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_94fe5f36","line":33,"in_reply_to":"7af24918_9422dfff","updated":"2016-03-02 21:28:40.000000000","message":"Sounds like this has never gone over the wire so it\u0027s not a compatibility issue.","commit_id":"c4d041bbe7a2502d19cc4bf32950b4f45ef198a4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fd35bce247e8c3a98878d46ac020370a39d4a80d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"},{"line_number":32,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":33,"context_line":"        \u0027cell_id\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027project_id\u0027: fields.StringField(),"},{"line_number":35,"context_line":"        }"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7af24918_6615c23e","line":33,"updated":"2016-03-03 11:06:43.000000000","message":"You pretty lucky guy","commit_id":"c87fc2344c793017770636f442ba890027826225"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"67851c96981a5338769e82518fa1229496da8d1d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    fields \u003d {"},{"line_number":31,"context_line":"        \u0027id\u0027: fields.IntegerField(read_only\u003dTrue),"},{"line_number":32,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":33,"context_line":"        \u0027cell_id\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027project_id\u0027: fields.StringField(),"},{"line_number":35,"context_line":"        }"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7af24918_e85cf87e","line":33,"in_reply_to":"7af24918_6615c23e","updated":"2016-03-03 13:31:18.000000000","message":"Hah :)","commit_id":"c87fc2344c793017770636f442ba890027826225"}]}
