Knocking out values

34 views
Skip to first unread message

Helmut Schneider

unread,
Mar 7, 2020, 11:59:01 AM3/7/20
to puppet...@googlegroups.com
Hi,

using Puppet 5.5 and Hiera 3.4.6:

common.yaml:
profiles:
webserver:
apache:
server:
modules:
enable:
- mpm_event
- status

host.yaml:
profiles:
webserver:
apache:
server:
modules:
enable:
- headers
- include
- mpm_prefork
- ssl
- --mpm_event

config.pp
$profiles = lookup({
"name" => "profiles",
"merge" => {
"strategy" => "deep",
"knockout_prefix" => "--",
},
"default_value" => [],
})

Notice: {"enable"=>["mpm_event", "status", "headers", "include",
"mpm_prefork", "ssl"]}
Notice:
/Stage[main]/My_apache::Config/Notify[apacheCfg/modules]/message:
defined 'message' as {
'enable' => ['mpm_event', 'status', 'headers', 'include',
'mpm_prefork', 'ssl']
}

Why isn't mpm_event being removed?

Thank you!

Becca Robinson

unread,
Mar 7, 2020, 12:40:13 PM3/7/20
to puppet...@googlegroups.com
It looks like it’s working as expected.
You did a deep merge, so it is finding all these:

common.yaml
  • mpm_event
  • status

host.yaml
  • headers
  • include
  • mpm_prefork
  • ssl
  • —mpm_prefork (But this one is excluded to do "knockout_prefix" => "—“,)

-- 
Becca




--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/r40jif%243uj3%241%40ciao.gmane.io.

Becca Robinson

unread,
Mar 7, 2020, 1:00:30 PM3/7/20
to puppet...@googlegroups.com
I just ran through some testing and try putting single quotes around your --mpm_event in Hiera.

host.yaml:
profiles:
 webserver:
   apache:
     server:
       modules:
         enable:
           - headers
           - include
           - mpm_prefork
           - ssl
           ---mpm_event'


puppet lookup --node $(hostname -f) --merge deep --knock-out-prefix '--' profiles
---
webserver:
  apache:
    server:
      modules:
        enable:
        - status
        - headers
        - include
        - mpm_prefork
        - ssl

-- 
Becca Robinson
Senior Professional Services Engineer
be...@puppet.com | @_itgrl_
cell: (913) 752-7084
Puppet The shortest path to better software.



On Mar 7, 2020, at 10:53 AM, Helmut Schneider <jump...@gmx.de> wrote:

Helmut Schneider

unread,
Mar 9, 2020, 11:46:34 AM3/9/20
to puppet...@googlegroups.com
Single quotes also do not work for me:

modules:
enable:
- headers
- include
- mpm_prefork
- ssl
- '--mpm_event'

helmut@puppet:~$ sudo puppet lookup --node h2786452.stratoserver.net
--merge deep --knock-out-prefix '--'
profiles.webserver.apache.server.modules
---
enable:
- mpm_event
- status
- headers
- include
- mpm_prefork
- ssl
helmut@puppet:~$

Helmut Schneider

unread,
Mar 9, 2020, 11:46:34 AM3/9/20
to puppet...@googlegroups.com
Am 07.03.2020 um 19:00 schrieb Becca Robinson:
Not for me. But:

modules:
enable:
- headers
- include
- --blablabla
- mpm_prefork
- ssl

This knocks out the next item, here 'mpm_prefork':

helmut@puppet:~$ sudo puppet lookup --node h2786452 --merge deep
--knock-out-prefix '--' profiles.webserver.apache.server.modules
Warning: Undefined variable 'session'; \n (file & line not available)
---
enable:
- mpm_event
- status
- headers
- include
- ssl
helmut@puppet:~$

modules:
enable:
- headers
- '--funny'
- include
- --blablabla
- mpm_prefork
- ssl

helmut@puppet:~$ sudo puppet lookup --node h2786452 --merge deep
--knock-out-prefix '--' profiles.webserver.apache.server.modules
Warning: Undefined variable 'session'; \n (file & line not available)
---
enable:
- mpm_event
- status
- headers
- ssl
helmut@puppet:~$

modules:
enable:
- --'abc'
- headers
- '--def'
- include
- --geh
- mpm_prefork
- --ijk
- ssl

helmut@puppet:~$ sudo puppet lookup --node h2786452 --merge deep
--knock-out-prefix '--' profiles.webserver.apache.server.modules
Warning: Undefined variable 'session'; \n (file & line not available)
---
enable:
- mpm_event
- status
helmut@puppet:~$

Becca Robinson

unread,
Mar 9, 2020, 11:48:23 AM3/9/20
to puppet...@googlegroups.com
What version of Puppet?

-- 
Becca 



-- 
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.

Helmut Schneider

unread,
Mar 9, 2020, 11:53:22 AM3/9/20
to puppet...@googlegroups.com
Am 09.03.2020 um 16:48 schrieb Becca Robinson:
> What version of Puppet?

helmut@h2786452:~$ puppet -V
5.5.18
helmut@h2786452:~$ hiera -V
3.4.6
helmut@h2786452:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
helmut@h2786452:~$

Henrik Lindberg

unread,
Mar 9, 2020, 1:36:56 PM3/9/20
to puppet...@googlegroups.com
You are running into this: https://tickets.puppetlabs.com/browse/PUP-7428

- henrik

---
Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/

Helmut Schneider

unread,
Mar 10, 2020, 5:05:48 AM3/10/20
to puppet...@googlegroups.com
What is the preferred way to handle this? Should one write his/her own code?

Reply all
Reply to author
Forward
0 new messages