[openstack-dev] [TripleO] puppet pacemaker thoughts... and an idea

Giulio Fidente gfidente at redhat.com
Thu May 7 15:36:49 UTC 2015


On 05/07/2015 03:31 PM, Dan Prince wrote:
> On Thu, 2015-05-07 at 11:22 +0200, Giulio Fidente wrote:

[...]

>> I think the change is good, I am assuming we don't want the shared parts
>> to get duplicated into the two .pp though.
>
> So again. Duplicating the puppet class includes doesn't bother me too
> much. Some of the logic (perhaps the DB creation) should move over to
> puppet-tripleo however. But I would like to see us not go crazy with the
> composition layer... using the stackforge/puppet modules directly is
> best I think.

but it is not only includes really, I understand we would like it to be 
so, but it isn't

eg, this would be duplicated, if not moved elsewhere:

https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/manifests/overcloud_controller.pp#L166-L227

this as well:

https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/manifests/overcloud_controller.pp#L296-L333

and there are quite a lot of similar examples, the change from marios as 
well, ended up duplicating lots of code:

https://review.openstack.org/#/c/180833/

> Any conversion code in Puppet (functions using split, downcase, etc) I
> view as technical debt which should ideally we would eventually be able
> to convert within the Heat templates themselves into formats usable by
> Hiera directly. Any duplication around that sort of thing would
> eventually get cleaned up as Heat gets an extra function or two.

FWIW, I do agree with the longish-term plan, most of the duplicated code 
*should go away when some more string manipulation can be covered by 
heat* but I still think that will be some of it, not all and yet this 
isn't the case today (and I don't know when it will be honestly)

I think a split will still be worth some duplication when we will start 
supporting *multiple controllers without pacemaker* as well, today not 
so much

on the other hand, we can very well get rid of the ifs today by 
deploying *with* pacemaker in single node scenario as well! we already 
have EnablePacemaker always set to true for dev purposes, even on single 
node
-- 
Giulio Fidente
GPG KEY: 08D733BA



More information about the OpenStack-dev mailing list