Duplicate keystone endpoints when keystone API blips

Bug #1472396 reported by Mike Dorman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-openstacklib
Won't Fix
Medium
Unassigned

Bug Description

(Creating a bug for this, which was discussed on the ML: https://groups.google.com/a/puppetlabs.com/forum/#!searchin/puppet-openstack/duplicate$20keystone$20endpoints/puppet-openstack/je2Nc6kuwm4/pFApJL6XLVIJ )

Details originally posted by Matthew Black:

I was digging around in the icehouse puppet code and I found what I believe is the cause of a duplicate endpoint creation during a short network disruption. In my environments the keystone servers do not reside in the same network as the regions. It looks like the puppet code fails the first request, sleeps 10 seconds, tries again and if that fails it then returns with a nil. The code then returns an empty array to the provider which then is assumed to mean that the endpoint does not exist. If the network blip is over by that point it will attempt to create the endpoint and thus a duplicate endpoint in the catalog.

https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L139

https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L83-L88

Looking at the juno code, which it is using the openstacklib, the issue still exists but in a slightly different fashion.

https://github.com/openstack/puppet-openstacklib/blob/master/lib/puppet/provider/openstack.rb#L55-L66

I believe this should be changed that instead of a breaking out of the loop it should throw an exception.

Revision history for this message
Cody Herriges (ody-cat) wrote :

I went ahead and marked this as "Won't Fix" since it affects icehouse, which is EOL and references code was heavily modified during the Liberty and Mitaka cycles.

Changed in puppet-openstacklib:
status: New → Won't Fix
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.