ansible - Ansible AXW 忽略 extra_vars
问题描述
我想通过 AWX-API 启动一个 Job-Template,包括一些 extra_vars,但是我得到的每个响应都有一个空的 extra_vars 字段。我已经检查了有关它的文档: https ://docs.ansible.com/ansible-tower/latest/html/userguide/job_templates.html#extra-variables
其中规定,您必须ask_variables_on_launch: true
在调查中设置和/或具有相应的变量。我的请求检查这两个条件:
要求
POST: https://my.awx.host/api/v2/job_templates/7/launch/
身体
{
"can_start_without_user_input": false,
"passwords_needed_to_start": [],
"ask_scm_branch_on_launch": false,
"ask_variables_on_launch": true,
"ask_tags_on_launch": false,
"ask_diff_mode_on_launch": false,
"ask_skip_tags_on_launch": false,
"ask_job_type_on_launch": false,
"ask_limit_on_launch": false,
"ask_verbosity_on_launch": false,
"ask_inventory_on_launch": false,
"ask_credential_on_launch": false,
"survey_enabled": true,
"variables_needed_to_start": [
"application_server_name",
"server_location",
"application_server_type",
"ssh_keys"
],
"credential_needed_to_start": false,
"inventory_needed_to_start": false,
"job_template_data": {
"name": "template name ",
"id": 7,
"description": ""
},
"defaults": {
"extra_vars": {
"application_server_name": "some name",
"server_location": "some location",
"application_server_type": "some type",
"ssh_keys": [
{
"name": "key1"
},
{
"name": "key2"
},
{
"name": "key3"
}
]
},
"diff_mode": false,
"limit": "",
"job_tags": "",
"skip_tags": "",
"job_type": "run",
"verbosity": 2,
"inventory": {
"name": "AWX Tower (Localhost) my.awx.host",
"id": 1
},
"credentials": [
{
...
}
],
"scm_branch": ""
}}
回复
{
"variables_needed_to_start": [
"'application_server_name' value missing",
"'server_location' value missing",
"'application_server_type' value missing",
"'ssh_keys' value missing"
]}
我有点困惑,因为我按照文档做了所有事情。调查所需的值甚至在同一个请求正文中。有人可以帮助解决这个问题吗?
我正在使用 AWX 16.0.0 Ansible 版本 2.9.15 谢谢
解决方案
所以实际上,你必须只发送额外的变量,而不是你从 AWX 获得的整个响应 + 变量。我不知道,如果我没有在文档中看到这一点,或者它只是很明显而我没有得到它。
ask_variables_on_launch 仍然必须是真的!
推荐阅读
- java - AES加密不同的结果Java和Python
- webauthn - 登录尝试暴露的用户名?
- appendchild - 创建新元素并将其添加到父元素
- excel - 如何在 Microsoft Excel 中比较和显示多列的差异
- javascript - 期望未定义为数字:如何将未定义转换为数字?
- fortran - 在“根”没有发送缓冲区的情况下使用 MPI_GATHERV
- lua - Notepad ++删除多个文件中的字符串
- flutter - Flutter 中的秒表只显示经过的时间,而不是连续的时间
- android - 当键盘出现时,带有editText的PopupWindow showAtLocation不会保持她的位置
- reactjs - ReactJS - 在 jsconfig.json 中指定“路径”时找不到模块