Ask Your Question

Is agent 3.2.2 too old(!) to run against server 2.4 (puppet v4) ?

asked 2016-05-30 00:59:45 -0600

cm01 gravatar image

updated 2016-06-02 23:50:22 -0600

Hi Guys,

got a brand new v4 server and clean v3 client; ran a basic test and got

puppetserver version: 2.4.0
puppet --version 3.2.2

(Test run on client node)

puppet agent -t --noop

Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate: Error 500 on SERVER: <html>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 500 </title>
<h2>HTTP ERROR: 500</h2>
<p>Problem accessing /prod/file_metadatas/plugins. Reason:
<pre>    No implementation of method: :form-encode* of protocol: #'ring.util.codec/FormEncodeable found for class: nil</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>

Info: Loading facts in /var/lib/puppet/lib/facter/hbafacts.rb
Info: Loading facts in /var/lib/puppet/lib/facter/default_gateway.rb
Info: Loading facts in /var/lib/puppet/lib/facter/packages.rb
Info: Loading facts in /var/lib/puppet/lib/facter/foreman.rb
Info: Loading facts in /var/lib/puppet/lib/facter/disk_facts.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/macaddress.rb
Info: Loading facts in /var/lib/puppet/lib/facter/manufacturer.rb
Info: Loading facts in /var/lib/puppet/lib/facter/raid_ctrl.rb
Info: Loading facts in /var/lib/puppet/lib/facter/tmx_vlan.rb
Info: Loading facts in /var/lib/puppet/lib/facter/multipath.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/ipaddress.rb
Info: Loading facts in /var/lib/puppet/lib/facter/tmx_name.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not intern from b64_zlib_yaml: No format match the given format name or mime-type (b64_zlib_yaml)
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: Error 400 on SERVER: YAML in network requests is not supported. See

I've done a lot of googling but found no (other) solns.

We'd prefer to hang on to our current server v3.2.2 (& nodes v3.2.2) whilst we gradually move to server 2.4 (v4) and make the modules/manifests etc work against both versions until we have made everything v4 clean.
This because we have a lot of node types/modules and a big bang approach is one we want to avoid

Does the above mean I'm going to have to upgrade our current systems to eg v3.8 anyway?

Thanks a lot

Ok so it looks like upgrading the agent is (prob) the only way. What's the recommended method, to either 3.3 or even 3.8.?
There's lots of stuff on upgrades from 3 to 4, not so much on eg 3.2 to 3.3 or 3.8.

edit retag flag offensive close merge delete


That is the official upgrade path.. Upgrade system to v3.8, then have them work with 3.8 and the future parser, then move to 4.x

DarylW gravatar imageDarylW ( 2016-05-31 19:20:44 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-05-31 20:51:46 -0600

cprice404 gravatar image

updated 2016-06-03 08:32:07 -0600

The notes in the link that shows up in that error message make it sound like you might be able to just update to 3.3 to get past it (rather than jumping all the way to 3.8).

YAML support on the network was deprecated in 3.3 due to security issues. Release notes:

3.3.0 3.3.1

Those notes read like you will either need to upgrade the master to 3.3 first, or upgrade agents to at least 3.3.1 if you want them to be able to talk to both the old master and newer ones.

If you don't want to upgrade your 3.2.2 master in place, another option would be to stand up another secondary master (either Puppet Server v1.1.3, or a passenger-based 3.8 master) in your environment, without changing your current production master; similar to what you were planning to do for Puppet Server v2.4.0. Puppet Server 1.1.3 is based on Puppet 3.8 so presumably your agents could talk to it and you'd just see some deprecation warnings about the YAML thing. If that goes well then you can either upgrade your production master to that version, or just switch your agent nodes over to it.

The upgrade from 3.x to 3.8 should hopefully be fairly straightforward. The reason there are so many more docs on upgrading from 3 to 4 is because you will be switching up to the Puppet 4 parser / language specification, which may require you to make some changes to your puppet code. Upgrading within the 3.x series should not require changes to your puppet code.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-05-30 00:59:45 -0600

Seen: 340 times

Last updated: Jun 03 '16