)]}'
{"specs/liberty/ml2-ovs-qos-with-bwlimiting.rst":[{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"81fdf94c57a1dc0a7003c3ec9fb3ad5dd2e00635","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_bda7934e","line":29,"updated":"2015-05-12 18:32:11.000000000","message":"It is not mentioned if proposed driver is going to used at plugin or agent side. To implement required QoS functionality both plugin and agent support would be required. Is there going to be RPC interface specific for QoS ?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"7bf26557036ead170bf88218b8d35ab03980e28c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_53290ee5","line":29,"in_reply_to":"7a016987_4f353344","updated":"2015-05-31 08:28:57.000000000","message":"Miguel, not sure I understand what you meant to say: \"if there are other agents make use of ovs, but they are agent-less\". Can you please clarify?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b938a59cf2970e714928cedfb069335dc0f3f976","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_4f353344","line":29,"in_reply_to":"7a016987_4f99b36d","updated":"2015-05-28 12:26:40.000000000","message":"Correct, \n\nAlso if there are other agents make use of ovs, but they are agent-less, then it must be their responsibility to configure ovs/ports/queues/flows as they consider, we cannot predict the rules they\u0027ll write and make compatible ones.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"8c3f63e5287d850afbd01069c37c1b0f586abc31","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_93c1b5e6","line":29,"in_reply_to":"7a016987_53290ee5","updated":"2015-06-02 12:39:22.000000000","message":"There could be agents interacting with OVS/br-int via openflow as a controller (set-controller ...).\n\nSometimes they do it with a local VM on the node, that reconfigures the flows, and sometimes they do it with a remote controller (like dragon flow \u0026 opendaylight)..","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_38873111","line":29,"in_reply_to":"7a016987_93c1b5e6","updated":"2015-06-02 17:58:25.000000000","message":"Let\u0027s resolve the plugin integration \u0026 rpc details over devref, Irena and I were doing some brainstorming yesterday with lots of interesting ideas. Update on the next meeting.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"3fbf1c3ce6efa37203fd435eb7c88c2881fc181f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_4f99b36d","line":29,"in_reply_to":"7a016987_f407161b","updated":"2015-05-28 12:11:43.000000000","message":"What i mean here is to not assume that an ML2 mech driver always uses an agent","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8e8b95f353f63dd2bc62bda0a9c76d942d62d7f5","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_f407161b","line":29,"in_reply_to":"9a0c5dc1_b1e31b05","updated":"2015-05-28 12:00:51.000000000","message":"I think its important to not mix between agent implementations and RPC interface (for example in the security group case) some mechanism drivers might want to use the agent and some might not, its an important point to remember","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_b1e31b05","line":29,"in_reply_to":"9a0c5dc1_bda7934e","updated":"2015-05-14 15:01:15.000000000","message":"This is set to a separate spec (see Requirements)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":9411,"name":"Anthony Veiga","email":"anthony_veiga@cable.comcast.com","username":"aveiga"},"change_message_id":"fc2d77802d6b2f18bee1f3612353495accea4080","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_acc1ab30","line":66,"updated":"2015-05-12 17:00:31.000000000","message":"Should there be controls around this to, say, allow only an Admin role to be allowed to set MIN, or remove MAX? There is potential for DoS here if a tenant selects the total capacity of a link for MIN on a single VM.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"ade6472ae09c5f591a39bd81d4959819b037f235","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_d16fd790","line":66,"in_reply_to":"7a016987_3f7277e6","updated":"2015-05-14 20:09:59.000000000","message":"Yeah, I saw, I signed up for it. Will see you there. :-)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_515f5a41","line":66,"in_reply_to":"7a016987_d16fd790","updated":"2015-06-02 17:58:25.000000000","message":"I have added a note to the security impact. But min bandwidth guarantees (even best effort) is not planned for this cycle.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a743d369abb37e99c21f45bae262024135b1f8fe","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_3f7277e6","line":66,"in_reply_to":"9a0c5dc1_3193ab51","updated":"2015-05-14 19:55:38.000000000","message":"by the way, in relation to this point you\u0027d want to attend this talk:\n\nhttps://libertydesignsummit.sched.org/event/d6ab88a4a4a04696ab1a3f1bc883856c#.VVT9f9pViko\n\n(I am not doing any self-promotion here :)\n\nThere could be some lesson learned that can be fed back into this effort.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_3193ab51","line":66,"in_reply_to":"9a0c5dc1_385cd124","updated":"2015-05-14 15:01:15.000000000","message":"Yes, having an strict min guarantee would require nova-scheduler integration. We\u0027re starting to coordinate with the nova-scheduler guys to get into there. But IMO this is out of scope for this cycle.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"81fdf94c57a1dc0a7003c3ec9fb3ad5dd2e00635","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Security Impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Notifications Impact"},{"line_number":69,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_385cd124","line":66,"in_reply_to":"9a0c5dc1_acc1ab30","updated":"2015-05-12 18:32:11.000000000","message":"Looks like integration with nova scheduler may be required to take the considerations like this into account","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b1507cc2d1b1587954134e82d71c67445db49b11","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_009f25b5","line":76,"updated":"2015-05-13 18:39:10.000000000","message":"Can we outline the implications of this work on the ability for users to limit the bandwidth via flavor extra specs [1]? It sounds like the user will be faced with a choice and/or potential conflict depending on the environment they using.\n\nhttps://wiki.openstack.org/wiki/InstanceResourceQuota#Bandwidth_limits","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f013fb55483a14f023d604922e701c0c400c57a8","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_ffff3f32","line":76,"in_reply_to":"7a016987_0fcaf4a1","updated":"2015-05-14 19:53:39.000000000","message":"Just to be clear: I am not promoting one effort over the other. I am merely pointing out that there is some existing mechanism, with its pros and cons. I am suggesting that we do document this here and possibly in the user facing documentation.\n\nMy -1 is not about the approach taken here, but about the erroneous indication of the fact that there is no end user impact. Rather the contrary, I\u0027d argue.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"e78ee0eb7abcc2b7209114e0d1180e932ec616d6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_6f5288df","line":76,"in_reply_to":"7a016987_0fcaf4a1","updated":"2015-05-14 15:20:50.000000000","message":"how nice... all my points stacked together... sorry ;)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_d1310a0d","line":76,"in_reply_to":"7a016987_317ceb71","updated":"2015-06-02 17:58:25.000000000","message":"Done","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4153fdd360ad990930771795e5c24196ad444aa5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_0fcaf4a1","line":76,"in_reply_to":"7a016987_5412c3b5","updated":"2015-05-14 15:20:13.000000000","message":"I\u0027ll read what the implementation is capable of, if we can reuse that, great, a few points to look at:\n\n1) bw guarantees, are they supported?\n2) can we do TC with this implementation?\n3) is it supported in the nova-docker / nova-lxc case (containers)\n4) nova is not the only user of neutron, what if advservices port want to be shaped? , also other virtualization solutions integrate with neutron (they have their own QoS API), or they don\u0027t (like the case of kubernetes where they have a plan to integrate to neutron).\n\nIt\u0027s a nicety to have that on the nova/libvirt side, but it\u0027s too nova coupled IMHO.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"fca570d30ba7a678408e071f38059299e6a100b3","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_5412c3b5","line":76,"in_reply_to":"7a016987_ba020b3d","updated":"2015-05-14 15:07:01.000000000","message":"Dig deeper, you can do bandwidth limiting by the looks of it.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_34ee2723","line":76,"in_reply_to":"7a016987_ba020b3d","updated":"2015-05-14 15:01:15.000000000","message":"Yes, I knew libvirt exposed QoS, but I didn\u0027t know that nova was making use of it. \n\nThanks let\u0027s document it.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"ade6472ae09c5f591a39bd81d4959819b037f235","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_317ceb71","line":76,"in_reply_to":"7a016987_ffff3f32","updated":"2015-05-14 20:09:59.000000000","message":"Thanks for the clarification. :-)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"e330a987bd2df8942bd5a82b0d8449f9e7e129af","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_801c3514","line":76,"in_reply_to":"9a0c5dc1_009f25b5","updated":"2015-05-13 18:44:23.000000000","message":"It looks like the feature is actively used:\n\n [1] https://bugs.launchpad.net/nova/+bug/1254664\n [2] https://bugs.launchpad.net/nova/+bug/1407643","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"3f1ef57fddcf4d59fe267e9a0bd29a53b48735f5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_8392ff9d","line":76,"in_reply_to":"9a0c5dc1_801c3514","updated":"2015-05-13 19:02:58.000000000","message":"Is this another feature gap between Nova Network and Neutron? Why have I never seen it mentioned as a gap?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"60da9358afdef6379c153e9693e02a2f1f105c5b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Other End User Impact"},{"line_number":74,"context_line":"---------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_ba020b3d","line":76,"in_reply_to":"9a0c5dc1_8392ff9d","updated":"2015-05-14 11:56:56.000000000","message":"AFAIU those quotas have nothing to do about networking but just additional specs for instance devices. Neutron wise, we care about ports and not device capabilities.\n\nThere can be a potential conflict that is worth being documented though.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":9411,"name":"Anthony Veiga","email":"anthony_veiga@cable.comcast.com","username":"aveiga"},"change_message_id":"fc2d77802d6b2f18bee1f3612353495accea4080","unresolved":false,"context_lines":[{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_4c990f6e","line":79,"updated":"2015-05-12 17:00:31.000000000","message":"What is the ramification of an over-subrscribed guaranteed minimum?  If I have a 10Gbps NIC on my compute host, and 20 VMs request 1Gbps MIN each, what happens?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"7425939522f36f9fb6e95a20d45c48a22424b9b5","unresolved":false,"context_lines":[{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_58578502","line":79,"in_reply_to":"9a0c5dc1_4c990f6e","updated":"2015-05-12 18:27:25.000000000","message":"Perhaps it\u0027s only possible to enforce MAX in such a case as this then?\n\nOn a related question, is adding something to the Nova scheduler necessary?  That way you can better avoid an over-subscription issue like this.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":76,"context_line":"None"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_d1d20f00","line":79,"in_reply_to":"9a0c5dc1_58578502","updated":"2015-05-14 15:01:15.000000000","message":"Yes, we need to coordinated with nova-scheduler, and disallow ports to be created on networks with such QoS policy.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"41c7e78f2fc7e5f9338a665df0660cd9a41d39cb","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_e7ba236e","line":81,"updated":"2015-05-12 15:43:25.000000000","message":"is known","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Performance Impact"},{"line_number":79,"context_line":"------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_31873eb7","line":81,"in_reply_to":"9a0c5dc1_e7ba236e","updated":"2015-06-02 17:58:25.000000000","message":"Done","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"41c7e78f2fc7e5f9338a665df0660cd9a41d39cb","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Openflow metering support would probably be faster than HTB, but that\u0027s not"},{"line_number":86,"context_line":"suported by OVS yet. In the future we could migrate to it."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_c7771fd3","line":83,"updated":"2015-05-12 15:43:25.000000000","message":"is it on a mailing list thread or something we can cite?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Openflow metering support would probably be faster than HTB, but that\u0027s not"},{"line_number":86,"context_line":"suported by OVS yet. In the future we could migrate to it."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_f103e60d","line":83,"in_reply_to":"9a0c5dc1_c7771fd3","updated":"2015-06-02 17:58:25.000000000","message":"I have been looking for it, and I couldn\u0027t find it. So i\u0027ve added a note, and asked about it.\n\nOtherwise we can benchmark it to understand the HTB related overhead, and probably fallback to the basic OVS BW limiter which doesn\u0027t use HTB when we don\u0027t set any min settings.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8e8b95f353f63dd2bc62bda0a9c76d942d62d7f5","unresolved":false,"context_lines":[{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Openflow metering support would probably be faster than HTB, but that\u0027s not"},{"line_number":86,"context_line":"suported by OVS yet. In the future we could migrate to it."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_4fa53302","line":84,"updated":"2015-05-28 12:00:51.000000000","message":"We need to understand the limits of the HTB qdisc and document them so users using this feature wont be surprised, maybe even block it at configuration layer if the configured bandwidth exceed the maximum numbers HTB can handle (around 1GBs i believe is what we talked about?)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":81,"context_line":"The HTB implementation is know to have performance issues around 1Gbps (this"},{"line_number":82,"context_line":"is a report from the OVS guys -I\u0027d like to know on which type of processor"},{"line_number":83,"context_line":"and how does it scale related to cores-)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Openflow metering support would probably be faster than HTB, but that\u0027s not"},{"line_number":86,"context_line":"suported by OVS yet. In the future we could migrate to it."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_cc260dba","line":84,"in_reply_to":"7a016987_4fa53302","updated":"2015-06-02 17:58:25.000000000","message":"Correct. I agree.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"60da9358afdef6379c153e9693e02a2f1f105c5b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"Other Deployer Impact"},{"line_number":95,"context_line":"---------------------"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Developer Impact"},{"line_number":100,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_da16e754","line":97,"updated":"2015-05-14 11:56:56.000000000","message":"Won\u0027t deployers need to configure the driver?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":94,"context_line":"Other Deployer Impact"},{"line_number":95,"context_line":"---------------------"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Developer Impact"},{"line_number":100,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_54d08353","line":97,"in_reply_to":"7a016987_da16e754","updated":"2015-05-14 15:01:15.000000000","message":"Correct!","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8e8b95f353f63dd2bc62bda0a9c76d942d62d7f5","unresolved":false,"context_lines":[{"line_number":116,"context_line":"  mangelajo"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Other contributors:"},{"line_number":119,"context_line":"  gsagie"},{"line_number":120,"context_line":"  sc68cal"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_2ff677f9","line":119,"updated":"2015-05-28 12:00:51.000000000","message":"I think there was a discussion in the summit regarding focusing efforts on the API layer first?\nAre we going to do this in parallel?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"81fdf94c57a1dc0a7003c3ec9fb3ad5dd2e00635","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* driver interface definition plus a QoS noop driver."},{"line_number":126,"context_line":"* the QoS openvswitch driver itself."},{"line_number":127,"context_line":"* OVS agent integration to hand down the QoS information to the driver"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_58a54502","line":124,"updated":"2015-05-12 18:32:11.000000000","message":"Any plugin side/rpc changes?","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"60da9358afdef6379c153e9693e02a2f1f105c5b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* driver interface definition plus a QoS noop driver."},{"line_number":126,"context_line":"* the QoS openvswitch driver itself."},{"line_number":127,"context_line":"* OVS agent integration to hand down the QoS information to the driver"},{"line_number":128,"context_line":"  as new ports are created or updates are received."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_5a55571b","line":125,"updated":"2015-05-14 11:56:56.000000000","message":"It would be interesting to see a draft of that interface.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* driver interface definition plus a QoS noop driver."},{"line_number":126,"context_line":"* the QoS openvswitch driver itself."},{"line_number":127,"context_line":"* OVS agent integration to hand down the QoS information to the driver"},{"line_number":128,"context_line":"  as new ports are created or updates are received."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_b46fb791","line":125,"in_reply_to":"7a016987_5a55571b","updated":"2015-05-14 15:01:15.000000000","message":"Yes, I\u0027ll add it to this spec.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Work Items"},{"line_number":123,"context_line":"----------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* driver interface definition plus a QoS noop driver."},{"line_number":126,"context_line":"* the QoS openvswitch driver itself."},{"line_number":127,"context_line":"* OVS agent integration to hand down the QoS information to the driver"},{"line_number":128,"context_line":"  as new ports are created or updates are received."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_cce96d1c","line":125,"in_reply_to":"7a016987_b46fb791","updated":"2015-06-02 17:58:25.000000000","message":"Still tbd, tomorrow I\u0027ll iterate again with the interface.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"81fdf94c57a1dc0a7003c3ec9fb3ad5dd2e00635","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a0c5dc1_783c8993","line":134,"updated":"2015-05-12 18:32:11.000000000","message":"I think from spec perspective it\u0027s better to keep plugin and agent and RPC changes in the same spec, to make it easier to see complete workflow","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"14b6a98c700675d0689b146bea50242ae04c0d2a","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afb71cf_af973d8f","line":134,"in_reply_to":"5afe65bd_acd51144","updated":"2015-06-07 12:20:25.000000000","message":"Great, lets proceed this way","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b938a59cf2970e714928cedfb069335dc0f3f976","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_cf2fe39f","line":134,"in_reply_to":"7a016987_1e8a21c0","updated":"2015-05-28 12:26:40.000000000","message":"I\u0027m doing it on purpose, to agree on the frontend and backend at least. And because I\u0027m not sure yet how to propagate the new port \"parameters\" to the plugin without a mixins from the service plugin.\n\nThis is the blurry part for me, .. any insight on this? ;)\nI am wondering if the services could register the after_read callback of a port to incorporate extra info... or if that\u0027s a nonsense ;)\n\nOnce we have that, the rpc messages we could use would be quite straight forward IMO.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"fc3d296c9377800ab4ff9f990822dd0718124e02","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_1e8a21c0","line":134,"in_reply_to":"7a016987_b4f697d5","updated":"2015-05-14 18:31:51.000000000","message":"I guess as long as it\u0027s only about driver interface and implementation on OVS, it\u0027s fine.  You are keeping the most challenging part to be last one to agree on :-)","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"04fd7fb7c4d94043578ae95089b772a70ea7ef66","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_acd51144","line":134,"in_reply_to":"7a016987_cf2fe39f","updated":"2015-06-02 17:58:25.000000000","message":"We could discuss this over devref.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b47e1fdbe0f9f6425f00668e511dade52eb378ec","unresolved":false,"context_lines":[{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":134,"context_line":"* QoS RPC and plugin integration"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Testing"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_b4f697d5","line":134,"in_reply_to":"9a0c5dc1_783c8993","updated":"2015-05-14 15:01:15.000000000","message":"I disagree, since we have several agents, we don\u0027t want to combine so much in a single spec.\n\nLet\u0027s keep specs as short as possible so they\u0027re easy to review.","commit_id":"82c4318718bc9e2c5ad8c643ca809131ef2e59ce"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an interface to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_cf398343","line":16,"updated":"2015-06-12 11:29:18.000000000","message":"I think you can use the word \u0027driver\u0027 instead of \u0027interface\u0027....it just confuses a bit since interface has so many meanings.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an interface to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_ea81cdfc","line":16,"in_reply_to":"1af86dd1_cf398343","updated":"2015-06-12 11:59:32.000000000","message":"Yes, and that also matches more the design moshele an irena have been working on.\n\n+1!","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it in addition to probably an ML2 agent extension manager,"},{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_ef0b1f7c","line":29,"updated":"2015-06-12 11:29:18.000000000","message":"driver, can you be more specific? mechanism driver?","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed Change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it in addition to probably an ML2 agent extension manager,"},{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_6aaddd87","line":29,"in_reply_to":"1af86dd1_ef0b1f7c","updated":"2015-06-12 11:59:32.000000000","message":"No, no, just an interface class with fixed method names.., so you can just switch them modularly, since there are different approach for the same thing.\n\nI will clarify that with some example.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it in addition to probably an ML2 agent extension manager,"},{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_afd1a7fd","line":30,"updated":"2015-06-12 11:29:18.000000000","message":"L2 agent...never heard \u0027ML2 agent\u0027, details I know","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose the introduction of a qos driver interface class, and the OVS"},{"line_number":30,"context_line":"implementation for it in addition to probably an ML2 agent extension manager,"},{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The interface would declare the rule types supported by the specific"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_cab4d1d2","line":30,"in_reply_to":"1af86dd1_afd1a7fd","updated":"2015-06-12 11:59:32.000000000","message":"Good catch.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The interface would declare the rule types supported by the specific"},{"line_number":34,"context_line":"implementation, so the agent would have the ability to report back the"},{"line_number":35,"context_line":"type of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_8fc70b45","line":34,"updated":"2015-06-12 11:29:18.000000000","message":"report back to who? to the Neutron server? How would that info be used?","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"so we don\u0027t need to hijack the agents for every new service it implements."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The interface would declare the rule types supported by the specific"},{"line_number":34,"context_line":"implementation, so the agent would have the ability to report back the"},{"line_number":35,"context_line":"type of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_caba916e","line":34,"in_reply_to":"1af86dd1_8fc70b45","updated":"2015-06-12 11:59:32.000000000","message":"Yes, I may need to think explicitly about that. \n\nWe need to be able, for example, to allow only the rule types that the deployed agents allow (on agent plugins)\n\nThen we have the issue, for ML2, where different ml2 drivers can support different rules, that even if a port is created and associated to a qos profile, we can\u0027t know which ml2 driver will handle it until the port is not really bound, at which time it could still fail to apply the policy if the specific ml2 driver didn\u0027t support such policy.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"type of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":39,"context_line":"be reused for the LB+OVS hybrid design."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_4faa3372","line":38,"updated":"2015-06-12 11:29:18.000000000","message":"I don\u0027t understand this point, could you expand please?","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"type of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":39,"context_line":"be reused for the LB+OVS hybrid design."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_6aaa7d1b","line":38,"in_reply_to":"1af86dd1_4faa3372","updated":"2015-06-12 11:59:32.000000000","message":"I will, basically what I mean, is that, if we set policies at LB level, it would still work for the hybrid vif plugging (which uses LB+OVS).\n\nNot the other way around, an OVS implementation wouldn\u0027t work for LB.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"cda7f034f8294a7437f16ba9008f26f5468191aa","unresolved":false,"context_lines":[{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":39,"context_line":"be reused for the LB+OVS hybrid design."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Alternatives"},{"line_number":42,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_6fba6525","line":39,"updated":"2015-06-07 12:20:05.000000000","message":"+SR-IOV","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"this case."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":39,"context_line":"be reused for the LB+OVS hybrid design."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Alternatives"},{"line_number":42,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_aa7755d3","line":39,"in_reply_to":"3afb71cf_6fba6525","updated":"2015-06-12 11:59:32.000000000","message":"See my above comment, I was talking more about reusing qos drivers across implementations (LB -\u003e hybrid (LB+OVS)) in some cases.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"none"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Security Impact"},{"line_number":65,"context_line":"---------------"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_8f6a6b19","line":63,"updated":"2015-06-12 11:29:18.000000000","message":"Maybe worth saying that it\u0027s implemented in another spec and put the link?","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"none"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Security Impact"},{"line_number":65,"context_line":"---------------"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_2a180584","line":63,"in_reply_to":"1af86dd1_8f6a6b19","updated":"2015-06-12 11:59:32.000000000","message":"Yes, linking to the origin spec makes sense in general.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"4bbb5a03c1e13587ed12b6d4332201d8ed170508","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Other contributors:"},{"line_number":129,"context_line":"  gsagie"},{"line_number":130,"context_line":"  sc68cal"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Work Items"},{"line_number":133,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_36860166","line":130,"updated":"2015-06-03 03:07:50.000000000","message":"Can you add me as well, as I need to take care of ML2/LB implementation so it will give a fair idea of doing things.","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"7c12278b889c6411cf96e240b81ea07533414ef4","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":144,"context_line":"* QoS RPC and plugin integration"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Testing"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_2f95b7e3","line":144,"updated":"2015-06-12 11:29:18.000000000","message":"this needs a link too","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"43fb08c5f63435074c9c8aa93fad3280c33f5a4e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"* QoS API implementation #[qos_api_spec]_"},{"line_number":144,"context_line":"* QoS RPC and plugin integration"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Testing"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af86dd1_5eff8201","line":144,"in_reply_to":"1af86dd1_2f95b7e3","updated":"2015-06-12 11:59:32.000000000","message":"yes :)","commit_id":"7e60c4d51634be11d1ca3e3b6e5ec5fcbad6a10b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":8,"context_line":"ML2/OVS QoS bandwidth limiting implementation"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/neutron/+spec/ml2-qos-ovs-bwlimiting"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_18ce5d2d","line":11,"updated":"2015-06-23 13:26:25.000000000","message":"The link is not working","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"ML2/OVS QoS bandwidth limiting implementation"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/neutron/+spec/ml2-qos-ovs-bwlimiting"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_a6038e0f","line":11,"in_reply_to":"fa32b979_18ce5d2d","updated":"2015-06-23 13:58:06.000000000","message":"Whoops, working now.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_f8005936","line":16,"updated":"2015-06-23 13:26:25.000000000","message":"an way -\u003e a way, configure -\u003e apply","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"3859158662712d3cd60ec54738d2c3acaf5a9242","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_dc7afb23","line":16,"in_reply_to":"fa32b979_614ed070","updated":"2015-06-24 13:34:32.000000000","message":"Done","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_614ed070","line":16,"in_reply_to":"fa32b979_f8005936","updated":"2015-06-23 13:58:06.000000000","message":"\u0027\u0027:) :) did I wrote that? ;)","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_58ef0587","line":17,"updated":"2015-06-23 13:26:25.000000000","message":"...and networks","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"3859158662712d3cd60ec54738d2c3acaf5a9242","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_7c73af4e","line":17,"in_reply_to":"fa32b979_0167c4e9","updated":"2015-06-24 13:34:32.000000000","message":"Done","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The QoS API [#qos_api_spec]_ introduces an way to configure QoS policies"},{"line_number":17,"context_line":"to neutron ports. We need to develop this functionality for the OpenvSwitch"},{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_0167c4e9","line":17,"in_reply_to":"fa32b979_58ef0587","updated":"2015-06-23 13:58:06.000000000","message":"Well, the agent only cares of ports, but it may need to ask for network details I guess.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":2888,"name":"Mathieu Rohon","email":"mathieu.rohon@gmail.com","username":"mathieu-rohon"},"change_message_id":"af2560c2ff2bfba36366188d827b1cce45beef1b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"},{"line_number":21,"context_line":"HTB queues."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Later on such implementation could be evolved to do traffic classification"},{"line_number":24,"context_line":"via openflow rules and the enqueue action."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_07260ace","line":21,"updated":"2015-06-23 13:56:44.000000000","message":"HTB (Hierarchical Token Buckets) shoud be expanded once at least. A link to a relevant documentation would be useful also, don\u0027t you think?","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"},{"line_number":21,"context_line":"HTB queues."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Later on such implementation could be evolved to do traffic classification"},{"line_number":24,"context_line":"via openflow rules and the enqueue action."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_18b3bd9b","line":21,"updated":"2015-06-23 13:26:25.000000000","message":"Just to understand the implication on distros: which ovs version is the minimal one that supports those HTB queues?","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"},{"line_number":21,"context_line":"HTB queues."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Later on such implementation could be evolved to do traffic classification"},{"line_number":24,"context_line":"via openflow rules and the enqueue action."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_e197408e","line":21,"in_reply_to":"fa32b979_07260ace","updated":"2015-06-23 13:58:06.000000000","message":"I will do it, good suggestion, thanks :)","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"reference implementation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The functionality will make use of the OpenvSwitch support for linux"},{"line_number":21,"context_line":"HTB queues."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Later on such implementation could be evolved to do traffic classification"},{"line_number":24,"context_line":"via openflow rules and the enqueue action."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_06d03af5","line":21,"in_reply_to":"fa32b979_18b3bd9b","updated":"2015-06-23 13:58:06.000000000","message":"It\u0027s in the codebase since 2010: (lib/netlib.c\n\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3535) /* Create an HTB qdisc.\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3536)  *\n     a339aa81 (Ethan Jackson        2010-11-09 10:41:47 -0800 3537)  * Equivalent to \"tc qdisc add dev \u003cdev\u003e root handle 1: htb default 1\". */\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3538) static int\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3539) htb_setup_qdisc__(struct netdev *netdev)\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3540) {\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3541)     size_t opt_offset;\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3542)     struct tc_htb_glob opt; \n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3543)     struct ofpbuf request;\n     c1c9c9c4 (Ben Pfaff            2010-06-17 15:04:12 -0700 3544)     struct tcmsg *tcmsg;\n\nAnd some updates around 2013, not sure what version does that map to, but I guess we should be ok.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* update a port"},{"line_number":38,"context_line":"* report the rule types supported by the specific implementation,"},{"line_number":39,"context_line":"  so the agent would have the ability to report back the type"},{"line_number":40,"context_line":"  of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":41,"context_line":"  this case. The idea of reporting back is that not all ml2 implementations"},{"line_number":42,"context_line":"  will support the same set of rules, so this way we have data to"},{"line_number":43,"context_line":"  prevent unsupported port bindings (because rules can\u0027t be applied),"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_3846c17b","line":40,"updated":"2015-06-23 13:26:25.000000000","message":"missing coma before OVS","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* update a port"},{"line_number":38,"context_line":"* report the rule types supported by the specific implementation,"},{"line_number":39,"context_line":"  so the agent would have the ability to report back the type"},{"line_number":40,"context_line":"  of rules it\u0027s able to map into the underlaying technology OVS in"},{"line_number":41,"context_line":"  this case. The idea of reporting back is that not all ml2 implementations"},{"line_number":42,"context_line":"  will support the same set of rules, so this way we have data to"},{"line_number":43,"context_line":"  prevent unsupported port bindings (because rules can\u0027t be applied),"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_01aee4e5","line":40,"in_reply_to":"fa32b979_3846c17b","updated":"2015-06-23 13:58:06.000000000","message":"thanks.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e693579b21ad859b707b733f4f2df9e3db9d82d9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  this case. The idea of reporting back is that not all ml2 implementations"},{"line_number":42,"context_line":"  will support the same set of rules, so this way we have data to"},{"line_number":43,"context_line":"  prevent unsupported port bindings (because rules can\u0027t be applied),"},{"line_number":44,"context_line":"  or unsupported port updates for the same reason."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":47,"context_line":"probably be reused for the LB+OVS hybrid implementation, since the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_5b9cdfbf","line":44,"updated":"2015-06-23 13:26:25.000000000","message":"When will that info be used? On API access or on scheduler decision?\n\nThe reason why I ask is that I don\u0027t think it should be used to determine whether an API call is allowed: agents come and go, and API should behave in a stable way; if there are no agents to serve a port, the port status should be set to ERROR. But we should still allow those ports to exist.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"02ac36e80656c33c4601ea044e56ee2d698df56b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  this case. The idea of reporting back is that not all ml2 implementations"},{"line_number":42,"context_line":"  will support the same set of rules, so this way we have data to"},{"line_number":43,"context_line":"  prevent unsupported port bindings (because rules can\u0027t be applied),"},{"line_number":44,"context_line":"  or unsupported port updates for the same reason."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The advantage of this design is that a linuxbridge implementation could"},{"line_number":47,"context_line":"probably be reused for the LB+OVS hybrid implementation, since the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_e68af6be","line":44,"in_reply_to":"fa32b979_5b9cdfbf","updated":"2015-06-23 13:58:06.000000000","message":"I guess we can cut it out, and just re-add it if we find it necessary.","commit_id":"a22a5e12180bf07fd701915552d34c2f5e193325"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"3521922f28d4ad751739bb7594363578580c6e98","unresolved":false,"context_lines":[{"line_number":32,"context_line":"manager #[ext_manager]_,so we don\u0027t need to hijack the agents for every"},{"line_number":33,"context_line":"new service it implements."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The interface would declare methods to:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* setup a port"},{"line_number":38,"context_line":"* update a port"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_9fd51e44","line":35,"updated":"2015-06-25 01:43:18.000000000","message":"I have a question: which interface does the Qos rule apply, qvo-xxx or qvb-xxx?","commit_id":"bcbdbac85083c5d9dd7fff908e4c19ac8ba852d3"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"70d681d09e654338d6aea5c84ce27e6fa9fffbed","unresolved":false,"context_lines":[{"line_number":32,"context_line":"manager #[ext_manager]_,so we don\u0027t need to hijack the agents for every"},{"line_number":33,"context_line":"new service it implements."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The interface would declare methods to:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* setup a port"},{"line_number":38,"context_line":"* update a port"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_cc23f703","line":35,"in_reply_to":"fa32b979_9fd51e44","updated":"2015-06-25 08:38:29.000000000","message":"the tap-xxxx adapter from the VM, this way we don\u0027t depend on the hybrid LB+ovs implementation and can work for both.","commit_id":"bcbdbac85083c5d9dd7fff908e4c19ac8ba852d3"}]}
