【问题标题】:ansible vmware-tools playbookansible vmware-tools 剧本
【发布时间】:2018-05-16 13:01:08
【问题描述】:

我正在尝试创建一个 playbook,它会查看 "/etc/vmware-tools/services.sh" 是否正在运行,如果没有运行则开始。

我已经尝试过命令和 shell,但我无法确定 syntax 的条件。

    --- # VMWARE_TOOLS_NOT_RUNNING
- hosts: redhat-vm-guest
  user: ansible-user
  become: true
  become_user: root
  connection: ssh
  gather_facts: false
  tasks:
  - name: check vmware tools is running
    command: /etc/vmware-tools/services.sh status
    register: status
  - name: print status
    debug:
      msg: "{{ status.stdout }}

【问题讨论】:

    标签: ansible vmware-tools


    【解决方案1】:

    使用以下内容:

    - name: check vmware tools is running
      command: /etc/vmware-tools/services.sh status
      register: _status
      ignore_errors: True
    
    - name: Start VMWare Tools
        command: /etc/vmware-tools/services.sh start
      when: _status.stdout.find("running") == -1
    

    如果可能,我建议使用service 模块。

    【讨论】:

    • ignore_errors=True 添加到您的第一次检查中,但我还是建议使用service 模块
    • 能否调试_status并发送结果?对于服务,如果 Linux 中不存在,则必须创建一个。但那是另一回事了
    【解决方案2】:

    我终于有了一些有用的东西。

        --- # VMWARE_TOOLS_NOT_RUNNING
    - hosts: vmwaretools
      user: ansibleuser
      become: true
      become_user: root
      connection: ssh
      gather_facts: false
      tasks:
      - name: vmware tools status
        command: /etc/vmware-tools/services.sh status
        ignore_errors: yes
        register: _status
      - debug: msg="{{ _status.stdout }}"
      - name: start vmware tools
        command: "/etc/vmware-tools/services.sh start"
        ignore_errors: yes
        when: _status == _status
      - debug: msg="{{ _status.stdout }}"
    

    【讨论】:

      猜你喜欢
      • 2020-05-08
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2022-10-24
      相关资源
      最近更新 更多