可使用的标签,但寄存器变量为空

问题描述 投票:-1回答:1

我想执行带有标签的剧本,因为我想执行脚本的一部分,但是我认为存储在寄存器中的变量为空

---
- hosts: node
  vars:
    service_name: apache2
  become: true

- name: Start if Service Apache is stopped
  shell: service apache2 status | grep Active | awk -v N=2 '{print $N}'
  args:
    warn: false
  register: res
  tags:
    - toto

- name: Start Apache because service was stopped
  service:
    name: "{{service_name}}"
    state: started
  when: res.stdout == 'inactive'
  tags:
    - toto

- name: Check for apache status
  service_facts:
- debug:
    var: ansible_facts.services.apache2.state
  tags:
    - toto2

$ ansible-playbook status.yaml -i hosts --tags="toto,toto2"


PLAY [nodeOne] ***************************************************************************
TASK [Start if Service Apache is stopped] ************************************************
changed: [nodeOne]
TASK [Start Apache because service was stopped] ******************************************
    skipping: [nodeOne]
TASK [debug] *****************************************************************************
   ok: [nodeOne] => {
      "ansible_facts.services.apache2.state": "VARIABLE IS NOT DEFINED!"
}

在脚本末尾,我没有apache status的输出

ansible tags
1个回答
0
投票

Idempotency的概念简化了Ansible工作流程。

© www.soinside.com 2019 - 2024. All rights reserved.