我对 ansible 和 ansible 角色完全陌生。我创建了我的第一个角色,并想用分子来测试它。
如果我运行,molecule test
我会收到一条错误消息:
Computed fully qualified role name of generate_random_password does not follow current galaxy requirements. Please edit meta/main.yml and assure we can correctly determine full role name:
完整输出:
INFO default scenario test matrix: dependency, lint, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy
INFO Performing prerun...
INFO Added ANSIBLE_LIBRARY=/home/tom/.cache/ansible-compat/62faec/modules:/home/tom/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Added ANSIBLE_COLLECTIONS_PATH=/home/tom/.cache/ansible-compat/62faec/collections:/home/tom/.ansible/collections:/usr/share/ansible/collections
INFO Added ANSIBLE_ROLES_PATH=/home/tom/.cache/ansible-compat/62faec/roles:/home/tom/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
ERROR Computed fully qualified role name of generate_random_password does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:
galaxy_info:
role_name: my_name # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace # if absent, author is used instead
Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names
As an alternative, you can add 'role-name' to either skip_list or warn_list.
Traceback (most recent call last):
File "/home/tom/.local/bin/molecule", line 8, in <module>
sys.exit(main())
File "/home/tom/.local/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/home/tom/.local/lib/python3.9/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/tom/.local/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/tom/.local/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/tom/.local/lib/python3.9/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/tom/.local/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/tom/.local/lib/python3.9/site-packages/molecule/command/test.py", line 159, in test
base.execute_cmdline_scenarios(scenario_name, args, command_args, ansible_args)
File "/home/tom/.local/lib/python3.9/site-packages/molecule/command/base.py", line 111, in execute_cmdline_scenarios
scenario.config.runtime.prepare_environment()
File "/home/tom/.local/lib/python3.9/site-packages/ansible_compat/runtime.py", line 255, in prepare_environment
self._install_galaxy_role(self.project_dir, ignore_errors=True)
File "/home/tom/.local/lib/python3.9/site-packages/ansible_compat/runtime.py", line 396, in _install_galaxy_role
raise InvalidPrerequisiteError(msg)
ansible_compat.errors.InvalidPrerequisiteError: Computed fully qualified role name of generate_random_password does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:
galaxy_info:
role_name: my_name # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace # if absent, author is used instead
Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names
As an alternative, you can add 'role-name' to either skip_list or warn_list.
如果我是正确的角色名称generate_random_password
是一个有效的角色名称。我错了什么?