← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1911462] [NEW] Optimize "PortForwarding" OVO loading

 

Public bug reported:

In OVO PortForwarding, the synthetic fields 'floating_ip_address' and
'router_id' are retrieved from the floating IP related to this port
forwarding [1].

PortForwarding contains, in the db_obj, the floating IP DB object too.
Instead of retrieving the OVO FloatingIP for each field, the db_obj
should be read instead.

Steps to create a testing environment:
- Enable neutron service "port_forwarding"
- Create a FIP:
$ openstack floating ip create public  # in a devstack deployment
- Create 300 PFs:
$ for i in {1..300}; do openstack floating ip port forwarding create --internal-ip-address 10.0.10.19 --port port1 --internal-protocol-port $i --external-protocol-port $i --protocol tcp $fip1; done

Current code:
INFO neutron.wsgi [None req-3aeb3d06-3e7f-44bd-bb86-28af04d75b2e demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 35.2575612

Retrieving the FIP from the db_obj:
INFO neutron.wsgi [None req-75f538a8-d248-4e05-bb37-c2c1401b4e61 demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 0.6545706

[1]https://github.com/openstack/neutron/blob/a9fc746249cd34cb7cc594c0b4d74d8ddf65bd46/neutron/objects/port_forwarding.py#L94

** Affects: neutron
     Importance: Undecided
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Description changed:

  In OVO PortForwarding, the synthetic fields 'floating_ip_address' and
  'router_id' are retrieved from the floating IP related to this port
  forwarding [1].
  
  PortForwarding contains, in the db_obj, the floating IP DB object too.
  Instead of retrieving the OVO FloatingIP for each field, the db_obj
  should be read instead.
  
+ Steps to create a testing environment:
+ - Enable neutron service "port_forwarding"
+ - Create a FIP:
+ $ openstack floating ip create public  # in a devstack deployment
+ - Create 300 PF:
+ $ for i in {1..300}; do openstack floating ip port forwarding create --internal-ip-address 10.0.10.19 --port port1 --internal-protocol-port $i --external-protocol-port $i --protocol tcp $fip1; done
+ 
+ Current code:
+ INFO neutron.wsgi [None req-3aeb3d06-3e7f-44bd-bb86-28af04d75b2e demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 35.2575612
+ 
+ Retrieving the FIP from the db_obj:
+ INFO neutron.wsgi [None req-75f538a8-d248-4e05-bb37-c2c1401b4e61 demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 0.6545706
+ 
+ 
  [1]https://github.com/openstack/neutron/blob/a9fc746249cd34cb7cc594c0b4d74d8ddf65bd46/neutron/objects/port_forwarding.py#L94

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1911462

Title:
  Optimize "PortForwarding" OVO loading

Status in neutron:
  New

Bug description:
  In OVO PortForwarding, the synthetic fields 'floating_ip_address' and
  'router_id' are retrieved from the floating IP related to this port
  forwarding [1].

  PortForwarding contains, in the db_obj, the floating IP DB object too.
  Instead of retrieving the OVO FloatingIP for each field, the db_obj
  should be read instead.

  Steps to create a testing environment:
  - Enable neutron service "port_forwarding"
  - Create a FIP:
  $ openstack floating ip create public  # in a devstack deployment
  - Create 300 PFs:
  $ for i in {1..300}; do openstack floating ip port forwarding create --internal-ip-address 10.0.10.19 --port port1 --internal-protocol-port $i --external-protocol-port $i --protocol tcp $fip1; done

  Current code:
  INFO neutron.wsgi [None req-3aeb3d06-3e7f-44bd-bb86-28af04d75b2e demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 35.2575612

  Retrieving the FIP from the db_obj:
  INFO neutron.wsgi [None req-75f538a8-d248-4e05-bb37-c2c1401b4e61 demo admin] 192.168.10.40 "GET /v2.0/floatingips/d3dc3783-701d-4175-827d-545200aafead/port_forwardings HTTP/1.1" status: 200  len: 68923 time: 0.6545706

  [1]https://github.com/openstack/neutron/blob/a9fc746249cd34cb7cc594c0b4d74d8ddf65bd46/neutron/objects/port_forwarding.py#L94

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1911462/+subscriptions


Follow ups