我在Ansible脚本模块解释with_items变量时遇到了问题。
vsa_deploy_config/tasks/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: administrator@vsphere.local
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: administrator@vsphere.local
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
当我运行行动手册时,我收到以下错误:
任务[vsa_deploy_config:在中心服务器上部署VSA]* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *[auto-win 1 . lab . com]:失败!=
使用模板模块的第一个任务解释项目。vsa_hostname变量正确,但脚本模块不正确。脚本模块是否不能使用with_items?
只需将行< code>- debug: var=out移到文件的末尾,它就可以工作了
您的脚本任务没有< code>with_items:
- 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 }}" # -/
我猜你想把debug移到最底层:
- name: Deploy VSAs on Center
script: "files/{{ item.vsa_hostname }}.ps1"
register: out
when: target == "win_center"
with_items: "{{ vsa_center }}"
- debug: var=out
附言:也没有必要将不必要的嵌套列表输入到with_items
中。
在本节,我们主要介绍几种最常用的变量,在后面的章节中,我们会单独介绍一些复杂情景下变量的使用和覆盖原则。 在Playbook中常用的几种变量包含一下几种情况: 在Playbook中用户自定义的变量 用户无需自定义,Ansible会在执行Playbook之前去全程主机上搜集的关于远程节点系统信息的变量 在文件模版中,可以使用里面可以直接使用上述两种变量 把task的运行结果作为一个变量来使用,这个变
我试图使用jobDSL插件中的pipelineJob函数生成Jenkins管道,但是无法将参数从DSL传递到管道脚本。我有几个项目使用本质上相同的Jenkinsfile,只是在几个步骤上有所不同。我正在尝试使用JobDSL插件动态生成这些管道,并解释其中我想要更改的值,以匹配DSL的参数。 我已经在管道脚本和DSL中尝试了几乎所有可能的字符串解释组合,但无法获得Jenkins /groovy来解释
什么是Ansible Module? bash无论在命令行上执行,还是bash脚本中,都需要调用cd、ls、copy、yum等命令;module就是Ansible的“命令”,module是ansible命令行和脚本中都需要调用的。常用的Ansible module有yum、copy、template等。 在bash,调用命令时可以跟不同的参数,每个命令的参数都是该命令自定义的;同样,ansible
YML ansible的脚本语言,yaml格式。请参考YAML语法结构章节 别人的Playbook 能够学会快速用别人的成果,高效地分享自己的成果,才是好码农,才是能早下班的好码农。在你动手从头开始写一个Playbook之前,不如先参考一下别人的成果吧。 官方例子 Ansible官方提供了一些比较常用的、经过测试的Playbook例子: https://github.com/ansible/ans
问题内容: 尝试使用TowerJS作为测试设置基本站点,但是在运行脚手架生成器时遇到此错误。 问题答案: 更新您的package.json文件 在“ devDependencies”上并再次更新npm 为我解决了同样的问题
Cocos Creator 允许你将代码拆分成多个脚本文件,并且让它们相互调用。要实现这点,你需要了解如何在 Cocos Creator 中定义和使用模块,这个步骤简称为 模块化。 如果你还不确定模块化究竟能做什么,模块化相当于: Java 和 Python 中的 import C# 中的 using C/C++ 中的 include HTML 中的 <link> 模块化使你可以在 Cocos C