微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 Puppet 翻译成 Ansible

如何解决将 Puppet 翻译成 Ansible

这是管理 service 的傀儡代码

class fred::service {

service { 'bob':
        enable => true,ensure => 'running',require => Package['bob-5.4']
    }
}

我在 Ansible 角色中的翻译

---
- name: check bob
    service:
    name: bob
    enabled: true
    state: running
    package:
    name: bob-5.4
    state: present

我的问题是:

  1. 翻译正确吗?
  2. 有人告诉我,包裹会在服务之前送达?
  3. 我需要package:

解决方法

订单不正确。您应该首先尝试安装该软件包。如果包已经存在,它会自动跳过这个(导致 ok)。

检查服务是否正在运行时,state: running 在 Ansible 中无效,它应该是 state: started

- name: Install package
  apt:
    name: bob-5.4
    state: present

- name: Check if service is running
  service:
    name: bob
    state: started
    enabled: yes

根据您安装软件包的内容,这可能需要稍作修改(例如,packageyum 而不是 apt)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。