QoS – Neutron port is not effected after association “Floating IP” with “QoS policy” enabled
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Slawek Kaplonski |
Bug Description
### Feature description ###
According QoS documentation https:/
From documentation:
The created policy can be associated with an existing floating IP. In order to do this, user extracts the floating IP id to be associated to the already created policy. In the next example, we will assign the bw-limiter policy to the floating IP address 172.16.100.18.
The QoS bandwidth limit rules attached to a floating IP will become active when you associate the latter with a port. For example, to associate the previously created floating IP 172.16.100.12 to the instance port with fixed IP 192.168.222.5:
### Scenario ###
Connect to your undercloud host, source to overcloudrc and execute the folowing commands:
1 - Create policy - "openstack network qos policy create bw-limiter"
2 - Create rule - "openstack network qos rule create --type bandwidth-limit --max-kbps 3000 --max-burst-kbits 2400 --egress bw-limiter"
3 - Enable QoS to my Floating IP - "openstack floating ip set --qos-policy bw-limiter 10.0.0.220 "
4 - Associating FloatingIp to Port - "openstack floating ip set --port vm1_port 10.0.0.220"
### Expected ###
Once QoS is associated to the port it should be effected in “openstack port show vm1_port” its output should contain valid ID in “qos_policy_id” parameter, but actually it’s None.
I’ve tried to run the manual test (checking actual BW that supposed to be limited) in spite of the fact configuration wasn’t effected and the result is that no BW limit was detected, means no QoS.
### Note ###
There are no errors or warnings in CLI while configuration, the only thing that I see in server.log while executing step #4 is:
2018-06-26 14:42:07.980 27 DEBUG neutron.wsgi [-] (27) accepted ('172.17.1.10', 52720) server /usr/lib/
2018-06-26 14:42:07.982 27 INFO neutron.wsgi [-] 172.17.1.10 "OPTIONS / HTTP/1.0" status: 200 len: 248 time: 0.0014350
2018-06-26 14:42:08.624 29 DEBUG neutron.wsgi [-] (29) accepted ('172.17.1.10', 52748) server /usr/lib/
2018-06-26 14:42:08.626 29 INFO neutron.wsgi [-] 172.17.1.10 "GET / HTTP/1.1" status: 200 len: 229 time: 0.0011430
2018-06-26 14:42:09.123 31 DEBUG neutron_
2018-06-26 14:42:09.984 26 DEBUG neutron.wsgi [-] (26) accepted ('172.17.1.10', 52768) server /usr/lib/
2018-06-26 14:42:09.986 26 INFO neutron.wsgi [-] 172.17.1.10 "OPTIONS / HTTP/1.0" status: 200 len: 248 time: 0.0012841
2018-06-26 14:42:11.942 29 DEBUG neutron.wsgi [-] (29) accepted ('172.17.1.10', 52810) server /usr/lib/
2018-06-26 14:42:11.986 26 DEBUG neutron.wsgi [-] (26) accepted ('172.17.1.10', 52816) server /usr/lib/
2018-06-26 14:42:11.988 26 INFO neutron.wsgi [-] 172.17.1.10 "OPTIONS / HTTP/1.0" status: 200 len: 248 time: 0.0009670
2018-06-26 14:42:12.150 34 DEBUG neutron_
2018-06-26 14:42:12.179 29 INFO neutron.
2018-06-26 14:42:12.180 29 INFO neutron.wsgi [req-78f37d24-
2018-06-26 14:42:12.216 29 INFO neutron.wsgi [req-da7e5822-
2018-06-26 14:42:12.256 29 INFO neutron.
2018-06-26 14:42:12.257 29 INFO neutron.wsgi [req-e2ac800a-
2018-06-26 14:42:12.317 29 INFO neutron.wsgi [req-ee029893-
2018-06-26 14:42:13.988 28 DEBUG neutron.wsgi [-] (28) accepted ('172.17.1.10', 52854) server /usr/lib/
2018-06-26 14:42:13.990 28 INFO neutron.wsgi [-] 172.17.1.10 "OPTIONS / HTTP/1.0" status: 200 len: 248 time: 0.0009780
Changed in neutron: | |
assignee: | Slawek Kaplonski (slaweq) → Bernard Cafarelli (bcafarel) |
Changed in neutron: | |
assignee: | Bernard Cafarelli (bcafarel) → Slawek Kaplonski (slaweq) |
``3 - Enable QoS to my Floating IP - "openstack floating ip set --qos-policy bw-limiter 10.0.0.220 "`` ------- ------- -+----- ------- ------- ------- ------- -----+ ------- ------- -+----- ------- ------- ------- ------- -----+ 27T05:03: 30Z | 37cc-402d- a659-de3737618b e5 | 095f-45ac- 8fa0-5c2ad4912b 6f | d6b8-4bdb- ade0-01784de417 4f | a9bae20d03e4071 fd | 6b75-4144- 9350-d871f593ea 7b | 0558-4db2- ae2d-dce894fc35 0a | 11T07:47: 25Z | ------- ------- -+----- ------- ------- ------- ------- -----+
After this action, you can show the FLOATING IP qos policy by:
openstack floating ip show <fip_id>
something like this:
openstack floating ip show 172.16.100.103
+------
| Field | Value |
+------
| created_at | 2018-06-
| description | |
| fixed_ip_address | 192.168.111.5 |
| floating_ip_address | 172.16.100.103 |
| floating_network_id | 0230d7b0-
| id | 796484e7-
| name | 172.16.100.103 |
| port_id | f176f887-
| project_id | a890d8d8264640b
| qos_policy_id | d5d3484d-
| revision_number | 9 |
| router_id | 5d7faa50-
| status | ACTIVE |
| subnet_id | None |
| updated_at | 2018-07-
+------
The qos policy is binding to the `floating IP` itself, not the `port` which floating IP binded to.