2017-08-10 12 views
0

を解釈しません。Ansibleスクリプトモジュールは、私がwith_items変数を解釈Ansibleスクリプトモジュールで問題を抱えてい変数

vsa_deploy_config /タスク/ main.yml:

- name: Create VSA scripts for center 
    template: 
    src: vsa_deploy.ps1.j2 
    dest: "/opt/ansible/roles/vsa_deploy_config/files/{{ item.vsa_hostname }}.ps1" 
    when: target == "local" 
    with_items: 
    - "{{ vsa_center }}" 

- name: Deploy VSAs on Center 
    script: "files/{{ item.vsa_hostname }}.ps1" 
    register: out 
    when: target == "win_center" 
- debug: var=out 
    with_items: 
    - "{{ vsa_center }}" 

vsa_deploy_config/VARS/main.yml:私は脚本を実行すると

--- 
vsa_center: 
    - vcsa_hostname: 10.10.10.74 
     vcsa_username: [email protected] 
     vcsa_password: password 
     vcsa_datacenter: DataCenter1 
     vsa_rdm_lun: 02000000006006bf1d58d25a1020d292f8fcfb22b3554353432d4d 
     vsa_hostname: sm01-ct01 
     vsa_mgmt_ip: 10.10.10.75 
     vsa_mgmt_netmask: 255.255.255.192 
     vsa_mgmt_gw: 10.10.10.65 
     vsa_mgmt_ns: 10.10.10.92 
     vsa_mgmt_pg: SC-MGMT 
     vsa_mgmt_moref: Network:network-13 
     vsa_iscsi_ip: 192.168.2.1 
     vsa_iscsi_netmask: 255.255.255.0 
     vsa_iscsi_pg: ISCSI 
     vsa_iscsi_moref: Network:network-22 
     vsa_mirror_ip: 192.168.5.1 
     vsa_mirror_netmask: 255.255.255.0 
     vsa_mirror_pg: Mirror 
     vsa_mirror_moref: Network:network-23 
     esxi_hostname: 10.10.10.72 
     esxi_datastore: DS-01 
    - vcsa_hostname: 10.10.10.74 
     vcsa_username: [email protected] 
     vcsa_password: password 
     vcsa_datacenter: DataCenter1 
     vsa_rdm_lun: 02000000006006bf1d58d25dd0210bb356a78344e5554353432d4d 
     vsa_hostname: sm02-ct01 
     vsa_mgmt_ip: 10.10.10.76 
     vsa_mgmt_netmask: 255.255.255.192 
     vsa_mgmt_gw: 10.10.10.65 
     vsa_mgmt_ns: 10.10.10.92 
     vsa_mgmt_pg: SC-MGMT 
     vsa_mgmt_moref: Network:network-13 
     vsa_iscsi_ip: 192.168.2.2 
     vsa_iscsi_netmask: 255.255.255.0 
     vsa_iscsi_pg: ISCSI 
     vsa_iscsi_moref: Network:network-22 
     vsa_mirror_ip: 192.168.5.2 
     vsa_mirror_netmask: 255.255.255.0 
     vsa_mirror_pg: Mirror 
     vsa_mirror_moref: Network:network-23 
     esxi_hostname: 10.2.120.73 
     esxi_datastore: DS-02 

私は次のエラーを取得する:

TASK [vsa_deploy_config:センターの展開のVSA] ********* *************************************************** ******************* 致命的:[auto-win1.lab.com]:FAILED! = item {"failed":true、 "msg": "フィールド 'args'には無効な値があり、未定義の変数が含まれているようです。 'item'は未定義です。 '/opt/ansible/roles/vsa_deploy_config/tasks/main.yml':行10、列3にありますが、正確な構文の問題によってはファイル内の他の場所に\ n存在する可能性があります。\ n \ n問題の行は:\ N \ N \ N-名:ここにセンター\ nは^上の展開のVSAのn \ "} 、使用することを再試行する:--limit @は/ opt/ansible/powershell.retry

使用して最初のタスクtemplateモジュールはitem.vsa_hostname変数を正しく解釈しますが、スクリプトモジュールは正しく解釈しません。スクリプトモジュールはwith_itemsを使用できませんか?

答えて

0

は、スクリプトタスクにはwith_itemsありません:

- name: Deploy VSAs on Center 
    script: "files/{{ item.vsa_hostname }}.ps1" 
    register: out 
    when: target == "win_center" 
    with_items: "{{ vsa_center }}" 

- debug: var=out 

P.S.:

- name: Deploy VSAs on Center     # -\ 
    script: "files/{{ item.vsa_hostname }}.ps1" # \ 
    register: out         # /This is task1 
    when: target == "win_center"     # -/ 
- debug: var=out         # -\ 
    with_items:         # > This is task2 
    - "{{ vsa_center }}"       # -/ 

私はあなたが一番下にデバッグを移動したいと思います推測また、不要なネストされたリストをwith_itemsに送る必要はありません。

関連する問題