簡體   English   中英

嘗試在 ansible 劇本中使用變量文件中的變量

[英]Trying to use variables from variable file in ansible playbook

您好,我很難在我的劇本中使用變量文件中的變量。 我正在使用相同的變量文件快照這是我的代碼,我只是想遍歷列表中的一項。

快照變量.yml

kvm1
  - vm1
  - vm2
kvm2
  - vm4
  - vm3
  - vm5

kvmsnapshot.yml

---
- hosts: kvm2
  vars_files:
    - snapshot.yml
  tasks:
  - name: Create kvm snapshot
    ovirt_snapshot:
      vm_name: "{{ item }}"
      description: prepatch
    loop: "{{ kvm2[2] }}"

您的 var 文件中有一些錯誤:(您忘記了:)並給出正確的名稱(snapshot.yml)

kvm1:
  - vm1
  - vm2
kvm2:
  - vm4
  - vm3
  - vm5

如果您只想使用具有第二個索引的項目,則無需循環:

---
- hosts: kvm2
  vars_files:
    - snapshot.yml
  tasks:
  - name: Create kvm snapshot
    ovirt_snapshot:
      vm_name: "{{ kvm2[2] }}"
      description: prepatch

如果要遍歷 kvm2 的所有值:

---
- hosts: kvm2
  vars_files:
    - snapshot.yml
  tasks:
  - name: Create kvm snapshot
    ovirt_snapshot:
      vm_name: "{{ item }}"
      description: prepatch
    loop: "{{ kvm2 }}"

有幾個語法錯誤。

  1. 修復文件 snapshotvar.yml 的 YAML
shell> cat snapshotvar.yml 
kvm1:
  - vm1
  - vm2
kvm2:
  - vm4
  - vm3
  - vm5
  1. 修復文件snapshotvar.yml的名稱和要迭代的變量kvm2的名稱
- hosts: localhost
  vars_files:
    - snapshotvar.yml
  tasks:
    - debug:
        var: item
      loop: "{{ kvm2 }}"

  item: vm4
  item: vm3
  item: vm5

使任務適合您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM