我们的角色中有一个“周期性”标签,我们的Ansible框定期运行,用于文件保证等。是否有可能有定期运行的剧本,以适当的方式调用其他剧本主机组和标签?在Ansible中,剧本可以将标签传递给其他剧本吗?
0
A
回答
0
执行Ansible操作手册“与相应的主机组和标签”的唯一方法是运行ansible-playbook
可执行文件。这是从清单开始的所有数据结构将独立于当前运行的剧本创建的唯一情况。
你可以简单地调用使用command
模块的控制机器上的可执行文件:
- hosts: localhost
tasks:
- command: ansible-playbook {{ playbook }} --tags {{ tags }}
您还可以使用local_action
或delegate_to
。
这可能是您要包括戏剧,或使用角色,但鉴于问题的问题描述,这是不可能告诉。
0
下面是我们最终得出的结果:事实证明,在命令行上传递的标记和变量会一直沿着该行继承。这使我们能够通过这个命令行:
ansible-playbook -t periodic periodic.yml
其中要求这样的剧本:
---
- name: This playbook must be called with the "periodic" tag.
hosts: 127.0.0.1
any_errors_fatal: True
tasks:
- fail:
when: periodic not True
- name: Begin periodic runs for type 1 servers
include: type1-server.yml
vars:
servers:
- host_group1
- host_group2
- ...
- name: Begin periodic runs for type 2 servers
...
我们的“真正的”剧本有- hosts: "{{ servers }}"
,使他们可以从父继承。我们角色中的任务被标记为“定期”,用于需要按计划运行的事情。然后我们使用SystemD来安排运行。你可以使用cron,但SystemD更好的恕我直言。可以根据要求提供示例。
相关问题
- 1. Ansible不靠剧本
- 2. 执行ansible剧本
- 3. 将剧本集成到主剧本中
- 4. 在Ansible中使用Azure标签作为剧本
- 5. ansible剧本公钥问题
- 6. 无法使用Ansible剧本
- 7. ansible - 平行运行剧本
- 8. Ansible:获取剧本结果
- 9. 如何逃避ansible剧本
- 10. 从包括Ansible剧本
- 11. 在Ansible剧本中转义反斜线
- 12. 是否可以在Ansible中定义剧本全局变量?
- 13. 改变rvm ruby版本与ansible剧本
- 14. Ansible剧本与嵌套的python脚本
- 15. 期望脚本运行Ansible剧本
- 16. 语法错误在Ansible剧本使用
- 17. 如何循环变量在ansible剧本
- 18. 循环在YAML来获得ansible-剧本
- 19. 处理剧本中的剧本
- 20. 如何在剧本点标签的文本中包含下标
- 21. Vars_prompt在剧本
- 22. 基于用户输入,我该如何让剧本发起其他剧本?
- 23. 制作剧本只为给定主机运行剧本
- 24. Ansible剧本需要从主机
- 25. Ansible剧本不运行从角色
- 26. Ansible剧本循环控制流程
- 27. 执行卷曲-X与ansible剧本
- 28. ansible 2.0.0.2 - shutil.rmtree错误,但剧本成功
- 29. Ansible Tower库存组从剧本册
- 30. DEVOPS,如何使用ansible剧本
通过这种方式,您可以将剧本纳入当前的剧本运行。从字面上理解,你没有回答你自己的问题(这是因为词汇滥用,正如我在我的答案中以小字体提到的那样)。 – techraf