Commit Graph

447 Commits

Author SHA1 Message Date
melanie witt 76c10acb33 docs: Show the recommended way to PXE boot an instance
Someone asked about this in the #openstack-nova channel today and I
found some artifacts: an abandoned patch [1] and spec [2] where the
conclusion of the discussion was a recommendation to use iPXE and
rescue to PXE boot an instance.

This adds a small high level doc about how to do it to help others who
may want to do the same thing.

[1] https://review.opendev.org/c/openstack/nova/+/434549
[2] https://review.opendev.org/c/openstack/nova-specs/+/435052

Change-Id: I78f097b9e280fc2bcc14655042b844d3d5977b07
2024-09-06 00:26:09 +00:00
Takashi Kajinami 3169e7cebd libvirt: Launch instances with stateless firmware
This change implements the actual functionality to allow users to
launch instances with stateless firmware (read-only firmware image +
no NVRAM).

Note that this feature is supported by the libvirt virt driver, and
also requires libvirt >= 8.6.0.

Implements: blueprint libvirt-stateless-firmware
Change-Id: I7219bfa11ae98e65c326bec1a99c49d3e245cb9a
2024-08-21 10:52:05 +09:00
melanie witt d45379c6b4 docs: Add more information about unified limits
The admin docs are missing some details about enabling unified limits,
like oslo.limit configuration and Keystone roles. This adds more
information about what roles are needed for what actions, how to set
quota limits, quota enforcement, and unified limits in general.

This also removes a couple of tables from the user docs that show
obsolete/deprecated quota limits because they may be more confusing
than helpful considering we don't want new deployments to use them and
they add more clutter to the page.

More info is also added regarding the CLI commands for unified limits
and makes it consistent between the user and admin docs.

Change-Id: Id93f9997d1b217e0c2151c88323564f7a7fefc02
2024-05-17 19:17:05 +00:00
Sean Mooney 33a56781f4 fix sphinx-lint errors in docs and add ci
This change mainly fixes incorrect use of backticks
but also adress some other minor issues like unbalanced
backticks, incorrect spacing or missing _ in links.

This change add a tox target to run sphinx-lint
as well as adding it to the relevent tox envs to enforce
it in ci. pre-commit is leveraged to install and execute
sphinx-lint but it does not reqiure you to install the
hooks locally into your working dir.

Change-Id: Ib97b35c9014bc31876003cef4362c47a8a3a4e0e
2024-04-17 13:33:47 +01:00
Stephen Finucane a211ea82a1 docs: Further clarifications to the SG doc
Add some notes and clarify some details:

- You don't *have* to specify an IP protocol: non-IP Ethertypes are
  possible
- It is not possible to automatically create ports *without* the default
  SG (nor will it ever be possible - proxy APIs are bad)
- Remove the default SG can break access to the metadata service

Change-Id: Id66a92bdfd6e1663acddca830b2a9e99ac23a758
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-02-29 12:19:55 +00:00
Ghanshyam Mann c76c72cfe0 Remove HyperV: cleanup doc/code ref
Cleanup doc/code ref of HyperV driver.

Change-Id: I6cd8fb90829e040bfd356ff6b1c41aa9a1c906d2
2024-02-07 12:08:07 -08:00
Stephen Finucane 91fc3747a3 docs: Address nits in new security group doc
Change-Id: I8439c5df745712fe11b89acb794a6e92290ba3c9
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-12-13 19:53:55 +00:00
Stephen Finucane cef74cbd10 docs: Revamp the security groups guide
I did not have a clear understanding of when a security group would or
would not be applied to a port and reading the documentation did not
help. Massively expand the security groups document, adding a couple of
important notes along the way as well as references to the nova-specific
security group operations. The document is moved from the admin guide to
the user guide (with redirects) since these are not admin-only
operations by default.

