1
我在我的操作手册中使用了易于使用的模块apt。它要求用户提示,我想提供“Y”。有人可以告诉我们如何做到这一点。我用“期望”但它不起作用。Ansible用户在apt模块中提示 - 无法传递值“是”
- name: Install latest apparmor packages - xxx-policy
expect:
apt: pkg={{ item.name }}={{ item.deb_version }} update_cache=yes state=present force=yes
with_items: { name: 'xaz-policy', deb_version: '{{ apparmor.xxx_policy.deb_version }}'}
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
responses:
Question:
- 'Y'
而且我得到以下错误
TASK [Install latest apparmor packages - xxx-policy] ************************ task path: /home/jenkins/workspace/OSInnovationB/docker_upgradation_job/playbooks/tasks/test.yml:47 fatal: [xxx-xxx-host-01]: FAILED! => {"failed": true, "msg": "'item' is undefined"}
我正想通过这个http://stackoverflow.com/questions/36712453/error-conflicting-action-statements-expect-command-in-ansible并看到了一条评论“或者甚至更好,使用apt Ansible模块。”想知道如何通过apt模块本身来实现这一点。 – ambikanair
坚持Ansible的文档。这真的很好......问题的答案使用'命令:apt-get install openjdk-7-jdk',如果你这么做的话。但现在我明白了。你可能正在寻找'state = latest'。看看[模块文档](http://docs.ansible.com/ansible/apt_module.html)。没有必要做黑客事情来安装最新版本的软件包。 –
包裹分销商已经发布了更新版本。 您想对此做些什么?你的选择是: Y或I:安装包维护者的版本 N或O:保留你当前安装的版本 D:显示版本之间的差异 Z:启动一个shell来检查情况 默认的动作是保持你的当前版本。 *** usr.bin.docker(Y/I/N/O/D/Z)[默认= N]? – ambikanair