2017-02-02 41 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

相關問題