Rundeck - 在 运行 作业时,在节点中使用标签会出错
Rundeck - Using Tags in Nodes gives an error when running the job
在作业中的 Rundeck 中,我在节点 - 节点过滤器下使用了以下值。
tags:${option.server_env}
我的标签在工作流程下定义 - 选项:
Option type: Text
Option name: server_env
Allowed values: List (Defined my tags over there)
List delimiter: ,
我的标签也在项目设置下定义 - Edit nodes..
当我打开我的工作时,select 我选择的标签和 运行 我检索的工作
following error.
以下插件是installed.
我怎样才能使节点是一个变量值,以便我可以将 1 个作业用于多个标签(环境)?
我基于这个 three-nodes 模型源做了一个例子。
<?xml version="1.0" encoding="UTF-8"?>
<project>
<node name="node00" description="Node 00" tags="db" hostname="192.168.56.20" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
<node name="node01" description="Node 01" tags="db" hostname="192.168.56.21" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
<node name="node02" description="Node 02" tags="bk" hostname="192.168.56.22" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
</project>
它是这样工作的。
- 使用选项创建作业,选项必须包含list of values, a default value and, a delimiter (a comma in my example). Also, the job must be dispatched to a node using the node tag in this方式。
- 保存作业。
- 第一次测试:运行 作业仅使用 default value, the job is dispatched only to the
bk
tagged nodes。
- 第二次测试:select all options, then the job is dispatched to all 个节点(
db
和 bk
个标记节点)。
这里是要测试的作业定义示例。
- defaultTab: nodes
description: ''
executionEnabled: true
id: 3ebd683d-4f0a-42ae-8d32-2be22fbb9ae5
loglevel: INFO
name: JobDispatchedToNodes
nodeFilterEditable: false
nodefilters:
dispatch:
excludePrecedence: true
keepgoing: false
rankOrder: ascending
successOnEmptyNodeFilter: false
threadcount: '1'
filter: tags:${option.mynodes}
nodesSelectedByDefault: true
options:
- delimiter: ','
enforced: true
multivalued: true
name: mynodes
required: true
value: db
values:
- db
- bk
valuesListDelimiter: ','
plugins:
ExecutionLifecycle: {}
scheduleEnabled: true
schedules: []
sequence:
commands:
- exec: uname -a
keepgoing: false
strategy: node-first
uuid: 3ebd683d-4f0a-42ae-8d32-2be22fbb9ae5
在作业中的 Rundeck 中,我在节点 - 节点过滤器下使用了以下值。 tags:${option.server_env}
我的标签在工作流程下定义 - 选项:
Option type: Text
Option name: server_env
Allowed values: List (Defined my tags over there)
List delimiter: ,
我的标签也在项目设置下定义 - Edit nodes..
当我打开我的工作时,select 我选择的标签和 运行 我检索的工作 following error.
以下插件是installed.
我怎样才能使节点是一个变量值,以便我可以将 1 个作业用于多个标签(环境)?
我基于这个 three-nodes 模型源做了一个例子。
<?xml version="1.0" encoding="UTF-8"?>
<project>
<node name="node00" description="Node 00" tags="db" hostname="192.168.56.20" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
<node name="node01" description="Node 01" tags="db" hostname="192.168.56.21" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
<node name="node02" description="Node 02" tags="bk" hostname="192.168.56.22" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.4.1.el7.x86_64" username="vagrant" ssh-key-storage-path="keys/rundeck" />
</project>
它是这样工作的。
- 使用选项创建作业,选项必须包含list of values, a default value and, a delimiter (a comma in my example). Also, the job must be dispatched to a node using the node tag in this方式。
- 保存作业。
- 第一次测试:运行 作业仅使用 default value, the job is dispatched only to the
bk
tagged nodes。 - 第二次测试:select all options, then the job is dispatched to all 个节点(
db
和bk
个标记节点)。
这里是要测试的作业定义示例。
- defaultTab: nodes
description: ''
executionEnabled: true
id: 3ebd683d-4f0a-42ae-8d32-2be22fbb9ae5
loglevel: INFO
name: JobDispatchedToNodes
nodeFilterEditable: false
nodefilters:
dispatch:
excludePrecedence: true
keepgoing: false
rankOrder: ascending
successOnEmptyNodeFilter: false
threadcount: '1'
filter: tags:${option.mynodes}
nodesSelectedByDefault: true
options:
- delimiter: ','
enforced: true
multivalued: true
name: mynodes
required: true
value: db
values:
- db
- bk
valuesListDelimiter: ','
plugins:
ExecutionLifecycle: {}
scheduleEnabled: true
schedules: []
sequence:
commands:
- exec: uname -a
keepgoing: false
strategy: node-first
uuid: 3ebd683d-4f0a-42ae-8d32-2be22fbb9ae5