基于多云用例的多主机异步供应器在开发过程中的测试

mrack的Python项目详细描述


先生

pypi_badgereadthedocs_badge

Important:下面描述的大部分尚未实现

用于CI和本地多主机测试的配置库支持多个 供应提供商,如OpenStack、libvirt、容器、烧杯)。在

但与多云库相比,目标是能够描述 从应用程序的角度来看。E、 g.:

network:IPv4hosts:-name:master.testdomain.testrole:mastergroup:ipaserveros:fedora-31-name:client.testdomain.testrole:clientgroup:ipaclientos:fedora-30

然后将其与配置配置相结合,其中每个提供程序都有 为rolegroupos参数定义的含义,例如 口味、图像。。。在

^{pr2}$

所以用户只需更改提供者就可以快速更改配置位置 无需重新定义提供程序/云细节的名称。这是 对于共享同一个应用程序特定供应器的许多作业特别有用 配置。在

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来保持一致 格式化,flake8pydocstyle以确保 Python良好实践。在

欢迎投稿(拉取请求)。预计他们将通过毒物测试和代码检查。 建议包含新代码的单元测试。 因此,我们配置了pre-commit钩子。 请在本地系统上启用该功能并在发送修补程序之前使用它。 这可以帮我们节省很多公关费用

黑色格式和isort

通过运行以下命令可以实现预期格式:

$ make format

查看black文档以了解可能的集成 在编辑器/ide中。在

测试

只需运行tox来执行所有的测试和测试

$ tox
# or us make
$ make test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么