)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"8216bfea972379372867c359dc50022cce8cb6e3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     tonytan4ever \u003ctonytan198211@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-14 22:42:16 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Relocate dvr model"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This is a prerequisite for dvr OVO implementation. Related OVO change:"},{"line_number":11,"context_line":"https://review.openstack.org/#/c/304873/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3ac371cc_d603220c","line":8,"range":{"start_line":7,"start_character":0,"end_line":8,"end_character":18},"updated":"2016-08-15 05:39:10.000000000","message":"empty title?","commit_id":"094a1353dd7a61375229acf0ac9897926b209d93"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"ecc7d3a77a574156ce6147d8008ac39a2f544cb9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As there would be issue of cyclic imports while implementation of"},{"line_number":10,"context_line":"Oslo-Versioned Objects for DVR which has db models definition and"},{"line_number":11,"context_line":"mixins in same file, this patch will refactor DVR models."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I4005570c7507ae9c28fd2910b368e4fdf5e603b0"},{"line_number":14,"context_line":"Co-Authored-By: Victor Morales \u003cvictor.morales@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5a8bc5a2_5832b2f2","line":11,"range":{"start_line":11,"start_character":37,"end_line":11,"end_character":45},"updated":"2016-09-22 21:56:11.000000000","message":"nit: refactor is misleading instead relocate should be used","commit_id":"4ad251b63be8eb78ff3859b7c494201650e4075e"}],"neutron/db/dvr_mac_db.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"923863172fa0769098a93666158134de9be6679e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from neutron.common import utils"},{"line_number":30,"context_line":"from neutron.db import api as db_api"},{"line_number":31,"context_line":"from neutron.db import models_v2"},{"line_number":32,"context_line":"from neutron.db.models import dvr"},{"line_number":33,"context_line":"from neutron.extensions import dvr as ext_dvr"},{"line_number":34,"context_line":"from neutron.extensions import portbindings"},{"line_number":35,"context_line":"from neutron import manager"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_c916e857","line":32,"range":{"start_line":32,"start_character":23,"end_line":32,"end_character":33},"updated":"2016-08-12 11:57:48.000000000","message":"In other patches, we use xxxx_models as alias.\n\n  from ... import dvr as dvr_models\n\nIf there is no special reason, it is better to follow the convention.","commit_id":"e88c8ed694d7ad9784475a3287e75e633f27fc4d"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"7238479f0451dd439a4252f0524fbbf8ad5dfff2","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from neutron.common import utils"},{"line_number":30,"context_line":"from neutron.db import api as db_api"},{"line_number":31,"context_line":"from neutron.db import models_v2"},{"line_number":32,"context_line":"from neutron.db.models import dvr"},{"line_number":33,"context_line":"from neutron.extensions import dvr as ext_dvr"},{"line_number":34,"context_line":"from neutron.extensions import portbindings"},{"line_number":35,"context_line":"from neutron import manager"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_f53f37d4","line":32,"range":{"start_line":32,"start_character":23,"end_line":32,"end_character":33},"in_reply_to":"9ad45d7e_c916e857","updated":"2016-08-15 02:43:12.000000000","message":"Done","commit_id":"e88c8ed694d7ad9784475a3287e75e633f27fc4d"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"0ad6824479bd84694482142a7de7021f7f396d8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3ac371cc_51777c9f","line":216,"updated":"2016-08-18 05:48:29.000000000","message":"You should add the following last.\n\n # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE\n _OLD_REF \u003d sys.modules[__name__]\n sys.modules[__name__] \u003d _deprecate._DeprecateSubset(globals(), dvr_models)\n # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE","commit_id":"a0d3eca0142b83d2563874e703efaf64aa1d231a"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"3f5cfc2a82ec6255cb8281fbe16f7b578031f4b1","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"# WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE"},{"line_number":222,"context_line":"_OLD_REF \u003d sys.modules[__name__]"},{"line_number":223,"context_line":"sys.modules[__name__] \u003d _deprecate._DeprecateSubset(globals(), dvr_models)"},{"line_number":224,"context_line":"# WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_ad5e2d74","line":223,"updated":"2016-08-31 12:51:07.000000000","message":"Needs updating now that https://review.openstack.org/352601 has merged. Please follow the deprecation examples from that patch.","commit_id":"017230bcef8c5fea159f2af6e8f80b273334c824"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"aaf715717ec391a6222c695ff58c26055a68b161","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from neutron.common import utils"},{"line_number":31,"context_line":"from neutron.db import api as db_api"},{"line_number":32,"context_line":"from neutron.db import models_v2"},{"line_number":33,"context_line":"from neutron.db.models import dvr as dvr_models"},{"line_number":34,"context_line":"from neutron.extensions import dvr as ext_dvr"},{"line_number":35,"context_line":"from neutron.extensions import portbindings"},{"line_number":36,"context_line":"from neutron import manager"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a8bc5a2_169d3759","line":33,"updated":"2016-09-23 14:10:13.000000000","message":"This line needs to be before line 32[1]\n\nhttp://logs.openstack.org/41/353541/17/check/gate-neutron-pep8-ubuntu-xenial/4cf4f10/console.html#_2016-09-23_04_32_46_658189","commit_id":"4eb6d637dc27fbe30d24dd93a408f8d4ae44f2e7"}],"neutron/db/models/dvr.py":[{"author":{"_account_id":22800,"name":"Joseph Pasque","email":"jp606j@att.com","username":"jp606j"},"change_message_id":"95eddc69a0371bba671a682ec4f56d5ee565df80","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import sqlalchemy as sa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron_lib.db import model_base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class DistributedVirtualRouterMacAddress(model_base.BASEV2):"}],"source_content_type":"text/x-python","patch_set":25,"id":"3a98d1f4_3868a4f5","line":18,"updated":"2016-09-28 18:34:05.000000000","message":"Nit: import should be in same group as sqlalchemy, see https://review.openstack.org/#/c/356144/11/neutron/db/models/plugins/ml2/vlanallocation.py","commit_id":"dcd897dc9ca27ca5a9d86130d6e9e4bfa91ebcdd"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"cedfed435605926ebc7845229f5734982166a52b","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import sqlalchemy as sa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron_lib.db import model_base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class DistributedVirtualRouterMacAddress(model_base.BASEV2):"}],"source_content_type":"text/x-python","patch_set":25,"id":"3a98d1f4_a94fddbb","line":18,"in_reply_to":"3a98d1f4_3868a4f5","updated":"2016-09-29 13:38:02.000000000","message":"+1","commit_id":"dcd897dc9ca27ca5a9d86130d6e9e4bfa91ebcdd"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"fec077034a448bf24df41aa8de9e6f5492c40e84","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import sqlalchemy as sa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron_lib.db import model_base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class DistributedVirtualRouterMacAddress(model_base.BASEV2):"}],"source_content_type":"text/x-python","patch_set":25,"id":"3a98d1f4_381f7d60","line":18,"in_reply_to":"3a98d1f4_a94fddbb","updated":"2016-09-29 19:40:02.000000000","message":"Done","commit_id":"dcd897dc9ca27ca5a9d86130d6e9e4bfa91ebcdd"}],"neutron/db/models/router.py":[{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"7c7ac789e8fd4859c20a61328a7d0fc1a3be04ca","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutron.db import l3_db"},{"line_number":20,"context_line":"from neutron.db import model_base"},{"line_number":21,"context_line":"from neutron.db import models_v2"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class RouterRoute(model_base.BASEV2, models_v2.Route):"},{"line_number":25,"context_line":"    router_id \u003d sa.Column(sa.String(36),"}],"source_content_type":"text/x-python","patch_set":22,"id":"3a98d1f4_43ed868a","side":"PARENT","line":22,"updated":"2016-09-28 17:50:27.000000000","message":"Is this change really related to the commit message.\nIt is misleading.","commit_id":"5da5777f673693ff43a996ee1ec7cd6abe9c1a55"}],"neutron/db/models/tag.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"cedfed435605926ebc7845229f5734982166a52b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import sqlalchemy as sa"},{"line_number":17,"context_line":"from sqlalchemy import orm"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.db import model_base"},{"line_number":20,"context_line":"from neutron.db import standard_attr"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"3a98d1f4_89d781be","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":33},"updated":"2016-09-29 13:38:02.000000000","message":"This is not needed.\n\nI guess this should not be modified in this change at all.","commit_id":"dcd897dc9ca27ca5a9d86130d6e9e4bfa91ebcdd"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"fec077034a448bf24df41aa8de9e6f5492c40e84","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import sqlalchemy as sa"},{"line_number":17,"context_line":"from sqlalchemy import orm"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.db import model_base"},{"line_number":20,"context_line":"from neutron.db import standard_attr"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"3a98d1f4_58b6093e","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":33},"in_reply_to":"3a98d1f4_89d781be","updated":"2016-09-29 19:40:02.000000000","message":"Done","commit_id":"dcd897dc9ca27ca5a9d86130d6e9e4bfa91ebcdd"}],"neutron/tests/unit/db/test_dvr_mac_db.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"923863172fa0769098a93666158134de9be6679e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from neutron.callbacks import registry"},{"line_number":21,"context_line":"from neutron.callbacks import resources"},{"line_number":22,"context_line":"from neutron import context"},{"line_number":23,"context_line":"from neutron.db.models import dvr"},{"line_number":24,"context_line":"from neutron.extensions import dvr"},{"line_number":25,"context_line":"from neutron.extensions import portbindings"},{"line_number":26,"context_line":"from neutron import manager"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_241feb5c","line":23,"updated":"2016-08-12 11:57:48.000000000","message":"In other patches, we use xxxx_models as alias.\n\n  from ... import dvr as dvr_models","commit_id":"e88c8ed694d7ad9784475a3287e75e633f27fc4d"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"7238479f0451dd439a4252f0524fbbf8ad5dfff2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from neutron.callbacks import registry"},{"line_number":21,"context_line":"from neutron.callbacks import resources"},{"line_number":22,"context_line":"from neutron import context"},{"line_number":23,"context_line":"from neutron.db.models import dvr"},{"line_number":24,"context_line":"from neutron.extensions import dvr"},{"line_number":25,"context_line":"from neutron.extensions import portbindings"},{"line_number":26,"context_line":"from neutron import manager"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_952fe3a0","line":23,"in_reply_to":"9ad45d7e_241feb5c","updated":"2016-08-15 02:43:12.000000000","message":"Done","commit_id":"e88c8ed694d7ad9784475a3287e75e633f27fc4d"}]}
