Commit Graph

60 Commits

Author SHA1 Message Date
Andreas Jaeger dbe6321537 Update api-ref location
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.

Note that Neutron publishes to api-ref/network, not networking anymore.

Note that redirects will be set up as well but let's point now to the
new location.

For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html

Change-Id: Id2cf3aa252df6db46575b5988e4937ecfc6792bb
2019-07-22 19:17:28 +02:00
Takashi NATSUME de31466fdb doc: Fix a parameter of NotificationPublisher
The 'binary' parameter has been changed to the 'source'
since I95b5b0826190d396efe7bfc017f6081a6356da65.
But the notification document has not been updated yet.

Replace the 'binary' parameter with the 'source' parameter.

Change-Id: I141c90ac27d16f2e9c033bcd2f95ac08904a2f52
Closes-Bug: #1836005
2019-07-10 16:13:51 +09:00
Matt Riedemann c9ed708d87 Fix update_provider_tree signature in reference docs
The migration guide for porting from old methods to upt
was missing the allocations kwarg in the code samples.

Change-Id: I43fd8d5eeb382d1e5472fa4e9a2f01bd0e4bf243
2019-06-25 12:46:07 -04:00
Zuul 9762090711 Merge "Change the default of notification_format to unversioned" 2019-06-05 13:10:04 +00:00
Balazs Gibizer ed613aa66f Change the default of notification_format to unversioned
The default config `both` means that both the legacy and the versioned
notifications are emitted. This was selected as default in the past when
we thought that this will help the adoption of the versioned interface
while we worked on to make that new interface in feature parity with the
legacy. Even though the versioned notification interface is in feature
parity with the legacy interface since Stein the projects consuming nova
notifications do not have the resources to switch to the new interface.

In the other hand having `both` as a default in an environtment where
only the legacy notifications are consumed causes performance issues in
the message bus hence the bug #1805659.

The original plan was that we set the default to `versioned` when the
interface reaches feature parity but as major consumers are not ready
to switch we cannot do that.

So the only option left is to set the default to `unversioned`.

Related devstack patch: https://review.opendev.org/#/c/662849/

Closes-Bug: #1805659

Change-Id: I72faa356afffb7a079a9ce86fed1b463773a0507
2019-06-04 10:36:45 +02:00
Matt Riedemann a4651c4558 Link versioned notification talk into docs
This provides a link to gibi's talk from the Train summit
on versioned notifications in to the reference docs.

Change-Id: I5d0c1fb675bdf2cae699efd733048663e5828699
2019-05-23 22:34:38 +00:00
Adam Spiers 752b135ec4 Add Venn diagram showing taxonomy of traits and capabilities
This was put together while working on the mechanism for converting
driver capabilities to traits in I15364d37fb7426f4eec00ca4eaf99bec50e964b6:

    https://review.openstack.org/538498

and may help other developers working on this area in the future.

Change-Id: I395e386ee713769d4c105be0dd6e821382945866
2019-04-26 22:54:31 +01:00
ZhongShengping 7ecaa3fcf8 Replace git.openstack.org URLs with opendev.org URLs
Thorough replacement of git.openstack.org URLs with their opendev.org
counterparts.

Change-Id: I3e0af55e0707f04428a422b973d016ad30c82a12
2019-04-24 13:59:57 +08:00
Matt Riedemann 8856009445 Add docs on what not to include in notifications
Based on bug 1823104 it's clear we should have some
explicit wording in the notification reference docs
about what not to include in versioned notification
payloads, so this change attempts to start that with
the most obvious thing - don't expose access credentials
to the nova deployment.

This also adds a reminder to think about what is being
added / mirrored from internal objects and determine if
consumers really need it and if they aren't asking, opt
to not including it until requested.

Change-Id: I326aa39d963091282a5d0b70ba222abfe8ccfdac
Related-Bug: #1823104
2019-04-04 10:20:32 -04:00
Zuul b2a149d95e Merge "Remove "Fixing the Scheduler DB model" from schedule evolution doc" 2019-03-20 03:56:22 +00:00
Zuul a295324876 Merge "Clarify policy shortcomings in policy enforcement doc" 2019-03-19 18:14:23 +00:00
Zuul b459c58a5b Merge "Remove additional policy configuration details from policy doc" 2019-03-19 18:14:17 +00:00
Zuul f58f73978e Merge "Remove stale aggregates notes from scheduler evolution doc" 2019-03-19 07:56:25 +00:00
Lance Bragstad c8b02af65a Clarify policy shortcomings in policy enforcement doc
This commit updates the list of issues with policy enforcement and
describe some of the benefits for operators and developers if we fix
these issues.

Change-Id: Ie5ba2375fd32611aca360765af01c1ba6432b45e
2019-03-18 23:50:01 +00:00
Lance Bragstad 5d38069f66 Remove additional policy configuration details from policy doc
This is removing additional details that were originally reviewed in:

  I263b2f72037a588623958baccacf78fb6a6be05d

The policy and docs in code work that nova completed in Newton.

Change-Id: I66105fa90036db50249b62fc34442b667a5ee1db
2019-03-18 23:49:33 +00:00
Lance Bragstad 0f1b2e3a63 Remove obsolete policy configuration details from docs
The policy-enforcement document was written prior to any of the
policy-in-code or policy documentation efforts took place. This
commit updates the developer reference for policy to remove these
details since they have already been implemented.

Subsequent patches will update details of this document by taking into
account the recent keystone and oslo changes that help fix the
original issues described in this document.

Change-Id: I263b2f72037a588623958baccacf78fb6a6be05d
2019-03-18 13:53:14 +00:00
Matt Riedemann 0c72e63948 Remove "Fixing the Scheduler DB model" from schedule evolution doc
Blueprint detach-service-from-computenode in Kilo decoupled the
compute node and services concepts so this section is no longer
relevant and can be removed from the doc - it's no longer evolving.

Change-Id: Ibba2aa83b0afe2be05415b69a1ff8ae86866b860
Related-Bug: #1820283
2019-03-15 11:44:06 -04:00
Matt Riedemann 18c40cacc1 Remove stale aggregates notes from scheduler evolution doc
Since I901184cb1a4b6eb0d6fa6363bc6ffbcaa0c9d21d in Kilo the
aggregates information about a HostState object (which is a
wrapper over a ComputeNode) is cached in the scheduler, so the
comments in the scheduler evolution doc about not accessing the
aggregates table in the DB from filters/weighers and such is
extremely out of date and should just be removed.

Change-Id: Ibcbad227813d3b37b4e314eddbf3bae6e85652ea
Related-Bug: #1820283
2019-03-15 11:39:33 -04:00
Matt Riedemann 0a44d3ae0a Trivial typo fix for REST API in policy enforcement docs
Change-Id: If17a910f8a891ce93491d931c95f65d9fd9529e5
2019-03-15 08:33:12 -04:00
Zuul c756e868b6 Merge "Remove cells v1 (for the most part) from the docs" 2019-03-08 01:29:10 +00:00
Hesam Chobanlou 9db41c5ee0 docs: ComputeDriver.update_provider_tree in nova
This change is an update to the nova reference documentation to reflect
changes to the ComputeDriver.update_provider_tree method in nova drivers.

Change-Id: Ifae98d888069477748ade7ef5e0a5cde5c88ffc2
Closes-Bug: #1800657
2019-02-14 00:17:18 +00:00
Matt Riedemann bc5ef2ff06 Remove cells v1 (for the most part) from the docs
As discussed in the mailing list [1] since cells v1
has been deprecated since Pike and the biggest user
of it (CERN as far as we know) moved to cells v2
in Queens, we can start rolling back the cells v1
specific documentation to avoid confusing people
new to nova about what cells is and making them
understand there was an optional v1.

There are still a few mentions of cells v1 left in
here for things like adding a new cell which need
to be re-written and for that I've left a todo.

Users can still get at cells v1 specific docs from
published stable branches and/or rebuilding the
docs from before this change.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-February/002569.html

Change-Id: Idaa04a88b6883254cad9a8c6665e1c63a67e88d3
2019-02-13 13:59:09 -05:00
Artom Lifshitz 50b9d28e7d Doc: rebuild can result in SHUTOFF VM state
Rebuilding a SHUTOFF instance keeps it in SHUTOFF [1]. The doc
incorrectly states that rebuilding always results in an ACTIVE state.
This patch corrects this.

[1] https://github.com/openstack/nova/blob/stable/rocky/nova/compute/manager.py#L3271-L3278

Change-Id: I1af725ec0d6db861e5aaac6f3338c2276e2dad5f
2019-01-10 12:03:17 -05:00
Matt Riedemann ca279c68a5 Provide allocation_ratio/reserved amounts from update_provider_tree()
The purpose of the RT._normalize_inventory_from_cn_obj method is
to set allocation_ratio and reserved amounts on standard resource
class inventory records that get sent to placement if the virt driver
did not specifically set a ratio or reserved value (which none but
the ironic driver do).

If the allocation_ratio or reserved amount is in the inventory
data dict from the virt driver, then the normalize method ignores
it and lets the virt driver take priority.

However, with change I6a706ec5966cdc85f97223617662fe15d3e6dc08,
any virt driver that implements the update_provider_tree() interface
is storing the inventory data on the ProviderTree object which gets
cached and re-used, meaning once allocation_ratio/reserved is set
from RT._normalize_inventory_from_cn_obj, it doesn't get unset and
the normalize method always assumes the driver provided a value which
should not be changed, even if the configuration value changes.

We can make the config option changes take effect by changing
the semantics between _normalize_inventory_from_cn_obj and
drivers that implement the update_provider_tree interface, like
for the libvirt driver. Effectively with this change, when a driver
implements update_provider_tree(), they now control setting the
allocation_ratio and reserved resource amounts for inventory they
report. The libvirt driver will use the same configuration option
values that _normalize_inventory_from_cn_obj used. The only difference
is in update_provider_tree we don't have the ComputeNode facade to
get the "real" default values when the allocation_ratio is 0.0, so
we handle that like "CONF.cpu_allocation_ratio or 16.0". Eventually
that will get cleaned up with blueprint initial-allocation-ratios.

Change-Id: I72c83a95dabd581998470edb9543079acb6536a5
Closes-Bug: #1799727
2018-10-29 12:27:31 -04:00
Matt Riedemann 2a25a13ea9 Add some more docs for upgrade checkers
This adds a few more things to the upgrade checks
reference docs after getting questions about it
during the Stein release goal implementation from
other project teams:

1. Notes the high level set of steps for upgrading
   nova in grenade and where nova-status fits into
   that sequence.

2. Links to the oslo.upgradecheck library which
   didn't exist when the original document was
   written.

3. Adds a FAQs section with Q&A for several things
   that have come up during the Stein release goal.

Change-Id: I990e5dbe563fa342f7481c3720445b924447ad54
Story: 2003657
2018-10-15 15:37:11 +00:00
Zuul a55c189b71 Merge "Add contributor guide for upgrade status checks" 2018-09-20 21:51:01 +00:00
Matt Riedemann 7c3c3b9863 Add contributor guide for upgrade status checks
This adds some background, guidelines and structural
notes on writing nova-status upgrade checks.

This is intentionally written with some potentially
redundant information or nova developers as it's
also meant to be consumed outside nova as part of the
community-wide "upgrade-checkers" goal for Stein [1].

Story: 2003570

[1] https://governance.openstack.org/tc/goals/stein/upgrade-checkers.html

Change-Id: I340b25edeab3ac19c5d0bedfc69acd037d57bdd2
2018-09-19 18:50:25 +00:00
Matt Riedemann 579e0cfd57 Document differences and similaries between extra specs and hints
Scheduler hints are not really documented very well at all except
for being mentioned per scheduler filter in the admin configuration
guide, nor are they documented within relation to flavor extra
specs which are both used for impacting scheduling decisions and
are choices that a deployer has to make based on how they configure
their cloud.

This change adds a document about scheduler hints and how they are
similar to and different from flavor extra specs, including end
user discoverability and interoperability, and thoughts on which
should be used if writing a custom scheduler filter.

The TODO in the API guide is also resolved by linking to this
document.

Change-Id: Ib1f35baacf59efafb9e4bccfcc4f0025d99ad5b2
2018-08-29 19:09:11 -04:00
Chen 66c097a979 Revisons on notifications doc
1 typo fixes
2 use :oslo.config:option: elements for nova conf options
3 change '`' to '``' where applicable

Change-Id: Icfebf894185fc83f5fa77e8e10a42ba9dbb37755
2018-08-15 23:40:41 +08:00
zhufl fbc86f8844 Fix none-ascii char in doc
There exist some none-ascii chars in doc, which may cause trouble
in displaying.

Change-Id: I1ebf83fb4e8cc853fd7f3065ecf420a064c9983f
2018-08-07 00:13:00 +00:00
Stephen Finucane dd1a416bc9 doc: Start using openstackdoctheme's extlink extension
This ensures we have version-specific references to other projects [1].
Note that this doesn't mean the URLs are actually valid - we need to do
more work (linkcheck?) here, but it's an improvement nonetheless.

[1] https://docs.openstack.org/openstackdocstheme/latest/#external-link-helper

Change-Id: Ifb99e727110c4904a85bc4a13366c2cae300b8df
2018-05-03 14:34:47 +01:00
Matt Riedemann 11528966ba Document how to disable notifications
This adds information to the "notification_format" config
option help and notifications docs on how to disable notifications.

While updating the config option help text, a stale reference
to Pike is removed.

Change-Id: I736025a0a88fc969831558805687b642da8cd365
Closes-Bug: #1761405
2018-04-16 14:12:12 -04:00
Eric Fried f9e13bcfed update_provider_tree devref and docstring updates
Design changes [1] from the Dublin PTG prompted some rewording of the
docstring for ComputeDriver.update_provider_tree.  And to avoid that
docstring becoming too enormous, relevant chunks of the spec [2] are
copied to a new devref document which is linked from that docstring.

[1] https://review.openstack.org/#/c/552122/
[2] http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/update-provider-tree.html

Change-Id: I06504aa2a3fe6d39ecc1e681de43be8fee9e06f6
blueprint: update-provider-tree
2018-04-05 09:09:26 -05:00
Matt Riedemann 94ca0b9023 Add a note about versioned notification samples being per-release
The example versioned notifications don't have any indication of
which release they are available in, and since people can link to
the 'latest' docs, like in I51d0deffc4f42ff2722a8d21aa6b8c8008c62723,
it's important to note that the samples in the latest docs might not
be in the version of nova one is actually using, e.g. ocata or pike.

So this adds a note that people should be aware of that before
relying on some versioned notification.

Change-Id: I2f7db424f0938667895b51f45ea60862a32e22c1
2017-11-15 20:42:06 +00:00
Balazs Gibizer 0d4c3cc65b Remove dead code of api.fault notification sending
Based on the description of the notify_on_api_faults config option [1]
and the code that uses it [2] nova sends and api.fault notification
if the nova-api service encounters an unhandle exception.
There is a FaultWrapper class [3] added to the  pipeline of the REST
request which catches every exception and calls the notification sending.

Based on some debugging in devstack this FaultWrapper never catches any
exception. Every REST API method is decorated with expected_errors
decorator [5] which as a last resort translate the unexpected exception
to HTTPInternalServerError. In the wsgi stack the actual REST api call is
guarded with ResourceExceptionHandler context manager [7] which translates
HTTPException to a Fault [8]. Then Fault is catched and translated to
the REST response [7]. This way the exception never propagates back to
the FaultWrapper and therefore the api.fault notification is never emitted.

Based on the git history of the expected_errors decorator this notification
was never emitted for v2.1 API and as the v2.0 API now supported with the
same codebase than v2.1 it is not emitted for v2.0 calls either. As nobody
reported a bug I assume that nobody tried to use this notification for a very
long time. Therefore instead of fixing this bug this patch propses to remove
the dead code.

See a bit more detailed description on the ML [9].

[1] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/conf/notifications.py#L49
[2] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/notifications/base.py#L84
[3] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/api/openstack/__init__.py#L78
[5] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/api/openstack/extensions.py#L325
[7] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/api/openstack/wsgi.py#L637
[8] https://github.com/openstack/nova/blob/0aeaa2bce8ad15bc2f28e00b30d688514b992e13/nova/api/openstack/wsgi.py#L418
[9] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118639.html

Change-Id: I608b6ebdc69d31eb2a11ac6479fa4f2e8c20f7d1
Closes-Bug: #1699115
2017-10-09 17:29:40 +02:00
Eric Fried 6e2d001597 _rollback_live_migration in live-migration seqdiag
Add the _rollback_live_migration call on the source as the first thing
that happens on failed driver.live_migration.

Change-Id: I5db474a072ad12d48f496dcc26c99ea73c90cb66
2017-09-27 09:16:08 -05:00
Eric Fried f839a97e0f Live Migration sequence diagram
Based on mriedem's hand-drawn version [1] (but not as pretty).

[1] https://photos.google.com/share/AF1QipNpWVQKU8GK4_9wxVbiRJUqJnMzqPcBh6DvjVyBPIjjmi6ZU8r9TleQNo6pV1t9SA?key=NUl3OUFGYkRFTE8tMHhSX0lfc0Y1eEdoeHo4SUhn

Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>

Change-Id: I63046079cd3135b4b19c0c6745075f090d04e396
2017-09-25 16:19:44 +00:00
Jenkins b9a6ceb429 Merge "Remove qpid description in doc" 2017-09-06 14:44:12 +00:00
Jenkins fa1ac7d965 Merge "explain payload inheritance in notification devref" 2017-09-06 13:29:59 +00:00
Jenkins 1c31b0ef3d Merge "Enhance doc for nova services" 2017-09-06 13:25:26 +00:00
jichenjc 1f11e61068 Remove qpid description in doc
from commit
925eb734a9d3cb46bb89a89ec1a78281d2d7afe9
it says qpid is removed so nova should not guide user to use qpid.

Change-Id: Idf745ec5ccc08a3bab55c3e4394e4a4da900f56d
2017-09-03 05:56:48 +00:00
Matt Riedemann beac1529fd doc: link to versioned notification samples from main index
Notifications are essentially another API for end users, but
it can be hard to find the list of existing notifications or
their samples which are buried deep down via contributors >
technical reference deep dive > notitfications. If I'm an
end user, I'd like to just see them in the same set of links
on the main page as the API, under the "For End Users" section.

Change-Id: If3ca21b080d06a291ed27c9bcd84a566164c3b70
2017-09-01 14:10:14 -04:00
jichenjc 73b6598d41 Enhance doc for nova services
make some modifications to nova db reference and add some
basic information about some functions such as nova.service.start

Change-Id: I70c1a5eac91ab61ecd4ebc1c8ed95e4e4ba6b9fc
2017-08-31 08:30:48 +08:00
Matt Riedemann 30fad527b2 Updates to scheduling workflow doc
There are a few updates here:

1. Fix the size of one of the existing boxes to fit the text.
2. Add a note at the top that anything about alternatives is
   future work since that didn't merge in Pike.
3. Add a box to note the call from scheduler to placement to
   make the "claim".

Change-Id: I8b6468766f4924d009b2567fe71c2f5d2733a6e3
2017-08-28 18:34:16 -04:00
Eric Fried dfd4e1506b Add formatting to scheduling activity diagram
Add explicit box sizes to ensure all text is visible in the cells of the
activity diagram SVG in the Scheduling doc.

Change-Id: Ife4d72cbd2b877e948ac4aa4fe2fa3efc1e69e9d
2017-08-24 10:28:35 -05:00
Stephen Finucane 002ca8c7f4 docs: Document the scheduler workflow
There have been some major changes to how scheduling works in Nova
during the Pike and Queens cycles. This documents these design changes
so that this new, more complex workflow is clearly spelled out.

Co-Authored-By: Ed Leafe <ed@leafe.com>

Change-Id: I15121d8fe9b715c0aec39dee4bfdf25ced42b481
2017-08-24 15:18:11 +00:00
Jenkins c7153048f3 Merge "Clean up *most* ec2 / euca2ools references" 2017-08-16 19:55:12 +00:00
Jenkins 33f3614135 Merge "doc: address review comments in stable-api guide updates" 2017-08-14 08:02:09 +00:00
Jenkins f401d18a3d Merge "Improve stable-api doc with current API state" 2017-08-10 22:01:02 +00:00
Matt Riedemann 430af62aa3 doc: address review comments in stable-api guide updates
This addresses review comments made in change
I6522100a78241400b1ea059a39a32c259fe6ab90 which
updated the stable API docs.

Change-Id: Ib0ffe3e9702fd39914b2025096667e699bc432a0
2017-08-10 17:11:50 -04:00