Merge "Add compute-nodes-az-sync spec"
This commit is contained in:
commit
764bf03172
110
specs/wallaby/approved/compute-nodes-az-sync.rst
Normal file
110
specs/wallaby/approved/compute-nodes-az-sync.rst
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
..
|
||||||
|
Copyright 2021 Canonical Ltd.
|
||||||
|
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0
|
||||||
|
Unported License.
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
..
|
||||||
|
This template should be in ReSTructured text. Please do not delete
|
||||||
|
any of the sections in this template. If you have nothing to say
|
||||||
|
for a whole section, just write: "None". For help with syntax, see
|
||||||
|
http://sphinx-doc.org/rest.html To test out your formatting, see
|
||||||
|
http://www.tele3.cz/jbar/rest/rest.html
|
||||||
|
|
||||||
|
====================================================
|
||||||
|
OpenStack Compute Nodes Juju Availability Zones Sync
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
For some providers, Juju may set the environment variable
|
||||||
|
``JUJU_AVAILABILITY_ZONE`` with information about the availability zone of the
|
||||||
|
machine deployed.
|
||||||
|
|
||||||
|
OpenStack has the concept of availability zones too, and it would be useful
|
||||||
|
for Juju operators to have the option of automatically sync the Juju
|
||||||
|
availability zones with the OpenStack availability zones.
|
||||||
|
|
||||||
|
Problem Description
|
||||||
|
===================
|
||||||
|
|
||||||
|
At the moment, a Juju operator needs to manually sync the nova-compute Juju
|
||||||
|
machines' availability zones (AZs), with the OpenStack AZs.
|
||||||
|
|
||||||
|
Proposed Change
|
||||||
|
===============
|
||||||
|
|
||||||
|
A new Juju action to the nova-cloud-controller charm will be implemented to
|
||||||
|
automatically sync the Juju AZs with the OpenStack AZs. The availability zone
|
||||||
|
for each Juju unit is exposed to the nova-cloud-controller charm through the
|
||||||
|
cloud-compute relation.
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
ionutbalutoiu
|
||||||
|
|
||||||
|
Gerrit Topic
|
||||||
|
------------
|
||||||
|
|
||||||
|
Use Gerrit topic "compute-nodes-az-sync" for all patches related to this spec.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
git-review -t compute-nodes-az-sync
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
- nova-compute
|
||||||
|
|
||||||
|
- Set a new relation variable called ``availability_zone`` in the
|
||||||
|
``cloud-compute`` relation (used to relate to the ``nova-cloud-controller``
|
||||||
|
application). This variable will take the value of the automatic Juju
|
||||||
|
variable ``JUJU_AVAILABILITY_ZONE``, if this is set by the underlying
|
||||||
|
provider.
|
||||||
|
|
||||||
|
- nova-cloud-controller
|
||||||
|
|
||||||
|
- Implement a new Juju action called ``sync-compute-availability-zones`` used
|
||||||
|
to sync the Juju availability zones, set by the remote units in the
|
||||||
|
``cloud-compute`` relation, with the OpenStack availability zones.
|
||||||
|
|
||||||
|
Repositories
|
||||||
|
------------
|
||||||
|
|
||||||
|
- openstack/charm-nova-compute
|
||||||
|
|
||||||
|
- openstack/charm-nova-cloud-controller
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The new Juju action needs to be documented in the appropriate docs that
|
||||||
|
reference the nova-cloud-controller actions. This is the only user-facing
|
||||||
|
change.
|
||||||
|
|
||||||
|
Security
|
||||||
|
--------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Testing
|
||||||
|
-------
|
||||||
|
|
||||||
|
Code written or changed will be covered by unit tests.
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
The ``nova-cloud-controller`` charm does not install the Nova client Python
|
||||||
|
library. This is needed for the new Juju action, so it is added to the charm
|
||||||
|
Python dependencies.
|
Loading…
x
Reference in New Issue
Block a user