如何销毁/删除/取消设置Ansible中的variables值?

有没有办法在Ansible中销毁variables?

实际上,我有一个{{version}}variables用于我的所有angular色的各个包。 当我运行多个angular色时,一个angular色的版本值被传递给另一个angular色 – 这是由于某些angular色我没有给版本值,所以它可以安装该包的默认版本可用于各自的m / c像ubuntu /红帽等

这是我的angular色模板。 来自mysql的{{version}}的值被传递给rabbitmq。

roles: - { role: mysql } - { role: rabbitmq} 

如果我可以在每个angular色中删除版本的价值,我相信它应该解决问题。

正如已经指出的那样,在Ansible中不可能取消一个variables。

通过向像rabbitmq_version等variables名称添加前缀来避免这种情况。 恕我直言,这是一个最佳做法。

除了避免遇到这种情况,还会增加host_varsgroup_vars

不,在Ansible中没有办法取消variables(顶层)。

你唯一能做的就是创build一个字典并把variables存储为这个字典中的一个键。 清除“父”字典将本质上使得dictionary.key is defined条件expression式的工作。

你应该使用每个angular色的variables来代替:

  roles: - role: mysql version: mysql_version - role: rabbitmq version: rabbitmq_version 

要么

  roles: - { role: mysql, version: mysql_version } - { role: rabbitmq, version: rabbitmq_version }