首页 > 解决方案 > Ansible playbook 比较 2 个寄存器输出

问题描述

我创建了 2 个任务来获取以下 2 个输出:

第一个输出:

NAME                                      STATUS    ROLES   AGE     VERSION
control1.eee-dev.dd.k8s.c0.ms.com         Ready    master   146d      v1.18
control2.eee-dev.dd.k8s.c0.ms.com         Ready    master   146d      v1.18
control3.eee-dev.dd.k8s.c0.ms.com         Ready    master   146d      v1.18
dd900xc15xx.nodes.c0.ms.com               Ready    worker   146d      v1.18
dd900xc16xx.nodes.c0.ms.com               Ready    worker   146d      v1.18

第二个输出:

Transaction ID: xxxx-xxxx-xxxxx-xxxxxx
bootstrap.eee-dev.dd.k8s.c0.ms.com
control1.eee-dev.dd.k8s.c0.ms.com         
control2.eee-dev.dd.k8s.c0.ms.com         
control3.eee-dev.dd.k8s.c0.ms.com         
dd900xc15xx.nodes.c0.ms.com              
dd900xc16xx.nodes.c0.ms.com 

现在,如果 NAME(来自第一个输出,仅表示第一列中的节点)与第二个输出匹配,我如何比较存储在寄存器中的上述 2 个输出并打印 PASSED?如果没有失败。注意:我们需要忽略第二个输出的前两行

我正在考虑通过逻辑来做到这一点(过滤节点名称并进行比较),但不确定如何将其转换为 ansible 剧本。非常感谢您的建议和意见,以实现这一目标。

标签: ansible

解决方案


推荐阅读