重命名 lxd charm 为 nova-lxd¶
将 charm 重命名的初步‘推送’是
名称 nova-lxd 更好地反映了该 charm 与 nova 一起使用。对于用户来说,当前名为 lxd 的 charm 必须与 nova-compute charm 一起使用,并且不能在其他环境中使用的现状令人困惑。
它释放了名称 lxd,以便将其用作一个通用的 LXD charm,可以创建该 charm 来允许使用 Juju 和 MaaS 配置 LXD 机器集群。
问题描述¶
由于潜在用户不知道该 charm 是 nova 的一个特定的 OpenStack charm,作为从属组件,因此 charm 的名称 lxd 引起了社区的一些困惑。因此,将 charm 的名称更改为 nova-lxd 将有助于缓解这种困惑。
提议的变更¶
charm
lxd将被复制到nova-lxd,并保留所有现有功能。现有的
lxdcharm 将被转换为一个无操作 charm,并显示一个阻止状态消息,指示用户应使用nova-lxdcharm。在另一个周期之后,lxdcharm 将被完全移除。将现有的
lxdcharm 变为无操作 charm 还有一个优势,即现有的安装将无法升级到更新的‘无操作’ lxd charm,因为关系将不匹配,从而迫使操作员进行调查,并且不会破坏现有的安装。
使用 juju upgrade-charm lxd --switch=nova-lxd 方法更改 charm 的名称,并在升级期间进行测试。
备选方案¶
没有提出替代方案。
实现¶
负责人¶
主要负责人:ajkavanagh
Gerrit Topic¶
对于与此规范相关的所有补丁,请使用 Gerrit 主题“nova-lxd-charm”。
git-review -t nova-lxd-charm
工作项¶
此规范中的工作包含以下逻辑上分离的部分
将现有的
lxdcharm 转换为一个带有阻止状态消息的‘无操作’ charm。为了避免疑问,Juju 将拒绝将现有的lxdcharm 升级到此 charm。阻止消息的目的是为了新的部署,其中部署包应该使用nova-lxd,但却引用了旧名称。在这种情况下,该 charm 除了显示阻止消息外,不会作为从属组件执行任何操作。通过复制现有的
lxdcharm 仓库来创建新的nova-lxdcharm。在 Gerrit 的 OpenStack 上为 nova-lxd charm 创建项目
为 nova-lxd charm 创建 Launchpad 项目
仓库¶
新的 git 仓库:openstack/charm-nova-lxd
这将作为在 openstack 上创建 charm-nova-lxd 项目的一部分来创建。
文档¶
在 Charm 部署指南中添加关于新 charm 的说明。
在升级部分添加说明,讨论如何从
lxd升级到nova-lxd,可能出现的问题以及如何恢复情况。
安全性¶
没有发现问题。
测试¶
由于 charm 只是被重命名,因此单元测试和功能测试不应该有问题。它们不会作为规范的一部分而改变。
但是,使用 lxd charm 的各种包需要更新为引用 nova-lxd charm,以便在 19.04 版本中发布。这些包含在
github: openstack-charmers/openstack-bundles - openstack-lxd
github: openstack-charmers/openstack-charm-testing - README-lxd.md - README-multihypervisor.md - bundles/lxd/* - bundles/multi-hypervisor/*
需要对修改后的 openstack-lxd 包在 MaaS 上进行测试。
依赖项¶
没有发现问题。