<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
So ... to summarize, we found 3 different issues:<br>
<br>
<div class="" id="magicdomid10"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">1.
Races on httpd_mod -> httpd_mod is a custom type, relying on
ruby code. It has a clear race, that is shown on all of our
manifests using that. If you use httpd_mod to install</span></div>
<div class="" id="magicdomid11"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">new
apache modules, they won't be applied until apache is restarted
manually. Reason is that the manifest installs the apache
package, and just after that does a start of the apache service,</span></div>
<div class="" id="magicdomid12"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">without
considering other extra configurations needed (httpd_mod in that
case).</span></div>
<div class="" id="magicdomid13"><br>
</div>
<div class="" id="magicdomid14"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">2.
httpd_mod is not valid for Centos/RHEL systems. There is a
change proposed to fix this behaviour in internal types: </span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a href="https://review.openstack.org/#/c/216318/">https://review.openstack.org/#/c/216318/</a></span></div>
<div class="" id="magicdomid15"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">But
really all our manifests using httpd_mod should be applying this
patch as well. Also, manual workarounds are needed to install
mods on CentOS:</span></div>
<div class="" id="magicdomid16"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">
</span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a
href="https://review.openstack.org/#/c/199798/8/manifests/init.pp">https://review.openstack.org/#/c/199798/8/manifests/init.pp</a></span></div>
<div class="" id="magicdomid17"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw"> </span></div>
<div class="" id="magicdomid18"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">puppetlabs-apache
does the job internally, allowing to pass related packages to
the apache::mod</span></div>
<div class="" id="magicdomid19"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">construction:
</span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a
href="https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/mod.pp">https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/mod.pp</a></span></div>
<div class="" id="magicdomid20"><br>
</div>
<div class="" id="magicdomid21"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">3.
Module does not offer possibilities for adding extra
configuration files, need to be done manually such as on: </span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a
href="https://review.openstack.org/#/c/215169/2/manifests/apache.pp">https://review.openstack.org/#/c/215169/2/manifests/apache.pp</a></span></div>
<div class="" id="magicdomid22"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">puppetlabs-apache
module is offering that: </span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a
href="https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/custom_config.pp">https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/custom_config.pp</a></span></div>
<div class="" id="magicdomid23"><br>
And the short term solution for each problem will be:<br>
<br>
1 and 2 -> <span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">Create
an httpd::mod defined type that is a wrapper of the original
httpd_mod, as done on </span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a href="https://review.openstack.org/#/c/216835/">https://review.openstack.org/#/c/216835/</a></span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">.
This wrapper should add the before (and notify?) calls ,</span>
<div class="" id="magicdomid34"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">as
well as skipping the call to httpd_mod in centos case (</span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a href="https://review.openstack.org/#/c/216318/%29">https://review.openstack.org/#/c/216318/)</a></span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw"> . This
is a good solution, but will involve a rewrite on all our
manifests, to replace httpd_mod</span></div>
<div class="" id="magicdomid35"><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">calls
by httpd::mod as done on </span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw
url"><a href="https://review.openstack.org/#/c/217334/">https://review.openstack.org/#/c/217334/</a></span><span
class="author-a-z79zz67zz83zuz122z3z89z4z86zz70zz66zz87zz80zciw">.<br>
<br>
3 -> we should take a look at
<a class="moz-txt-link-freetext" href="https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/custom_config.pp">https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/custom_config.pp</a>
, get inspired by that, and add this bits to our httpd module.<br>
<br>
In the long term i'm in favour for puppetlabs-apache
migration, but that can be an independent discussion.<br>
<br>
Do we agree on this plan?<br>
<br>
Best<br>
Yolanda<br>
</span></div>
</div>
<br>
<br>
<div class="moz-cite-prefix">El 28/08/15 a las 03:08, Jeremy Stanley
escribió:<br>
</div>
<blockquote cite="mid:20150828010802.GF7955@yuggoth.org" type="cite">
<pre wrap="">On Thu, Aug 27, 2015 at 5:38 PM, Spencer Krum <a class="moz-txt-link-rfc2396E" href="mailto:krum.spencer@gmail.com"><krum.spencer@gmail.com></a> wrote:
[...]
</pre>
<blockquote type="cite">
<pre wrap="">In that case I would recommend either before => Package['httpd'] or before
=> Class['httpd::install']. (The second one requires us to create that
class, but this is a pattern used by many modules to expose exactly this
kind of hooks into the dependency graph).
</pre>
</blockquote>
<pre wrap="">
Do you maybe mean "after => Package['httpd']" there? The directories
we want to put these files in won't exist until the package
installation completes. We just want to make sure we notify the
service after the files get installed.
Anyway, I'm willing to give this another shot. I will admit I took
the easy way out in my patch and just puppeted the needed
directories after I ran up against Puppet complaining about a
circular dep tree calculation.
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Yolanda Robla Mota
Cloud Automation and Distribution Engineer
+34 605641639
<a class="moz-txt-link-abbreviated" href="mailto:yolanda.robla-mota@hp.com">yolanda.robla-mota@hp.com</a></pre>
</body>
</html>