Change-Id: I212bc99112aad2f1e3057befca381a26d702be2e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-12-12 14:35:15 +00:00
Stephen Finucane 7ce48d1161 docs: Add documentation on server groups
That's one giant hole in our docs. Whoops.

Change-Id: I8ac6f204dd3ebe424dfe4335a491b8c9df7d0cc4
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-11-07 12:17:16 +00:00
melanie witt e36b5315a1 docs: Fix unified limits code block text alignment
The text alignment for one of the code blocks on the unified limits
admin doc page being off by one causes the rendered code block to be
slightly askew.

This fixes the alignment and also adjusts inconsistencies in code block
text alignment throughout the unified limits docs.

Change-Id: I52b61ad63a9788fe6443284db1a4e9012674aafe
2023-10-18 22:01:02 +00:00
melanie witt d42fe462be Follow up for unified limits: PCPU and documentation
This addresses comments from code review to add handling of PCPU during
the migration/copy of limits from the Nova database to Keystone. In
legacy quotas, there is no settable quota limit for PCPU, so the limit
for VCPU is used for PCPU. With unified limits, PCPU will have its own
quota limit, so for the automated migration command, we will simply
create a dedicated limit for PCPU that is the same value as the limit
for VCPU.

On the docs side, this adds more detail about the token authorization
settings needed to use the nova-manage limits migrate_to_unified_limits
CLI command and documents more OSC limit commands like show and delete.

Related to blueprint unified-limits-nova-tool-and-docs

Change-Id: Ifdb1691d7b25d28216d26479418ea323476fee1a
2023-09-01 06:19:51 +00:00
melanie witt 8f0817f078 Add documentation for unified limits
This adds documentation for unified limits and signals deprecation of
the nova.quota.DbQuotaDriver.

Related to blueprint unified-limits-nova-tool-and-docs

Change-Id: I3951317111396aa4df36c5700b4d4dd33e721a74
2023-08-30 19:33:50 +00:00
Sean Mooney 73fe84fa0e Support multiple config file with mod_wsgi
Unlike uwsgi, apache mod_wsgi does not support passing
commandline arguments to the python wsgi script it invokes.

As a result while you can pass --config-file when hosting the
api and metadata wsgi applications with uwsgi there is no
way to use multiple config files with mod_wsgi.

This change mirrors how this is supported in keystone today
by intoducing a new OS_NOVA_CONFIG_FILES env var to allow
operators to optional pass a ';' delimited list of config
files to load.

This change also add docs for this env var and the existing
undocumented OS_NOVA_CONFIG_DIR.

Closes-Bug: 1994056
Change-Id: I8e3ccd75cbb7f2e132b403cb38022787c2c0a37b
2022-12-07 12:36:32 +01:00
Rajesh Tailor 0fce3c03ab Fix typos in nova docs
Change-Id: I7b6f8c198aa42f5ef3f8b158308b993b040454ec
2022-09-23 09:09:37 +05:30
Dan Smith 45c5b80fd0 Add API support for rebuilding BFV instances
This adds a microversion and API support for triggering a rebuild
of volume-backed instances by leveraging cinder functionality to
do so.

Implements: blueprint volume-backed-server-rebuild
Closes-Bug: #1482040

Co-Authored-By: Rajat Dhasmana <rajatdhasmana@gmail.com>

Change-Id: I211ad6b8aa7856eb94bfd40e4fdb7376a7f5c358
2022-08-31 18:05:03 +05:30
Amit Uniyal de830f87b0 Adds img_config_drive in nova users docs
Added img_config_drive property usuage in nova users
config drive docs

Closes-Bug: #1879066
Change-Id: I56be0b6cda51447813c0a97b01ccb48d0c898c20
2022-08-05 13:01:46 +00:00
Stephen Finucane deae814611 Remove the PowerVM driver
The PowerVM driver was deprecated in November 2021 as part of change
Icdef0a03c3c6f56b08ec9685c6958d6917bc88cb. As noted there, all
indications suggest that this driver is no longer maintained and may be
abandonware. It's been some time and there's still no activity here so
it's time to abandon this for real.

