Puppet apply error state

Hi,
Eversince I set up a secondary puppetmaster (using foreman, no CA) some
hosts appear in error state. There are about 190 hosts connecting to this
puppetmaster.

Puppet returns some errors :

#1
Could not retrieve catalog from remote server: Net::ReadTimeout

#2
Could not retrieve catalog from remote server: Could not intern from
text/pson: no 'environments' in
{:current_environment=>#<Puppet::Node::Environment:0x007fbbb55bc548
@name="production", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true, @value_cache={:modules=>[]},
@attr_expirations={:modules=>2015-09-11 08:40:31 -0400},
@known_resource_types=TypeCollection{:hostclasses=>[], :definitions=>[],
:nodes=>[]}>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:http_pool=>#<Puppet::Network::HTTP::Pool:0x007fbbb53ecab0
@pool={#<Puppet::Network::HTTP::Site:0x007fbbb559a308 @scheme="https",
@host="puppetmaster2.company.net <http://puppetmaster2.company.net>",
@port=8140>=>[#<Puppet::Network::HTTP::Session:0x00000001ab64d0
@connection=#<Net::HTTP puppetmaster2.company.net:8140
<http://puppetmaster2.company.net:8140> open=true>,
@expiration_time=2015-09-11 08:42:12 -0400>]},
@factory=#<Puppet::Network::HTTP::factory:0x007fbbb53eca60>,
@keepalive_timeout=4>} at top of [[0, nil, nil], [16,
{:current_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>}, "root"], [17,
{:current_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:http_pool=>#<Puppet::Network::HTTP::Pool:0x007fbbb53ecab0
@pool={#<Puppet::Network::HTTP::Site:0x007fbbb559a308 @scheme="https",
@host="puppetmaster2.company.net <http://puppetmaster2.company.net>",
@port=8140>=>[#<Puppet::Network::HTTP::Session:0x00000001ab64d0
@connection=#<Net::HTTP puppetmaster2.company.net:8140
<http://puppetmaster2.company.net:8140> open=true>,
@expiration_time=2015-09-11 08:42:12 -0400>]},
@factory=#<Puppet::Network::HTTP::factory:0x007fbbb53eca60>,
@keepalive_timeout=4>}, ""]]

#3

Cached catalog for host1.company.net <http://host1.company.net> failed:
Could not parse JSON data for catalog host1.company.net
<http://host1.company.net>: Could not intern from pson: no 'environments'
in {:current_environment=>#<Puppet::Node::Environment:0x007fbbb55bc548
@name="production", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true, @value_cache={:modules=>[]},
@attr_expirations={:modules=>2015-09-11 08:40:31 -0400},
@known_resource_types=TypeCollection{:hostclasses=>[], :definitions=>[],
:nodes=>[]}>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:http_pool=>#<Puppet::Network::HTTP::Pool:0x007fbbb53ecab0
@pool={#<Puppet::Network::HTTP::Site:0x007fbbb559a308 @scheme="https",
@host="puppetmaster2.company.net <http://puppetmaster2.company.net>",
@port=8140>=>[#<Puppet::Network::HTTP::Session:0x00000001ab64d0
@connection=#<Net::HTTP puppetmaster2.company.net:8140
<http://puppetmaster2.company.net:8140> open=true>,
@expiration_time=2015-09-11 08:42:12 -0400>]},
@factory=#<Puppet::Network::HTTP::factory:0x007fbbb53eca60>,
@keepalive_timeout=4>} at top of [[0, nil, nil], [16,
{:current_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>}, "root"], [17,
{:current_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:root_environment=>#<Puppet::Node::Environment:0x00000002c0fd08
@name=:"root", @modulepath=[], @manifest=:no_manifest,
@config_version=nil, @watching=true>,
:http_pool=>#<Puppet::Network::HTTP::Pool:0x007fbbb53ecab0
@pool={#<Puppet::Network::HTTP::Site:0x007fbbb559a308 @scheme="https",
@host="puppetmaster2.company.net <http://puppetmaster2.company.net>",
@port=8140>=>[#<Puppet::Network::HTTP::Session:0x00000001ab64d0
@connection=#<Net::HTTP puppetmaster2.company.net:8140
<http://puppetmaster2.company.net:8140> open=true>,
@expiration_time=2015-09-11 08:42:12 -0400>]},
@factory=#<Puppet::Network::HTTP::factory:0x007fbbb53eca60>,
@keepalive_timeout=4>}, ""]]

Puppet.conf (hosts)

[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl

[agent]
pluginsync = true
report = true
ignoreschedules = true
daemon = false
listen = true
ca_server = puppetca.company.org <http://puppetca.company.org>
certname = host1.company.org <http://host1.company.org>
environment = production
server = puppetmaster2.company.org
<http://puppetmaster2.company.org>

*runinterval = 4h *

Could it be related to passenger ?

Versions :
Foreman : 1.9.0
Puppet (on hosts): 3.8.1-1.fc20

Thank you