OpenStack 计算节点 Juju 可用区同步

对于某些提供商,Juju 可能会设置环境变量 JUJU_AVAILABILITY_ZONE,其中包含有关部署机器的可用区的信息。

OpenStack 也有可用区的概念,对于 Juju 操作员来说,能够自动将 Juju 可用区与 OpenStack 可用区同步将会很有用。

问题描述

目前,Juju 操作员需要手动同步 nova-compute Juju 机器的可用区 (AZ) 与 OpenStack AZ。

提议的变更

将实现一个新的 Juju 操作,应用于 nova-cloud-controller charm,以自动将 Juju AZ 与 OpenStack AZ 同步。每个 Juju unit 的可用区通过 cloud-compute 关系暴露给 nova-cloud-controller charm。

备选方案

实现

负责人

主要负责人

ionutbalutoiu

Gerrit Topic

对于与此规范相关的所有补丁,请使用 Gerrit 主题“compute-nodes-az-sync”。

git-review -t compute-nodes-az-sync

工作项

  • nova-compute

    • cloud-compute 关系(用于与 nova-cloud-controller 应用程序关联)中设置一个新的关系变量,名为 availability_zone。如果底层提供商设置了此变量,则该变量将采用自动 Juju 变量 JUJU_AVAILABILITY_ZONE 的值。

  • nova-cloud-controller

    • 实现一个新的 Juju 操作,名为 sync-compute-availability-zones,用于同步 Juju 可用区,这些可用区由 cloud-compute 关系中的远程 unit 设置,与 OpenStack 可用区同步。

仓库

  • openstack/charm-nova-compute

  • openstack/charm-nova-cloud-controller

文档

新的 Juju 操作需要在参考 nova-cloud-controller 操作的适当文档中进行记录。这是唯一的面向用户的更改。

安全性

测试

编写或更改的代码将由单元测试覆盖。

依赖项

nova-cloud-controller charm 没有安装 Nova 客户端 Python 库。这对于新的 Juju 操作是必需的,因此将其添加到 charm 的 Python 依赖项中。