yum – 基于事实的参数化ansible命令,怎么做?
我正在更新我的一些ansible playbooks以运行最新版本的Fedora,现在默认使用dnf.
由于我的大部分剧本也应该在CentOS上运行,我希望我的脚本在运行CentOS机器时运行ansible yum命令,并在针对Fedora运行时运行dnf命令(Ansible 1.9中的新命令),但使用其余部分当前的角色. 换句话说,我想编写一个可以智能选择righ命令的操作(类似于): - name: Install zsh sudo: yes yum|dnf: name=zsh state=latest …而不是复制粘贴相同的命令两次,在两个中的一个中用dnf替换yum,然后实现一些逻辑,说明要运行两个不同的角色之一: - name: Install zsh (yum version) sudo: yes yum: name=zsh state=latest - name: Install zsh (dnf version) sudo: yes dnf: name=zsh state=latest 在有人赶到它之前:我知道yum在最新的Fedora中使用dnf的别名,并且我可以直接离开剧本……我的问题不是关于编写CentOS / Fedora兼容的剧本,我的问题是关于根据目标环境为相同参数选择不同的命令
Ansible 2现在有一个通用包管理器:
http://docs.ansible.com/ansible/package_module.html 对于旧版本,您可以通过事实关联包管理器 - name: Install packages with_items: package_list action: "{{ ansible_pkg_mgr }} state=installed name={{ item }}" 现在你需要的是一些逻辑,它将ansible_pkg_mgr设置为apt或yum等,并且当逻辑消失时. 看起来像Ansible are also working on doing what you want in a future module. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |