<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>
<div>FYI I have created <a href="https://bugs.launchpad.net/puppet-openstacklib/+bug/1472396">https://bugs.launchpad.net/puppet-openstacklib/+bug/1472396</a> for tracking this.</div>
<div><br>
</div>
<div>I may have some time to work on this after our Kilo upgrade is done, but I can’t make any promises right now.</div>
<div><br>
</div>
<div>
<div id="MAC_OUTLOOK_SIGNATURE"></div>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:12pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Matt Fischer<br>
<span style="font-weight:bold">Reply-To: </span>"<a href="mailto:puppet-openstack@puppetlabs.com">puppet-openstack@puppetlabs.com</a>"<br>
<span style="font-weight:bold">Date: </span>Thursday, June 18, 2015 at 7:22 AM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:puppet-openstack@puppetlabs.com">puppet-openstack@puppetlabs.com</a>"<br>
<span style="font-weight:bold">Subject: </span>Re: [puppet] Re: duplicate keystone endpoints<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">We've had issues with this too. I probably should not commit to working on a fix but I'd be happy to help test and review it.</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Jun 17, 2015 at 5:58 PM, Mike Dorman <span dir="ltr">
<<a href="mailto:mdorman@godaddy.com" target="_blank">mdorman@godaddy.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>
<div>We’ve had this same problem, too, and I’d agree it should fail the Puppet run rather than just passing.  Would you mind writing up a bug report for this at <a href="https://launchpad.net/puppet-openstacklib" target="_blank">https://launchpad.net/puppet-openstacklib</a> ?</div>
<div><br>
</div>
<div>I have this on my list of stuff to fix when we go to Kilo (soon), so if somebody else doesn’t fix it, then I will.</div>
<div><br>
</div>
<div>Thanks!</div>
<div><br>
</div>
<div>
<div></div>
</div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:12pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt">
<span style="font-weight:bold">From: </span><Black>, Matthew<br>
<span style="font-weight:bold">Reply-To: </span>"<a href="mailto:puppet-openstack@puppetlabs.com" target="_blank">puppet-openstack@puppetlabs.com</a>"<br>
<span style="font-weight:bold">Date: </span>Wednesday, June 17, 2015 at 12:54 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:puppet-openstack@puppetlabs.com" target="_blank">puppet-openstack@puppetlabs.com</a>"<br>
<span style="font-weight:bold">Subject: </span>duplicate keystone endpoints<br>
</div>
<div>
<div class="h5">
<div><br>
</div>
<div>
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>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.</div>
<div><br>
</div>
<div><a href="https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L139" target="_blank">https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L139</a></div>
<div><br>
</div>
<div><a href="https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L83-L88" target="_blank">https://github.com/openstack/puppet-keystone/blob/stable/icehouse/lib/puppet/provider/keystone.rb#L83-L88</a> </div>
<div><br>
</div>
<br>
<div>Looking at the juno code, which it is using the openstacklib, the issue still exists but in a slightly different fashion.</div>
<div><br>
</div>
<div><a href="https://github.com/openstack/puppet-openstacklib/blob/master/lib/puppet/provider/openstack.rb#L55-L66" target="_blank">https://github.com/openstack/puppet-openstacklib/blob/master/lib/puppet/provider/openstack.rb#L55-L66</a></div>
<div><br>
</div>
<div>I believe this should be changed that instead of a breaking out of the loop it should throw an exception.</div>
<p></p>
-- <br>
<br>
<p></p>
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href="mailto:puppet-openstack+unsubscribe@puppetlabs.com" target="_blank">puppet-openstack+unsubscribe@puppetlabs.com</a>.<br>
</div>
</div>
</div>
</div>
</span></div>
<div class="HOEnZb">
<div class="h5">
<p></p>
-- <br>
<br>
<p></p>
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href="mailto:puppet-openstack+unsubscribe@puppetlabs.com" target="_blank">puppet-openstack+unsubscribe@puppetlabs.com</a>.<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<p></p>
-- <br>
<br>
<p></p>
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href="mailto:puppet-openstack+unsubscribe@puppetlabs.com">puppet-openstack+unsubscribe@puppetlabs.com</a>.<br>
</div>
</div>
</span>
</body>
</html>