将Rundeck选项传递给Ansible作为标签列表

时间:2019-01-18 10:05:44

标签: automation ansible rundeck

我有一个Ansible剧本,其中有多个任务,每个任务的标签都不同,我正尝试使用带有Rundeck选项的Rundeck(Ansible剧本工作流程节点步骤)来启动它,以选择多个要传递为“额外Ansible参数”的值实质上,我希望能够选择要在剧本中执行的任务。但是我遇到了一些非常奇怪的问题。 这是运行rundeck作业时得到的输出:

procArgs: [ansible-playbook, all.yml -l, 10.100.5.103, -vvv, --private-key=/key/location/id_rsa, --user=slave, --become-method=sudo, --tags=libs,master]

该作业在几秒钟内成功完成,而实际上并未做任何事情

PLAYNOOK: all.yml ******************************
1 plays in all.yml

PLAY [test]**************************************
Meta: ran handlers
Meta: ran handlers
Meta: ran handlers

PLAY RECAP **************************************

当我执行我从终端输出中获取的命令时,一切都会按照预期运行:

ansible-playbook all.yml -l 10.100.5.103 -vvv --private-key=/key/location/id_rsa --user=slave --become-method=sudo --tags=libs,master

我找不到有关使用多个选择选项作为标签的任何最新信息,而我只是被这个奇怪的行为所迷惑(我只尝试了1个标签,但仍然无法正常工作)。 这是我的精简职位定义:

Steps:  

Ansible Playbook Workflow Node Step. Runs an Ansible Playbook
Ansible base directory path: /etc/ansible Playbook: all.yml Extra Variables:

Extra Ansible arguments: --tags=${option.modules} SSH Authentication: privateKey SSH Key Storage Path: keys/ssh/vmkey

If a step fails: Stop at the failed step.
Strategy:
Node First Execute all steps on a node before proceeding to the nextnode.
Verbose Logging:    Enabled
Nodes:  Include nodes matching: name: 10.100.5.103
Execute on up to 1 Node at a time.
If a node fails: Fail the step without running on any remaining nodes.
Sort nodes by name in ascending order.

这一切都发生在用于Ansible 2.7.1,Rundeck 3.0.8的2个ubuntu VM上

任何帮助都是有价值的,谢谢。

1 个答案:

答案 0 :(得分:0)

对Rundeck并不十分熟悉,因此不会直接经验说话或无法测试,但是这些','看起来有点奇怪:

procArgs: [ansible-playbook, all.yml -l, 10.100.5.103, -vvv, --private-key=/key/location/id_rsa, --user=slave, --become-method=sudo, --tags=libs,master]
  • all.yml之后应该有逗号吗?
  • --tags=libs,master中的字符串是否应该被引用,因为它包含文字逗号?