0

我从 ManageIQ 调用 AWX 模板。我将 9 个变量传递给剧本(prompt on launch活动)。该剧本被成功调用,并且所有的变量都通过了。然而,其中两个变量应该是数组。相反,它们作为字符串传递给 AWX:例如,'["chefclient"]'而不是["chefclient"].

在将这些变量传递给 AWX 模板之前,我已经确认这些变量在 ManageIQ 中确实是数组类型。

任何线索为什么会这样?是否所有 var 都会不可抗拒地转换为字符串?我该如何解决?

谢谢!

4

3 回答 3

1

根据 Gitter.im 上的 RedHat 开发人员的说法,这是 ManageIQ 中的 launch_ansible_method 的一个缺点。即,它总是将数组转换为字符串。我们在 GitHub 上打开了一个 issue来解决这个问题。

于 2021-02-09T21:12:09.097 回答
0

我基本上在 ansible tower/awx 中有一个变量,它将输入作为文本,服务器名称作为数组/列表。例如:["node1","node2","node3"] 一旦作业启动,我可以看到额外变量中的变量为'["node1","node2","node3"]'。我不确定它这样做的原因,但它不会影响您对该变量的后续 ansible 操作。并非所有变量都只有在使用数组/列表时才会得到单引号。

于 2021-02-06T00:17:34.940 回答
0

我试图在本地安装 AWX 的情况下复制它。我已将 v_packages 变量数据作为 ["apache2","nginx"] 传递。我现在看不到这个问题。 输出

工作输出

于 2021-02-09T22:56:36.537 回答