如何将数组传递给 AWX/Ansible Tower

How to pass arrays to AWX/Ansible Tower

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

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

知道为什么会这样吗?是否所有变量都不可抗拒地转换为字符串?我该如何解决这个问题?

谢谢!

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

时才获得单引号

According to the RedHat developers on Gitter.im, this is a shortcoming in the launch_ansible_method in ManageIQ. I.e., it always converts arrays to strings. We have opened an issue on GitHub 来解决这个问题。

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