Amazon web services 如何在ansible中触发多个aws cloudformation任务?
我正试图找到一种通过ansible并行触发多个cloudformation api调用的方法 随着堆栈的增长,单独触发每个任务会占用大量时间。我查看了轮询设置为0(触发并忘记)的异步选项。但这根本不会触发云形成任务 有什么建议吗?解决方案1: 将cloudformation调用封装在ansible模块中(易于创建),并在其中使用线程模块 例如:Amazon web services 如何在ansible中触发多个aws cloudformation任务?,amazon-web-services,ansible,amazon-cloudformation,Amazon Web Services,Ansible,Amazon Cloudformation,我正试图找到一种通过ansible并行触发多个cloudformation api调用的方法 随着堆栈的增长,单独触发每个任务会占用大量时间。我查看了轮询设置为0(触发并忘记)的异步选项。但这根本不会触发云形成任务 有什么建议吗?解决方案1: 将cloudformation调用封装在ansible模块中(易于创建),并在其中使用线程模块 例如: import threading def main(): module=AnsibleModule( argument_sp
import threading
def main():
module=AnsibleModule(
argument_spec=dict(
region=dict(choices=AWS_REGIONS, default='us-east-1'),
aws_secret_key=dict(no_log=True),
aws_access_key=dict(no_log=True)
...
)
)
t = threading.Thread(target=cfn_command)
threads.append(t)
t.start()
解决方案2:
编写一个脚本,将所有函数和触发器封装在ansible中
例如:
然后在ansible剧本中,只需使用shell
模块触发它
#!/bin/bash
aws cloudformation list-stacks > foo &
aws cloudformation describe-stack --stack-name aaa > bar &