)]}'
{"doc/source/specs/vm_qos.rst":[{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"d29c8536f250b14e815e48e92179a04e2006dd5a","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":19,"context_line":"which allows the user to define QoS policy per Neutron port, this should"},{"line_number":20,"context_line":"still work after this design."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_a0817fc5","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":7},"updated":"2016-08-17 08:47:58.000000000","message":"per VM","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"c6bb357d6f0baf17392e7140522edcacf4815ece","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":19,"context_line":"which allows the user to define QoS policy per Neutron port, this should"},{"line_number":20,"context_line":"still work after this design."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_008cd37d","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":17},"updated":"2016-08-17 07:47:43.000000000","message":"what is the API impact?","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"e341923ea08d38556498f1d30eb1e729e0c50ba9","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":19,"context_line":"which allows the user to define QoS policy per Neutron port, this should"},{"line_number":20,"context_line":"still work after this design."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_e688b0c7","line":18,"updated":"2016-08-17 08:24:42.000000000","message":"This is not yet supported in Neutron API, thats why it will only be triggered by DB inserts/sets at this point.\n\nAnother patch should be sent to extend the Neutron API in order to accommodate this, but this needs a wider acceptance.","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"afa108c2278a214fe432fafe711c0c76f4cfcc90","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":19,"context_line":"which allows the user to define QoS policy per Neutron port, this should"},{"line_number":20,"context_line":"still work after this design."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_863e118a","line":18,"in_reply_to":"3ac371cc_e688b0c7","updated":"2016-08-17 11:26:15.000000000","message":"From the spec perspective, worth to mention this inline. It is not clear how the consumer of the feature may request it","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"d29c8536f250b14e815e48e92179a04e2006dd5a","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CREATE TABLE qos_policy ("},{"line_number":40,"context_line":"    policy_id        CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":41,"context_line":"    max_kbps         INT(20)"},{"line_number":42,"context_line":"    max_burst_kbps   INT(20)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_8070c3dd","line":41,"range":{"start_line":41,"start_character":21,"end_line":41,"end_character":28},"updated":"2016-08-17 08:47:58.000000000","message":"is this too short? the maximum bandwidth for a VM is only 1G.","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8b9900cde8de7ea0271d6fd099844532dd70156a","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CREATE TABLE qos_policy ("},{"line_number":40,"context_line":"    policy_id        CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":41,"context_line":"    max_kbps         INT(20)"},{"line_number":42,"context_line":"    max_burst_kbps   INT(20)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_6d5498c9","line":41,"range":{"start_line":41,"start_character":21,"end_line":41,"end_character":28},"in_reply_to":"3ac371cc_8070c3dd","updated":"2016-08-17 10:33:12.000000000","message":"i will increase this","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":20405,"name":"liuhaixia","email":"liuhaixia315@huawei.com","username":"liuhaixia"},"change_message_id":"4cfa8fec0b1f6bd6385a2f00840731c73317b24d","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Following the tables definitions:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CREATE TABLE qos_policy ("},{"line_number":40,"context_line":"    policy_id        CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":41,"context_line":"    max_kbps         INT(20)"},{"line_number":42,"context_line":"    max_burst_kbps   INT(20)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CREATE TABLE vm_qos_policy ("},{"line_number":46,"context_line":"    instance_id   CHAR(256) NOT NULL PRIMARY KEY,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_86629c3c","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":2},"updated":"2016-08-17 08:55:22.000000000","message":"This table is already defined by neutron.","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8b9900cde8de7ea0271d6fd099844532dd70156a","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Following the tables definitions:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CREATE TABLE qos_policy ("},{"line_number":40,"context_line":"    policy_id        CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":41,"context_line":"    max_kbps         INT(20)"},{"line_number":42,"context_line":"    max_burst_kbps   INT(20)"},{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CREATE TABLE vm_qos_policy ("},{"line_number":46,"context_line":"    instance_id   CHAR(256) NOT NULL PRIMARY KEY,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_2d4e203b","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":2},"in_reply_to":"3ac371cc_86629c3c","updated":"2016-08-17 10:33:12.000000000","message":"This is for Dragonflow DB model, not related to Neutron API or DB model","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":20405,"name":"liuhaixia","email":"liuhaixia315@huawei.com","username":"liuhaixia"},"change_message_id":"4cfa8fec0b1f6bd6385a2f00840731c73317b24d","unresolved":false,"context_lines":[{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CREATE TABLE vm_qos_policy ("},{"line_number":46,"context_line":"    instance_id   CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":47,"context_line":"    qos_policy_id CHAR(256)"},{"line_number":48,"context_line":");"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Pipeline changes"},{"line_number":51,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_66ce802f","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":2},"updated":"2016-08-17 08:55:22.000000000","message":"Does this need to add a new api to bind policy and vm?","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8b9900cde8de7ea0271d6fd099844532dd70156a","unresolved":false,"context_lines":[{"line_number":43,"context_line":");"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"CREATE TABLE vm_qos_policy ("},{"line_number":46,"context_line":"    instance_id   CHAR(256) NOT NULL PRIMARY KEY,"},{"line_number":47,"context_line":"    qos_policy_id CHAR(256)"},{"line_number":48,"context_line":");"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Pipeline changes"},{"line_number":51,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_cd44ac1c","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":2},"in_reply_to":"3ac371cc_66ce802f","updated":"2016-08-17 10:33:12.000000000","message":"as stated above, these changes are not related to Neutron, only to Dragonflow DB model","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"d29c8536f250b14e815e48e92179a04e2006dd5a","unresolved":false,"context_lines":[{"line_number":114,"context_line":"When a VM is attached to a certain QoS profile for the first time:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"1) An eth pair connected as loop back on br-int is added with the instance id for the"},{"line_number":117,"context_line":"   pair port names (by QoS application) (port names eth-VM and eth-VM-loopback)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"2) For all the VM local ports a flow is added to the QoS Ingress table:"},{"line_number":120,"context_line":"   match: reg6\u003dport_id \u003d\u003e action: set packet_mark \u003d port_id, output to eth-VM"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_49ac378c","line":117,"range":{"start_line":117,"start_character":52,"end_line":117,"end_character":58},"updated":"2016-08-17 08:47:58.000000000","message":"should the port name include vm id to distinguish them?","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8b9900cde8de7ea0271d6fd099844532dd70156a","unresolved":false,"context_lines":[{"line_number":114,"context_line":"When a VM is attached to a certain QoS profile for the first time:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"1) An eth pair connected as loop back on br-int is added with the instance id for the"},{"line_number":117,"context_line":"   pair port names (by QoS application) (port names eth-VM and eth-VM-loopback)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"2) For all the VM local ports a flow is added to the QoS Ingress table:"},{"line_number":120,"context_line":"   match: reg6\u003dport_id \u003d\u003e action: set packet_mark \u003d port_id, output to eth-VM"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_edc888aa","line":117,"range":{"start_line":117,"start_character":52,"end_line":117,"end_character":58},"in_reply_to":"3ac371cc_49ac378c","updated":"2016-08-17 10:33:12.000000000","message":"yes, \"VM\" in this case is suppose to be the instance id","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":20405,"name":"liuhaixia","email":"liuhaixia315@huawei.com","username":"liuhaixia"},"change_message_id":"4cfa8fec0b1f6bd6385a2f00840731c73317b24d","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   In this case needs to jump to the next table after QoS Ingress (Otherwise we"},{"line_number":133,"context_line":"   will create a loop)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"6) QoS application must apply policy on either eth-VM or eth-VM-loopback ports of OVS"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_ac2339a6","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":29},"updated":"2016-08-17 08:55:22.000000000","message":"For inbound direction, we should need to change pipeline.","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"8b9900cde8de7ea0271d6fd099844532dd70156a","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   In this case needs to jump to the next table after QoS Ingress (Otherwise we"},{"line_number":133,"context_line":"   will create a loop)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"6) QoS application must apply policy on either eth-VM or eth-VM-loopback ports of OVS"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_ed3fe884","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":29},"in_reply_to":"3ac371cc_ac2339a6","updated":"2016-08-17 10:33:12.000000000","message":"what do you mean inbound direction?","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"52e5f8d233d579d8ac061ace9502e894b5811aeb","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   In this case needs to jump to the next table after QoS Ingress (Otherwise we"},{"line_number":133,"context_line":"   will create a loop)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"6) QoS application must apply policy on either eth-VM or eth-VM-loopback ports of OVS"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_86f0d1ff","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":29},"in_reply_to":"3ac371cc_ad14d09f","updated":"2016-08-17 11:24:43.000000000","message":"If what you mean by \"inbound direction\" is traffic sent TO the VM then yes we need to change this.","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"82d5943b704047b9961b055181d1845876140053","unresolved":false,"context_lines":[{"line_number":132,"context_line":"   In this case needs to jump to the next table after QoS Ingress (Otherwise we"},{"line_number":133,"context_line":"   will create a loop)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"6) QoS application must apply policy on either eth-VM or eth-VM-loopback ports of OVS"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_ad14d09f","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":29},"in_reply_to":"3ac371cc_ed3fe884","updated":"2016-08-17 10:40:39.000000000","message":"This feature is currently designed to only limit the traffic egressing from the VM, are there other plans?","commit_id":"39d4e1edb35324fbb30b1967c360be1c934acd66"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"24b4a9227b777c5035bf06c88e92d4dad3b27592","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"(Its important to note that this spec doesnt address how this feature"},{"line_number":19,"context_line":"is consumed from the Neutron API but only how it can be enabled"},{"line_number":20,"context_line":"in Dragonflow)."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":23,"context_line":"which allows the user to define QoS policy per Neutron port, this should"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ac371cc_43504e0b","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":15},"updated":"2016-08-18 07:59:51.000000000","message":"AFAIK, nova has the same feature implemented via libvirt. Why do you wanna implement it in df?","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"7257dacb5976972fa27b00e4223af9111991db2e","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"(Its important to note that this spec doesnt address how this feature"},{"line_number":19,"context_line":"is consumed from the Neutron API but only how it can be enabled"},{"line_number":20,"context_line":"in Dragonflow)."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":23,"context_line":"which allows the user to define QoS policy per Neutron port, this should"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ac371cc_b6badb08","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"3ac371cc_409da158","updated":"2016-08-19 03:42:46.000000000","message":"If thats the case i dont think we want to use Nova, we DO want to change it in Runtime and we dont want to depend on the tenant image.\n\nAlso its not clear from what you say if i bind the policy to multiple vifs does this aggregate the policy for the vifs or it just applies the same policy for each vif?\nThis spec talks about applying an aggregation of the limits across all vifs.\nFor example if i have 2 ports for a VM and i apply a 200mbps max policy on this vm i can send 150mbps from one port and only 50mbps from the other.\n\nThe similar spec you mention is just about enabling QoS in Dragonflow similar to what is done in Neutron today (per Neutron port).\nThis spec talks about a feature that doesn\u0027t yet exists in Neutron (as far as i could tell) and its about grouping few vifs together and applying a policy on this aggregation.\n\nThis is a requirement some users have, we can argue if it make sense :) but it does to them..","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"da3ed876b8db4b1aafa08078824dc0f200f7c5e8","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"(Its important to note that this spec doesnt address how this feature"},{"line_number":19,"context_line":"is consumed from the Neutron API but only how it can be enabled"},{"line_number":20,"context_line":"in Dragonflow)."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":23,"context_line":"which allows the user to define QoS policy per Neutron port, this should"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ac371cc_eb16704a","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"3ac371cc_43504e0b","updated":"2016-08-18 08:51:39.000000000","message":"I was not aware Nova have this solution, why was QoS implemented in Neutron then?\nIs this something that enforced by Admin or by Tenant in Nova?\nCan you assign one policy to few vifs using libvirt? by using port groups?","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"c78971175ef44c52a60861768283b4f68cebd3a3","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 user would like to define a QoS policy of max/min bandwidth"},{"line_number":17,"context_line":"per a VM instance which include all of the VM virtual NICs/ports."},{"line_number":18,"context_line":"(Its important to note that this spec doesnt address how this feature"},{"line_number":19,"context_line":"is consumed from the Neutron API but only how it can be enabled"},{"line_number":20,"context_line":"in Dragonflow)."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"This feature should work in conjunction with the Neutron QoS API [1]"},{"line_number":23,"context_line":"which allows the user to define QoS policy per Neutron port, this should"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ac371cc_409da158","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":15},"in_reply_to":"3ac371cc_eb16704a","updated":"2016-08-19 02:37:37.000000000","message":"The QoS policy is bound to image property in Nova. As a result, Nova cannot change it during runtime. You can assign one policy to multiple vifs. But I\u0027m not saying no with this spec. But there is another similar spec on review, https://review.openstack.org/#/c/332662/.","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"3caee1a713fc6ea26c5eb3ad044b6ef43cad780e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Following the tables definitions for Dragonflow DB model:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"qos_policy"},{"line_number":44,"context_line":"    policy_id        string"},{"line_number":45,"context_line":"    max_kbps         integer"},{"line_number":46,"context_line":"    max_burst_kbps   integer"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"vm_qos_policy"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa6399be_a27c2921","line":46,"range":{"start_line":43,"start_character":0,"end_line":46,"end_character":28},"updated":"2016-10-20 02:37:30.000000000","message":"nit:you can reuse the object defined in port_qos.rst:)","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"3caee1a713fc6ea26c5eb3ad044b6ef43cad780e","unresolved":false,"context_lines":[{"line_number":137,"context_line":"   in the pipeline."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"5) QoS application adds a classifier flows for each VM local port on Table 0:"},{"line_number":140,"context_line":"   match: in_port\u003deth-VM-loopback, pkt_mark\u003dport_id \u003d\u003e action: set reg6\u003dport_id,"},{"line_number":141,"context_line":"   metadata\u003dnetwork_id"},{"line_number":142,"context_line":"   In this case needs to jump to the next table after QoS egress (Otherwise we"},{"line_number":143,"context_line":"   will create a loop)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa6399be_a2a3499d","line":140,"range":{"start_line":140,"start_character":34,"end_line":140,"end_character":52},"updated":"2016-10-20 02:37:30.000000000","message":"what is pkt_mark? I don\u0027t think it exist in any Openflow version, if I\u0027m wrong please correct me.","commit_id":"d085ef86e42ec3ab57b5d6f7ba57e9634e48973c"}]}
