2017-02-02 43 views
1

我正在尝试使用Ansible主机名模块更新主机名。在CentOS上运行良好,但在CloudLinux操作系统上引发致命错误。Ansible主机名模块 - 添加操作系统支持

消息:主机模块不能在平台上的Linux(Cloudlinux)

CloudLinux是替代CentOS的下降被使用,所以此模块将工作。该错误是在命令运行之前执行的预检检查,该检查内置于模块中。

问题 - 我如何告诉Ansible'CloudLinux'是这个模块的有效操作系统。

很明显,我可以使用命令模块来更改主机名 - 但我想尽可能使用正确的模块。

回答

1
  1. 在Ansible包中找到主机名模块的代码(例如hostname.py in Ansible 2.2.1);

  2. 在Ansible项目目录(包含剧本的目录)中创建一个library文件夹并将上面的文件复制到里面;

  3. 在这个文件中找到a section where distribution-specific settings are set(例如class CentOSHostnameclass CentOSLinuxHostname);

  4. 添加以下行的下方,或上方或接近的CentOS:

    class CloudlinuxHostname(Hostname): 
        platform = 'Linux' 
        distribution = 'Cloudlinux' 
        strategy_class = RedHatStrategy 
    
  5. 运行剧本。

+0

工作完美,谢谢! – elliotp

相关问题