)]}'
{"specs/stein/approved/sriov-bond.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":117,"context_line":"   +--------------------------------------------------------+"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Proposed change"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":122,"context_line":"1.  Neutron adds configure option in the sriov_agent.ini on the bond compute"},{"line_number":123,"context_line":"    node."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_acf46c89","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":15},"updated":"2018-10-23 00:27:44.000000000","message":"so fundementally any apporch to bondign via nova and neutron config files i belive is incorrect.\n\ni think it would be more approate to model a bound port as a top level neutron concept the same way we modeled trunk port for vlan aware vms.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b90365bd68a3058ee628b338835143655b31081c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"   +--------------------------------------------------------+"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Proposed change"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":122,"context_line":"1.  Neutron adds configure option in the sriov_agent.ini on the bond compute"},{"line_number":123,"context_line":"    node."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_4859f626","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":15},"in_reply_to":"3f79a3b5_acf46c89","updated":"2018-10-23 15:44:41.000000000","message":"+1 neutron needs to be aware of what\u0027s going on here. As this stands, this is going to be specific to SR-IOV-based VIFs which excludes a whole swathe of other useful use cases","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Proposed change"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":122,"context_line":"1.  Neutron adds configure option in the sriov_agent.ini on the bond compute"},{"line_number":123,"context_line":"    node."},{"line_number":124,"context_line":"    The configure will be used to create bonding port and add member nics by"},{"line_number":125,"context_line":"    bond-manage-mechanism, such as OVS-Bond or Linux-Bond."},{"line_number":126,"context_line":"    For example::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        physical_device_mappings \u003d physnet1:host_bond_port(mode of bond;"},{"line_number":129,"context_line":"                                                           mode of lacp;"},{"line_number":130,"context_line":"                                                           list of member nics)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"2.  Nova adds configure option in the nova.conf on the bond compute node."},{"line_number":133,"context_line":"    The configure option is used for selecting VFs from host bonding SR-IOV"},{"line_number":134,"context_line":"    nic. Since the two SR-IOV VFs are bonded together, they should share the"},{"line_number":135,"context_line":"    same mac address."},{"line_number":136,"context_line":"    The configure will be used to set the same mac address for the two member"},{"line_number":137,"context_line":"    ports. For example::"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        bond_nic_mappings \u003d physnet1:list of member nics"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"3.  For Neutron, there is no difference between bond ports and non-bond ports,"},{"line_number":142,"context_line":"    it will generate two member ports(VFs) when booting the VM."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_0c81e0c2","line":139,"range":{"start_line":122,"start_character":0,"end_line":139,"end_character":56},"updated":"2018-10-23 00:27:44.000000000","message":"By making this a compute node option and not a neutron api resouce we cannot know how many VFs to claim in placement until after we have selected the host.\n\nso fundementally taking this approch will signifcatly complicate ever modeling sriov devices in placemnt.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        bond_nic_mappings \u003d physnet1:list of member nics"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"3.  For Neutron, there is no difference between bond ports and non-bond ports,"},{"line_number":142,"context_line":"    it will generate two member ports(VFs) when booting the VM."},{"line_number":143,"context_line":"    So create bond port with neutron API::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        neutron port-create --binding:vnic_type\u003ddirect --name bond_port1 private"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_cc4be8af","line":143,"range":{"start_line":141,"start_character":3,"end_line":143,"end_character":42},"updated":"2018-10-23 00:27:44.000000000","message":"This directly implies that there is no mechanium that a teant can used to determin programtically from the api if a clould support bonded interface nor can the gurentee that if a vm boots that they will recive a bond as tehy cannot convay this requirement in the boot request.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        nova boot --nic port-id\u003dbond_port1"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"5.  When nova get ``vif_details`` bonding info from neutron, it will plug"},{"line_number":152,"context_line":"    one or more VFs to VM according to the port bonding information."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"6.  Add Linux bonding of VFs in VM. It can be configured by Administrator, or"},{"line_number":155,"context_line":"    from Metadata. It is noteworthy that the bond mode should not be 802.3ad."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_4cc59808","line":152,"range":{"start_line":151,"start_character":3,"end_line":152,"end_character":68},"updated":"2018-10-23 00:27:44.000000000","message":"not that this either implies extending the configuration section of the agent report (standard mechanisum) to make this info available to the ml2 driver or a donwcall to the neutron agent during port binding (less likely).","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":151,"context_line":"5.  When nova get ``vif_details`` bonding info from neutron, it will plug"},{"line_number":152,"context_line":"    one or more VFs to VM according to the port bonding information."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"6.  Add Linux bonding of VFs in VM. It can be configured by Administrator, or"},{"line_number":155,"context_line":"    from Metadata. It is noteworthy that the bond mode should not be 802.3ad."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"7.  Neutron adds configure option in the sriov_agent.ini for specifying driver"},{"line_number":158,"context_line":"    of Bond-Manage-Mechanism. Neutron distribute the bond information to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ccd0c8c9","line":155,"range":{"start_line":154,"start_character":4,"end_line":155,"end_character":77},"updated":"2018-10-23 00:27:44.000000000","message":"this assumes the ablitiy to modify the vm workload.\n\nif the vm is expecting a single interface and you present 2 and the vm is running a vnf image that is modifed there will be no way to configure it correctly.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    from Metadata. It is noteworthy that the bond mode should not be 802.3ad."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"7.  Neutron adds configure option in the sriov_agent.ini for specifying driver"},{"line_number":158,"context_line":"    of Bond-Manage-Mechanism. Neutron distribute the bond information to"},{"line_number":159,"context_line":"    Bond-Manage-Mechanism, such as OVS Bond or Linux Bond. Then OVS Bond or"},{"line_number":160,"context_line":"    Linux Bond can maintain the status of bond nics."},{"line_number":161,"context_line":"    For example::"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        bond_driver \u003d ovs-bond/linux-bond"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"8.  There is new module named Port-Status-Linkage, it check the status of"},{"line_number":166,"context_line":"    bond ports by OVS Bond or Linux Bond periodically, then set up/down status"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ccf9a84f","line":163,"range":{"start_line":158,"start_character":30,"end_line":163,"end_character":41},"updated":"2018-10-23 00:27:44.000000000","message":"this fundementally seam incorrect to me.\n\nan ovs bound would only make sense if we were talking about hardware offloaded ovs in which case the sriov nic agent would not be deployed on the compute node.\n\nif the sriov nic agent was to created a linux bond of the vfs on the host this would not be compatible with the xml we generate in libvirt for vnic_type direct,macvtap or direct phyical and would also not work.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d1f03e5c19608e658481044766ec16b6d8e59cb","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        bond_driver \u003d ovs-bond/linux-bond"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"8.  There is new module named Port-Status-Linkage, it check the status of"},{"line_number":166,"context_line":"    bond ports by OVS Bond or Linux Bond periodically, then set up/down status"},{"line_number":167,"context_line":"    to VFs of bond nics. The status of bond nics in VM can keep corresponding"},{"line_number":168,"context_line":"    to SR-IOV nics of compute node."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Alternatives"},{"line_number":171,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_acac6c36","line":168,"range":{"start_line":165,"start_character":3,"end_line":168,"end_character":35},"updated":"2018-10-23 00:27:44.000000000","message":"as with the above this statement does not make sense to me based on my understanding for how the reference implementation work. can you explain another way?\n\nalso a side note this set of porposed changes does not cover how you are going to configure the bond on the top of rack switch for the VFs. \n\nlacp as referenced on line 129 require the TOR to be configured specificaly for each bond, to do that in a neutron enviornment would require the TOR to be manged by a heriarical port binding driver.\n\nit should also be noted that many TORs do not support managning the staus of vlan suport on interface via lacp and only support lacp on the interface as a whole. as such if you are attaching the vf to a neutron vlan network i am not sure this would work correctly.","commit_id":"096e802f54fa5b415d60fe35f5c0982c119d4148"}]}
