<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <br>
    <div class="moz-cite-prefix">On 09/23/2015 02:17 AM, Cody Herriges
      wrote:<br>
    </div>
    <blockquote cite="mid:5601EFA8.8040204@puppetlabs.com" type="cite">
      <pre wrap="">Alex Schultz wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hey puppet folks,

Based on the meeting yesterday[0], I had proposed creating a parser
function called is_service_default[1] to validate if a variable matched
our agreed upon value of '<SERVICE DEFAULT>'.  This got me thinking
about how can we maybe not use the arbitrary string throughout the
puppet that can not easily be validated.  So I tested creating another
puppet function named service_default[2] to replace the use of '<SERVICE
DEFAULT>' throughout all the puppet modules.  My tests seemed to
indicate that you can use a parser function as parameter default for
classes. 

I wanted to send a note to gather comments around the second function. 
When we originally discussed what to use to designate for a service's
default configuration, I really didn't like using an arbitrary string
since it's hard to parse and validate. I think leveraging a function
might be better since it is something that can be validated via tests
and a syntax checker.  Thoughts?


Thanks,
-Alex

[0] <a class="moz-txt-link-freetext" href="http://eavesdrop.openstack.org/meetings/puppet_openstack/2015/puppet_openstack.2015-09-15-15.00.html">http://eavesdrop.openstack.org/meetings/puppet_openstack/2015/puppet_openstack.2015-09-15-15.00.html</a>
[1] <a class="moz-txt-link-freetext" href="https://review.openstack.org/#/c/223672">https://review.openstack.org/#/c/223672</a>
[2] <a class="moz-txt-link-freetext" href="https://review.openstack.org/#/c/224187">https://review.openstack.org/#/c/224187</a>

</pre>
      </blockquote>
      <pre wrap="">
I've been mulling this over the last several days and I just can't
accept an entire ruby function which would be ran for every parameter
with the desired static value of "<SERVICE DEFAULT>" when the class is
declared and parsed.  I am not generally against using functions as a
parameter default just not a fan in this case because running ruby just
to return a static string seems inappropriate and not optimal.

In this specific case I think the params pattern and inheritance can
obtain us the same goals.  I also find this a valid us of inheritance
cross module namespaces but...only because all our modules must depend
on puppet-openstacklib.

<a class="moz-txt-link-freetext" href="http://paste.openstack.org/show/473655">http://paste.openstack.org/show/473655</a>
</pre>
    </blockquote>
    <br>
    +1 for implementation in pastebin above. Much better solution than
    running function.<br>
    <br>
    Regards,<br>
    Martin<br>
     <br>
    <blockquote cite="mid:5601EFA8.8040204@puppetlabs.com" type="cite">
      <pre wrap="">

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>