2013.11.26

来源:互联网 发布:科胜通软件 编辑:程序博客网 时间:2024/06/04 19:49

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时使用的编译器有问题。明天再继续研究下。