<div dir="ltr">Hi, folks<div><br></div><div>* Intro</div><div><br></div><div>Per our discussion at Meeting #54 [0] I would like to propose the uniform approach of exception handling for all puppet-openstack providers accessing any types of OpenStack APIs.</div><div><br></div><div>* Problem Description</div><div><br></div><div>While working on Fuel during deployment of multi-node HA-aware environments we faced many intermittent operational issues, e.g.:</div><div><br></div><div>401/403 authentication failures when we were doing scaling of OpenStack controllers due to difference in hashing view between keystone instances</div><div>503/502/504 errors due to temporary connectivity issues</div><div>non-idempotent operations like deletion or creation - e.g. if you are deleting an endpoint and someone is deleting on the other node and you get 404 - you should continue with success instead of failing. 409 Conflict error should also signal us to re-fetch resource parameters and then decide what to do with them.</div><div><br></div><div>Obviously, it is not optimal to rerun puppet to correct such errors when we can just handle an exception properly.</div><div><br></div><div>* Current State of Art</div><div><br></div><div>There is some exception handling, but it does not cover all the aforementioned use cases.</div><div><br></div><div>* Proposed solution</div><div><br></div><div>Introduce a library of exception handling methods which should be the same for all puppet openstack providers as these exceptions seem to be generic. Then, for each of the providers we can introduce provider-specific libraries that will inherit from this one.</div><div><br></div><div>Our mos-puppet team could add this into their backlog and could work on that in upstream or downstream and propose it upstream.</div><div><br></div><div>What do you think on that, puppet folks?<br clear="all"><div><br></div><div>[0] <a href="http://eavesdrop.openstack.org/meetings/puppet_openstack/2015/puppet_openstack.2015-10-06-15.00.html">http://eavesdrop.openstack.org/meetings/puppet_openstack/2015/puppet_openstack.2015-10-06-15.00.html</a></div><div><br></div>-- <br><div><div dir="ltr"><div><div dir="ltr">Yours Faithfully,<br>Vladimir Kuklin,<br>Fuel Library Tech Lead,<br>Mirantis, Inc.<br>+7 (495) 640-49-04<br>+7 (926) 702-39-68<br>Skype kuklinvv<br>35bk3, Vorontsovskaya Str.<br>Moscow, Russia,<br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.com</a><br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.ru</a><br><a href="mailto:vkuklin@mirantis.com" target="_blank">vkuklin@mirantis.com</a></div></div></div></div>
</div></div>