← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1699082] [NEW] update port's allowed-address-pair slow

 

Public bug reported:

Updating port with allowed-address-pair become very slower with allowed-address-pair number increase.
1 allowed-address-pair:
# time neutron port-update --allowed-address-pair ip_address=10.0.0.18,mac_address=fa:16:3e:a7:bb:cc d20c8588-310d-409d-8b2b-96dd36c984b0
Updated port: d20c8588-310d-409d-8b2b-96dd36c984b0

real	0m1.995s
user	0m1.261s
sys	0m0.083s

10 allowed-address-pairs:
# time neutron port-update --allowed-address-pair ip_address=10.0.0.18,mac_address=fa:16:3e:a7:bb:cc --allowed-address-pair ip_address=10.0.0.19,mac_address=fa:16:3e:a7:bb:dd  --allowed-address-pair ip_address=10.0.0.20,mac_address=fa:16:3e:13:1f:57  --allowed-address-pair ip_address=10.0.0.48,mac_address=fa:16:3e:03:0d:2d --allowed-address-pair ip_address=10.0.0.91,mac_address=fa:16:3e:18:ea:a4 --allowed-address-pair ip_address=10.0.0.75,mac_address=fa:16:3e:2a:d1:b5 --allowed-address-pair ip_address=10.0.0.44,mac_address=fa:16:3e:32:7f:0e --allowed-address-pair ip_address=10.0.0.46,mac_address=fa:16:3e:48:55:1d --allowed-address-pair ip_address=10.0.0.12,mac_address=fa:16:3e:4d:ab:bb --allowed-address-pair ip_address=10.0.0.13,mac_address=fa:16:3e:5c:67:3f d20c8588-310d-409d-8b2b-96dd36c984b0
Updated port: d20c8588-310d-409d-8b2b-96dd36c984b0

real	0m8.315s
user	0m1.554s
sys	0m0.185s

The reason is that the l3_dvrscheduler_db.subscribe() in l3_router_plunin.py. This make the l3_dvrscheduler_db subscribe the port_update event.
Even though I don't use DVR, this notification do nothing but many checks in this notification handler waste the time.

The large allowed-address-pair requirement is used in Kubernetes
integration with Neutron when container use macvlan mode in VM.

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  update port's allowed-address-pair slow

Status in neutron:
  New

Bug description:
  Updating port with allowed-address-pair become very slower with allowed-address-pair number increase.
  1 allowed-address-pair:
  # time neutron port-update --allowed-address-pair ip_address=10.0.0.18,mac_address=fa:16:3e:a7:bb:cc d20c8588-310d-409d-8b2b-96dd36c984b0
  Updated port: d20c8588-310d-409d-8b2b-96dd36c984b0

  real	0m1.995s
  user	0m1.261s
  sys	0m0.083s

  10 allowed-address-pairs:
  # time neutron port-update --allowed-address-pair ip_address=10.0.0.18,mac_address=fa:16:3e:a7:bb:cc --allowed-address-pair ip_address=10.0.0.19,mac_address=fa:16:3e:a7:bb:dd  --allowed-address-pair ip_address=10.0.0.20,mac_address=fa:16:3e:13:1f:57  --allowed-address-pair ip_address=10.0.0.48,mac_address=fa:16:3e:03:0d:2d --allowed-address-pair ip_address=10.0.0.91,mac_address=fa:16:3e:18:ea:a4 --allowed-address-pair ip_address=10.0.0.75,mac_address=fa:16:3e:2a:d1:b5 --allowed-address-pair ip_address=10.0.0.44,mac_address=fa:16:3e:32:7f:0e --allowed-address-pair ip_address=10.0.0.46,mac_address=fa:16:3e:48:55:1d --allowed-address-pair ip_address=10.0.0.12,mac_address=fa:16:3e:4d:ab:bb --allowed-address-pair ip_address=10.0.0.13,mac_address=fa:16:3e:5c:67:3f d20c8588-310d-409d-8b2b-96dd36c984b0
  Updated port: d20c8588-310d-409d-8b2b-96dd36c984b0

  real	0m8.315s
  user	0m1.554s
  sys	0m0.185s

  The reason is that the l3_dvrscheduler_db.subscribe() in l3_router_plunin.py. This make the l3_dvrscheduler_db subscribe the port_update event.
  Even though I don't use DVR, this notification do nothing but many checks in this notification handler waste the time.

  The large allowed-address-pair requirement is used in Kubernetes
  integration with Neutron when container use macvlan mode in VM.

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


Follow ups