Ansible命令模块can';不执行参数

这里有一个可供选择的绞索 我遇到的问题是,当我使用“command”模块执行命令时,它会失败。在远程主机和本地主机上也尝试了此操作 基本信息: 版本:ansible 2.0.0(devel 2c9d1257ba) 核心:(分离头5983d64d77)最后更新2015/05/30 07:22:33(GMT+800) 附加:(分离头1276420a3a)最后更新2015/05/30 07:22:41(GMT+800) Ansible主机文件 local ansible_ssh_host=127.

Ansible群

我正在尝试将sensu检查自动部署到主机扮演的每个角色 我现在的结构是 group_vars/ nginx all 在每个group_vars文件中,我定义了以下内容: sensu_checks: - check_name - check_other_name 例如,在组_vars/我所有的: sensu_checks: - check_raid - check_load - check_disk sensu_checks: - check_pid - ch

在Ansible中设置环境';好像不行

领事查找插件有以下代码。我想通过为ANSIBLE\u CONSUL\u URL设置环境变量来覆盖。我似乎无法让我的任务使用环境变量。如果在运行任务之前手动设置环境变量,则任务运行正常 self.agent_url = 'http://localhost:8500' if os.getenv('ANSIBLE_CONSUL_URL') is not None: self.agent_url = os.environ['ANSIBLE_CONSUL_URL'] 我的任务: 错误 TASK:

在linux中使用ansible运行.bin可执行文件

我对ansible很陌生。我能够创建ansible脚本来安装rpm和deb软件包。但是,我没有找到任何运行和安装.bin文件的示例 其想法是触发安装位于本地下载文件夹中的.bin文件 可能吗? 我试过这样做 - file: path=$HOME/Downloads/Xplorer-6.0.1-linux-installer.bin state=touch mode="u=rwx,g=rx,o=rx" - expect: command: $HOME/Downloads/Xplorer-

如何在条件允许的情况下无误退出Ansible play

当我满足某个条件时,我希望在没有错误的情况下退出(我知道和模块)。以下代码退出,但出现故障: tasks: - name: Check if there is something to upgrade shell: if apt-get --dry-run upgrade | grep -q "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded"; then echo "no"; else echo

如何获取ansible中每个任务的退出状态

我的ansible yml文件中有3个任务,如下所示 --- - name: Instance provisioning local_action: module: ec2 region: "{{ vpc_region }}" key_name: "{{ ec2_keypair }}" instance_type: "{{ instance_type }}" image: "{{ ec2_image}}" zo

Ansible 错误';失败';不是游戏的有效属性

我对Ansible不熟悉。下面是我试图播放的剧本的一小段,但遇到错误“error!fail”不是剧本的有效属性” 我尝试了stackoverflow上的多个选项,但没有成功。必须在任务级别使用fail指令 这意味着为了达到你想要的效果,你必须做如下的事情 --- vars_prompt: - name: "var1" prompt: "Please pass variable" private: no tasks: - fail

用于重新启动Apache的Ansible代码

我有一个重启Apache服务器的基本操作手册,但我想知道下面的命令是如何解释和转换为它的等效命令--服务httpd start - name: ensure apache is running service: name: httpd state: started 服务模块首先获取服务的状态(httpd)。如果服务已启动或正在运行或已重新加载,并且所需的服务状态为已启动,则不会重新启动服务 self.svc_change = False ... ... if n

如何使用ansible中列表项键入的计算值将列表映射到dict?

