← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1830630] [NEW] Get external networks too slowly because it would join subnet and rbac

 

Public bug reported:

Getting networks would join subnet and rbac tables.
When the number of rbac objects which belong to the network is huge, and the network has many subnets.
It would costs sqlachemy much time to instance the orm object of this network.
Such as, a external network with 25 subnets and share to 5000 project.

reproduce this case through the following steps:

1. neutron net-create test_net --router:external True  ---> create a external network
2. for i in {1..5000}; do openstack project create test$i;done    ----> create 5000 projects
3. for i in {1..25}; do neutron subnet-create test_net 192.168.$i.0/24;done   ----> create 25 subnets
4. openstack project list | grep test | awk -F '|' '{print $2}' > tenant_ids   -----> save 5000 project ids
5. for i in `cat tenant_ids`;do neutron rbac-create --tenant-id dd969098bfe14970b3b77fd5d524d697 --target-tenant $i --type network --action access_as_shared 619bf61d-46fa-4a8c-84e4-ee249da1afa3;done    ---> create 5000 rbac to share the network. dd969098bfe14970b3b77fd5d524d697 is the project id of the network and 619bf61d-46fa-4a8c-84e4-ee249da1afa3 is the id of the network.
6. time neutron net-show test_net  ---> this would cost 15+ seconds to get the info of the external network

** Affects: neutron
     Importance: Undecided
         Status: New

** Summary changed:

- Get external networks too slowly because subnet join rbac while there are many rbac obj
+ Get external networks too slowly because it would join subnet and rbac

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

Title:
  Get external networks too slowly because it would join subnet and rbac

Status in neutron:
  New

Bug description:
  Getting networks would join subnet and rbac tables.
  When the number of rbac objects which belong to the network is huge, and the network has many subnets.
  It would costs sqlachemy much time to instance the orm object of this network.
  Such as, a external network with 25 subnets and share to 5000 project.

  reproduce this case through the following steps:

  1. neutron net-create test_net --router:external True  ---> create a external network
  2. for i in {1..5000}; do openstack project create test$i;done    ----> create 5000 projects
  3. for i in {1..25}; do neutron subnet-create test_net 192.168.$i.0/24;done   ----> create 25 subnets
  4. openstack project list | grep test | awk -F '|' '{print $2}' > tenant_ids   -----> save 5000 project ids
  5. for i in `cat tenant_ids`;do neutron rbac-create --tenant-id dd969098bfe14970b3b77fd5d524d697 --target-tenant $i --type network --action access_as_shared 619bf61d-46fa-4a8c-84e4-ee249da1afa3;done    ---> create 5000 rbac to share the network. dd969098bfe14970b3b77fd5d524d697 is the project id of the network and 619bf61d-46fa-4a8c-84e4-ee249da1afa3 is the id of the network.
  6. time neutron net-show test_net  ---> this would cost 15+ seconds to get the info of the external network

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