Rundeck 4.11社区版聚合日志过滤变量全局变量填充异常
Rundeck 4.11社区版聚合日志过滤变量问题
我们当前运行Rundeck 4.11社区版,在使用聚合日志过滤变量时遇到以下问题:
场景示例
- Job1针对3个节点执行命令步骤(开启「失败继续运行」),每个节点返回一行标准输出;
- Job1配置日志过滤器捕获上一步所有输出,配置如下:
Regex: ^(.*)$ Name: output
- Job1通过全局变量步骤设置可导出变量:
all_output=${data.output*}
- Job2通过「引用节点」方式调用Job1,随后执行本地命令打印该全局变量:
echo "${export.all_output}"
预期行为
无论Job1的执行状态如何,输出所有节点返回内容的逗号分隔全量列表。
实际行为
- 当Job1步骤1在所有节点均成功/均失败时,可正常输出全量内容;
- 当Job1步骤1部分节点失败、部分成功时,仅捕获失败节点的输出;
- 当Rundeck无法连接至少一个节点时,变量未展开(直接显示
${export.all_output})或展开后为空。
可见全局日志过滤器及data.output*的使用依赖步骤/作业状态,无法纯粹捕获日志过滤器所采集的全部内容。
可复现问题的Job配置
以下配置会在每个节点随机返回成功或失败状态,仅捕获失败节点数据,修改节点过滤器即可在自身环境运行:
- defaultTab: nodes description: '' executionEnabled: true group: aggregate id: 0d50e127-7017-4319-8b56-3fd56080e5a3 loglevel: INFO name: test nodeFilterEditable: false nodefilters: dispatch: excludePrecedence: true keepgoing: true rankOrder: ascending successOnEmptyNodeFilter: false threadcount: '1' filter: 'tags: linux' nodesSelectedByDefault: true plugins: ExecutionLifecycle: null scheduleEnabled: true sequence: commands: - exec: ((RANDOM % 2)) && { echo "${node.name} OK"; exit 0; } || { echo "${node.name} NOT OK"; exit 1; } plugins: LogFilter: - config: invalidKeyPattern: \s|\$|\{|\}|\\ logData: 'false' name: full_command_output regex: ^(.*)$ replaceFilteredResult: 'false' type: key-value-data - configuration: export: aggregated_output group: export value: ${data.full_command_output*;} nodeStep: false type: export-var keepgoing: true strategy: node-first uuid: 0d50e127-7017-4319-8b56-3fd56080e5a3 - defaultTab: nodes description: '' executionEnabled: true group: aggregate id: d888974d-7dee-4d55-9afa-fa529a0d968b loglevel: INFO name: aggtest nodeFilterEditable: false nodefilters: dispatch: excludePrecedence: true keepgoing: false rankOrder: ascending successOnEmptyNodeFilter: false threadcount: '1' filter: MyServer nodesSelectedByDefault: true plugins: ExecutionLifecycle: null scheduleEnabled: true sequence: commands: - jobref: childNodes: true group: aggregate name: test nodeStep: 'true' uuid: 0d50e127-7017-4319-8b56-3fd56080e5a3 - configuration: command: 'echo ''''''Aggregated Output: ${export.aggregated_output}''''''' nodeStep: true type: localexec keepgoing: true strategy: node-first uuid: d888974d-7dee-4d55-9afa-fa529a0d968b
内容的提问来源于stack exchange,提问作者user3733812
相关产品推荐
相关产品推荐

