)]}'
{"specs/approved/dynamic-portgroups.rst":[{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate portgroup fields. However administrator still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_0b4d126c","line":15,"updated":"2017-01-04 08:07:04.000000000","message":"nits: \nportgroup/port group\nstill/is still","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate portgroup fields. However administrator still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_f07a23f0","line":15,"in_reply_to":"ba5201f7_0b4d126c","updated":"2017-02-08 11:03:31.000000000","message":"Done","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by administrator."},{"line_number":25,"context_line":"To made port groups dynamic few things should be addressed:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_cbb06a46","line":24,"updated":"2017-01-04 08:07:04.000000000","message":"please comply with line length of 79 characters","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by administrator."},{"line_number":25,"context_line":"To made port groups dynamic few things should be addressed:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_d0728710","line":24,"in_reply_to":"ba5201f7_cbb06a46","updated":"2017-02-08 11:03:31.000000000","message":"Done","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by administrator."},{"line_number":25,"context_line":"To made port groups dynamic few things should be addressed:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":28,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_ab5c06ee","line":25,"updated":"2017-01-04 08:07:04.000000000","message":"made/make\nfew/following? (seems more official :))","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by administrator."},{"line_number":25,"context_line":"To made port groups dynamic few things should be addressed:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":28,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_7056335d","line":25,"in_reply_to":"ba5201f7_ab5c06ee","updated":"2017-02-08 11:03:31.000000000","message":"Done","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":28,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec is a start point and only describes how to solve item 1 in the list above."},{"line_number":33,"context_line":"This spec is not cover end-user interface for specifying port group configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_6b305e9f","line":30,"updated":"2017-01-04 08:07:04.000000000","message":"how is the configuration defined now?","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":28,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec is a start point and only describes how to solve item 1 in the list above."},{"line_number":33,"context_line":"This spec is not cover end-user interface for specifying port group configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_90af1f29","line":30,"in_reply_to":"ba5201f7_6b305e9f","updated":"2017-02-08 11:03:31.000000000","message":"End user can\u0027t specify portgroup configuration at the moment. End user will receive node with precreated configuration by administrator.","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":30,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec is a start point and only describes how to solve item 1 in the list above."},{"line_number":33,"context_line":"This spec is not cover end-user interface for specifying port group configuration"},{"line_number":34,"context_line":"at this moment, while can be extended when community has some agreements on it."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_cb978a8e","line":33,"updated":"2017-01-04 08:07:04.000000000","message":"is/does","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":30,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec is a start point and only describes how to solve item 1 in the list above."},{"line_number":33,"context_line":"This spec is not cover end-user interface for specifying port group configuration"},{"line_number":34,"context_line":"at this moment, while can be extended when community has some agreements on it."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_d0a52747","line":33,"in_reply_to":"ba5201f7_cb978a8e","updated":"2017-02-08 11:03:31.000000000","message":"Done","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other deployer impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"No need to pre-create port group at the ToR switch. Only need to specify port-group"},{"line_number":112,"context_line":"configuration at the Ironic portgroup object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_0be99214","line":111,"updated":"2017-01-04 08:07:04.000000000","message":"port-group/port group","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other deployer impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"No need to pre-create port group at the ToR switch. Only need to specify port-group"},{"line_number":112,"context_line":"configuration at the Ironic portgroup object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_b07fbba9","line":111,"in_reply_to":"ba5201f7_0be99214","updated":"2017-02-08 11:03:31.000000000","message":"Done","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"No need to pre-create port group at the ToR switch. Only need to specify port-group"},{"line_number":112,"context_line":"configuration at the Ironic portgroup object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"},{"line_number":115,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_4bd1da56","line":112,"updated":"2017-01-04 08:07:04.000000000","message":"portgroup/port group","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"27cfa20b39015d90073f4e04be9a66db15054156","unresolved":false,"context_lines":[{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"No need to pre-create port group at the ToR switch. Only need to specify port-group"},{"line_number":112,"context_line":"configuration at the Ironic portgroup object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Developer impact"},{"line_number":115,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a430d35_7060f301","line":112,"in_reply_to":"ba5201f7_4bd1da56","updated":"2017-02-08 11:03:31.000000000","message":"in ironic object called Portgroup not port group","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"89d10a4cf76a07350ebfa98feaea935556a24172","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"vsaienko \u003cvsaienko@mirantis.com\u003e"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"And hopefully many others! :)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Work Items"},{"line_number":131,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba5201f7_ab2a462a","line":128,"updated":"2017-01-04 08:07:04.000000000","message":"I volunteer :)","commit_id":"e1a3db91622e64cb7f75858eaea6a0606cf5adb6"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate port group fields. However administrator is still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_c95a7150","line":13,"updated":"2017-02-16 21:24:52.000000000","message":"Maybe \u0027In the Ocata release, ironic supports grouping ports in port groups.\u0027","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate port group fields. However administrator is still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_24796b94","line":13,"in_reply_to":"fa31d9ce_c95a7150","updated":"2017-02-20 16:28:29.000000000","message":"+1 or \"into port groups\" with the same suggested sentence","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate port group fields. However administrator is still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_570d1336","line":13,"in_reply_to":"fa31d9ce_c95a7150","updated":"2017-03-01 22:41:29.000000000","message":"Done","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate port group fields. However administrator is still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_84ddb772","line":14,"updated":"2017-02-20 16:28:29.000000000","message":"s/ability/the ability","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, Ironic allows to group ironic ports into port groups. Administrator"},{"line_number":14,"context_line":"also has ability to specify mode and properties of this port group by using"},{"line_number":15,"context_line":"appropriate port group fields. However administrator is still required to"},{"line_number":16,"context_line":"pre-create a port group on the ToR (Top of the Rack Switch) manually."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_f74d2773","line":14,"in_reply_to":"da36d5c6_84ddb772","updated":"2017-03-01 22:41:29.000000000","message":"Done","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_c92191b6","line":23,"updated":"2017-02-16 21:24:52.000000000","message":"nit s/gives/provides the/","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_376fbfc6","line":23,"in_reply_to":"fa31d9ce_c92191b6","updated":"2017-03-01 22:41:29.000000000","message":"Done","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_6c1fd35b","line":24,"updated":"2017-02-16 21:24:52.000000000","message":"I\u0027m not sure what you mean by \u0027should be applied manually\u0027. Do you mean that 1. even though ironic supports port groups, the admin has to manually apply changes to ToR; 2. the admin will always have to apply the changes manually on ToR, even with static port groups, even with this proposed dynamic port groups?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_e452f3dc","line":24,"in_reply_to":"fa31d9ce_6c1fd35b","updated":"2017-02-20 16:28:29.000000000","message":"1, I believe. I think \"should\" should be changed to \"must currently\" for clarification.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"28605cc07efef23f3438c4df7a406344a99d783e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_bb5bae2d","line":24,"in_reply_to":"fa31d9ce_6c1fd35b","updated":"2017-03-01 19:48:47.000000000","message":"yes for 1st.\nWith proposed dynamic port groups, portgroup configuration will be done by Neutron ML2 drivers not by admin.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_f7d36736","line":24,"in_reply_to":"fa31d9ce_bb5bae2d","updated":"2017-03-01 22:41:29.000000000","message":"Agree it confusing, lets call `dynamic` portgroups when we pass portgroup configuration to ML2 and it creates portgroup on the fly.\n\nGiving end user ability to specify portgroup configuration when dooing nova boot command is not the part of this spec.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39f9e4085e1480d05a96a5ab041c894fd45a185e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_b103f20e","line":26,"updated":"2017-02-20 02:52:12.000000000","message":"I think that this spec implies automating what is currently done manually, but I agree that it should be clarified.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_2c4cfb75","line":26,"updated":"2017-02-16 21:24:52.000000000","message":"So what\u0027s your definition of \u0027dynamic\u0027?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_c41a4f17","line":26,"in_reply_to":"da36d5c6_b103f20e","updated":"2017-02-20 16:28:29.000000000","message":"This makes more sense to me if \"dynamic port group\" is defined in terms of the port group on the ToR, not in ironic. AKA we\u0027ll be able to modify port groups on switches through ironic (and indirectly through neutron down the call stack) following implementation of this spec.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":23,"context_line":"While Ironic gives ability to create port groups with different configurations"},{"line_number":24,"context_line":"(mode and properties), changes on ToR should be applied manually by"},{"line_number":25,"context_line":"administrator."},{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_178c7b34","line":26,"in_reply_to":"da36d5c6_c41a4f17","updated":"2017-03-01 22:41:29.000000000","message":"`dynamic` - when ML2 drivers receive portgroup settings and are able to apply them on the ToR during provisioning.\n\n`End user is port group aware` - second step, when this spec is implemented. Will gives end user ability to specify portgroup configuration during nova boot","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ac670be9","line":29,"updated":"2017-02-16 21:24:52.000000000","message":"nit s/be //\n\nor maybe you mean s/They are be/They should be/ or /They will be/","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":26,"context_line":"To make port groups dynamic following things should be addressed:"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_77a4d7a5","line":29,"in_reply_to":"fa31d9ce_ac670be9","updated":"2017-03-01 22:41:29.000000000","message":"rephrase this sentence.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e7ea27301e380dd94ad370ca945719f59a870bfd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This spec is a start point and only describes how to solve item 1 in the list"},{"line_number":34,"context_line":"above. This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ec02e3b3","line":31,"updated":"2017-02-16 21:25:53.000000000","message":"so if the end user is using ironic via nova, we\u0027d need some change to nova too?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":28,"context_line":"* Ironic should pass port group settings to Neutron ML2 drivers. They are"},{"line_number":29,"context_line":"  be responsible to create specified port group on the ToR switch."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This spec is a start point and only describes how to solve item 1 in the list"},{"line_number":34,"context_line":"above. This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_d7a9037d","line":31,"in_reply_to":"fa31d9ce_ec02e3b3","updated":"2017-03-01 22:41:29.000000000","message":"right, but this is out of scope of this spec.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Mechanism to define port group configuration for end user should be defined."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This spec is a start point and only describes how to solve item 1 in the list"},{"line_number":34,"context_line":"above. This spec does not cover end-user interface for specifying port group"},{"line_number":35,"context_line":"configuration at this moment, while can be extended when community has some"},{"line_number":36,"context_line":"agreements on it."}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_64036374","line":33,"updated":"2017-02-20 16:28:29.000000000","message":"It might be good to note that users can already specify mode and properties, so that it\u0027s clear this feature is usable even without a more well-defined user interface.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"This spec is a start point and only describes how to solve item 1 in the list"},{"line_number":34,"context_line":"above. This spec does not cover end-user interface for specifying port group"},{"line_number":35,"context_line":"configuration at this moment, while can be extended when community has some"},{"line_number":36,"context_line":"agreements on it."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ecb8232d","line":36,"updated":"2017-02-16 21:24:52.000000000","message":"Is the 2nd point considered part of \u0027dynamic port groups\u0027? If so, we should rename this spec to be more specific.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":33,"context_line":"This spec is a start point and only describes how to solve item 1 in the list"},{"line_number":34,"context_line":"above. This spec does not cover end-user interface for specifying port group"},{"line_number":35,"context_line":"configuration at this moment, while can be extended when community has some"},{"line_number":36,"context_line":"agreements on it."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_f72b67e9","line":36,"in_reply_to":"fa31d9ce_ecb8232d","updated":"2017-03-01 22:41:29.000000000","message":"I rephrase it, 2nd point is \u0027End user is port group aware/capable to specify port group settings\u0027","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Pass portgroup ``mode`` and ``properties`` in ``local_link_information``"},{"line_number":42,"context_line":"dictionary to Neutron. Appropriate Neutron ML2 drivers will use that"},{"line_number":43,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_cc47df1b","line":42,"updated":"2017-02-16 21:24:52.000000000","message":"So Neutron already supports this? Could you provide a link to the neutron API for this?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Pass portgroup ``mode`` and ``properties`` in ``local_link_information``"},{"line_number":42,"context_line":"dictionary to Neutron. Appropriate Neutron ML2 drivers will use that"},{"line_number":43,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_c477af00","line":42,"in_reply_to":"fa31d9ce_cc47df1b","updated":"2017-02-20 16:28:29.000000000","message":"Yes, more references to neutron support in general would be good here.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Pass portgroup ``mode`` and ``properties`` in ``local_link_information``"},{"line_number":42,"context_line":"dictionary to Neutron. Appropriate Neutron ML2 drivers will use that"},{"line_number":43,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_d78f43ca","line":42,"in_reply_to":"fa31d9ce_cc47df1b","updated":"2017-03-01 22:41:29.000000000","message":"rephrase this sentence. We already passing information about ironic ports with local_link_information list in neutron port \u0027binding:profile\u0027 field [0]. We will add a new key to \u0027binding:profile\u0027 and will pass port group information with that key.\n\n[0] https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/network/neutron.py#L203","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"20e023320e9016ac0b1e9b82bd94ccecd27a8fe7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Use port groups in the static fashion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Data model impact"},{"line_number":51,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ec8f4373","line":48,"updated":"2017-02-16 21:24:52.000000000","message":"and have a human or robot manually make changes to the ToR switch?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Use port groups in the static fashion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Data model impact"},{"line_number":51,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_9a0fb22d","line":48,"in_reply_to":"fa31d9ce_ec8f4373","updated":"2017-03-01 22:41:29.000000000","message":"yes.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Use port groups in the static fashion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Data model impact"},{"line_number":51,"context_line":"-----------------"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_c44ecfc0","line":49,"updated":"2017-02-20 16:28:29.000000000","message":"Another alternative could be to have ironic configure OVS or whatever mechanism is being used directly, but that\u0027s outside the scope of our project IMHO.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Use port groups in the static fashion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Data model impact"},{"line_number":51,"context_line":"-----------------"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_dae3ea31","line":49,"in_reply_to":"da36d5c6_c44ecfc0","updated":"2017-03-01 22:41:29.000000000","message":"didn\u0027t get this point sorry.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39f9e4085e1480d05a96a5ab041c894fd45a185e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"None."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Client (CLI) impact"},{"line_number":66,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_ccfe0905","line":63,"updated":"2017-02-20 02:52:12.000000000","message":"given my assumption below is right, do we want to bump the API version to indicate support for new fields?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"None."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Client (CLI) impact"},{"line_number":66,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_9a6ed294","line":63,"in_reply_to":"da36d5c6_ccfe0905","updated":"2017-03-01 22:41:29.000000000","message":"We do not change/introduce a new fields in ironic objects.\nWe will just combine portgroup settings and pass them to neutron port \u0027binding:profile\u0027 field during deployment here.\nhttps://github.com/openstack/ironic/blob/master/ironic/drivers/modules/network/neutron.py#L203","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39f9e4085e1480d05a96a5ab041c894fd45a185e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Client (CLI) impact"},{"line_number":66,"context_line":"-------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"None."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"RPC API impact"},{"line_number":71,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_ec03cd0b","line":68,"updated":"2017-02-20 02:52:12.000000000","message":"No impact, because local_link_connection is a free-form dict already?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Client (CLI) impact"},{"line_number":66,"context_line":"-------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"None."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"RPC API impact"},{"line_number":71,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_ba1b961a","line":68,"in_reply_to":"da36d5c6_ec03cd0b","updated":"2017-03-01 22:41:29.000000000","message":"please see reply to previous comment.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Security impact"},{"line_number":91,"context_line":"---------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Other end user impact"},{"line_number":96,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_249a4b15","line":93,"updated":"2017-02-20 16:28:29.000000000","message":"If an adversary got admin access to the ironic API, they could now own your switches when this feature is enabled, right? Maybe that\u0027s already an issue, but this would be an extra avenue for attack.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Security impact"},{"line_number":91,"context_line":"---------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"None."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Other end user impact"},{"line_number":96,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_fa88ae24","line":93,"in_reply_to":"da36d5c6_249a4b15","updated":"2017-03-01 22:41:29.000000000","message":"Not really if someone get admin access to Ironic API he will be able to configure things that allowed via ML2 drivers (plug ports to networks, configure port groups when this implemented). But even with Ironic admin API credentials to network hardware is stored in ML2 driver configs.\nBut if we talking about stolen admin credentials there are more serious security issues than you mention :)","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Other end user impact"},{"line_number":96,"context_line":"---------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Scalability impact"},{"line_number":101,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_848937cd","line":98,"updated":"2017-02-20 16:28:29.000000000","message":"maybe obvious, but they can configure switches with port groups dynamically now","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Other end user impact"},{"line_number":96,"context_line":"---------------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Scalability impact"},{"line_number":101,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_7af91e80","line":98,"in_reply_to":"da36d5c6_848937cd","updated":"2017-03-01 22:41:29.000000000","message":"End user - is person who uses cloud and have non-admin access to API. In general he able to boot VMs, create networks. End user doesn\u0027t have admin access to Ironic.\nThe things you are talking is done by cloud operator or administrator.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Scalability impact"},{"line_number":101,"context_line":"------------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"None."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Performance Impact"},{"line_number":106,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_446d7f03","line":103,"updated":"2017-02-20 16:28:29.000000000","message":"Could you accidentally DDoS your switches with this feature?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Scalability impact"},{"line_number":101,"context_line":"------------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"None."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Performance Impact"},{"line_number":106,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_9af41288","line":103,"in_reply_to":"da36d5c6_446d7f03","updated":"2017-03-01 22:41:29.000000000","message":"No.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Performance Impact"},{"line_number":106,"context_line":"------------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other deployer impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_a45b9b53","line":108,"updated":"2017-02-20 16:28:29.000000000","message":"Adding port groups might take longer, right? Unless this is handled async, which would probably be the case with neutron. Once neutron event processing lands, this would definitely have a performance impact.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Performance Impact"},{"line_number":106,"context_line":"------------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"None."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other deployer impact"},{"line_number":111,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_da1ccac3","line":108,"in_reply_to":"da36d5c6_a45b9b53","updated":"2017-03-01 22:41:29.000000000","message":"We do apply commands that change network for port on the switch, this change will add a few commands to execute. In automated fashion it takes less than 5 sec to apply config. If take into account that deploy may take \u003e30 min, I assume that this feature do not introduce any performance impact.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39f9e4085e1480d05a96a5ab041c894fd45a185e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"----------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Out of tree network interfaces should be updated to pass ``portgroup.mode`` and"},{"line_number":120,"context_line":"``portgroup.properties`` with ``local_link_information`` to Neutron."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_0c09012d","line":120,"updated":"2017-02-20 02:52:12.000000000","message":"Are we going to somehow detect drivers that do not support that? (just asking)","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":117,"context_line":"----------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Out of tree network interfaces should be updated to pass ``portgroup.mode`` and"},{"line_number":120,"context_line":"``portgroup.properties`` with ``local_link_information`` to Neutron."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_fac7ce0f","line":120,"in_reply_to":"da36d5c6_0c09012d","updated":"2017-03-01 22:41:29.000000000","message":"We can send an email to openstack-dev, the same as it was done when we introduced Ironic/Neutron integration.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"6abf768881e1da7a6b2b8c7fde1c05564618c347","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Primary assignee:"},{"line_number":129,"context_line":"  vsaienko \u003cvsaienko@mirantis.com\u003e"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Other contributors:"},{"line_number":132,"context_line":"  joanna \u003cjoanna.taryma@intel.com\u003e"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_67f8c5e6","line":131,"updated":"2017-02-20 16:28:29.000000000","message":"I\u0027d like to help here if possible, or with the other networking problems we\u0027re tackling this cycle. Feel free to point me at one of the work items.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39f9e4085e1480d05a96a5ab041c894fd45a185e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Testing"},{"line_number":148,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Add dynamic portgroup support to networking-generic-switch"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"* Update tempest with appropriate tests."},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_2c0ec534","line":150,"updated":"2017-02-20 02:52:12.000000000","message":"so it\u0027s not there already, right? are other ML2 plugins authors aware of this work? any ETA for n-g-s bits?","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fda290c5c01f6488340e3694ba8fb16ff890a697","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Testing"},{"line_number":148,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Add dynamic portgroup support to networking-generic-switch"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"* Update tempest with appropriate tests."},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_fabc2e6e","line":150,"in_reply_to":"da36d5c6_2c0ec534","updated":"2017-03-01 22:41:29.000000000","message":"No it is not there, as we do not pass portgroup info yet. I\u0027ve talked with Sam Betts on PTG at least he is aware :) and didn\u0027t have any objections.\nBtw in networking-cisco they configure portgroups on the fly but use hardcoded mode and properties.\nI will add support to n-g-s in parallel during this feature development so before landing code we have a CI for this.","commit_id":"9cc0070bcb09d03b5b58b477ad4813c53819aaa2"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports in port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_8196654a","line":13,"updated":"2017-03-01 22:54:27.000000000","message":"I was a fan of into :)","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports in port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_52d7b622","line":13,"in_reply_to":"ba2be162_8196654a","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_01a275ae","line":25,"updated":"2017-03-01 22:54:27.000000000","message":"s/have/has/","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_72b59aec","line":25,"in_reply_to":"ba2be162_01a275ae","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":24,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"},{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_21ba19c1","line":27,"updated":"2017-03-01 22:54:27.000000000","message":"maybe:\nTo make port groups configuration ``dynamic``? or\nTo make port groups creation ``dynamic``?","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"},{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_52a5f6b2","line":27,"in_reply_to":"ba2be162_21ba19c1","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"},{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_81558551","line":28,"updated":"2017-03-01 22:54:27.000000000","message":"how about deletion of a port group?\nShouldn\u0027t it more generally say that it\u0027s responsible for their configuration?","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"configurations (mode and properties), port group still have to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups ``dynamic`` Ironic should pass port group settings to"},{"line_number":28,"context_line":"Neutron ML2 rivers. ML2 driver is responsible for port group creation on the"},{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_cdc06b7f","line":28,"in_reply_to":"ba2be162_81558551","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":32,"context_line":"configuration when doing ``nova boot`` at this moment, while can be extended"},{"line_number":33,"context_line":"when community has some agreements on it."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_a12289ff","line":32,"updated":"2017-03-01 22:54:27.000000000","message":"I would reformat to: \n... moment. It can be extended in the future when ...","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"ToR switch during deployment."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":32,"context_line":"configuration when doing ``nova boot`` at this moment, while can be extended"},{"line_number":33,"context_line":"when community has some agreements on it."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_b296324a","line":32,"in_reply_to":"ba2be162_a12289ff","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":104,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":105,"context_line":"| switch_info           |  The hostname of the switch                        |"},{"line_number":106,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":107,"context_line":"| port_id               | The identifier of the port on the switch           |"},{"line_number":108,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":109,"context_line":"| switch_id             | The identifier of the switch, ie mac address       |"},{"line_number":110,"context_line":"+-----------------------+----------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_c1fdbd3b","line":107,"updated":"2017-03-01 22:54:27.000000000","message":"why sometimes there are two spaces as a prefix to desctiption and sometimes just one?","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":105,"context_line":"| switch_info           |  The hostname of the switch                        |"},{"line_number":106,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":107,"context_line":"| port_id               | The identifier of the port on the switch           |"},{"line_number":108,"context_line":"+-----------------------+----------------------------------------------------+"},{"line_number":109,"context_line":"| switch_id             | The identifier of the switch, ie mac address       |"},{"line_number":110,"context_line":"+-----------------------+----------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_32908243","line":107,"in_reply_to":"ba2be162_c1fdbd3b","updated":"2017-03-02 13:46:40.000000000","message":"Done","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"af33f182c4bb549e6694ab36cd6d0f74e5ebbd54","unresolved":false,"context_lines":[{"line_number":133,"context_line":"Client (CLI) impact"},{"line_number":134,"context_line":"-------------------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"None."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"RPC API impact"},{"line_number":139,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_c1821d94","line":136,"updated":"2017-03-01 22:54:27.000000000","message":"just a question: wouldn\u0027t there be a need for an update of command descriptions that it nows performs additional configuration?","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6bbe7ab9e7471e92feaee1ed337f740e2994464a","unresolved":false,"context_lines":[{"line_number":133,"context_line":"Client (CLI) impact"},{"line_number":134,"context_line":"-------------------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"None."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"RPC API impact"},{"line_number":139,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_d2c64648","line":136,"in_reply_to":"ba2be162_c1821d94","updated":"2017-03-02 13:46:40.000000000","message":"there will be no additional configuration with this spec we just starting send to neutron info that we already have.","commit_id":"444ff55cedde9bc1b86ffa80ccec80398d27cb19"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b30ba06d468cdc6c55e3085f1e96808b009f887e","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  .. note::"},{"line_number":45,"context_line":"      We cannot use existed ``binding:profile`` ``local_link_information`` key"},{"line_number":46,"context_line":"      as it is a list with port details that do not contain type of the port."},{"line_number":47,"context_line":"      We can deprecate this key in future in favor of ``links``."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The ``binding:profile`` data structures is yet in discussion. Possible options"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5a22e58a_7d2f92a1","line":46,"updated":"2017-03-14 11:28:37.000000000","message":"sorry, I don\u0027t quite get this sentence.. are you saying that local_link_information cannot be extended further? why?","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63c722be62c56527ad7a22855737e78ebd820df8","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  .. note::"},{"line_number":45,"context_line":"      We cannot use existed ``binding:profile`` ``local_link_information`` key"},{"line_number":46,"context_line":"      as it is a list with port details that do not contain type of the port."},{"line_number":47,"context_line":"      We can deprecate this key in future in favor of ``links``."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The ``binding:profile`` data structures is yet in discussion. Possible options"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_79382fa1","line":46,"in_reply_to":"5a22e58a_7d2f92a1","updated":"2017-03-16 13:51:22.000000000","message":"I rephrase this note. There are two mandatory keys switch_id and port_id in local_link_information for port object. For portgroup those keys are not required as portgroup might be spread across switches","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b30ba06d468cdc6c55e3085f1e96808b009f887e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  .. note::"},{"line_number":45,"context_line":"      We cannot use existed ``binding:profile`` ``local_link_information`` key"},{"line_number":46,"context_line":"      as it is a list with port details that do not contain type of the port."},{"line_number":47,"context_line":"      We can deprecate this key in future in favor of ``links``."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The ``binding:profile`` data structures is yet in discussion. Possible options"},{"line_number":50,"context_line":"are provided in the `Binding profile data structure`_"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5a22e58a_9d2c4ead","line":47,"updated":"2017-03-14 11:28:37.000000000","message":"ok, we can create a new field, but we duplicate it with the new one? e.g. leave local_link_connection for port-specific stuff, and move port groups to a new field.. What am I missing?","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b30ba06d468cdc6c55e3085f1e96808b009f887e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"  information."},{"line_number":101,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":102,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":103,"context_line":"  ``local_link_information`` objects."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"A json example of ``binding:profile`` with ``local_link_information`` reuse:"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5a22e58a_bd174a53","line":103,"updated":"2017-03-14 11:28:37.000000000","message":"yeah, this is something I was talking about above.","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b30ba06d468cdc6c55e3085f1e96808b009f887e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                \u0027id\u0027: \u002751a9642b-1414-4bd6-9a92-1320ddc55a63\u0027,"},{"line_number":127,"context_line":"                \u0027name\u0027: \u0027PortGroup0\u0027,"},{"line_number":128,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":129,"context_line":"                \u0027bond_links\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":130,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":131,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"},{"line_number":132,"context_line":"                    \u0027bond_miimon\u0027: 100,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5a22e58a_dd1c067a","line":129,"updated":"2017-03-14 11:28:37.000000000","message":"nit: should it better be bond_ports?","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63c722be62c56527ad7a22855737e78ebd820df8","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                \u0027id\u0027: \u002751a9642b-1414-4bd6-9a92-1320ddc55a63\u0027,"},{"line_number":127,"context_line":"                \u0027name\u0027: \u0027PortGroup0\u0027,"},{"line_number":128,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":129,"context_line":"                \u0027bond_links\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":130,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":131,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"},{"line_number":132,"context_line":"                    \u0027bond_miimon\u0027: 100,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_5969b38a","line":129,"in_reply_to":"5a22e58a_dd1c067a","updated":"2017-03-16 13:51:22.000000000","message":"Done","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b30ba06d468cdc6c55e3085f1e96808b009f887e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_links            | List with UUID of Ironic ports, that are members  |"},{"line_number":151,"context_line":"|                       | of port group                                     |"},{"line_number":152,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":153,"context_line":"| bond_properties       | Ironic portgroup properties                       |"},{"line_number":154,"context_line":"+-----------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5a22e58a_fd11c25e","line":151,"updated":"2017-03-14 11:28:37.000000000","message":"ditto, maybe call it bond_ports","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63c722be62c56527ad7a22855737e78ebd820df8","unresolved":false,"context_lines":[{"line_number":148,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_links            | List with UUID of Ironic ports, that are members  |"},{"line_number":151,"context_line":"|                       | of port group                                     |"},{"line_number":152,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":153,"context_line":"| bond_properties       | Ironic portgroup properties                       |"},{"line_number":154,"context_line":"+-----------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_79066fcf","line":151,"in_reply_to":"5a22e58a_fd11c25e","updated":"2017-03-16 13:51:22.000000000","message":"Done","commit_id":"52860456cbc0d8fa9e1c2f8e137a6aa7e9da8952"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"f9dcbe54e62b45cc61ac19e3a9b8c3ca5e1f9624","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":39,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_56abf974","line":38,"range":{"start_line":38,"start_character":40,"end_line":38,"end_character":47},"updated":"2017-03-21 22:56:54.000000000","message":"s/Neutron/neutron/","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"f9dcbe54e62b45cc61ac19e3a9b8c3ca5e1f9624","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":39,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_f6b225e4","line":39,"updated":"2017-03-21 22:56:54.000000000","message":"I think this info about introducing new key was descriptive. Maybe it\u0027s a good idea to bring it back?","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e3c9fa4e76ccbf2824c46b6808c5d71bd5ca78a1","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":39,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_bed5a4e5","line":39,"in_reply_to":"1a1ced50_f6b225e4","updated":"2017-03-23 07:33:52.000000000","message":"I left here only general info, data structures are described in scenarios below.","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"f9dcbe54e62b45cc61ac19e3a9b8c3ca5e1f9624","unresolved":false,"context_lines":[{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  .. note::"},{"line_number":43,"context_line":"      We cannot use existed ``binding:profile`` ``local_link_information`` key"},{"line_number":44,"context_line":"      as it is a list with port details, where ``switch_id`` and ``port_id`` are"},{"line_number":45,"context_line":"      mandatory keys. For portgroup object those keys are not required as"},{"line_number":46,"context_line":"      portgroup is virtual interface and might be spread across different"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_5674d934","line":43,"updated":"2017-03-21 22:56:54.000000000","message":"s/existed/existing/","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e3c9fa4e76ccbf2824c46b6808c5d71bd5ca78a1","unresolved":false,"context_lines":[{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  .. note::"},{"line_number":43,"context_line":"      We cannot use existed ``binding:profile`` ``local_link_information`` key"},{"line_number":44,"context_line":"      as it is a list with port details, where ``switch_id`` and ``port_id`` are"},{"line_number":45,"context_line":"      mandatory keys. For portgroup object those keys are not required as"},{"line_number":46,"context_line":"      portgroup is virtual interface and might be spread across different"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_1efdd86d","line":43,"in_reply_to":"1a1ced50_5674d934","updated":"2017-03-23 07:33:52.000000000","message":"Done","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"f9dcbe54e62b45cc61ac19e3a9b8c3ca5e1f9624","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Scenario 1"},{"line_number":57,"context_line":"~~~~~~~~~~"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Introduce new ``links`` array that store mixed group of objects (ports and"},{"line_number":60,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":61,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_36a2fd99","line":59,"updated":"2017-03-21 22:56:54.000000000","message":"s/that/to/\nor\ns/store/stores/","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e3c9fa4e76ccbf2824c46b6808c5d71bd5ca78a1","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Scenario 1"},{"line_number":57,"context_line":"~~~~~~~~~~"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Introduce new ``links`` array that store mixed group of objects (ports and"},{"line_number":60,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":61,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a1ced50_5efbd078","line":59,"in_reply_to":"1a1ced50_36a2fd99","updated":"2017-03-23 07:33:52.000000000","message":"Done","commit_id":"5c4709f331867caa3b7b6f4a2887c8f42d9757c9"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"07b9c61c1886c4e96dc77af16d159aa6f68ef7bb","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_a47e9c16","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"updated":"2017-03-27 14:58:15.000000000","message":"This isn\u0027t true, if the ML2 driver supports it, you can currently create and destroy the bonds in the TOR at deploy time. The Nexus ML2 driver already does this if I remember correctly. The ML2 driver can check if its been asked to create a bond by checking if the local_link_connection list in the binding profile has more than one entry. This works for LAG and MLAG cases, and we\u0027re using it downstream today.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_e5ce8561","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"in_reply_to":"ffe62b97_03caa84c","updated":"2017-03-29 09:01:26.000000000","message":"Done","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"8904a541c41e9ec9fe2151a01bfb2a9ce5ea51c2","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_76437fb0","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"in_reply_to":"ffe62b97_55688eb7","updated":"2017-03-28 11:00:37.000000000","message":"No we don\u0027t pass the properties and mode, we know that it is our switch plugged into a particular node and our ml2 driver that is programming them. The switches capabilities inform what information we put in the ironic portgroup not the other way around. With our high end switches we know want to take advantage of the features we have so we always program mode 4 and a specific set of properties.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_03caa84c","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"in_reply_to":"ffe62b97_76437fb0","updated":"2017-03-28 14:33:54.000000000","message":"OK, so we can add \"If the ML2 driver does not know in advance what\u0027s going to be in the node\u0027s local_link_info...\"?","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2ed40500e8c6a66ed7df396068f35772a58cc55a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_d09eefb6","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"in_reply_to":"ffe62b97_a47e9c16","updated":"2017-03-27 19:05:48.000000000","message":"But this configuration is static and not synced with that we set in ironi portgroup object right?","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"732981d28a6e415395a53b0e88893c9a0260678b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_55688eb7","line":17,"range":{"start_line":15,"start_character":59,"end_line":17,"end_character":38},"in_reply_to":"ffe62b97_d09eefb6","updated":"2017-03-27 19:59:39.000000000","message":"I mean ML2 driver can create bond with hardcoded properties and mode, as we do not pass them from Ironic.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":25,"context_line":"configurations (mode and properties), port group still has to be pre-created"},{"line_number":26,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":27,"context_line":"To make port groups creation ``dynamic`` Ironic should pass port group settings"},{"line_number":28,"context_line":"to Neutron ML2 drivers. ML2 driver is responsible for port group configuration"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_c3d4c0eb","line":25,"updated":"2017-03-28 14:33:54.000000000","message":"same addition here","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":32,"context_line":"configuration when doing ``nova boot`` at this moment. It can be extended"},{"line_number":33,"context_line":"when community has some agreements on it."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_8331185d","line":33,"range":{"start_line":33,"start_character":24,"end_line":33,"end_character":34},"updated":"2017-03-28 14:33:54.000000000","message":"agreement","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":32,"context_line":"configuration when doing ``nova boot`` at this moment. It can be extended"},{"line_number":33,"context_line":"when community has some agreements on it."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_45e3f1d9","line":33,"range":{"start_line":33,"start_character":24,"end_line":33,"end_character":34},"in_reply_to":"ffe62b97_8331185d","updated":"2017-03-29 09:01:26.000000000","message":"Done","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":39,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_d567d7e8","line":38,"updated":"2017-03-28 14:33:54.000000000","message":"That\u0027s only for tenant network right? Would be good to mention.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":39,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":40,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_4531b159","line":38,"in_reply_to":"ffe62b97_d567d7e8","updated":"2017-03-29 09:01:26.000000000","message":"It shouldn\u0027t depend on network type, when we implement bonding support in bootstrap we may create bond ports during provisioning/cleaning.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":101,"context_line":"  information."},{"line_number":102,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":103,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":104,"context_line":"  ``local_link_information`` objects."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"A json example of ``binding:profile`` with ``local_link_information`` reuse:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_238a4cbe","line":103,"updated":"2017-03-28 14:33:54.000000000","message":"I think I prefer this over scenario 1, so that we don\u0027t have to deal with deprecations again. Could you state your preference somewhere?","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":101,"context_line":"  information."},{"line_number":102,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":103,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":104,"context_line":"  ``local_link_information`` objects."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"A json example of ``binding:profile`` with ``local_link_information`` reuse:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_25346d49","line":103,"in_reply_to":"ffe62b97_238a4cbe","updated":"2017-03-29 09:01:26.000000000","message":"Done","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            {"},{"line_number":127,"context_line":"                \u0027id\u0027: \u002751a9642b-1414-4bd6-9a92-1320ddc55a63\u0027,"},{"line_number":128,"context_line":"                \u0027name\u0027: \u0027PortGroup0\u0027,"},{"line_number":129,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":130,"context_line":"                \u0027bond_ports\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":131,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":132,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_43baf06d","line":129,"updated":"2017-03-28 14:33:54.000000000","message":"I guess we\u0027ll also need to pass the address?","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            {"},{"line_number":127,"context_line":"                \u0027id\u0027: \u002751a9642b-1414-4bd6-9a92-1320ddc55a63\u0027,"},{"line_number":128,"context_line":"                \u0027name\u0027: \u0027PortGroup0\u0027,"},{"line_number":129,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":130,"context_line":"                \u0027bond_ports\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":131,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":132,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_0585e9ce","line":129,"in_reply_to":"ffe62b97_43baf06d","updated":"2017-03-29 09:01:26.000000000","message":"The address of portgroup if going to be mac_address of Neutron port, no need to duplicate it here.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":164,"context_line":"Alternatives"},{"line_number":165,"context_line":"------------"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Use port groups in the static fashion when administrator pre-creates port group"},{"line_number":168,"context_line":"on ToR switch."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_d5ac77ee","line":167,"updated":"2017-03-28 14:33:54.000000000","message":"The alternative Sam\u0027s pointed is viable I think.","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"77d39dd656b6e0a11ad7b1abcc29fd891415463a","unresolved":false,"context_lines":[{"line_number":164,"context_line":"Alternatives"},{"line_number":165,"context_line":"------------"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Use port groups in the static fashion when administrator pre-creates port group"},{"line_number":168,"context_line":"on ToR switch."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_e58b25c0","line":167,"in_reply_to":"ffe62b97_d5ac77ee","updated":"2017-03-29 09:01:26.000000000","message":"Done","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d44bd3df31bcc0855ebe7828e2c1ebb2f2f5cb28","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"* Update ``neutron`` network interface to pass data structure described in"},{"line_number":260,"context_line":"  `Binding profile data structure`_ to Neutron."},{"line_number":261,"context_line":"* Add dynamic portg roup support to networking-generic-switch"},{"line_number":262,"context_line":"* Update tempest with appropriate tests."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ffe62b97_5553c717","line":261,"range":{"start_line":261,"start_character":14,"end_line":261,"end_character":24},"updated":"2017-03-28 14:33:54.000000000","message":":)","commit_id":"be1c3466b7549a14f684a32de4ab2723298002ae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":33,"context_line":"configuration when doing ``nova boot`` at this moment. It can be extended"},{"line_number":34,"context_line":"when community has some agreement on it."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_436e22c9","line":34,"updated":"2017-03-30 00:54:18.000000000","message":"+1, although does a nova user even really care about the portgroups?","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec does not cover end-user interface for specifying port group"},{"line_number":33,"context_line":"configuration when doing ``nova boot`` at this moment. It can be extended"},{"line_number":34,"context_line":"when community has some agreement on it."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_18849dd3","line":34,"in_reply_to":"ffe62b97_436e22c9","updated":"2017-04-03 17:27:18.000000000","message":"from baremetal perspective it would be good if user is able to request instance with specific portgroup settings like we want to implement this for raid. But looks like it is long term goal.","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":40,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":41,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  .. note::"},{"line_number":44,"context_line":"      We cannot use existing ``binding:profile`` ``local_link_information`` key"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_435502f9","line":41,"range":{"start_line":40,"start_character":27,"end_line":41,"end_character":63},"updated":"2017-03-30 00:54:18.000000000","message":"Does this already exist in any ML2 drivers, or is the purpose of this spec to help drive that discussion?  This makes sense, although it feels like the ML2 driver (and in a sense, neutron it\u0027s self), should be figuring out if there is a configuration mismatch.  i.e. we\u0027re calling for a port group, and it\u0027s not configured, and changing the configuration appropriately.","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":40,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":41,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  .. note::"},{"line_number":44,"context_line":"      We cannot use existing ``binding:profile`` ``local_link_information`` key"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_58bfc560","line":41,"range":{"start_line":40,"start_character":27,"end_line":41,"end_character":63},"in_reply_to":"ffe62b97_435502f9","updated":"2017-04-03 17:27:18.000000000","message":"The Neutron just allow to pass some info from Ironic to ML2 via port binding:profile field. ML2 drivers can use that info by theirs own. There are existed ML2 driver that pass bonding properties with local_link_information already, like networking-huawei or networking-cisco. So yes, this is going to provide common mechanism to do this.\n\nhttps://github.com/openstack/networking-huawei/blob/c85fcf10b25c594d578f7d5d3de6672528bcf583/networking_huawei/tests/unit/drivers/ac/plugin/ml2/test_driver.py#L200","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``links`` array that stores mixed group of objects (ports and"},{"line_number":61,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":62,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"A json example of ``binding:profile`` with ``links`` array:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_237f9e66","line":62,"range":{"start_line":62,"start_character":21,"end_line":62,"end_character":46},"updated":"2017-03-30 00:54:18.000000000","message":"I would hate to deprecate it already, I\u0027m -1 on Scenario 1 FWIW :)","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":75,"context_line":"                \u0027bond_ports\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":76,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":77,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"},{"line_number":78,"context_line":"                    \u0027bond_miimon\u0027: 100,"},{"line_number":79,"context_line":"                }"},{"line_number":80,"context_line":"            },"},{"line_number":81,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_c3b6b23e","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":38},"updated":"2017-03-30 00:54:18.000000000","message":"These are just examples taken from the linux kernel software interface bonding, right?","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \u0027bond_mode\u0027: \u0027active-backup\u0027,"},{"line_number":75,"context_line":"                \u0027bond_ports\u0027: [\u002713070d34-fcc6-46d9-ad45-fb8d489873bf\u0027, \u002762a4428a-3974-409d-9934-d88d0a815397\u0027],"},{"line_number":76,"context_line":"                \u0027bond_properties\u0027: {"},{"line_number":77,"context_line":"                    \u0027bond_xmit_hash_policy\u0027: \u0027layer3+4\u0027,"},{"line_number":78,"context_line":"                    \u0027bond_miimon\u0027: 100,"},{"line_number":79,"context_line":"                }"},{"line_number":80,"context_line":"            },"},{"line_number":81,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_1847fd7a","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":38},"in_reply_to":"ffe62b97_c3b6b23e","updated":"2017-04-03 17:27:18.000000000","message":"yes","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        ],"},{"line_number":96,"context_line":"    }"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Scenario 2 (Preffered)"},{"line_number":99,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_e394168d","line":98,"updated":"2017-03-30 00:54:18.000000000","message":"nit: Maybe switch the order so the preferred is first?","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        ],"},{"line_number":96,"context_line":"    }"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Scenario 2 (Preffered)"},{"line_number":99,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_d8607504","line":98,"in_reply_to":"ffe62b97_e394168d","updated":"2017-04-03 17:27:18.000000000","message":"Done","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":145,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":146,"context_line":"| id                    | The UUID of Ironic port/portgroup object          |"},{"line_number":147,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":148,"context_line":"| name                  | The name of the ironic port group                 |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":151,"context_line":"+-----------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_430d02e6","line":148,"updated":"2017-03-30 00:54:18.000000000","message":"Is this a human relative name, or is it the intended unique name of the port group based upon switch vendor?","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":145,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":146,"context_line":"| id                    | The UUID of Ironic port/portgroup object          |"},{"line_number":147,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":148,"context_line":"| name                  | The name of the ironic port group                 |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":151,"context_line":"+-----------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_9b2f87a0","line":148,"in_reply_to":"ffe62b97_430d02e6","updated":"2017-04-03 17:27:18.000000000","message":"It is up to deployer/ML2 vendor. It might be just friendly name or used by ML2 as exact portgroup on the switch.","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":147,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":148,"context_line":"| name                  | The name of the ironic port group                 |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":151,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":152,"context_line":"| bond_ports            | List with UUID of Ironic ports, that are members  |"},{"line_number":153,"context_line":"|                       | of port group                                     |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_c36b5282","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":49},"updated":"2017-03-30 00:54:18.000000000","message":"Portgroup mode as defined by what?  Is this just for the Linux kernel?  Is it for switch configuration?  tl;dr, I think we need to be more verbose here, and reference  where they are originating from for reader context.","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"7e0b8c656d9be0adeb89a9edc764910c4e94eee7","unresolved":false,"context_lines":[{"line_number":147,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":148,"context_line":"| name                  | The name of the ironic port group                 |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":151,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":152,"context_line":"| bond_ports            | List with UUID of Ironic ports, that are members  |"},{"line_number":153,"context_line":"|                       | of port group                                     |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_af03730d","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":49},"in_reply_to":"dfeb2761_1e01256c","updated":"2017-04-14 11:00:44.000000000","message":"++, this can be converted to the values switch understands on the ml2 driver side.","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":147,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":148,"context_line":"| name                  | The name of the ironic port group                 |"},{"line_number":149,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":150,"context_line":"| bond_mode             | Ironic portgroup mode                             |"},{"line_number":151,"context_line":"+-----------------------+---------------------------------------------------+"},{"line_number":152,"context_line":"| bond_ports            | List with UUID of Ironic ports, that are members  |"},{"line_number":153,"context_line":"|                       | of port group                                     |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_1e01256c","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":49},"in_reply_to":"ffe62b97_c36b5282","updated":"2017-04-03 17:27:18.000000000","message":"I\u0027ve added a note here, in ironic API we don\u0027t have any restrictions here. We only recommend so this keys/values are one from supported by linux kernel https://www.kernel.org/doc/Documentation/networking/bonding.txt","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"436f1d70dcd15b6ebbd9cb7166383ba69c78e124","unresolved":false,"context_lines":[{"line_number":169,"context_line":"  port group on ToR switch."},{"line_number":170,"context_line":"* If ML2 driver supports port group creation, make sure that port group"},{"line_number":171,"context_line":"  properties in Ironic and ML2 are the same."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Data model impact"},{"line_number":175,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ffe62b97_03249a5c","line":172,"updated":"2017-03-30 00:54:18.000000000","message":"nit: excess line compared to the entries below","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"29012504c56dda2ed9358ebb8d3bdc3373d63396","unresolved":false,"context_lines":[{"line_number":169,"context_line":"  port group on ToR switch."},{"line_number":170,"context_line":"* If ML2 driver supports port group creation, make sure that port group"},{"line_number":171,"context_line":"  properties in Ironic and ML2 are the same."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Data model impact"},{"line_number":175,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_fe032172","line":172,"in_reply_to":"ffe62b97_03249a5c","updated":"2017-04-03 17:27:18.000000000","message":"Done","commit_id":"7d2014a24349f9e22f27f844fec951e19fb1b25a"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_90016109","line":13,"range":{"start_line":13,"start_character":22,"end_line":13,"end_character":37},"updated":"2017-04-27 21:36:00.000000000","message":"Ironic added support for\n\nAlso it seems like most of the time we are capitalizing Ironic and Neutron in this document.","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_214c0a75","line":13,"range":{"start_line":13,"start_character":22,"end_line":13,"end_character":37},"in_reply_to":"5ff73747_90016109","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_3306171e","line":14,"updated":"2017-04-27 21:36:00.000000000","message":"The administrator","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_413156ec","line":14,"in_reply_to":"5ff73747_3306171e","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_13243bae","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":18},"updated":"2017-04-27 21:36:00.000000000","message":"of a port group","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_a13ffab3","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":18},"in_reply_to":"5ff73747_13243bae","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_d02249b9","line":16,"updated":"2017-04-27 21:36:00.000000000","message":"the administrator","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":13,"context_line":"In the Ocata release, ironic supports grouping ports into port groups."},{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_e16e22c8","line":16,"in_reply_to":"5ff73747_d02249b9","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_7385bf59","line":17,"updated":"2017-04-27 21:36:00.000000000","message":"ToR (Top of Rack) switch manually. Or find some other way to sync","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_81651ee4","line":17,"in_reply_to":"5ff73747_7385bf59","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_f398afc0","line":18,"range":{"start_line":18,"start_character":34,"end_line":18,"end_character":41},"updated":"2017-04-27 21:36:00.000000000","message":"and the ML2\n\nMaybe define ML2?","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":15,"context_line":"of this port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of the Rack Switch) manually. Or find any other way how to sync"},{"line_number":18,"context_line":"portgroup settings between ironic and ML2 driver."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_c1a8c6dc","line":18,"range":{"start_line":18,"start_character":34,"end_line":18,"end_character":41},"in_reply_to":"5ff73747_f398afc0","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":26,"context_line":"configurations (mode and properties), port group still has to be pre-created"},{"line_number":27,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":28,"context_line":"To make port groups creation ``dynamic`` Ironic should pass port group settings"},{"line_number":29,"context_line":"to Neutron ML2 drivers. ML2 driver is responsible for port group configuration"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_53ef631d","line":26,"range":{"start_line":26,"start_character":39,"end_line":26,"end_character":61},"updated":"2017-04-27 21:36:00.000000000","message":"port groups still have to","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"While Ironic provides the ability to create port groups with different"},{"line_number":26,"context_line":"configurations (mode and properties), port group still has to be pre-created"},{"line_number":27,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":28,"context_line":"To make port groups creation ``dynamic`` Ironic should pass port group settings"},{"line_number":29,"context_line":"to Neutron ML2 drivers. ML2 driver is responsible for port group configuration"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_61b7b23c","line":26,"range":{"start_line":26,"start_character":39,"end_line":26,"end_character":61},"in_reply_to":"5ff73747_53ef631d","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"configurations (mode and properties), port group still has to be pre-created"},{"line_number":27,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":28,"context_line":"To make port groups creation ``dynamic`` Ironic should pass port group settings"},{"line_number":29,"context_line":"to Neutron ML2 drivers. ML2 driver is responsible for port group configuration"},{"line_number":30,"context_line":"(creation/deletion) on ToR switch during deployment."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_33f057fd","line":29,"range":{"start_line":29,"start_character":24,"end_line":29,"end_character":28},"updated":"2017-04-27 21:36:00.000000000","message":"The ML2","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":26,"context_line":"configurations (mode and properties), port group still has to be pre-created"},{"line_number":27,"context_line":"on ToR manually as we do not pass port group details to ML2 drivers."},{"line_number":28,"context_line":"To make port groups creation ``dynamic`` Ironic should pass port group settings"},{"line_number":29,"context_line":"to Neutron ML2 drivers. ML2 driver is responsible for port group configuration"},{"line_number":30,"context_line":"(creation/deletion) on ToR switch during deployment."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"This spec does not cover end-user interface for specifying port group"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_e17ce273","line":29,"range":{"start_line":29,"start_character":24,"end_line":29,"end_character":28},"in_reply_to":"5ff73747_33f057fd","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":40,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":41,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_33c977ab","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":71},"updated":"2017-04-27 21:36:00.000000000","message":"vi the Neutron","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Start passing port group information to Neutron ML2 drivers via Neutron port"},{"line_number":40,"context_line":"``binding:profile`` field. Appropriate Neutron ML2 drivers will use that"},{"line_number":41,"context_line":"information to create port group dynamically on the ToR switch."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_a196da93","line":39,"range":{"start_line":39,"start_character":60,"end_line":39,"end_character":71},"in_reply_to":"5ff73747_33c977ab","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Binding profile data structure"},{"line_number":55,"context_line":"------------------------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Scenario 1 (Preffered)"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_d3713378","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":21},"updated":"2017-04-27 21:36:00.000000000","message":"Preferred","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Binding profile data structure"},{"line_number":55,"context_line":"------------------------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Scenario 1 (Preffered)"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_6190d296","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":21},"in_reply_to":"5ff73747_d3713378","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Scenario 1 (Preffered)"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":61,"context_line":"  information."},{"line_number":62,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_d3f6d3d7","line":60,"range":{"start_line":60,"start_character":56,"end_line":60,"end_character":61},"updated":"2017-04-27 21:36:00.000000000","message":"stores","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Scenario 1 (Preffered)"},{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":61,"context_line":"  information."},{"line_number":62,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_21e88a14","line":60,"range":{"start_line":60,"start_character":56,"end_line":60,"end_character":61},"in_reply_to":"5ff73747_d3f6d3d7","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":61,"context_line":"  information."},{"line_number":62,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":64,"context_line":"  ``local_link_information`` objects."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_93fccbb5","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":15},"updated":"2017-04-27 21:36:00.000000000","message":"existing","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Introduce new ``local_groups_information`` array that store portgroups"},{"line_number":61,"context_line":"  information."},{"line_number":62,"context_line":"* Reuse existed ``local_link_information`` for port objects only"},{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":64,"context_line":"  ``local_link_information`` objects."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_01ed8e24","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":15},"in_reply_to":"5ff73747_93fccbb5","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":64,"context_line":"  ``local_link_information`` objects."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"A json example of ``binding:profile`` with ``local_link_information`` reuse:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  ::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_b36a277e","line":66,"range":{"start_line":66,"start_character":2,"end_line":66,"end_character":6},"updated":"2017-04-27 21:36:00.000000000","message":"JSON","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Setup links between ``local_groups_information`` and"},{"line_number":64,"context_line":"  ``local_link_information`` objects."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"A json example of ``binding:profile`` with ``local_link_information`` reuse:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  ::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_a1db7a7b","line":66,"range":{"start_line":66,"start_character":2,"end_line":66,"end_character":6},"in_reply_to":"5ff73747_b36a277e","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Introduce new ``links`` array that stores mixed group of objects (ports and"},{"line_number":104,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":105,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A json example of ``binding:profile`` with ``links`` array:"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_3325f75c","line":105,"range":{"start_line":105,"start_character":12,"end_line":105,"end_character":19},"updated":"2017-04-27 21:36:00.000000000","message":"existing","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Introduce new ``links`` array that stores mixed group of objects (ports and"},{"line_number":104,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":105,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A json example of ``binding:profile`` with ``links`` array:"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_41e27631","line":105,"range":{"start_line":105,"start_character":12,"end_line":105,"end_character":19},"in_reply_to":"5ff73747_3325f75c","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":105,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A json example of ``binding:profile`` with ``links`` array:"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  ::"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_7306dfd0","line":107,"range":{"start_line":107,"start_character":2,"end_line":107,"end_character":6},"updated":"2017-04-27 21:36:00.000000000","message":"JSON","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":104,"context_line":"  portgroups). Where ``type`` of object is the only one mandatory key."},{"line_number":105,"context_line":"* Deprecate existed ``local_link_information``"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A json example of ``binding:profile`` with ``links`` array:"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  ::"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_21d1aa58","line":107,"range":{"start_line":107,"start_character":2,"end_line":107,"end_character":6},"in_reply_to":"5ff73747_7306dfd0","updated":"2017-05-03 10:00:11.000000000","message":"Done","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"498cf3d9fc70d627b0f9e07d676646b786e8070a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"  vsaienko \u003cvsaienko@mirantis.com\u003e"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Other contributors:"},{"line_number":261,"context_line":"  joanna \u003cjoanna.taryma@intel.com\u003e"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Work Items"},{"line_number":264,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_b0569d29","line":261,"updated":"2017-04-27 21:36:00.000000000","message":"Joanna is no longer working on Ironic :(","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"da2c4f6812477e61f83e656d841de4e7624ee137","unresolved":false,"context_lines":[{"line_number":258,"context_line":"  vsaienko \u003cvsaienko@mirantis.com\u003e"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Other contributors:"},{"line_number":261,"context_line":"  joanna \u003cjoanna.taryma@intel.com\u003e"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Work Items"},{"line_number":264,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5ff73747_a1c49a93","line":261,"in_reply_to":"5ff73747_b0569d29","updated":"2017-05-03 10:00:11.000000000","message":":(","commit_id":"fd4b035ee317508556fb48cb5e6a684eeaf16957"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"2206c0cd4dee3c487071c5f01e9d844fa91c6245","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, Ironic added support for grouping ports into port groups."},{"line_number":14,"context_line":"The Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of a port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"the administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of Rack) switch manually. Or find some other way to sync"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5ff73747_6f78abf7","line":14,"range":{"start_line":14,"start_character":4,"end_line":14,"end_character":17},"updated":"2017-05-03 16:05:32.000000000","message":"nit: administrator\n\nnot capitalized","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e0b5450b7868348747d668f62df554d11da5ac8d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://bugs.launchpad.net/ironic/+bug/1652630"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Ocata release, Ironic added support for grouping ports into port groups."},{"line_number":14,"context_line":"The Administrator also has the ability to specify ``mode`` and ``properties``"},{"line_number":15,"context_line":"of a port group by using appropriate port group fields. However"},{"line_number":16,"context_line":"the administrator is still required to pre-create a port group on the"},{"line_number":17,"context_line":"ToR (Top of Rack) switch manually. Or find some other way to sync"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_d7e09b99","line":14,"range":{"start_line":14,"start_character":4,"end_line":14,"end_character":17},"in_reply_to":"5ff73747_6f78abf7","updated":"2017-05-04 05:47:45.000000000","message":"Done","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"4931f387c84a4d2b1ee7f2a15f30ac099c5f1297","unresolved":false,"context_lines":[{"line_number":243,"context_line":"Developer impact"},{"line_number":244,"context_line":"----------------"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"Out of tree network interfaces should be updated to pass ``portgroup.mode``"},{"line_number":247,"context_line":"and ``portgroup.properties`` with ``links`` array in Neutron port"},{"line_number":248,"context_line":"``binding:profile`` field."},{"line_number":249,"context_line":"Vendors are responsible to deal with ``links`` to support dynamic port groups."}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_c373454d","line":246,"updated":"2017-05-04 01:02:35.000000000","message":"nit: not all of these interfaces, only if interface uses neutron.","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e0b5450b7868348747d668f62df554d11da5ac8d","unresolved":false,"context_lines":[{"line_number":243,"context_line":"Developer impact"},{"line_number":244,"context_line":"----------------"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"Out of tree network interfaces should be updated to pass ``portgroup.mode``"},{"line_number":247,"context_line":"and ``portgroup.properties`` with ``links`` array in Neutron port"},{"line_number":248,"context_line":"``binding:profile`` field."},{"line_number":249,"context_line":"Vendors are responsible to deal with ``links`` to support dynamic port groups."}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_9799f320","line":246,"in_reply_to":"3f044301_c373454d","updated":"2017-05-04 05:47:45.000000000","message":"There is mention in the sentence that info should be passed in Neutron port \u0027binding:profile\u0027 field.","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"4931f387c84a4d2b1ee7f2a15f30ac099c5f1297","unresolved":false,"context_lines":[{"line_number":268,"context_line":"Dependencies"},{"line_number":269,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"None."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Testing"},{"line_number":274,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_03c80d53","line":271,"updated":"2017-05-04 01:02:35.000000000","message":"If I understand l57-139 correctly some changes should be implemented on neutron side.","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e0b5450b7868348747d668f62df554d11da5ac8d","unresolved":false,"context_lines":[{"line_number":268,"context_line":"Dependencies"},{"line_number":269,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"None."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Testing"},{"line_number":274,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f044301_929fc1b3","line":271,"in_reply_to":"3f044301_03c80d53","updated":"2017-05-04 05:47:45.000000000","message":"Done","commit_id":"1a42d95cd6bfab087d556011c2a236fd6e7f6677"}]}