我为这个尴尬的标题道歉,但我想不出一个更好的方式来表达一个看似非常常见的操作: 我有一张这样的清单 repos: - nrser/x - nrser/y 想把它变成一个像dict一样的 repos_dict: nrser/x: nrser_x nrser/y: nrser_y 这在python中非常简单 repos = ['nrser/x', 'nrser/y'] repos_dict = dict((repo, repo.replace('/', '_')) for repo in

Ansible 当服务器组不等于

我试图在服务器组上重新启动jboss,除了cgfmgr,它失败了。能帮我解释一下语法吗 任务: - name: restarted jboss service: name=jboss state=restarted enabled=yes when: inventory_hostname in groups["{{ server_group }}:!cfgmgr-{{ server_group }}"] 错误- 任务:[重新启动jboss] ****************

运行并行不同任务Ansible 2.2.0

我想知道是否有可能在ansible 2.2.0中为两个不同的主机并行部署6个不同的任务(3 | 3),因为我遇到了问题,将它们与一个playbook并行运行,它们只是顺序运行。您可以使用异步任务来实现这一点。大概是这样的: - hosts: host1,host2 tasks: - command: /task1a.sh async: 1000 poll: 0 register: task1a when: inventory_hostn

Ansible:在完成循环时应用

我想将ansible中的循环与应用于它的when语句结合起来。然而,当语句应用于每个循环迭代时,这就消除了将一个语句应用于整个循环的可能性。有人知道怎么做吗 我以前遇到过这个问题,但在这个特定的例子中,它涉及一个可能存在或不存在的变量。我想做的是: - name: Loop debug: msg: "{{ item }}" with_items: x.y|default([]) but-only-run-this-loop-when: x is defined 默认过滤器负

Ansible坚持第一次跑步

每当我添加新机器并第一次运行playbook时,它就会挂起。当我从Ansible服务器ssh到该机器并退出并再次运行playbook时,它就可以工作了 Ansible很可能无法验证主机密钥,当您连接到ssh时,系统会提示您手动确认主机密钥 将host\u key\u checking=false添加到您的帐户。Ansible很可能无法验证主机密钥,当您连接ssh时,系统会提示您手动确认 添加host\u key\u checking=false。请每个问题问一个问题。我删掉了与标题不匹配的一个。

指向父级的Ansible库存组数组指针

我想看看是否有人知道我在Ansible面临的这个问题是否有解决方案 我有一个清单文件,如下所示:- [clusterA] 10.0.0.1 10.0.0.2 10.0.0.3 .... [clusterB] 10.1.0.1 10.1.0.2 10.1.0.3 .... [web-lb] 10.0.0.1 10.1.0.1 [web-lb:children] clusterA[0] clusterB[0] 我不想重复web lb组中的IP地址,而是想执行以下操作:- [clusterA]

是否有默认情况下ansible加载它的vars.yaml?

在我的大多数剧本中,是否有ansible默认加载的文件?这样我就可以将默认变量放入其中。不,剧本中没有默认变量文件 /roles//defaults/main.yml中的角色有默认值 为您的剧本提供一些常用变量的通常方法是对特殊组all使用组变量 将它们放入:/group\u vars/all/common.yml

在Ansible中使用json_query/jmespath筛选器进行多个搜索

我试图在下面的json片段中解析出特定的子网名称,同时在json\u查询中使用contains\u with或start\u with过滤器。 它包含两个VNET,每个VNET都有多个子网: { "azure_virtualnetworks": [ { "name": "test-vnet-172-17-0-0-19", "properties": { "subnets": [ { "nam

Ansible:变量/循环中的变量或迭代项

这是一个我们必须调试的简单vars文件 /roles/test/vars/{{ansible_distribution | lower}}/apt packages.yml packages: required: - htop # - aptitude package: htop: allow_unauthenticated: no autoclean: no autoremove: no cache

如何使用ansible或ansible很好地拆分多行长条件语句?

我已经知道,如果你有很长的条件和它们之间,你可以使用列表将它们分割成多行 尽管如此,我还不知道有什么办法可以解决你和他们之间的问题 现实生活中的实例: when: ansible_user_dir is not defined or ansible_python is not defined or ansible_processor_vcpus is not defined 这一行很难看,很难读,显然不适合79栏 我们如何重写它以使其更易于阅读?使用YAML折叠运算符 when: >

Ansible检查清单主机名是否在列表中

我试图检查inventory\u hostname是否在导入变量的列表中 vars/users.yml file: --- users: - username: user1 comment: "User 1" group: admin password: "sha password" keys: active: - "ssh-rsa etc" admin: yes - username: user2 comm

Ansible 直到条件匹配为止。

我想在每次调用检查结果中的特定参数后,进行一系列API调用,如果该参数大于特定值,则将其保存在寄存器中,并继续执行playbook 基本上,我正在对RHEV进行API调用以检查存储域。然后我想检查存储域是否有足够的空间,如果有,将该存储域id存储在寄存器中,以便在存储域上创建磁盘 下面是我如何对storagedomain进行单个API调用的代码段 - name: Get Free Storage Domain On RHEV uri: url: "{{ rhevurl }}/sto

Ansible:已更改=0

我想知道在某些情况下,ansible显示“changed=0”,甚至连playbook任务都成功执行了,ok=2。 当使用REST API和URI模块时,这种情况就发生了。 我试图找到一个解释,但没有成功。 谁能告诉我原因是什么?如果我一起在多台服务器上进行更改,而不是手动检查更改是否完成,这将是一个大问题。 谢谢 Ansible中“更改”和“确定”之间的关键区别在于所有模块之间就什么是“确定”和什么是“更改”达成了内部一致 当一个模块认为它的动作改变了某些东西时(例如,在模块执行前主体的状态和

Ansible:为一组主机创建动态增加编号的目录

例如,我想为一组5台主机创建10个数量递增的目录。 任务结束后,结果应为: Server1 Server2 Server3 Server4 server5 dir01 dir02 dir03 dir04 dir05 dir06 dir07 dir08 dir09 dir10 如果我必须创建更多的目录,服务器之间的轮换将继续 在一组5台主机中运行以下任务时: - name: Creates Project's d

Ansible 如何对字典值使用比较运算符?

我正在尝试编写一个任务,根据条件将字典值存储在变量中 我不熟悉这项技术。请任何人帮助下面的请求 我尝试了以下代码。请在下面查看 - set_fact: v1: "{{ v1|default([]) + item.keys() if item.values() == false else 1 }}" loop: "{{ dv }}" “dv”是一本字典 [{1A:True},{2A:True},{3A:False},{4A:False}] 实际上,这里我只使用比较运算符在v

Ansible 在具有要循环的\u项之间迁移

我正在尝试将一些代码从with_项迁移到循环 我有这个剧本。看起来它们是相同的,但只是将with_项更改为循环 - debug: msg: "{{ item }}" loop: - "{{ lookup('pipe','echo -e \"pro.json\npre.json\ndev.json\"').split('\n') }}" - debug: msg: "{{ item }}" with_items: - "{{ lookup('pip

在ansible中添加用户并强制更改密码,在添加新用户时重置用户密码

我在Ansible和向服务器添加新用户方面遇到问题。 首先,我检查用户是否出现在系统上,如果没有,然后我继续创建他们 我在这里发现了一个类似的问题: 通过添加一个简单的salt,我能够修复在文件userlist中添加新用户时更改的状态。 然而,最后一部分,即处理程序,总是被执行的 我的剧本是这样的: --- - hosts: all become: yes vars_files: - /home/ansible/userlist tasks: - name: chec

设置Ansible playbook时出现win_shell模块错误

我正在尝试设置一个包含win\u shell模块的剧本,但由于某些原因,它不起作用 --- - name: Installer hosts: localhost tasks: - name: Display tmp folder win_shell: echo %tmp% args: executable: cmd register: homedir_out - debug: var=homedir_out.stderr 我得到的错误是:

Ansible 模参数的可解性条件

在这个问题上叠加以使我的代码清晰 例如: - name: task copy: src: "{{ 1 }}" dest: "{{ 2 }}" 正如我在文档文件模块copy中看到的,copy有一个参数: 远程\u src:是/否 所以我的问题是: 是否可以根据单个任务块中的任何条件使用此参数 比如: - name: task copy: src: "{{ 1 }}" dest: "{{ 2 }}" if my_condition == 1 rem

Ansible-未安装deb时的剧本安装

我试图写一个剧本,我想检查是否安装了一个deb包,如果没有安装,然后安装 到目前为止,我尝试使用package_facts模块,但我无法理解这一点 - name: Gather package facts package_facts: manager: auto - name: Debug if package is present debug: msg: 'yes, mypackage is present' when:

模板idemotent是否在ansible中?

是否只是将模板复制到远程主机idepomdent的过程? 例如: - name: Template a file to /etc/files.conf template: src: /mytemplates/foo.j2 dest: /etc/file.conf owner: bin group: wheel mode: '0644' 模板示例 Hello world {{ test_variable }} 这取决于模板。取决于模板意味着,如果模板

有什么方法可以获得一项任务的更多细节吗 ansible剧本-列出任务-标记

列出任务名。除了名称之外,还有什么方法可以获取任务的更多详细信息吗?如果您希望在不执行任务的情况下查看每个任务的最终结果 Ansible提供了一种检查模式,也称为干运行模式,用于预测每个任务中可能发生的更改,而不实际执行该任务 ansible-playbook —list-tasks —tag<tagname> ansible-playbook --check your_playbook.yaml

Ansible:通过CLI传递变量时,无法触发具有when条件的任务

在Ansible中,我想使用when条件来在远程机器上执行一些shell命令,这取决于条件匹配与否。我发送带有-e(--extra-var)参数的变量,如下所示。但是,没有任务与我的VAR匹配,虽然应该匹配,但总是跳过。我错过什么了吗?有人帮我吗 易读版本 ansible 2.9.2 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/module

Ansible:如何复制4个命令的输出

我想将变量showoutput(其中有4个命令)的内容复制到一个文件中。但是,当我执行playbook时,它只复制第一个命令 如何复制这四个命令 在我的剧本下面: - hosts: ios vars: command_list: - show cdp neigh - show ip interface brief - show clock - show arp tasks: - name: Run the SHOW com

如何在ansible标准中显示AWS EC2专用ip地址?

我有下面的剧本来显示ec2主机列表的du。但是,这样,输出将显示du和相应的公共ip地址。我如何修改它以显示输出以及相应ec2实例的私有IP地址 --- - hosts: ec2_hosts tasks: - name: "display disk utilization" command: df -h /home register: show - debug: var=show.stdout_lin

从ansible playbook中的yml文件访问变量

我试图在运行ansible playbook时从清单文件(yml)访问变量。清单文件(仅相关部分)的代码段格式如下 cfgs: - name: RCH members: - holiday - map - list - network 我希望将“RCH”作为变量导入到我的剧本中。有人能帮我吗?并且不希望修改库存文件,

使用Ansible停用当前Ansible用户

在使用Ansible设置新的Raspberry Pi时,我要执行以下操作: 使用默认的piuser,创建一个名为my\u new\u admin 使用新的my\u new\u admin用户,停用默认的pi用户 继续以my\u new\u admin 我发现单凭一本剧本很难做到这一点。甚至可以在Ansible中这样切换活动用户吗 #inventory.yaml --- 全部: 儿童: rpis: 主持人: myraspberrypi.example.com: 回答用户:我的新管理员还是“pi

Ansible模板:如果值设置为true,则添加节

在我的Ansibledefaults.yml中,我有: plugins: - name: myfirstplugin install: true - name: .... install: true etc... 我有一个部署模板的任务。如果myfirstplugin设置为安装(install:true),我希望在此模板中添加一个部分 因此,在我的模板中,我需要如下内容: {% if plugins.name.['myfirstplugin'].install is

如何将ansible执行输出重定向到远程主机上的日志文件到指定位置

我想将playbook在远程主机上的执行存储在指定目录中 例如,在playbook下面,我想要在执行以下任务的远程主机上执行的全部输出 主机:本地主机 任务: 名称:将svn文本文件复制到{{tgt1.stdout}}文件夹 副本: src:/u01/checkout/ 目的地:/u01/结帐/ 遵循:正确 模式:0755 名称:提交更改 shell:svnci——用户名竹子——密码竹子 args: chdir:/checkout/checkout/

ansible中regex_findall中的变量

在regex_findall中,我硬编码了一个值为v12201,我想用变量替换它。如果是这样,在regex_findall中使用的语法是什么?提前谢谢。我尝试了以下方法,效果很好 - name: Get names for all running Oracle databases from oratab file slurp: src: /etc/oratab register: oracle_patch_oratab - name: Extract a list of DBs

&引用;sudo ansible剧本“;即使使用--user选项,命令也会失败

我有一个用户foo,它能够对a(self)和B执行无密码ssh。playbook需要sudo访问,我正在使用been升级其中,下面的命令工作正常 ansible-playbook -i ../inventory.ini --user=foo --become --become-user=root echo_playbook.yml 但是上面的命令是shell脚本的一部分,它没有foo的权限。所以,当我使用sudo触发shell脚本时,ansible说主机不可访问。因此,我使用sudo尝试了an

获取ansible中变量的值

我正在尝试列出已找到匹配项的名称 - name: search for files containing string find: paths: /root/ansible-dir patterns: "file3.yml" contains: "{{ item }}" with_items: "{{ names_list }}" register: file_match - name: print file

在ansible文件模块中获取差异属性

我的剧本中有以下任务 -名称:删除 文件: dest:'/folder1/{{item}}' 国家:缺席 有以下项目: -“{{file_list}}” 寄存器:结果 -调试: msg:“{{item}}” 有以下项目: -“{result.results | map(attribute='diff')| list}” 当删除{{file_list}中的所有文件时,我能够以正确的格式调试调试调试模块中的所有diff属性。但是如果{{file_list}的文件名错误,我将在debugmsg中得到

在Ansible playbook中将多个组指定为来自不同目录的主机

我正在寻找一种方法,在Ansible playbook中指定多个组作为主机,当这些组位于单独的清单中时(这类似于,但不同,因为该问题假设一个清单) 假设我有一本叫做《改变事物》的剧本。有时我想改变开发,有时qa,有时生产,等等: ansible playbook-i development-i production change\u things.yml 假设有单独的库存,大致如下所示: # development inventory [development] 10.0.0.1 10.0.0

在ansible上带有jinja循环的变量中设置接口名称

我想在变量接口名称中设置if等于命令行上的变量传递,所以我使用jinja如下: - name: Inizializzo la rete hosts: all gather_facts: true become: yes become_user: root tasks: - name: stampo interfacce set_fact: privata: "{% for interfacce in ansible_interfa

Ansible 我如何处理一份简单的口述清单?

我对此很困惑。如果我有一个包含以下内容的文件: users: - name: jconnor first: john last: connor uid: 3003 - name: sconnor first: sarah last: connor uid: 3001 如何获取每个用户的详细信息?有了这个简单的剧本: - name: create users hosts: localhost gather_facts: false tasks: - nam

在变量中传递值以在Ansible中运行特定命令

我有一个yml文件,它使用powershell在windows节点上安装ODBC连接。对于每种DB类型,我们都有不同的yml文件,每个yml都有针对不同数据库的安装脚本 因此,每当我们想要更改或添加一个新连接时,我们都会注释掉所有只需要执行的连接,这需要在更改或添加连接时进行大量手动操作 以下是我定义win_命令的方式: -名称:运行xxxx Oracle win_命令:powershell-executionpolicy无限制文件夹:\xxx.ps1-Server{XXXX_DB_Server

通过Ansible获取(u';[Errno 111]连接被拒绝';,True)

通过网络执行命令时,\u cli连接插件到远程设备,结果出现以下错误。我理解连接被拒绝错误消息的原因。我想知道下面的错误结果中的True表示什么 2018-12-02 01:02:16102 p=1224 u=root |致命:[node1]:失败!=> {“ansible_事实”:{“发现了解释器_python”: “/usr/bin/python”},“changed”:false,“msg”:”(u'[Errno 111] 连接被拒绝,True),“rc”:1} Ansible与Pytho

当分区达到阈值时删除文件-Ansible

我想检查/tmp目录的磁盘空间,如果磁盘空间大于70%,则删除一些文件 这是我的密码 -名称:检查磁盘空间 shell:“df-P | grep/tmp | awk'$5>=70{print}” 注册:op -区块: -名称:清理 查找: 路径:/tmp 年龄:10天 递归:是的 登记号码:天 -名称:删除 文件: 路径:/tmp 国家:缺席 带_项:“{tendays.files}” 当:{{op.stdout_lines}}="" ' -区块: -调试: 味精: -“磁盘空间正常” 当:“{

Ansible,如何查询深度嵌套的json键

我使用Ansible进行API调用,该调用返回一个巨大的数据集,我需要能够获得一个嵌套值以打印到屏幕上。我尝试使用json_查询,但不确定我做错了什么 我的任务: - name: Get certificate by CN name. uri: method: GET url: "https://mayapi/api/1/certificates?filter=cn;{{ inventory_hostname }}"

  1    2   3   4   5   6  ... 下一页 最后一页 共 81 页