Stephen Finucane 5bb6d4c188 functional: Add reproducer for #1907775
You can currently remove a host that has instances scheduled to it from
an aggregate. If the aggregate is configured as part of an availability
zone (AZ), this would in turn remove the host from the AZ, leaving
instances originally scheduled to that AZ stranded on a host that is no
longer a member of the AZ. This is clearly undesirable and should be
blocked at the API level.

You can also add a host to an aggregate where it wasn't in one before.
Because nova provides a default AZ for hosts that don't belong to an
aggregate, adding a host to an aggregate doesn't just assign it to an
AZ, it removes it from the default 'nova' one (or whatever you've
configured via '[DEFAULT] default_availability_zone'). As noted in the
docs [1], people should not rely on scheduling to the default AZ, but if
they had, we'd end up in the same situation as above.

Add tests for both, with a fix coming after.

[1] https://docs.openstack.org/nova/latest/admin/availability-zones.html

Change-Id: I21f7f93ee0ec0cd3a290afba59342b31d074cf2f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Related-Bug: #1907775
2021-12-10 18:12:55 +01:00
2019-04-19 19:45:52 +00:00
2017-11-24 16:51:12 -05:00
2021-09-01 12:26:52 +01:00
2021-08-17 13:50:19 +01:00
2017-09-07 15:42:31 +02:00
2021-08-17 13:50:19 +01:00
2017-03-02 11:50:48 +00:00

==============
OpenStack Nova
==============

.. image:: https://governance.openstack.org/tc/badges/nova.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

.. Change things from this point on


OpenStack Nova provides a cloud computing fabric controller, supporting a wide
variety of compute technologies, including: libvirt (KVM, Xen, LXC and more),
Hyper-V, VMware, OpenStack Ironic and PowerVM.

Use the following resources to learn more.

API
---

To learn how to use Nova's API, consult the documentation available online at:

- `Compute API Guide <https://docs.openstack.org/api-guide/compute/>`__
- `Compute API Reference <https://docs.openstack.org/api-ref/compute/>`__

For more information on OpenStack APIs, SDKs and CLIs in general, refer to:

- `OpenStack for App Developers <https://www.openstack.org/appdev/>`__
- `Development resources for OpenStack clouds
  <https://developer.openstack.org/>`__

Operators
---------

To learn how to deploy and configure OpenStack Nova, consult the documentation
available online at:

- `OpenStack Nova <https://docs.openstack.org/nova/>`__

In the unfortunate event that bugs are discovered, they should be reported to
the appropriate bug tracker. If you obtained the software from a 3rd party
operating system vendor, it is often wise to use their own bug tracker for
reporting problems. In all other cases use the master OpenStack bug tracker,
available at:

- `Bug Tracker <https://bugs.launchpad.net/nova>`__

Developers
----------

For information on how to contribute to Nova, please see the contents of the
CONTRIBUTING.rst.

Any new code must follow the development guidelines detailed in the HACKING.rst
file, and pass all unit tests.

Further developer focused documentation is available at:

- `Official Nova Documentation <https://docs.openstack.org/nova/>`__
- `Official Client Documentation
  <https://docs.openstack.org/python-novaclient/>`__

Other Information
-----------------

During each `Summit`_ and `Project Team Gathering`_, we agree on what the whole
community wants to focus on for the upcoming release. The plans for nova can
be found at:

- `Nova Specs <http://specs.openstack.org/openstack/nova-specs/>`__

.. _Summit: https://www.openstack.org/summit/
.. _Project Team Gathering: https://www.openstack.org/ptg/
S
Description
No description provided
Readme 258 MiB
Languages
Python 97.5%
Smarty 2.3%
Shell 0.2%