)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"424bbdb0c98017420ad95bea79c89b49c41011cc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Covers both trunk port and subport."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"APIImpact"},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a4dcd0f_95cdeb67","line":11,"updated":"2015-08-07 12:26:41.000000000","message":"You have to add a comment for the doc and api team, what will be changed","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5c7d73be924ad8869a740fc0ace9a714967ff675","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Covers both trunk port and subport."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"APIImpact"},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a4dcd0f_700b437e","line":11,"in_reply_to":"1a4dcd0f_95cdeb67","updated":"2015-08-12 15:06:23.000000000","message":"Done","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"191d146138d80d3213e01a0b7da82c7834960a5f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"},{"line_number":15,"context_line":"Co-Authored-By: Bence Romsics \u003cbence.romsics@ericsson.com\u003e"},{"line_number":16,"context_line":"Change-Id: I5957df7206c6e08b6ec8d5a9a3ce68f4754af54a"},{"line_number":17,"context_line":"Partially-Implements: blueprint vlan-aware-vms"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a4dcd0f_faa0dc43","line":15,"updated":"2015-08-07 12:11:43.000000000","message":"I think, you don\u0027t need to mention yourself in the commit massage :)","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5c7d73be924ad8869a740fc0ace9a714967ff675","unresolved":false,"context_lines":[{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"},{"line_number":15,"context_line":"Co-Authored-By: Bence Romsics \u003cbence.romsics@ericsson.com\u003e"},{"line_number":16,"context_line":"Change-Id: I5957df7206c6e08b6ec8d5a9a3ce68f4754af54a"},{"line_number":17,"context_line":"Partially-Implements: blueprint vlan-aware-vms"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a4dcd0f_30261b17","line":15,"in_reply_to":"1a4dcd0f_faa0dc43","updated":"2015-08-12 15:06:23.000000000","message":"Done","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"}],"neutron/extensions/trunk_port.py":[{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"191d146138d80d3213e01a0b7da82c7834960a5f","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            RESOURCE_ATTRIBUTE_MAP,"},{"line_number":173,"context_line":"            # FIXME(bence romsics): What are \"service type constants\"? The"},{"line_number":174,"context_line":"            # return of NeutronManager.get_service_plugins() will be indexed"},{"line_number":175,"context_line":"            # by this. Should this be the same as TRUNK_PORT_EXT_ALIAS?"},{"line_number":176,"context_line":"            \u0027trunk-port\u0027)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        parent \u003d dict(member_name\u003d\"port\","}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_9ade78db","line":175,"updated":"2015-08-07 12:11:43.000000000","message":"\u003e\u003e\u003e\u003e Should this be the same as TRUNK_PORT_EXT_ALIAS?\n\nIf i remember correctly - Yes, but you can find the answer in the one of my patches for the kilo release, i don\u0027t remember did i backport to the havana or no.","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5c7d73be924ad8869a740fc0ace9a714967ff675","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            RESOURCE_ATTRIBUTE_MAP,"},{"line_number":173,"context_line":"            # FIXME(bence romsics): What are \"service type constants\"? The"},{"line_number":174,"context_line":"            # return of NeutronManager.get_service_plugins() will be indexed"},{"line_number":175,"context_line":"            # by this. Should this be the same as TRUNK_PORT_EXT_ALIAS?"},{"line_number":176,"context_line":"            \u0027trunk-port\u0027)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        parent \u003d dict(member_name\u003d\"port\","}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_90028f6e","line":175,"in_reply_to":"1a4dcd0f_9ade78db","updated":"2015-08-12 15:06:23.000000000","message":"I have just found that neutron/plugins/common/constants.py has an explicit mapping between extension aliases and service type constants, so I believe it\u0027s better if I do the same.","commit_id":"925de250c18d4c9851578c62dd75205edd360c70"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ba8427826f2ff55ba64447e14a595ad8b7ea79c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# Solve this mess somehow."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"TRUNK_PORT_EXT_ALIAS \u003d \u0027trunk-port\u0027"},{"line_number":42,"context_line":"SEGMENTATION_TYPE \u003d \u0027{}:segmentation_type\u0027.format(TRUNK_PORT_EXT_ALIAS)"},{"line_number":43,"context_line":"SEGMENTATION_ID \u003d \u0027{}:segmentation_id\u0027.format(TRUNK_PORT_EXT_ALIAS)"},{"line_number":44,"context_line":"SEGMENTATION_TYPE_MAX_LEN \u003d 32"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_4a0a6fd3","line":42,"range":{"start_line":42,"start_character":20,"end_line":42,"end_character":71},"updated":"2015-08-13 05:17:33.000000000","message":"For readability, I think\n\n  trunk-port:segmentation_type\n\nor\n\n  \"%s:segmentation_type\" % TRUNK_PORT_EXT_ALIAS\n\nlooks better to me.\nDoesn\u0027t the above work for python3?","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"f301500581cf1750b7dbe0033127aab5db2cef1b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# Solve this mess somehow."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"TRUNK_PORT_EXT_ALIAS \u003d \u0027trunk-port\u0027"},{"line_number":42,"context_line":"SEGMENTATION_TYPE \u003d \u0027{}:segmentation_type\u0027.format(TRUNK_PORT_EXT_ALIAS)"},{"line_number":43,"context_line":"SEGMENTATION_ID \u003d \u0027{}:segmentation_id\u0027.format(TRUNK_PORT_EXT_ALIAS)"},{"line_number":44,"context_line":"SEGMENTATION_TYPE_MAX_LEN \u003d 32"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_d68626b8","line":42,"in_reply_to":"1a4dcd0f_4a0a6fd3","updated":"2015-08-13 12:37:24.000000000","message":"Done, I think both syntaxes work for both python 2 and 3.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ba8427826f2ff55ba64447e14a595ad8b7ea79c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        \u0027status\u0027: {"},{"line_number":95,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":96,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":97,"context_line":"            \u0027default\u0027: constants.TRUNK_PORT_DOWN,"},{"line_number":98,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":99,"context_line":"        },"},{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_2a9da3bb","line":97,"updated":"2015-08-13 05:17:33.000000000","message":"\u0027default\u0027 field is unnecessary for read-only field.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"f301500581cf1750b7dbe0033127aab5db2cef1b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        \u0027status\u0027: {"},{"line_number":95,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":96,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":97,"context_line":"            \u0027default\u0027: constants.TRUNK_PORT_DOWN,"},{"line_number":98,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":99,"context_line":"        },"},{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_7604f216","line":97,"in_reply_to":"1a4dcd0f_2a9da3bb","updated":"2015-08-13 12:37:24.000000000","message":"Done","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"abdbe2b678185d674bb1286e18f8722c634e86c1","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":99,"context_line":"        },"},{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"},{"line_number":101,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":102,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":103,"context_line":"            \u0027default\u0027: 0,"},{"line_number":104,"context_line":"            \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_218713b6","line":101,"updated":"2015-08-13 01:34:17.000000000","message":"It would be better to return a list of subport IDs here I think. Then the caller can count them if necessary or do full lookups on each one for more info.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ba8427826f2ff55ba64447e14a595ad8b7ea79c","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":99,"context_line":"        },"},{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"},{"line_number":101,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":102,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":103,"context_line":"            \u0027default\u0027: 0,"},{"line_number":104,"context_line":"            \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_8a44f746","line":101,"in_reply_to":"1a4dcd0f_218713b6","updated":"2015-08-13 05:17:33.000000000","message":"Agree with Kevin. I would suggest \u0027subports\u0027.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"f301500581cf1750b7dbe0033127aab5db2cef1b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":99,"context_line":"        },"},{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"},{"line_number":101,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":102,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":103,"context_line":"            \u0027default\u0027: 0,"},{"line_number":104,"context_line":"            \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b60efa38","line":101,"in_reply_to":"1a4dcd0f_8a44f746","updated":"2015-08-13 12:37:24.000000000","message":"Would you want the set of subport uuids, even if there could be thousands of them? The GET responses could become quite huge, maybe unexpectedly.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2ba8427826f2ff55ba64447e14a595ad8b7ea79c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"},{"line_number":101,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":102,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":103,"context_line":"            \u0027default\u0027: 0,"},{"line_number":104,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":105,"context_line":"        },"},{"line_number":106,"context_line":"        \u0027tenant_id\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_aa6a13b1","line":103,"updated":"2015-08-13 05:17:33.000000000","message":"\u0027default\u0027 is unnencessary for read-only field.","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"f301500581cf1750b7dbe0033127aab5db2cef1b","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        \u0027subport_count\u0027: {"},{"line_number":101,"context_line":"            \u0027allow_post\u0027: False,"},{"line_number":102,"context_line":"            \u0027allow_put\u0027: False,"},{"line_number":103,"context_line":"            \u0027default\u0027: 0,"},{"line_number":104,"context_line":"            \u0027is_visible\u0027: True,"},{"line_number":105,"context_line":"        },"},{"line_number":106,"context_line":"        \u0027tenant_id\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_96ff3e01","line":103,"in_reply_to":"1a4dcd0f_aa6a13b1","updated":"2015-08-13 12:37:24.000000000","message":"Done","commit_id":"1b00b0406901fc8cd753945ca6bfb1d0e2d50145"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"803d7636c781c62dc023fd3c526331435fa2e4e1","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"class TrunkPortNotFound(n_exc.NotFound):"},{"line_number":146,"context_line":"    message \u003d _(\"Trunk Port %(trunk_port_id)s could not be found\")"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"class TrunkPortMacAddressInUse(n_exc.InUse):"}],"source_content_type":"text/x-python","patch_set":8,"id":"da85f559_a096ff3c","line":146,"updated":"2015-11-10 21:56:03.000000000","message":"nit: add period at end.","commit_id":"49b5d1471f0c60d5d6c6857116064bcfa665439f"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"803d7636c781c62dc023fd3c526331435fa2e4e1","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    @abc.abstractmethod"},{"line_number":206,"context_line":"    def update_trunk_port(self, context, id, trunk_port):"},{"line_number":207,"context_line":"        pass"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":8,"id":"da85f559_60b337ea","line":206,"updated":"2015-11-10 21:56:03.000000000","message":"Should use name other than id so as not to conflict with id(). trunk_port_id?\n\nSame for other methods.","commit_id":"49b5d1471f0c60d5d6c6857116064bcfa665439f"}]}
