1. 今天开始动手研究puppet。
- 通过VPSEE的这篇文章,开始对puppet的简单了解,puppet的安装比较简单。如果能够连接外网,下载epel库后,能够快速地安装ruby等依赖库和puppet与puppet-server包。
- 我们的环境中使用了NIS,所以虽然没有使用DNS,也没有在/etc/hosts中配置机器名,但是puppet的ssl连接仍然生效。
2. 在安装完puppet后,才发现只是万里长征第一步。其实puppet最重要与最难的地方是编写模块。在使用puppet中了解到了一个puppet模块应该具有的文件结构:
MODULEPATH/
MODULE_NAME/
files/
templates/
manifests/
init.pp
...
README
3. 后来准备使用example42来学习如何编写模块,并开展一些基础的工作,但是在使用git clone代码包时遇到了不少问题。
- 由于我们的网络环境使用代理才能连接外网,使用http_proxy可以通过http://下载模块,但是对于git://类型的包,http_proxy无法解决。
- 在VPSEE的让git使用http代理文章中,提到了socat来解决git://类型的连接。
- 另外对于https://类型的连接,git可能报ssl错误。
Cloning into cancan...
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/ryanb/cancan.git/info/refs
fatal: HTTP request failed
简单的解决办法是:git config --global http.sslVerify false
- 但是对于https://与git://类型混合的连接,在http代理的环境中,还没有找到办法解决。
4. 下午开始学习puppet的文档,了解puppet模块的基础知识。不知道是不是要先了解下ruby的语法,是不是可以快点进入与提高。
5. 快下班的时候,遇到一个coverity的问题:代码文件包括.h,.cc都已经被扫描,但是只有少数的函数被解析。分析后,在emit绝大部分.cc文件时,一直会报arm的库头文件string.h有函数overload的问题,但是不使用cov-build时,编译并没有问题。初步怀疑,是在cov-config时使用的编译器有问题。明天再继续研究下。