Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

There were several talks that happened during puppetconf 2015 talking about the puppet 3 to puppet 4 migration path. Many of them referenced tools like this... catalog preview module. It allows you to see and diff your catalog between puppet3 and puppet4 syntax so you can inspect it for differences.

I'm not sure if it is feasable for you to upgrade to 3.8.7 first (and pay attention to all of the warnings that your puppet master spits out), That would make your transition to 4.x less painful.

You also could run a parallel puppet4 master, and forward all CA traffic to a single puppet master. That would allow you to migrate one node at a time, or run individual puppet agent -t --server puppet4.server --noop tests on each of your nodes.

Directly relating to your issues above, that looks like some data isn't getting properly loaded into your ruby code, and so it is trying to apply collections to a 'nil' object, Ruby's equivalent to the 'null' object in java or c++. or the None type in python. Without knowing where it is being thrown (facts? functions? puppet itself?) we won't be able to help you track it down.

There were several talks that happened during puppetconf 2015 talking about the puppet 3 to puppet 4 migration path. Many of them referenced tools like this... catalog preview module. It allows you to see and diff your catalog between puppet3 and puppet4 syntax so you can inspect it for differences.

I'm not sure if it is feasable for you to upgrade to 3.8.7 first (and pay attention to all of the warnings that your puppet master spits out), That would make your transition to 4.x less painful.

You also could run a parallel puppet4 master, and forward all CA traffic to a single puppet master. That would allow you to migrate one node at a time, or run individual puppet agent -t --server puppet4.server --noop tests on each of your nodes.

nodes.