如何在 Openstack 中使用 molecule
How to use molecule with Openstack
我在 docker 驱动程序中经常使用 molecule。
在某些情况下,docker 不是测试 ansible 角色的正确工具,所以我想在 openstack 中启动一个虚拟机。
我用 molecule role -r <rolename>
创建了一个 ansible 角色,并将 molecule.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 驱动程序工作以及如何创建和准备虚拟机以 运行 我对其进行检查?
我使用 molecule 2.22,ansible 2.9.4 和 python 3.7.6.
按照文档中的建议,我已经安装了 molecule openstack 插件:pip3 install 'molecule[openstack]'
默认驱动程序是 docker。您应该从 openstack 驱动程序开始创建您的角色。这将为您在 molecule.yml 中放置正确的设置,并在您的默认场景中创建必要的基础文件:
molecule init role -d openstack -r my_role
您也可以在现有角色中启动新场景。从你的角色开始
molecule init scenario -d openstack -s my_scenario
我在 docker 驱动程序中经常使用 molecule。 在某些情况下,docker 不是测试 ansible 角色的正确工具,所以我想在 openstack 中启动一个虚拟机。
我用 molecule role -r <rolename>
创建了一个 ansible 角色,并将 molecule.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 驱动程序工作以及如何创建和准备虚拟机以 运行 我对其进行检查?
我使用 molecule 2.22,ansible 2.9.4 和 python 3.7.6.
按照文档中的建议,我已经安装了 molecule openstack 插件:pip3 install 'molecule[openstack]'
默认驱动程序是 docker。您应该从 openstack 驱动程序开始创建您的角色。这将为您在 molecule.yml 中放置正确的设置,并在您的默认场景中创建必要的基础文件:
molecule init role -d openstack -r my_role
您也可以在现有角色中启动新场景。从你的角色开始
molecule init scenario -d openstack -s my_scenario