重命名 lxd charm 为 nova-lxd

将 charm 重命名的初步‘推送’是

  1. 名称 nova-lxd 更好地反映了该 charm 与 nova 一起使用。对于用户来说,当前名为 lxd 的 charm 必须与 nova-compute charm 一起使用,并且不能在其他环境中使用的现状令人困惑。

  2. 它释放了名称 lxd,以便将其用作一个通用的 LXD charm,可以创建该 charm 来允许使用 Juju 和 MaaS 配置 LXD 机器集群。

问题描述

由于潜在用户不知道该 charm 是 nova 的一个特定的 OpenStack charm,作为从属组件,因此 charm 的名称 lxd 引起了社区的一些困惑。因此,将 charm 的名称更改为 nova-lxd 将有助于缓解这种困惑。

提议的变更

  • charm lxd 将被复制到 nova-lxd,并保留所有现有功能。

  • 现有的 lxd charm 将被转换为一个无操作 charm,并显示一个阻止状态消息,指示用户应使用 nova-lxd charm。在另一个周期之后,lxd charm 将被完全移除。

  • 将现有的 lxd charm 变为无操作 charm 还有一个优势,即现有的安装将无法升级到更新的‘无操作’ lxd charm,因为关系将不匹配,从而迫使操作员进行调查,并且不会破坏现有的安装。

使用 juju upgrade-charm lxd --switch=nova-lxd 方法更改 charm 的名称,并在升级期间进行测试。

备选方案

没有提出替代方案。

实现

负责人

主要负责人:ajkavanagh

Gerrit Topic

对于与此规范相关的所有补丁,请使用 Gerrit 主题“nova-lxd-charm”。

git-review -t nova-lxd-charm

工作项

此规范中的工作包含以下逻辑上分离的部分

  1. 将现有的 lxd charm 转换为一个带有阻止状态消息的‘无操作’ charm。为了避免疑问,Juju 将拒绝将现有的 lxd charm 升级到此 charm。阻止消息的目的是为了新的部署,其中部署包应该使用 nova-lxd,但却引用了旧名称。在这种情况下,该 charm 除了显示阻止消息外,不会作为从属组件执行任何操作。

  2. 通过复制现有的 lxd charm 仓库来创建新的 nova-lxd charm。

  3. 在 Gerrit 的 OpenStack 上为 nova-lxd charm 创建项目

  4. 为 nova-lxd charm 创建 Launchpad 项目

仓库

新的 git 仓库:openstack/charm-nova-lxd

这将作为在 openstack 上创建 charm-nova-lxd 项目的一部分来创建。

文档

  1. 在 Charm 部署指南中添加关于新 charm 的说明。

  2. 在升级部分添加说明,讨论如何从 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 上进行测试。

依赖项

没有发现问题。