配置storeconfigs以及解决 Error 400 on SERVER: Could not autoload active_record

在配置puppetmaster时,如果使用storeconfig=ture ,在client去连接的时候就会报错。

错误信息常常有:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not autoload active_record: undefined method `belongs_to' for Puppet::Rails::FactValue:Class

以及等等与active_record有关的400错误。

这主要是由于Ubuntu当前提供的puppet 2.7.11与最新的active_reocrd不兼容,需要手动降级。

这里以matser配置mysql作为数据库为例:

在[master]区域填写以下数值:

storeconfigs=true
dbadapter=mysql2
dbuser= puppetuser
dbpassword= puppetpasswd
dbserver= localhost

 

安装适配器:

apt-get install libmysqlclient-dev
gem install activerecord-mysql2-adapter

 

给activerecord降级:

gem install activerecord --version 3.0.11

 

此时,重启master,client重新发出连接,终于不用看到粉红色的字了~~LOL

 

如果以上还没有修复,请确认你是否安装了多个版本的activerecord,我之前就有过安装了3.0和3.2的导致运行错误。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值