我在ansible中有以下任务:-file:"state=directorypath=/servers/repo"sudo:yesname:"Createthebasesitedirectory."它应该以我的用户身份运行,但具有root权限。但即使我的用户是sudoer,它也会失败Sorry,usersofiabisnotallowedtoexecute'/bin/sh-cechoSUDO-SUCCESS-amlzcqzchzpjsgkllckjhjfednpjgevj;LANG=CLC_CTYPE=C/usr/bin/python/home/sofiab/.ansible/tmp/
我想使用Ansible取消注释文件sshd_config中的一行,我有以下工作配置:-name:Uncommentlinefrom/etc/ssh/sshd_configlineinfile:dest:/etc/ssh/sshd_configregexp:'^#AuthorizedKeysFile'line:'AuthorizedKeysFile.ssh/authorized_keys'然而,此配置仅在行以#AuthorizedKeysFile开头时有效,但如果行以#AuthorizedKeysFile或#AuthorizedKeysFile(#和单词之间的空格)。如何配置正则表达式,
如何通过Ansible调整ext4文件系统的大小?我知道filesystem模块,但我没有看到“调整大小”参数,或者其他关于它的东西...... 最佳答案 为了完成任务idempotent,添加另一个任务以首先检查是否有任何未扩展的分区。例如,如果您希望根分区至少为10GB:-name:Assertrootpartitionisexpandedassert:{that:item.mount!='/'oritem.size_total>10737418240}#10GBwith_items:'{{ansible_mounts}}'ig
我想在没有sudo密码的情况下使用用户sa1运行ansible:第一次成功:[root@centos1cp]#ansiblecent2-mshell-a"sudoyum-yinstallhttpd"cent2|SUCCESS|rc=0>>第二次失败:[root@centos1cp]#ansiblecent2-s-myum-a"name=httpdstate=absent"cent2|FAILED!=>{"changed":false,"failed":true,"module_stderr":"","module_stdout":"sudo:apasswordisrequired\r\
本质上,我希望能够使用ansible在Linux中处理“通配rune件名”。本质上,这意味着使用ls命令加上文件名的一部分后跟一个“*”,这样它将只列出某些文件。但是,我无法将输出正确地存储在一个变量中,因为可能会返回多个文件名。因此,我希望能够存储这些结果,而不管在一项任务期间数组中可能有多少。然后我希望能够在以后的任务中从数组中检索所有结果。此外,由于我不知道可能会返回多少文件,我无法为每个文件名执行任务,而数组更有意义。这背后的原因是随机存储位置中的文件经常更改,但它们总是具有相同的前半部分。他们名字的后半部分是随机的,我根本不想将其硬编码到ansible中。我完全不确定如何在a
我正在尝试向服务器添加一个新的存储库,以便我可以通过Ansible安装Java。不幸的是,每当我尝试运行剧本时,它都会因为GPG错误而失败。有人可以解释这里出了什么问题以及我需要做什么才能解决这个问题吗?我正在使用Ansible1.7.2,目前只连接到本地主机。我有一个非常简单的Playbook,如下所示:-hosts:hometasks:-name:Addrepositoriesapt_repository:repo='ppa:webupd8team/java'state=present当我尝试执行它时,出现以下错误:sal@bobnit:~/Workspace$ansible-pl
目录1、play和playbook和role2、幂等性3、清单4、配置文件(ansible.cfg)5、变量5.1在playbook中使用变量:5.2在playbook中使用变量文件: 6、事实7、循环8、处理程序9、块10、动态清单文件11、角色1、play和playbook和rolerole由多个playbook组成,playbook由多个play组成,play由多个task组成。play是由yaml格式的文本文件。playbook中play和任务列出的顺序很重要,因为ansible会按照相同的顺序运行它们简单的playbook(一个play):简单的playbook(两个play):pl
我一直在尝试创建一个非常简单的Ansible剧本,它将重启服务器并等待它恢复。我过去在Ansible1.9上有过一个有效的,但我最近升级到2.1.1.0但失败了。我正在重启的主机名为idm,IP为192.168.200.23。剧本正在使用命令从我的主机192.168.200.1运行$ansible-playbookreboot.yml-vvvv这是我正在使用的剧本----hosts:idmtasks:-name:Restartserverbecome:yesshell:sleep2&&/sbin/shutdown-rnow"Ansiblesystempackageupgraded"-n
我正在尝试将当前用户添加到系统中的一个组,然后执行一个需要该组权限的命令。我的剧本是这样的:-name:AddthisusertoRVMgroupsudo:trueuser:state=presentname=vagrantappend=yesgroups=rvmgroup=rvm-name:InstallRuby1.9.3command:rvminstallruby-1.9.3-p448creates=/usr/local/rvm/bin/ruby-1.9.3-p448问题是所有这些都发生在同一个shell中。vagrant的shell还没有用新的组更新。是否有一种干净的方法来刷新用
我是ansible的新手。我有一个要求,要求我为AWS中托管的450多个Linux服务器提取操作系统版本。AWS不提供此功能——它建议我们从puppet或chef那里获取它。我创建了一些无法运行的简单剧本----hosts:testmachineuser:ec2-usersudo:yestasks:-name:Updateallpackagestolatestyum:name=*state=latesttask:-name:obtainOSversionshell:Redhat-release剧本应该输出一个包含主机名和操作系统版本的文本文件。对此的任何见解将不胜感激。