我已经ansible roles
创建了服务器、S3 存储桶、安全组......并且我想使用Molecule
. 经过一些研究,我发现它Molecule
用于Testinfra
在远程/本地主机上运行一些断言命令。这适用于我创建一些服务器的角色,例如apache2
,nginx
.. 但是其他角色只是创建一些其他 aws 资源,例如load balancers
,,,autoscaling groups
或者security groups
只是s3 buckets
?在这种情况下,将没有主机或实例。
Unittest
通过和调用 AWS API进行测试很容易boto3
,但我的问题是我是否可以只使用并在每次我想测试我的安全组角色时molecule
启动一个,然后执行以下操作:EC2 instance
def test_security_group_has_80_open(host):
cmd = host.run('aws ec2 describe-security-groups --group-names MySecurityGroup')
return_code = cmd.rc
output = cmd.stdout
assert output.contains('"ToPort": 80')
那EC2 instance
会AWSCLI
安装的。这是正确的方法吗?Molecule
是否可以通过触发EC2
运行awscli
调用来测试所有类型的角色?