This isn't as tied into the codebase as the old XenAPI driver was, so
removal is mostly a case of deleting large swathes of code. Lovely.

Change-Id: Ibf4f36136f2c65adad64f75d665c00cf2de4b400
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2022-08-02 15:31:19 +02:00
Zuul 26ce7b30b2 Merge "docs: Add new architecture guide" 2022-02-03 18:28:02 +00:00
Zuul b0633ac49b Merge "docs: Add a new cells v2 document" 2022-02-02 17:01:13 +00:00
Martin Kopec 78e1542b80 Update Interop doc
The commit replaces DefCore committee (a former name) by
Interop Working Group (the current name) and updates a few
more old interop references.

Change-Id: I578a21d610b5b680b4549bf34e1857307a1b8e74
2021-11-08 10:09:29 +00:00
Stephen Finucane ef4d759e87 docs: Add new architecture guide
As with the cells v2 docs before this, we have a number of architecture
focused documents in tree. The 'user/architecture' guide is relatively
up-to-date but is quite shallow, while the 'admin/arch' guide is
in-depth but almost a decade out-of-date, with references to things
like nova's in-built block storage service. Replace most of the latter
with more up-to-date information and the merge the former into it,
before renaming the file to 'admin/architecture'.

Change-Id: I518bb5d586b159b4796fb6139351ba423bc19639
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-10-19 12:51:39 +01:00
Stephen Finucane 13b06ebb1c docs: Add a new cells v2 document
We currently have three cells v2 documents in-tree:

- A 'user/cellsv2-layout' document that details the structure or
  architecture of a cells v2 deployment (which is to say, any modern
  nova deployment)
- A 'user/cells' document, which is written from a pre-cells v2
  viewpoint and details the changes that cells v2 *will* require and the
  benefits it *would* bring. It also includes steps for upgrading from
  pre-cells v2 (that is, pre-Pike) deployment or a deployment with cells
  v1 (which we removed in Train and probably broke long before)
- An 'admin/cells' document, which doesn't contain much other than some
  advice for handling down cells

Clearly there's a lot of cruft to be cleared out as well as some
centralization of information that's possible. As such, we combine all
of these documents into one document, 'admin/cells'. This is chosen over
'users/cells' since cells are not an end-user-facing feature. References
to cells v1 and details on upgrading from pre-cells v2 deployments are
mostly dropped, as are some duplicated installation/configuration steps.
Formatting is fixed and Sphinx-isms used to cross reference config
option where possible. Finally, redirects are added so that people can
continue to find the relevant resources. The result is (hopefully) a
one stop shop for all things cells v2-related that operators can use to
configure and understand their deployments.

Change-Id: If39db50fd8b109a5a13dec70f8030f3663555065
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-10-19 12:51:39 +01:00
Stephen Finucane 289438b4c2 docs: Drop references to non-filter scheduler drivers
Take the opportunity to clean up the docs quite a bit, ultimately
combining two disparate guides on the scheduler into one.

Change-Id: Ia72d39b4774d93793b381359b554c717dc9a6994
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-23 16:45:37 +01:00
Stephen Finucane a7584ec1a5 docs: Add documentation on database migrations
Alembic does lots of new things. Provide docs for how to use this. We
also improve upgrade docs slightly, removing references to ancient
reviews that are no longer really helpful as well as calling out our N
-> N+1 constraint.

Change-Id: I3760b82ce3bd71aa0a760d7137d69dfa3f29dc1d
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-17 13:49:18 +01:00
Stephen Finucane bf8b5fc7d0 db: Move remaining 'nova.db.sqlalchemy' modules
The two remaining modules, 'api_models' and 'api_migrations', are
moved to the new 'nova.db.api' module.

Change-Id: I138670fe36b07546db5518f78c657197780c5040
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-09 15:34:40 +01:00
Zuul b218f167cc Merge "db: Move main DB migrations" 2021-08-06 16:57:04 +00:00
Zuul b5aa1de0ab Merge "docs: Add libvirt misc doc" 2021-07-27 18:24:31 +00:00
Stephen Finucane d88fe2895b docs: Replace 'nova boot' with 'openstack server create'
Replace references to novaclient with OSC in the boot from volume guide.

This is essentially a revert of commit aa3964118, which was a revert of
an earlier attempt at doing this that fell down because it didn't
reflect the changes in CLI parameters between the different tools.

Change-Id: Ic99440dd618243517f64506e3da88885fc2c44c9
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-07 13:29:07 +00:00
Stephen Finucane bcf225daf4 db: Move main DB migrations
We place these in a 'legacy_migrations' directory, as we will soon be
adding alembic-based migrations in a 'migration' directory.

Change-Id: Ib927e4c48f59a467a913875111ffbf64ffe0de90
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-05 11:05:04 +01:00
Stephen Finucane 5cf06bf33d docs: Remove duplicate ToC entry
Change-Id: Idf9c2cb27b3421174b686ca97233281ea7168970
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-05-31 15:07:41 +01:00
Zuul fdd96de20d Merge "doc: Use a non-numerical anchor when referencing microversions" 2021-03-31 17:50:35 +00:00
Zuul d44ce25f15 Merge "docs: Add SEV guide" 2021-03-25 13:48:36 +00:00
Zuul f4f0f8eea1 Merge "docs: Remove duplicated PCI passthrough extra spec info" 2021-03-25 13:47:27 +00:00
Zuul 232fa8bca1 Merge "docs: Remove duplicate TPM extra spec info" 2021-03-25 13:46:15 +00:00
Zuul ad6882b45b Merge "docs: Add a real-time guide" 2021-03-25 13:45:03 +00:00
Zuul a086a88cd1 Merge "docs: Add a resource limits guide" 2021-03-24 13:26:39 +00:00
Zuul a337c1de91 Merge "docs: Add note about rescuing bfv instances with the 2.87 microversion" 2021-03-24 13:23:49 +00:00
Lee Yarwood 387a5753de doc: Use a non-numerical anchor when referencing microversions
As called out in the review for
Ib7b9f4fd7673525129c03dc2943deedd0c7ad81f the use of a numerical anchor
causes a sequence id to be used that can change over time in the
document and thus is not stable to reference externally.

This change simply switches to a non-numerical anchor ensuring that
sphinx generates a stable anchor we can always reference.

Change-Id: I550f7fd89a13e58031b0ddfbcb4f6a5239dbf335
2021-03-24 12:18:59 +00:00
Stephen Finucane 9dfac32959 docs: Add libvirt misc doc
A new dumping ground for libvirt'y things that can't easily be
categorized or placed elsewhere.

Change-Id: I6999b9d66e12e1df7970aff6ce63e5323de6be45
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Related-Bug: #1843542
2021-03-23 11:17:10 +00:00
Stephen Finucane 49767beaa9 docs: Add SEV guide
This was previously hidden in the hypervisor configuration guide. Make
it a top-level document.

Change-Id: If402522c859c1413f0d90912e357496a0a67c5cf
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:13:34 +00:00
Stephen Finucane c5ebaef610 docs: Remove duplicated PCI passthrough extra spec info
There's also a PCI passthrough guide. Use that instead, allowing us to
remove the sections for various extra specs from the 'user/flavors'
guide:

- hw:pci_numa_affinity_policy
- pci_passthrough:alias

Change-Id: I5701d284c2cfdadf825f8e2f699651b3f8c0c9ab
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:13:01 +00:00
Stephen Finucane 94c03e8d66 docs: Remove duplicate TPM extra spec info
We have a perfectly good TPM guide. Enhance that, allowing us to remove
the special section dedicated to this from the generic flavor docs.

Change-Id: If484074c01595f747f9201b5ec12164779195b61
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:12:29 +00:00
Stephen Finucane 777c02485f docs: Add a real-time guide
This beefy patch closes a long-standing TODO and allows us to move yet
more information out of the flavors guide and into specific documents.
This, combined with existing documentation in place, means we can remove
the sections for various extra specs from the 'user/flavors' guide:

- hw:cpu_realtime            -> doc/source/admin/real-time.rst
- hw:cpu_realtime_mask       -> doc/source/admin/real-time.rst
- hw:emulator_threads_policy -> doc/source/admin/cpu-topologies.rst
- hw:cpu_policy              -> doc/source/admin/cpu-topologies.rst
- hw:cpu_thread_policy       -> doc/source/admin/cpu-topologies.rst
- hw:cpu_sockets             -> doc/source/admin/cpu-topologies.rst
- hw:cpu_cores               -> doc/source/admin/cpu-topologies.rst
- hw:cpu_threads             -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_sockets         -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_cores           -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_threads         -> doc/source/admin/cpu-topologies.rst
- hw:numa_nodes              -> doc/source/admin/cpu-topologies.rst
- hw:numa_cpus.N             -> doc/source/admin/cpu-topologies.rst
- hw:numa_mem.N              -> doc/source/admin/cpu-topologies.rst
- hw:mem_page_size           -> doc/source/admin/huge-pages.rst

Multiple improvements to the libvirt extra spec docs are included here,
for want of a better place to include them.

Change-Id: I02b044f8246f4a42481bb5f00259842692b29b71
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:11:52 +00:00
Stephen Finucane 8528eaa602 docs: Add a resource limits guide
This is mostly regurgitated information from the current flavors guide
but we take the opportunity to significantly expand upon what we've
already stated here.

Change-Id: I9ad798427bbc6451fd920d6c08357d6e1eaa5136
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 10:37:30 +00:00
Zuul 2dc26edfc5 Merge "docs: Document UEFI secure boot feature" 2021-03-16 11:49:51 +00:00
Stephen Finucane f4c249c692 docs: Document UEFI secure boot feature
Introduce two new guides on UEFI and Secure Boot. In addition, update
the flavors guide to document the secure boot feature (though this doc
should really be removed in near term in favour of the auto-generated
docs, as noted inline).

Note that this change includes our first use of the ':nova:extra-spec:'
cross-reference role and highlights a small bug in that implementation.
This is resolved.

Blueprint: allow-secure-boot-for-qemu-kvm-guests
Change-Id: I4eb370b87ba8d0403c8c0ef038a909313a48d1d6
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-12 17:42:02 +00:00
Lee Yarwood ff3fd84636 docs: Add note about rescuing bfv instances with the 2.87 microversion
This was somehow missed when we landed the stable rescue doc updates in
Iaa2f27ccb2a77102fde6b24b76c9d5ae54608cca.

Change-Id: Ib7b9f4fd7673525129c03dc2943deedd0c7ad81f
2021-03-11 09:43:18 +00:00
Artom Lifshitz b2471dd578 pci: implement the 'socket' NUMA affinity policy
This patch enables the 'socket' PCI NUMA affinity policy. The PCI
manager gets a new method to implement it, and the libvirt driver
starts reporting the necessary trait, enabling it to receive
instances with the 'socket' policy.

Implements: blueprint pci-socket-affinity
Change-Id: Ia875c9c3542ef4138d0d7a2c26c0cf49dcca0761
2021-03-10 17:06:03 -05:00
Zuul d92c0740c6 Merge "libvirt: Drop support for Xen" 2021-01-27 13:46:58 +00:00
Zuul b4cf40a07f Merge "libvirt: Drop support for UML" 2021-01-27 02:14:36 +00:00