如何在Openstack中使用分子

如何在Openstack中使用分子,openstack,molecule,Openstack,Molecule,我经常和docker司机一起使用分子。 有一些情况下docker不是测试ansible角色的合适工具,所以我想在openstack中启动一个vm 我用molecular role-r创建了一个ansible角色,并将molecular.yml中的驱动程序更改为“openstack”。这是我当前的molecular.yml的一个示例: --- dependency: name: galaxy driver: name: openstack lint: name: yamllint pl

我经常和docker司机一起使用分子。 有一些情况下docker不是测试ansible角色的合适工具,所以我想在openstack中启动一个vm

我用
molecular role-r
创建了一个ansible角色,并将molecular.yml中的驱动程序更改为“openstack”。这是我当前的molecular.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


正如文档中所建议的,我已经安装了Molecular openstack插件:
pip3安装'Molecular[openstack]'

默认驱动程序是docker。您应该从openstack驱动程序开始创建您的角色。这将在molecle.yml中为您设置正确的设置,并在默认场景中创建必要的基本文件:

molecule init role -d openstack -r my_role
您还可以在现有角色中初始化新场景。从你角色的根本出发

molecule init scenario -d openstack -s my_scenario