星期四, 九月 05, 2013

OCF开发者指南 第八章

8 惯例

这一章包含很多这些年资源代理软件仓库里显示的惯例。并非要强制作者遵循这些管理,但是遵循这些惯例,会让资源代理更容易理解和浏览(Lease Surprise 原则

8.1 易懂的参数名


一些参数名是被好多种资源代理支持的。对于新的资源代理,遵循这些命名是比较好的:

  • binary ---- 管理资源的可执行码,比如服务器后台进程;
  • config ---- 配置文件的完整路径;
  • pid ---- 保存pid的文件完整路径;
  • log ---- 日志文件的完整路径;
  • socket ---- unix socket 文件的完整路径;
  • ip ---- 后台服务进程绑定的ip地址;
  • port ---- 服务器进程绑定的TCP和UDP端口
8.2 参数缺省值

缺省的资源代理参数通常以后缀 _default 的变量初始化:
 
# Defaults
OCF_RESKEY_superfrobnicate_default=0

: ${OCF_RESKEY_superfrobnicate=${OCF_RESKEY_superfrobnicate_default}}

注意:资源代理应该在元数据信息里面对没有表明为required是参数设缺省值

8.3 用$PATH环境变量去找可执行文件

当一个资源代理被设计成支持可执行文件为参数时(比如daemon,或者查询状态的客户端),那这个参数应该是在$PATH的环境变量定义的路径里可以找到的。不要提供全路径名。如下面的实现:
 
# Good example -- do it this way
OCF_RESKEY_frobnicate_default="frobnicate"
: ${OCF_RESKEY_frobnicate="${OCF_RESKEY_frobnicate_default}"}

下面的实现则不好:
 
# Bad example -- avoid if you can
OCF_RESKEY_frobnicate_default="/usr/local/sbin/frobnicate"
: ${OCF_RESKEY_frobnicate="${OCF_RESKEY_frobnicate_default}"}

缺省情况下也是这个规则。

没有评论: