如何在 Amulet 中将护身符部署到特定机器上?

如何在 Amulet 中将护身符部署到特定机器上?

如何在 Amulet 测试中将两个护身符部署到同一个节点?

答案1

如果您的用例需要多台机器,即您正在测试一项必须与其依赖服务在不同的机器上运行的服务:

在您使用 juju 管理基础设施的机器上:

sudo pip install juju-deployerizer

导出您的环境,包括所有服务/单元的位置:

juju deployerizer --environment <your environment> --include-placement -o <your export file.yaml>

编辑您的导出文件,确保遵循文档中指定的格式: http://pythonhosted.org/juju-deployer/config.html#placement

需要注意以下几点:只有 0 才能被识别为机器 ID。如果您的测试环境需要多台机器:指定要部署的 1 个服务,但不指定 to: 规范,然后在 to: 规范中为新机器上所需的所有其他服务/单元使用该服务名称。

juju-deployerizer 的默认输出目前(2015 年 5 月)不会将系列信息添加到输出中,因此只需在导出文件中的部署名称下手动添加它:

test:
    series: 'trusty'
    ...

使用以下命令在护身符测试的设置类方法中加载导出文件:

cls.deployment.load_bundle_file(bundle_file='<path to your export file.yaml>')

之后按照平常方式继续进行护身符测试。

相关内容