<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Configuration-Management on Giedrius Statkevičius</title><link>https://giedrius.blog/categories/configuration-management/</link><description>Recent content in Configuration-Management on Giedrius Statkevičius</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 08 Nov 2020 20:13:43 +0000</lastBuildDate><atom:link href="https://giedrius.blog/categories/configuration-management/feed.xml" rel="self" type="application/rss+xml"/><item><title>Equivocal Puppet Class Parameters</title><link>https://giedrius.blog/2020/11/08/equivocal-puppet-class-parameters/</link><pubDate>Sun, 08 Nov 2020 20:13:43 +0000</pubDate><guid isPermaLink="false">https://giedrius.blog/?p=744</guid><description>&lt;p&gt;While working with Puppet recently I have noticed that there is some funny business going on with the rules of parameter naming. The Puppet&amp;rsquo;s documentation &lt;a href="https://puppet.com/docs/puppet/6.17/lang_reserved.html#variable-names"&gt;states&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Parameter names begin with a dollar sign prefix ($). The parameter name after the prefix:&lt;/p&gt;
&lt;p&gt;Must begin with a lowercase letter.&lt;/p&gt;
&lt;p&gt;Can include lowercase letters.&lt;/p&gt;
&lt;p&gt;Can include digits.&lt;/p&gt;
&lt;p&gt;Can include underscores.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s see if this is true. Tried applying this manifest with Puppet 5.5.10 which is available on Ubuntu Focal Fossa (20.04):&lt;/p&gt;</description></item><item><title>How to solve puppetdb and SIGKILL problems</title><link>https://giedrius.blog/2020/04/22/how-to-solve-puppetdb-and-sigkill-problems/</link><pubDate>Wed, 22 Apr 2020 20:45:17 +0000</pubDate><guid isPermaLink="false">https://giedrius.blog/?p=636</guid><description>&lt;p&gt;In this post, I wanted to share some knowledge that I have gained recently. Sometimes your Puppet server might start returning 500 HTTP status codes. You should check &lt;code&gt;puppetserver&lt;/code&gt;&amp;rsquo;s logs first of all, of course, but another thing to check is the &lt;code&gt;puppetdb&lt;/code&gt;. &lt;code&gt;puppetdb&lt;/code&gt; is the component which is responsible for storing Puppet-related data. In this case, there were memory-related problems on the &lt;code&gt;puppetdb&lt;/code&gt; instance. The &lt;code&gt;puppetdb&lt;/code&gt; logs in this case have looked like this:&lt;/p&gt;</description></item><item><title>What I would love to see in the Puppet configuration management software</title><link>https://giedrius.blog/2019/07/25/what-i-would-love-to-see-in-the-puppet-configuration-management-software/</link><pubDate>Thu, 25 Jul 2019 20:01:09 +0000</pubDate><guid isPermaLink="false">https://giedrius.blog/?p=561</guid><description>&lt;figure&gt;
&lt;img loading="lazy" src="https://upload.wikimedia.org/wikipedia/commons/f/fb/Hand%5FPuppet.jpg"
alt="Image result for puppet"/&gt; &lt;figcaption&gt;
&lt;p&gt;Image result for puppet&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I have been using &lt;a href="https://github.com/puppetlabs/puppet"&gt;Puppet&lt;/a&gt; off-and-on by now for almost a couple of years and saw it transform from a domain-specific language with lots warts to a pretty and functional language. However, not all is completely fine and dandy. I feel that in some ways it could still be improved a lot.&lt;/p&gt;
&lt;h2 id="namespaces-support-of-modules-in-environments"&gt;Namespaces support of modules in environments&lt;/h2&gt;
&lt;p&gt;Puppet has somewhat good support for namespaces in the code with the special delimiter of &lt;code&gt;::&lt;/code&gt; which has a magical meaning for it: the Puppet agent expects to find the code in one level deeper when it sees such thing in a class name or a &lt;code&gt;define&lt;/code&gt;. From now on, I will only talk about &lt;code&gt;class&lt;/code&gt; objects and not other things which work similarly from the point of view of the parser. However, at the top level, all names of the &lt;code&gt;class&lt;/code&gt; definitions (before &lt;code&gt;::&lt;/code&gt;, if it exists) are at the same, top-most scope. In a very big environment, you could easily run into such a situation that two different modules (competing implementation) configure the same piece of software and they have identical names.&lt;/p&gt;</description></item></channel></rss>