)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \u0027id\u0027: \u0027portA.uuid\u0027,"},{"line_number":18,"context_line":"            \u0027switch_id\u0027: \u0027aa:bb:cc:dd:ee:ff\u0027,"},{"line_number":19,"context_line":"            \u0027port_id\u0027: \u0027Gig0/1\u0027"},{"line_number":20,"context_line":"        },"},{"line_number":21,"context_line":"        {"},{"line_number":22,"context_line":"            \u0027id\u0027: \u0027portB.uuid\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f231b9d_a842d13c","line":19,"updated":"2017-06-15 01:04:14.000000000","message":"The spec also has a \u0027switch_info\u0027 key [1]; did you forget to code that or is the spec incorrect?\n\n[1] http://specs.openstack.org/openstack/ironic-specs/specs/approved/dynamic-portgroups.html#scenario-1-preferred","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a1ff338d2e51923fd2d41def671069bfc8e17809","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \u0027id\u0027: \u0027portA.uuid\u0027,"},{"line_number":18,"context_line":"            \u0027switch_id\u0027: \u0027aa:bb:cc:dd:ee:ff\u0027,"},{"line_number":19,"context_line":"            \u0027port_id\u0027: \u0027Gig0/1\u0027"},{"line_number":20,"context_line":"        },"},{"line_number":21,"context_line":"        {"},{"line_number":22,"context_line":"            \u0027id\u0027: \u0027portB.uuid\u0027,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_7df750f7","line":19,"in_reply_to":"7f231b9d_a842d13c","updated":"2017-07-12 22:01:04.000000000","message":"So \u0027switch_info\u0027 is an optional key. It can be present in port.local_link_connection, but is not required.","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"15c502ae6acdbb0ceb753877ca9f2448274d5deb","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \u0027bond_propertyB\u0027: \u0027valueB\u0027,"},{"line_number":36,"context_line":"             }"},{"line_number":37,"context_line":"         }"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f201791_fc0dfde7","line":38,"updated":"2017-06-27 13:24:05.000000000","message":"Do we ever expect that this could include more than one portgroup\u0027s worth of information?? If not is there a need for this to be a list, it could instead just be local_group_information, and then you don\u0027t need bond_ports because local_link_information provides the list of ports to be included in the bond.","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2e04650dc9d152693bfdd7e6928ae3c8d7e0e83a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \u0027bond_propertyB\u0027: \u0027valueB\u0027,"},{"line_number":36,"context_line":"             }"},{"line_number":37,"context_line":"         }"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_f82b572d","line":38,"in_reply_to":"1f1a1f67_72a1a8a9","updated":"2017-07-21 09:20:44.000000000","message":"Done","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"be8901b2c2c0bf9ca4276c23670863f4521f03ba","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \u0027bond_propertyB\u0027: \u0027valueB\u0027,"},{"line_number":36,"context_line":"             }"},{"line_number":37,"context_line":"         }"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_72a1a8a9","line":38,"in_reply_to":"5f201791_fc0dfde7","updated":"2017-07-13 11:38:48.000000000","message":"good catch Sam! definitely we don\u0027t need to pass here info about several porgroups as neutron port may be associated with only one portgroup. Will update.","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":36,"context_line":"             }"},{"line_number":37,"context_line":"         }"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"},{"line_number":42,"context_line":"Co-Authored-By: John L. Villalovos \u003cjohn.l.villalovos@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f231b9d_284fe16b","line":39,"updated":"2017-06-15 01:04:14.000000000","message":"The spec describes two scenarios for the binding profile data structure. This looks like scenario 1 [1] but I don\u0027t see anywhere, that this is what was decided. Is there a plan to update the spec?\n\n[1] http://specs.openstack.org/openstack/ironic-specs/specs/approved/dynamic-portgroups.html#scenario-1-preferred","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"},{"line_number":42,"context_line":"Co-Authored-By: John L. Villalovos \u003cjohn.l.villalovos@intel.com\u003e"},{"line_number":43,"context_line":"Change-Id: Iacda8180f644cc1a0986e8b1fc34c65263aabd59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f231b9d_686159d3","line":41,"updated":"2017-06-15 01:04:14.000000000","message":"The spec mentions documentation and I don\u0027t see any in this patch. Does this patch really close the bug?","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a1ff338d2e51923fd2d41def671069bfc8e17809","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Closes-Bug: #1652630"},{"line_number":42,"context_line":"Co-Authored-By: John L. Villalovos \u003cjohn.l.villalovos@intel.com\u003e"},{"line_number":43,"context_line":"Change-Id: Iacda8180f644cc1a0986e8b1fc34c65263aabd59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f1a1f67_7dd510b9","line":41,"in_reply_to":"7f231b9d_686159d3","updated":"2017-07-12 22:01:04.000000000","message":"I changed it to Partial-Bug","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"}],"ironic/common/neutron.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"18dfc673a9b51712899974ea700b796c80480ff6","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    :returns: a dictionary in the form"},{"line_number":326,"context_line":"        {"},{"line_number":327,"context_line":"            port.uuid: {"},{"line_number":328,"context_line":"                \u0027id\u0027: port.uuid,"},{"line_number":329,"context_line":"                \u0027switch_id\u0027: \u0027abc\u0027,"},{"line_number":330,"context_line":"                \u0027port_id\u0027: \u0027Po0/1\u0027,"},{"line_number":331,"context_line":"                \u0027other_llc_key\u0027: \u0027val\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_38cefa2c","line":328,"updated":"2017-03-28 15:00:46.000000000","message":"Why do we need the uuid twice?","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"1f02a614684e60f9d7d63e80e870e12e6c9273ef","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    :returns: a dictionary in the form"},{"line_number":326,"context_line":"        {"},{"line_number":327,"context_line":"            port.uuid: {"},{"line_number":328,"context_line":"                \u0027id\u0027: port.uuid,"},{"line_number":329,"context_line":"                \u0027switch_id\u0027: \u0027abc\u0027,"},{"line_number":330,"context_line":"                \u0027port_id\u0027: \u0027Po0/1\u0027,"},{"line_number":331,"context_line":"                \u0027other_llc_key\u0027: \u0027val\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_67439243","line":328,"in_reply_to":"ffe62b97_38cefa2c","updated":"2017-03-29 11:52:57.000000000","message":"It allows to avoid modifying portmap later where this function is called.","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"a39823a91a6fc230c8ba3ec13693b58258278022","unresolved":false,"context_lines":[{"line_number":361,"context_line":"              {"},{"line_number":362,"context_line":"    \"\"\""},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    portgroup_propeties \u003d {}"},{"line_number":365,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":366,"context_line":"        # These properties are the bonding driver options described"},{"line_number":367,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a1ced50_2bb841e5","line":364,"range":{"start_line":364,"start_character":14,"end_line":364,"end_character":23},"updated":"2017-03-18 19:03:30.000000000","message":"spelling error, \u0027properties\u0027","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"1f02a614684e60f9d7d63e80e870e12e6c9273ef","unresolved":false,"context_lines":[{"line_number":361,"context_line":"              {"},{"line_number":362,"context_line":"    \"\"\""},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    portgroup_propeties \u003d {}"},{"line_number":365,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":366,"context_line":"        # These properties are the bonding driver options described"},{"line_number":367,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_ec64294c","line":364,"range":{"start_line":364,"start_character":14,"end_line":364,"end_character":23},"in_reply_to":"1a1ced50_2bb841e5","updated":"2017-03-29 11:52:57.000000000","message":"Done","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"e80b6d4b2690b85cddfbf95240c6dc93b83938ea","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":368,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":369,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":370,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":371,"context_line":"        portgroup_propeties[key] \u003d value"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    portgroup_ports \u003d [p.uuid for p in task.ports if"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_bb48a02c","line":370,"updated":"2017-03-29 09:23:54.000000000","message":"There is inconsistency, we check prefix \u0027bond\u0027, but add \u0027bond_\u0027, it\u0027s correct?","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"56af34d4b7459911b556af8fe701f5148267d3a0","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":368,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":369,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":370,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":371,"context_line":"        portgroup_propeties[key] \u003d value"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    portgroup_ports \u003d [p.uuid for p in task.ports if"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_d6c8d9a6","line":370,"in_reply_to":"ffe62b97_bb48a02c","updated":"2017-03-29 09:40:38.000000000","message":"Yup, unfortunately, that\u0027s how the cloud-init does this.","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"5385c0f6e877afc68f34e6ba4ffe9599e4e6cb5f","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":368,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":369,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":370,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":371,"context_line":"        portgroup_propeties[key] \u003d value"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    portgroup_ports \u003d [p.uuid for p in task.ports if"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_76deadda","line":370,"in_reply_to":"ffe62b97_d6c8d9a6","updated":"2017-03-29 09:52:13.000000000","message":"For example if I add a property \"bondparam1\" instead of \"bond_param1\" it will be correct for cloud-init?","commit_id":"389f2087fb8bc9edd42efca8855cfb1ad96ba921"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    portgroup_properties \u003d {}"},{"line_number":362,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":363,"context_line":"        # These properties are the bonding driver options described"},{"line_number":364,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":365,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":366,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":367,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_9ae51f0c","line":364,"updated":"2017-06-15 01:04:14.000000000","message":"nit add period at the end of this.","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a1ff338d2e51923fd2d41def671069bfc8e17809","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    portgroup_properties \u003d {}"},{"line_number":362,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":363,"context_line":"        # These properties are the bonding driver options described"},{"line_number":364,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":365,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":366,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":367,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_3dd798c2","line":364,"in_reply_to":"7f231b9d_9ae51f0c","updated":"2017-07-12 22:01:04.000000000","message":"Done","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":362,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":363,"context_line":"        # These properties are the bonding driver options described"},{"line_number":364,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":365,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":366,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":367,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":368,"context_line":"        portgroup_properties[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_5aeb07db","line":365,"updated":"2017-06-15 01:04:14.000000000","message":"nit s/bond/\"bond\"./","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a1ff338d2e51923fd2d41def671069bfc8e17809","unresolved":false,"context_lines":[{"line_number":362,"context_line":"    for prop, value in portgroup.properties.items():"},{"line_number":363,"context_line":"        # These properties are the bonding driver options described"},{"line_number":364,"context_line":"        # at https://www.kernel.org/doc/Documentation/networking/bonding.txt"},{"line_number":365,"context_line":"        # cloud-init checks the same way, parameter name has to start with bond"},{"line_number":366,"context_line":"        # Keep this structure when passing properties to neutron ML2 drivers."},{"line_number":367,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":368,"context_line":"        portgroup_properties[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_1de4dcab","line":365,"in_reply_to":"7f231b9d_5aeb07db","updated":"2017-07-12 22:01:04.000000000","message":"Done","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a31c79afca4ffdca04b5db1d26af2fe5781d455c","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                  \u0027id\u0027: portgroup.uuid,"},{"line_number":357,"context_line":"                  \u0027name\u0027: portgroup.name,"},{"line_number":358,"context_line":"                  \u0027bond_mode\u0027: portgroup.mode,"},{"line_number":359,"context_line":"                  \u0027bond_ports\u0027: [\u0027uuid of portA\u0027, \u0027uuid of portB\u0027],"},{"line_number":360,"context_line":"                  \u0027bond_properties\u0027: {"},{"line_number":361,"context_line":"                      \u0027bond_propertyA\u0027: \u0027valueA\u0027,"},{"line_number":362,"context_line":"                      \u0027bond_propertyB\u0027: \u0027valueB\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_6bbbee0d","line":359,"updated":"2017-07-21 12:56:51.000000000","message":"nope","commit_id":"e4dc2d58d474aef714e0a29e3dc6ae7046964fbf"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"72ec8c4898e0d7e7bd0f95693a5414ecce105748","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                      \u0027bond_propertyA\u0027: \u0027valueA\u0027,"},{"line_number":361,"context_line":"                      \u0027bond_propertyB\u0027: \u0027valueB\u0027,"},{"line_number":362,"context_line":"                  }"},{"line_number":363,"context_line":"              {"},{"line_number":364,"context_line":"    \"\"\""},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    portgroup_properties \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_1b918e9a","line":363,"range":{"start_line":363,"start_character":14,"end_line":363,"end_character":15},"updated":"2017-07-24 01:39:13.000000000","message":"nit","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"13a75bd72865810aa3efbf580badf92ec78877a3","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                      \u0027bond_propertyA\u0027: \u0027valueA\u0027,"},{"line_number":361,"context_line":"                      \u0027bond_propertyB\u0027: \u0027valueB\u0027,"},{"line_number":362,"context_line":"                  }"},{"line_number":363,"context_line":"              {"},{"line_number":364,"context_line":"    \"\"\""},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    portgroup_properties \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_284cfb9c","line":363,"range":{"start_line":363,"start_character":14,"end_line":363,"end_character":15},"in_reply_to":"ff346bd7_1b918e9a","updated":"2017-07-24 10:53:21.000000000","message":"good catch, this needs a follow-up","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"da3095f9796ab72277b7abf246b1f27abb6dcd82","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        # cloud-init checks the same way, parameter name has to start with"},{"line_number":371,"context_line":"        # \u0027bond\u0027. Keep this structure when passing properties to neutron ML2"},{"line_number":372,"context_line":"        # drivers."},{"line_number":373,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":374,"context_line":"        portgroup_properties[key] \u003d value"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    return {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_08c13755","line":373,"updated":"2017-07-24 10:38:15.000000000","message":"nit: startswith(\u0027bond_\u0027) ?","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"58585b41cd63175b126f6a4de249e3357857877c","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        # cloud-init checks the same way, parameter name has to start with"},{"line_number":371,"context_line":"        # \u0027bond\u0027. Keep this structure when passing properties to neutron ML2"},{"line_number":372,"context_line":"        # drivers."},{"line_number":373,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":374,"context_line":"        portgroup_properties[key] \u003d value"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    return {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_28951be5","line":373,"in_reply_to":"ff346bd7_08c13755","updated":"2017-07-24 10:50:35.000000000","message":"nah, that\u0027s the thing, it\u0027s checked in cloud-init exactly the same way -- https://review.openstack.org/#/c/388756/7/nova/virt/ironic/driver.py@697\n\ndo you think better to have a comment here?","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"13a75bd72865810aa3efbf580badf92ec78877a3","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        # cloud-init checks the same way, parameter name has to start with"},{"line_number":371,"context_line":"        # \u0027bond\u0027. Keep this structure when passing properties to neutron ML2"},{"line_number":372,"context_line":"        # drivers."},{"line_number":373,"context_line":"        key \u003d prop if prop.startswith(\u0027bond\u0027) else \u0027bond_%s\u0027 % prop"},{"line_number":374,"context_line":"        portgroup_properties[key] \u003d value"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    return {"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_c84a0f7f","line":373,"in_reply_to":"ff346bd7_28951be5","updated":"2017-07-24 10:53:21.000000000","message":"nah, it\u0027s fine","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"}],"ironic/drivers/modules/network/common.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"da3095f9796ab72277b7abf246b1f27abb6dcd82","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    node \u003d task.node"},{"line_number":233,"context_line":"    local_link_info \u003d []"},{"line_number":234,"context_line":"    local_group_info \u003d {}"},{"line_number":235,"context_line":"    client_id_opt \u003d None"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    vif_id \u003d ("}],"source_content_type":"text/x-python","patch_set":7,"id":"ff346bd7_28bcfbda","line":234,"updated":"2017-07-24 10:38:15.000000000","message":"nit: given that you use \"if local_group_info\" later, I\u0027d prefer to use None here to make it clear, that the value is not passed to Neutron at all","commit_id":"ade71e4f16cc1318af8bcc727b82e3ee0fa1e0bf"}],"releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"10d0a20815a840a7e9aa7b292ab664609db8cc10","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Start passing port group information (``portgroup.mode`` and"},{"line_number":4,"context_line":"    ``portgroup.properties``) to Neutron via Neutron ``port.binding:profile``"},{"line_number":5,"context_line":"    field."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7f231b9d_1a0c6feb","line":3,"updated":"2017-06-15 01:04:14.000000000","message":"nit s/Start passing/Passes/","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a1ff338d2e51923fd2d41def671069bfc8e17809","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Start passing port group information (``portgroup.mode`` and"},{"line_number":4,"context_line":"    ``portgroup.properties``) to Neutron via Neutron ``port.binding:profile``"},{"line_number":5,"context_line":"    field."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1f1a1f67_bdf4c85c","line":3,"in_reply_to":"7f231b9d_1a0c6feb","updated":"2017-07-12 22:01:04.000000000","message":"Done","commit_id":"19911ec66b70897fef98f0a9921bc2824864d264"}]}
