I would be really cool if warnings could be disabled (And re enabled) from code, like like pragmas in C++. That would let me keep the undefined variables warning where it's needed, but ignore for other areas. (like third party modules i may not care about)
In my case, i am using hiera lookup paths that use variables that aren't defined until later. (because they come out of hiera itself) The lookup call that gets them warns that they are undefined, until later when i pull them in. Perhaps that could be fixed on the lookup side, alternatively. -Ben On Friday, May 6, 2016 at 6:55:22 PM UTC-7, Henrik Lindberg wrote: > > On 06/05/16 21:00, Vince Skahan wrote: > > > > Is there a way to shut up the undefined variable warnings in PE2016.1 ? > > > This is https://tickets.puppetlabs.com/browse/PUP-1780 > Which was released in Puppet 4.4.0, and is thus in all PE2016.1 versions. > > The input to docs (in the ticket) says: > > "All references to non existing variables will now generate a warning. > Earlier puppet only warned about non existing qualified variables with > more than one namespace segment. > > It is possible to disable these warnings by adding 'undefined_variables' > to the setting 'disabled_warnings'. > > Note that in most cases there is no file/line information available, and > this was one reason why only some cases were reported earlier. We expect > to correct this in the next major version as it requires API breaking > changes." > > Thus - you can get rid of those warnings by disabling that particular > warning. > > Hope that helps > > Best, > - henrik > > > Here's a trivial example: > > > > # puppet apply -t --noop -e 'notice("this should print just a 'x' => > > x${foo}")' > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Info: Loading facts > > Warning: Undefined variable 'foo'; > > (file & line not available) > > Notice: Scope(Class[main]): this should print just a x => x > > Notice: Compiled catalog for myhostname.com in environment production > in > > 0.04 seconds > > > > I see there is a --strict-variables where I can make compilation fail. > > It seems that throwing the warning is the current default > > I'm looking for a "yes I have a good reason so please just quit whining > > about what I am doing" switch :-) > > > > Alternately, is there a way to check for the fact being not defined ? > > I can not find any syntax that works in the 2016.1 parser. > > > > something along the lines of notionally the following: > > if $whatever is defined print out 'whatever = $whatever' > > if $whatever is not defined print out 'whatever is not defined' or null > > or undef or whatever it evaluates to currently. > > > > I'm probably in interpreted language overload among perl/python/bash and > > the Puppet DSL is just not grokking..... > > > > -- > > 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 <javascript:> > > <mailto:puppet-users+unsubscr...@googlegroups.com <javascript:>>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/puppet-users/dcfb928f-6e74-4974-9505-88d446c682f9%40googlegroups.com > > > < > https://groups.google.com/d/msgid/puppet-users/dcfb928f-6e74-4974-9505-88d446c682f9%40googlegroups.com?utm_medium=email&utm_source=footer>. > > > > For more options, visit https://groups.google.com/d/optout. > > > -- > > Visit my Blog "Puppet on the Edge" > http://puppet-on-the-edge.blogspot.se/ > -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/aedd4f90-c872-4e1a-8144-b6603b9a3cc6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.