I have tested the different upgrade scenarios outlayed on the spreadsheet linked to this case. I found an error with existing qos policies when upgrading from pike to ocata-patched which might require a further change on the patchset. I will mark this verification as failed and re-submit a new patch with the required bits. The results with all other combinations are shared next. Bundle deployed: http://paste.ubuntu.com/p/tMNX577zCk/ Steps executed: juju config neutron-api enable-qos=true ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack network qos policy create bw-limit +-------------+--------------------------------------+ | Field | Value | +-------------+--------------------------------------+ | description | | | id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | is_default | None | | name | bw-limit | | project_id | 2c16c3a423444a43a39e11fcc768ad22 | | rules | [] | | shared | False | +-------------+--------------------------------------+ openstack network qos rule create --type bandwidth-limit --max-kbps 300 --max-burst-kbits 300 --ingress bw-limit +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | direction | ingress | | id | eda4481f-61d0-4f52-91f7-fe979f776705 | | max_burst_kbps | 300 | | max_kbps | 300 | | name | None | | project_id | | +----------------+--------------------------------------+ openstack network qos rule list bw-limit +--------------------------------------+--------------------------------------+-----------------+----------+-----------------+----------+-----------+-----------+ | ID | QoS Policy ID | Type | Max Kbps | Max Burst Kbits | Min Kbps | DSCP mark | Direction | +--------------------------------------+--------------------------------------+-----------------+----------+-----------------+----------+-----------+-----------+ | eda4481f-61d0-4f52-91f7-fe979f776705 | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | bandwidth_limit | 300 | 300 | | | ingress | +--------------------------------------+--------------------------------------+-----------------+----------+-----------------+----------+---------- ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack port list -f value | grep 10.5.150.5 7c010ca8-1e96-4419-a4e9-4c56da05c806 fa:16:3e:a1:38:50 ip_address='10.5.150.5', subnet_id='5bb6de3b-6c72-4ef5-a0c2-821dfafaa822' N/A ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack port list -f value | grep 10.5.150.0 8c44909b-a4cf-4c7b-903f-f9f31f4a8045 fa:16:3e:4d:53:4e ip_address='10.5.150.0', subnet_id='5bb6de3b-6c72-4ef5-a0c2-821dfafaa822' N/A ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack port set 7c010ca8-1e96-4419-a4e9-4c56da05c806 --qos-policy 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack port set 8c44909b-a4cf-4c7b-903f-f9f31f4a8045 --qos-policy 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ for port in $(openstack port list -f value -c ID); do openstack port show $port | grep qos; done | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | Tempest run: http://paste.ubuntu.com/p/RPgrvvz25J/ ---------------- Pre-patched version ubuntu@niedbalski-bastion:~/tempest$ openstack network qos policy show 30c09b4b-0c51-4679-99b9-23b62ba247d7 +-------------+--------------------------------------+ | Field | Value | +-------------+--------------------------------------+ | description | | | id | 30c09b4b-0c51-4679-99b9-23b62ba247d7 | | is_default | None | | name | bw-limit | | project_id | 2c16c3a423444a43a39e11fcc768ad22 | | rules | [] | | shared | False | +-------------+--------------------------------------+ 1 ubuntu@niedbalski-bastion:~/tempest$ openstack network qos rule create --type bandwidth-limit --max-kbps 300 --max-burst-kbits 300 30c09b4b-0c51-4679-99b9-23b62ba247d7 +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | direction | egress | | id | a9e2159c-e9d6-4875-ae1c-2d25e88b9ca7 | | max_burst_kbps | 300 | | max_kbps | 300 | | name | None | | project_id | | +----------------+--------------------------------------+ ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ for port in $(openstack port list -f value -c ID); do openstack port show $port | grep qos; done | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | | qos_policy_id | 7e6d0652-6cd4-4d5c-b58e-b7664c1c4587 | ---> After patching ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack network qos policy create bw-limit +-------------+--------------------------------------+ | Field | Value | +-------------+--------------------------------------+ | description | | | id | 8d46e0af-7e68-4eb3-8a2e-c54feab86009 | | is_default | None | | name | bw-limit | | project_id | d39db72228d7498d8fabf9116eeda025 | | rules | [] | | shared | False | +-------------+--------------------------------------+ ubuntu@niedbalski-bastion:~/stsstack-bundles/openstack$ openstack network qos rule create --type bandwidth-limit --max-kbps 300 --max-burst-kbits 300 --ingress 8d46e0af-7e68-4eb3-8a2e-c54feab86009 +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | direction | ingress | | id | 585fe007-f59a-4337-ac2e-71cc0cd31ab3 | | max_burst_kbps | 300 | | max_kbps | 300 | | name | None | | project_id | | +----------------+--------------------------------------+ Tempest after creating rules on a patched system. http://paste.ubuntu.com/p/X2VTSJCTq9/ ---- Pre-patched ocata root@juju-abfd35-bw-limit-unpatched-2-7:/home/ubuntu# ovs-vsctl list interface tapf0164b75-5f | grep -i ingress ingress_policing_burst: 300 ingress_policing_rate: 300 Port has been setup correctly and ovs flows are in place. 69673:2019-09-13 17:46:36.086 2288036 INFO neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-e0ed0e5a-216f-4c29-a8eb-730e4054914a - - - - -] Port 64eb414b-32b9-462c-8ac4-54385b69e3a0 updated. Details: {'profile': {}, 'network_qos_policy_id': None, 'qos_policy_id': None, 'allowed_address_pairs': [], 'admin_state_up': True, 'network_id': '6d8bc0f5-fa10-46f3-8b79-813145a4619f', 'segmentation_id': 1797, 'fixed_ips': [{'subnet_id': 'f762f420-3cd6-4128-b2a7-fe8844bc56ca', 'ip_address': '192.168.140.9'}], 'device_owner': u'compute:jakarta-1b', 'physical_network': None, 'mac_address': 'fa:16:3e:7c:71:e6', 'device': u'64eb414b-32b9-462c-8ac4-54385b69e3a0', 'port_security_enabled': True, 'port_id': '64eb414b-32b9-462c-8ac4-54385b69e3a0', 'network_type': u'vxlan', 'security_groups': [u'd50e41d3-19dc-4316-b177-ebf4a80a7907']} I see that arp/l2 population has been setup for the port. 70000:2019-09-13 17:46:42.464 2288036 DEBUG neutron.plugins.ml2.drivers.l2pop.rpc_manager.l2population_rpc [req-694cc253-06c1-4ec5-8d17-d6796a4b4033 - - - - -] neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent.OVSNeutronAgent method add_fdb_entries called with arguments (,) {u'fdb_entries': {u'6d8bc0f5-fa10-46f3-8b79-813145a4619f': {u'segment_id': 1797, u'ports': {u'10.30.32.8': [[u'fa:16:3e:7c:71:e6', u'192.168.140.9']]}, u'network_type': u'vxlan'}}} wrapper /usr/lib/python2.7/dist-packages/oslo_log/helpers.py:66