Python 分子抱怨;[703]应更改默认元数据:description";在运行基本测试时
我无法运行Python 分子抱怨;[703]应更改默认元数据:description";在运行基本测试时,python,docker,ansible,molecule,Python,Docker,Ansible,Molecule,我无法运行molecular test命令,因为它会抛出下面的错误,而我可以运行没有任何错误的单个命令(还提供了下面的调试o/p) 然而,如果我运行下面的命令,它就可以完美地工作。 所以,谁能指出为什么整个测试都失败了,我该怎么办 分子创造 分子表 分子聚合 分子表 分子破坏 分子表 文件夹结构如下所示 . ├── defaults │ └── main.yml ├── handlers │ └── main.yml ├── meta │ └── main.yml ├── molec
molecular test
命令,因为它会抛出下面的错误,而我可以运行没有任何错误的单个命令(还提供了下面的调试o/p)
然而,如果我运行下面的命令,它就可以完美地工作。
所以,谁能指出为什么整个测试都失败了,我该怎么办
.
├── defaults
│ └── main.yml
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── molecule
│ └── default
│ ├── Dockerfile.j2
│ ├── INSTALL.rst
│ ├── molecule.yml
│ ├── playbook.yml
│ └── tests
│ ├── test_default.py
│ └── test_default.pyc
├── README.md
├── tasks
│ └── main.yml
└── vars
└── main.yml
molector.yml文件是
---
dependency:
name: galaxy
driver:
name: docker
lint:
name: yamllint
platforms:
- name: instance
image: centos:7
privileged: true
command: /sbin/init
volume_mounts:
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
provisioner:
name: ansible
lint:
name: ansible-lint
scenario:
name: default
tasks\main.yml-->
分子和ansible的版本如下
molecule --version
molecule, version 2.22
ansible --version
ansible 2.8.4
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /root/molecule_ansible2.7/lib/python2.7/site-packages/ansible
executable location = /root/molecule_ansible2.7/bin/ansible
python version = 2.7.5 (default, Jun 11 2019, 14:33:56) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
docker图像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos 7 67fa590cfc1c 4 weeks ago 202 MB
分子的样本输出——调试测试
DEBUG: COMMAND
/root/molecule_ansible2.7/bin/ansible-lint -v --exclude=/root/.cache/molecule/molecule-testing/default /root/.config/pip/molecule-testing/molecule/default/playbook.yml
Examining /root/.config/pip/molecule-testing/molecule/default/playbook.yml of type playbook
Examining /root/.config/pip/molecule-testing/tasks/main.yml of type tasks
Examining /root/.config/pip/molecule-testing/handlers/main.yml of type handlers
Examining /root/.config/pip/molecule-testing/meta/main.yml of type meta
[701] Role info should contain platforms
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: author
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: description
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: company
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: license
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
An error occurred during the test sequence action: 'lint'. Cleaning up.
太长,读不下去了
这些是ansible lint报告的错误/良好做法,您应该修复。只需启动molecular lint
,即可自行运行lint
阶段
从当前输出中,您只需要在角色的meta/main.yml
中添加一些信息
到底发生了什么
每个molecular
命令(例如converge
,create
,destroy
,test
…)都会启动一系列有关您角色的步骤(序列)。您可以在命令输出中看到步骤列表,如下例所示,该示例取自您在运行converge
时提出的问题:
└── default
├── dependency
├── create
├── prepare
└── converge
默认情况下会配置这些序列,但可以在场景目录中的molecular.yml
中进行自定义。如果你对这个主题感兴趣,你可以看一看a
默认情况下,converge
序列不包含lint
阶段。因此,您可以运行测试剧本,而无需验证所有内容
另一方面,测试
序列包括以下所有步骤:
└── default
├── lint
├── dependency
├── cleanup
├── destroy
├── syntax
├── create
├── prepare
├── converge
├── idempotence
├── side_effect
├── verify
├── cleanup
└── destroy
如您所见,第一个是lint
,它(默认情况下再次)应该在所有yml文件上运行,然后是角色和测试剧本,最后是python文件(测试、自定义模块、自定义插件过滤器…)
您的完整测试失败,因为最佳实践检查器ansible lint正在报告您应该修复的问题。据我所见,它们非常琐碎,应该在meta/main.yml
---
# tasks file for molecule-testing
- name: Molecule Hello World!
debug:
msg: Hello, World!
molecule --version
molecule, version 2.22
ansible --version
ansible 2.8.4
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /root/molecule_ansible2.7/lib/python2.7/site-packages/ansible
executable location = /root/molecule_ansible2.7/bin/ansible
python version = 2.7.5 (default, Jun 11 2019, 14:33:56) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos 7 67fa590cfc1c 4 weeks ago 202 MB
DEBUG: COMMAND
/root/molecule_ansible2.7/bin/ansible-lint -v --exclude=/root/.cache/molecule/molecule-testing/default /root/.config/pip/molecule-testing/molecule/default/playbook.yml
Examining /root/.config/pip/molecule-testing/molecule/default/playbook.yml of type playbook
Examining /root/.config/pip/molecule-testing/tasks/main.yml of type tasks
Examining /root/.config/pip/molecule-testing/handlers/main.yml of type handlers
Examining /root/.config/pip/molecule-testing/meta/main.yml of type meta
[701] Role info should contain platforms
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: author
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: description
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: company
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
[703] Should change default metadata: license
/root/.config/pip/molecule-testing/meta/main.yml:1
{'meta/main.yml': {'__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'dependencies': [], u'galaxy_info': {u'description': u'your description', u'license': u'license (GPLv2, CC-BY, etc)', u'author': u'your name', u'company': u'your company (optional)', u'galaxy_tags': [], '__line__': 2, '__file__': u'/root/.config/pip/molecule-testing/meta/main.yml', u'min_ansible_version': 1.2}, '__line__': 1}}
An error occurred during the test sequence action: 'lint'. Cleaning up.
└── default
├── dependency
├── create
├── prepare
└── converge
└── default
├── lint
├── dependency
├── cleanup
├── destroy
├── syntax
├── create
├── prepare
├── converge
├── idempotence
├── side_effect
├── verify
├── cleanup
└── destroy