<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>