今天测试部署Zabbix,本来以前是正常的,今天莫名其妙报错。测试后发现是Augeas出现问题,无论如何都不执行。于是采用调试模式:

puppet agent --test --verbose --debug

然后捕捉到了下面的信息:

Debug: Augeas[update-php-parma](provider=augeas): Opening augeas with root /, lens path , flags
Debug: Augeas[update-php-parma](provider=augeas): Augeas version 0.9. is installed
Debug: Augeas[update-php-parma](provider=augeas): Loading failed for one or more files, output from /augeas//error:
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/pos =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/line =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/char =
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/lens = /usr/share/augeas/lenses/dist/ntp.aug:115.14-118.40:
Debug: Augeas[update-php-parma](provider=augeas): /augeas/files/etc/ntp.conf/error/message = Iterated lens matched less than it should
Debug: Augeas[update-php-parma](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/date.timezone", "Asia/Shanghai"]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/post_max_size", "16M"]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/max_execution_time", ""]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/PHP/max_input_time", ""]
Debug: Augeas[update-php-parma](provider=augeas): sending command 'set' with params ["/etc/php.ini/MySQL/mysql.default_socket", "/mysql/var/mysql.sock"]
Debug: Augeas[update-php-parma](provider=augeas): Skipping because no files were changed
Debug: Augeas[update-php-parma](provider=augeas): Closed the augeas connection

首先,没有修改过ntp.conf文件,所以很纳闷啊~(呵呵,刚想起来,ntp.conf中的server写成service,所以才会报错,一个小坑……)

在app_zabbix::conf中的配置节是这么写的

augeas {"update-php-parma" :
context => "/etc/php.ini",
changes => [
"set PHP/date.timezone Asia/Shanghai",
"set PHP/post_max_size 16M",
"set PHP/max_execution_time 300",
"set PHP/max_input_time 300",
"set MySQL/mysql.default_socket /mysql/var/mysql.sock",
],
notify => Service["httpd"],
}

后来在测试机上测试了下,需要安装augeas:

augtool> set "/etc/php.ini/PHP/date.timezone" "Asia/Shanghai"
augtool> save
augtool> get "/etc/php.ini/PHP/date.timezone"
/etc/php.ini/PHP/date.timezone = Asia/Shanghai

直接在命令行中执行就失败(话说我写日志的时候就OK了,之前怎么弄都无法写入)。

呃……解决办法是,所有的context都必须是/files下的,如

augeas {"update-php-parma" :
context => "/files/etc/php.ini",
changes => [
"set PHP/date.timezone Asia/Shanghai",
"set PHP/post_max_size 16M",
"set PHP/max_execution_time 300",
"set PHP/max_input_time 300",
"set MySQL/mysql.default_socket /mysql/var/mysql.sock",
],
notify => Service["httpd"],
}

我去撞墙了……之前写成file当然没用了,后来又去掉了,这就是不认真看官方文档的下场……

Puppet学习:Augeas的怪问题的更多相关文章

  1. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  2. puppet学习笔记(二)

    在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧. 1.获取module路径 这里的module就是指一个模块,可以把puppet想象成一个个项目的部 ...

  3. puppet学习笔记(一)

    之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...

  4. Puppet学习:pp文件权限问题

    由于内网的Puppet还是在测试中,所以对文件权限等内容未做过多关注. 今天报了错误: Error: Could not retrieve catalog from remote server: Er ...

  5. puppet学习:文件夹权限的问题

    之前Zabbix自动部署的文件夹结构总觉得别扭,今天下午抽空调整了下.调整完后,依然是例行的测试. 在客户端执行puppet agent -t时,报错如下: Failed to generate ad ...

  6. puppet学习:类与类的依赖关系的问题

    今天在部署Zabbix的Proxy时,在负责安装的Exec中去掉了一些无关的Package的依赖,结果,就出现了依赖关系的问题. 在zabbix::install中,我写的是require mysql ...

  7. puppet学习笔记

    puppet优势:容易理解.用户较多.门槛低.简单.安装配置文件较少 puppet使用Ruby语言开发,安装puppet需要安装Ruby puppet运行环境:Redhat.Centos.Window ...

  8. Centos 7 Puppet之foreman介绍安装测试

    一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...

  9. 配置管理工具 Puppet的安装和使用

    今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...

随机推荐

  1. Android学习笔记——Menu(二)

    知识点: 这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu). 上下文菜单 上下文菜单提供对UI界面上的特定项或上下文框架的操作,就 ...

  2. 立即调用的函数表达式---IIFE

    有些人则称为“自执行的匿名函数” 在闭包中,我们经常需要使用到匿名函数,我感觉闭包就是一种匿名函数,子集. 但是直接在匿名函数后面调用函数是会出错的.比如: function () { alert(& ...

  3. Linux 内核中 likely 与 unlikely 的宏定义解析

    在 2.6 内核中,随处能够见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么差别? 首先要明白: if(likely(value)) 等价于 if(valu ...

  4. 超全面的JavaWeb笔记day04<dom树等>

    1.案例:在末尾添加节点(*****) 创建标签 createElement方法 创建文本 createTextNode方法 把文本添加到标签下面 appendChild方法 2.元素对象(了解) 如 ...

  5. 2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第三课)

    第二课名称是:Objective-C 回顾上节课的内容: 创建了单个MVC模式的项目 显示项目的各个文件,显示或隐藏导航,Assistant Editor, Console, Object Libra ...

  6. 【RF库Collections测试】Dictionary Should Not Contain Key

    Name:Dictionary Should Not Contain KeySource:Collections <test library>Arguments:[ dictionary ...

  7. 事件和winform的学习

             记得现在已经不在学习winform啦,可是我们为什么还是学习啦,我感觉就是帮助我们往下一个层次进发啦,因为从控制台直接开始进入webform的学习,我们很难接受啦,估计效率也不高啦, ...

  8. 如何利用h5将视频设置为背景

    我们常常有着将视频作为网页背景的需要,但是在设置时也经常差强人意,今天设置了一下,可以基本达到要求了,可能有些小细节做的不是太好,希望指出来,一起进步 第一步:准备工作 工欲善其事必先利其器,我们首先 ...

  9. poj_2774 后缀数组

    题目大意 给定两个字符串A,B,求出A和B中最长公共子串的长度. 题目分析 字符串的子串可以认为是是字符串的某个后缀的前缀,而求最长公共子串相当于A和B的某两个后缀的最长相同前缀.可以考虑使用后缀数组 ...

  10. Neutron SDN 手动实现手册

    安装架构介绍 本文旨在通过自己搭建类似neutron (openvswitch + gre) 实现SDN 的环境,学习了解其工作原理,模拟核心原理,比如:同一租户自定义网络 instance 互通,手 ...