Namespacing Variables


When using top-scope variables, including facts, Puppet modules should explicitly specify the empty namespace to prevent accidental scoping issues. (style guide).

What you have done

$operatingsystem

What you should have done:

$::operatingsystem

Disabling the check

To disable this check you can add --no-variable_scope-check to your puppet-lint command line.

$ puppet-lint --no-variable_scope-check path/to/file.pp

Alternatively, if you’re calling puppet-lint via the Rake task, you should insert the following line to your Rakefile.

PuppetLint.configuration.send('disable_variable_scope')