基于多云用例的多主机异步供应器在开发过程中的测试
mrack的Python项目详细描述
先生
Important:下面描述的大部分尚未实现
用于CI和本地多主机测试的配置库支持多个 供应提供商,如OpenStack、libvirt、容器、烧杯)。在
但与多云库相比,目标是能够描述 从应用程序的角度来看。E、 g.:
network:IPv4hosts:-name:master.testdomain.testrole:mastergroup:ipaserveros:fedora-31-name:client.testdomain.testrole:clientgroup:ipaclientos:fedora-30
然后将其与配置配置相结合,其中每个提供程序都有
为role
,group
,os
参数定义的含义,例如
口味、图像。。。在
所以用户只需更改提供者就可以快速更改配置位置 无需重新定义提供程序/云细节的名称。这是 对于共享同一个应用程序特定供应器的许多作业特别有用 配置。在
provider:beaker
或者每个主机可以使用不同的提供程序:
hosts:-name:master.testdomain.testrole:mastergroup:ipaserveros:fedora-31provider:openstacknetwork:dual-name:client.testdomain.testrole:clientgroup:ipaclientos:fedora-30provider:beaker
然后输出的是具有正确组映射和信息的可靠库存 它允许SSH到机器。在
all:children:ipaserver:hosts:f30-1.mrack.test:{}f33-2.mrack.test:{}hosts:f30-1.mrack.test:ansible_host:10.0.154.21ansible_python_interpreter:/usr/bin/python3ansible_ssh_private_key_file:config/id_rsaansible_user:fedorameta_dc_record:DC=mrack,DC=testmeta_domain:mrack.testmeta_fqdn:f30-1.mrack.testmeta_ip:10.0.154.21meta_os:fedora-30meta_provider_id:7c3c28f9-4674-4f7f-b413-00bc0b00d711meta_restraint_id:9meta_role:masterf33-2.mrack.test:ansible_host:ec2-13-15-16-1.eu-central-1.compute.amazonaws.comansible_python_interpreter:/usr/bin/python3ansible_ssh_private_key_file:config/id_rsaansible_user:fedorameta_dc_record:DC=mrack,DC=testmeta_domain:mrack.testmeta_fqdn:f33-2.mrack.testmeta_ip:13.15.16.1meta_os:fedora-33meta_provider_id:i-08c0d4a86c4b7f7efmeta_restraint_id:1meta_role:master
安装
pip install mrack
运行mrack
为了使用mrack实用程序确认(例如[确认]从存储库(repo/blob/master/src/mrack/data/确认))是需要的。在
Mrack按以下顺序查找配置文件:
./
实际目录~/.mrack/
主目录/etc/mrack/
系统目录
可以使用mrack实用程序重写配置文件中的值
选项--mrack-config
--provisioning-config
--db
(更多信息请参见mrack --help
)。在
Usage: mrack [OPTIONS] COMMAND [ARGS]...
Multihost human friendly provisioner.
Options:
-c, --mrack-config PATH
-p, --provisioning-config PATH
-d, --db PATH
--debug
--help Show this message and exit.
Commands:
destroy Destroy provisioned hosts.
list List host tracked by.
output Create outputs - such as Ansible inventory.
ssh SSH to host.
up Provision hosts.
使用mrack
从元数据.yaml或者运行:
mrack up
或者使用up
命令的选项`/-m
或覆盖元数据文件的路径。在
mrack up --metadata other-metadata.yaml
要使用mrack run返回资源,请执行以下操作:
mrack destroy
或者使用destroy
命令的选项--metadata
/-m
来重写元数据文件的路径。在
mrack destroy --metadata other-metadata.yaml
作为pyhon图书馆
importmrack# TODO
贡献
Projects正在使用black格式化程序和isort来保持一致 格式化,flake8和 pydocstyle以确保 Python良好实践。在
欢迎投稿(拉取请求)。预计他们将通过毒物测试和代码检查。 建议包含新代码的单元测试。 因此,我们配置了pre-commit钩子。 请在本地系统上启用该功能并在发送修补程序之前使用它。 这可以帮我们节省很多公关费用
黑色格式和isort
通过运行以下命令可以实现预期格式:
$ make format
查看black文档以了解可能的集成 在编辑器/ide中。在
测试
只需运行tox来执行所有的测试和测试
$ tox
# or us make
$ make test
- 项目
标签: