Commit Graph

9 Commits

Author SHA1 Message Date
melanie witt 5a55a78d51 live migration: Avoid volume rollback mismatches
The tl;dr is to 1) avoid trying to disconnect volumes on the
destination if they were never connected in the first place and
2) avoid trying to disconnect volumes on the destination using block
device info for the source.

Details:

* Only remotely disconnect volumes on the destination if the failure
  was not during pre_live_migration(). When pre_live_migration() fails,
  its exception handling deletes the Cinder attachment that was created
  before re-raising and returning from the RPC call. And the BDM
  connection_info in the database is not guaranteed to reference the
  destination because a failure could have happened after the Cinder
  attachment was created but before the new connection_info was saved
  back to the database.  In this scenario, there is no way to reliably
  disconnect volumes in the destination remotely from the source because
  the destination connection_info needed to do it might not be
  available.

* Due to the first point, this adds exception handling to disconnect
  the volumes while still on the destination, while the destination
  connection_info is still available instead of trying to do it
  remotely from the source afterward.

* Do not pass Cinder volume block_device_info when calling
  rollback_live_migration_on_destination() because volume BDM records
  have already been rolled back to contain info for the source by
  that point. Not passing volume block_device_info will prevent
  driver.destroy() and subsequently driver.cleanup() from attempting to
  disconnect volumes on the destination using connection_info for the
  source.

Closes-Bug: #1899835

Change-Id: Ia62b99a16bfc802b8ba895c31780e9956aa74c2d
2025-04-28 18:11:25 -07:00
Sylvain Bauza cc25813b6d doc: drop blockdiag usage
Since blockdiag seems a bit unmaintenained, let's just statically
generate the SVGs but let's keep the source files in tree so we can
modify the diagrams whenever we want, provided blockdiag exists in
a foreseenable future :-)

Closes-Bug: #2026345

Change-Id: I1cc078554ab149a9849c895e08c878180b7510b0
2024-01-22 18:27:04 +01:00
Stephen Finucane 58f7582c63 docs: Remove references to XenAPI driver
Not as many of these as I thought there would be. Also, yes, the change
to 'nova.conf.compute' is a doc change :)

Change-Id: I27626984ce94544bd81d998c5fdf141875faec92
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-08-31 15:53:31 +01:00
Stephen Finucane c24fbc3dc8 docs: Remove a whole load of unused images, most remainder
Thank God. The majority of the removed images are so crufty, it's
actually funny. I don't want to update them and it's unlikely anyone
else does either. The rest are just moved to be with their comrades in
the '_static/images' directory.

Change-Id: I91b34c85379a68be5e6a09ce48b11c0d3343f12b
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-10-02 17:36:21 +01:00
Andrey Volkov 3a26ad77e8 Docs: Add Placement to Nova system architecture
Changes in svg:
- schema with nova-network is removed and one with Neutron is made as default
- Placement service is added to a party
- titles and arrows are aligned

Change-Id: If7e4a0b92c8713dabcb16a5e7820fbf479d82917
2018-07-23 14:44:27 +03:00
ghanshyam a03c667109 Improve stable-api doc with current API state
extensions, stevedore and extensions config options are gone
and plain router is introduced in Pike.

Also this documents was little bit confusing about current and
old state of APIs.

This commit makes it more clear and reflect the current API state
and also describe the evolution of APIs.

Change-Id: I6522100a78241400b1ea059a39a32c259fe6ab90
2017-08-09 14:13:17 +00:00
Stephen Finucane ef9cbc0017 doc: Populate the 'user' section
Per the spec [1]:

  user/ – end-user content such as concept guides, advice, tutorials,
  step-by-step instructions for using the CLI to perform specific tasks,
  etc.

The remaining content all ends up in here.

[1] specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration

Change-Id: I480eee9cd7568efe2f76dd185004774588eb4a99
2017-07-18 15:41:20 +01:00
Stephen Finucane 83e7763518 doc: Populate the 'reference' section
Per the spec [1]:

  reference/ – any reference information associated with a project that
  is not covered by one of the above categories. Library projects should
  place their automatically generated class documentation here.

There are a couple of documents that focus on nova internals, but won't
necessarily be applicable to user. These are moved here.

[1] specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration

Change-Id: I94614c2383329e1fbed60d9c5aca3fab5170ef8f
2017-07-18 15:41:20 +01:00
Stephen Finucane a2165cf651 doc: Populate the 'contributor' section
Per the spec [1]:

  contributor/ – anything related to contributing to the project or how
  the team is managed. Applies to some of the current content under
  /developer, we are changing the name to emphasize that not all
  contributors are developers and sometimes developers are users but not
  contributors.

We currently have a handful of docs that focus on the "how to develop or
contribute" aspects of nova, and these are moved. Docs that focus on
architecture or design decisions for nova are not moved, as these will
go into 'reference'.

A TODO is added to the former 'api_plugins' document as it's mega
out-of-date and needs some serious work.

[1] specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration

Change-Id: Iad770688b4eafeb9caa710b4398b02d80a017a70
2017-07-18 15:41:19 +01:00