We are migrating to later versions of puppet.
New Version:
# puppet --version
4.5.2
Existing Version:
#puppet-3.8.7
Our existing site.pp is as follows:
#A default site.pp to do a quick test run
import "../classes/*"
import "../nodes/*"
file { 'testfile':
path => '/home/test/testfile',
ensure => present,
mode => 0755,
content => "A test file to check a different manifestdir" ,
}
Exec { path => ["/bin" , "/sbini/", "/usr/bin" , "/usr/sbin/"] }
Now since we are migrating to Puppet 4
, i think below import function to include multiple pp files will not work here in Puppet 4
import "../classes/*"
import "../nodes/*"
If I am not wrong then I can copy all manifests under classes and nodes directory to the below manifest directory
/apps/puppetlabs/code/environments/production/manifests/site.pp
Please suggest how to update the manifests to the later versions of Puppet or there is no compatibility issues ?
Best Answer
Yes, the manifest directory will be imported recursively, so this is the best thing to do.
There are many subtle changes, so test your manifests on Puppet 3 with the future parser (
--parser future
) to see how well they work.Start with Puppet 3.x to 4.x: Get upgrade-ready, release notes and Puppet 3.8 deprecations.