加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

yum – 基于事实的参数化ansible命令,怎么做?

发布时间:2020-12-15 18:33:52 所属栏目:安全 来源:网络整理
导读:我正在更新我的一些ansible playbooks以运行最新版本的Fedora,现在默认使用dnf. 由于我的大部分剧本也应该在CentOS上运行,我希望我的脚本在运行CentOS机器时运行ansible yum命令,并在针对Fedora运行时运行dnf命令(Ansible 1.9中的新命令),但使用其余部分当前
我正在更新我的一些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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读