我在 docker 驱动程序中经常使用分子。在某些情况下,docker 不是测试 ansible 角色的正确工具,所以我想在 openstack 中启动一个 vm。
我创建了一个 ansible 角色,molecule role -r <rolename>
并将分子.yml 中的驱动程序更改为“openstack”。这是我当前的molecule.yml的一个例子:
---
dependency:
name: galaxy
driver:
name: openstack
lint:
name: yamllint
platforms:
- name: molecule-role-docker
image: CentOS7
flavor: ECS.UC1.4-4
auto_ip: true
security_groups: ssh
key_name: mykey-ci
provisioner:
name: ansible
lint:
name: ansible-lint
verifier:
name: testinfra
lint:
name: flake8
不幸的是,似乎缺少 create.yml 文件,这会启动机器:
[...]
Validation completed successfully.
--> Test matrix
└── default
├── dependency
├── create
├── prepare
└── converge
--> Scenario: 'default'
--> Action: 'dependency'
Skipping, missing the requirements file.
--> Scenario: 'default'
--> Action: 'create'
ERROR! the playbook: None could not be found
ERROR:
如果我创建一个 create.yml 文件,错误消息表明它发现文件为空:
[...]
--> Scenario: 'default'
--> Action: 'create'
ERROR! Empty playbook, nothing to do
ERROR:
那么,如何让 openstack 驱动程序正常工作以及如何创建和准备虚拟机来运行我的检查呢?
我使用分子 2.22、ansible 2.9.4 和 python 3.7.6。
正如文档中所建议的,我已经安装了分子 openstack 插件:pip3 install 'molecule[openstack]'