我了解ansible仅限于配置工具,即我们在yaml文件中创建配置,而python脚本通过查看配置来执行。
但是,有一个有用的属性when
可以帮助根据when
中提到的条件来决定要进行的配置,并且配置顺序也可以根据任务,
变量和事实可用于实现动态配置。
但是,我的要求涉及复杂的循环和条件,以及递归处理,这在剧本中是完全无法实现的,或者需要根据条件创建多个任务。
我在使用Ansible剧本时发现的几个问题是:
递归任务的问题例如:
start_installation.yml
安装变量中定义的软件包start_installation.yml
以递归方式对依赖关系进行安装。但是,这在变量作用域方面造成了问题,即,如果为A启动start_installation.yml
时package_to_install为'A',并且如果A具有依赖项'B',则package_to_install将设置为'B' ,在为B启动start_installation.yml
时。现在,一旦B的安装完成,就无法安装A,因为变量作用域对于调用的函数而言不是本地的。 我的问题主要是,使用Ansible执行这些任务是否是正确的方法,还是我需要使用脚本语言来进行所需的检查?
答案 0 :(得分:0)
回答您的问题:
” ... ...这是使用Ansible执行这些任务的正确方法,还是我需要使用脚本语言来进行所需的检查?
正确的方法是使用package – Generic OS package manager。如果这不起作用,create a Minimal, Complete, and Verifiable example