bad indirection performance with openstack resources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-keystone |
Fix Released
|
Medium
|
Gilles Dubreuil |
Bug Description
Calls like this::
Puppet:
Puppet:
will call self.instances in the provider class every time. self.instances will then create new provider objects for each one. Then the find() method will loop through each one to find the matching name, then the list will be discarded. This is extremely inefficient, and will lead to terrible performance if there are thousands of users/tenants.
These calls should be changed to use the openstack provider `request()` method `show` to get the `:id` of the given resource. The only problem here is that we do not yet have a reliable way to map the resource name to the name + domain we need in order to use `show`. This will be solved by https:/
Changed in puppet-keystone: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in puppet-keystone: | |
assignee: | nobody → Gilles Dubreuil (gdubreui) |
status: | Confirmed → In Progress |
Changed in puppet-keystone: | |
status: | Fix Committed → Fix Released |
Reviewed: https:/ /review. openstack. org/226624 /git.openstack. org/cgit/ openstack/ puppet- keystone/ commit/ ?id=d2c44f731ca a1ac3e57c407fc6 3c0c790e99e43f
Committed: https:/
Submitter: Jenkins
Branch: master
commit d2c44f731caa1ac 3e57c407fc63c0c 790e99e43f
Author: Gilles Dubreuil <email address hidden>
Date: Mon Sep 28 11:14:30 2015 +1000
Replace indirection calls
Indirection calls are replaced with #fetch_project and #fetch_user methods openstackclient (OSC).
using python-
Also removes the assumption that if a resource is unique within a domain space
then the domain doesn't have to be specified.
Closes-Bug: #1493450 c14d49f491f11cb 4a0571f7d31
Change-Id: I36fabf547fa50f