Commit Graph

3000 Commits

Author SHA1 Message Date
shuangyang.qian 2bca6431e6 Add action initiator attribute to the instance payload
The instance action notifications contain the user id and the
project id of the owner of the instance. However an instance
action might be initiated by another user. It could be another
user from the same project or can be an admin from the admin project.
To be able to distinguish between the user who initiated the instance
action from the user owning the instance we need to add two new
fields to the instance action notifications, action_initiator_user
and action_initiator_project

Change-Id: I649d8a27baa8840bc1bb567fef027c749c663432
Closes-bug: #1744658
Blueprint: add-action-initiator-to-instance-action-notifications
2018-07-03 18:45:44 +00:00
Zuul d34543eb10 Merge "Remove unnecessary execute permissions of a file" 2018-07-02 18:00:31 +00:00
Zuul 90c0982a0b Merge "Fix missing versioned notification examples" 2018-07-02 16:53:51 +00:00
Zuul 1f91390c52 Merge "Update admin/flavors document" 2018-07-02 12:34:48 +00:00
Zuul ccd254acd8 Merge "More config drive docs updates" 2018-07-02 11:04:51 +00:00
Takashi NATSUME 0083b58dc2 Remove unnecessary execute permissions of a file
TrivialFix
Change-Id: I7d014d62878e91b59bf9a52b0e1fe0f9c0c0cad0
2018-07-02 19:40:48 +09:00
Takashi NATSUME 8f0aa1f35c Update admin/flavors document
Replace nova commands with openstack commands.
Add an example to create a private flavor.
Repopulate the "Modify a flavor" section.
Replace 'extra_spec' with 'extra_specs'.
Fix a wrong link.
Remove rxtx-factor in descriptions and command examples.

Change-Id: I14295dddc302a603a71f71ccb6fcc5745ca7826c
2018-07-02 15:17:52 +09:00
Takashi NATSUME 54d3e7096c Fix missing versioned notification examples
Python 3 is used in executing 'tox -e docs' by default currently.
When Python 3 is used, there are some missing notification examples.

In python 3, map function returns an iterator instead of a list,
and importlib.import_module is not executed in the document generation.
So it causes missing versioned notification examples in the nova docs.

This patch fixes it.

Change-Id: Ie4f3f9be0ca7f94ce00a14f3d825a067a807eb12
Closes-Bug: #1779606
2018-07-02 14:43:49 +09:00
Zuul a7a4f4a367 Merge "Mention PowerVM support of config drive" 2018-06-29 18:10:09 +00:00
Zuul 44c8aec3f0 Merge "Mention nova-status upgrade check CLI in upgrade doc" 2018-06-29 15:45:58 +00:00
Zuul bd8a14b26c Merge "Fix CLI docs for nova-manage api_db commands" 2018-06-29 15:45:22 +00:00
Zuul 9d2f0ed810 Merge "Remove file injection from config drive sample docs" 2018-06-29 15:45:13 +00:00
Zuul 60c348386a Merge "libvirt: Fix the rescue race for vGPU instances" 2018-06-29 08:51:59 +00:00
Sylvain Bauza 1c59397e09 libvirt: Fix the rescue race for vGPU instances
When rescuing an instance having a vGPU, we were not using the vGPU.
There would then be a race condition during the rescue where the vGPU
could be passed to another instance.
Instead, we should just make sure the vGPU would also be in the rescued
instance.

Change-Id: I7150e15694bb149ae67da37b5e43b6ea7507fe82
Closes-bug: #1762688
2018-06-28 18:41:15 -04:00
Matt Riedemann 70b1045a5a More config drive docs updates
This adds two things:

1. Mention the img_config_drive image property
   which can be used to force a config drive.

2. Note that the config_drive_cdrom config option
   is for hyper-v only.

Change-Id: Id9a16e07709a445814fb7a183bd12f7740722ced
2018-06-28 13:08:58 -04:00
Matt Riedemann 39d4577521 Remove file injection from config drive sample docs
File injection is disabled by default (see
[libvirt]/inject_partition) and deprecated
in the API since microversion 2.57. We
don't really want people relying on file
injection, so this removes it from the
config drive docs. While in here, also
replace the 'nova boot' command mention
with 'openstack server create' since that
is the command used through the examples.

Change-Id: I4521eca6f6cbd4f8cd6dad48ab1d40a1b136bf73
2018-06-28 12:59:34 -04:00
Eric Fried 5c0f9379b5 Mention PowerVM support of config drive
...in the config-drive user doc.

Change-Id: Idc1b656a0aa5cd442fae3be895369fa71c86fc99
Closes-Bug: #1779159
2018-06-28 15:44:45 +00:00
Zuul c9cbc4c91d Merge "Add information of deprecation nova-network in system-admin.rst" 2018-06-27 22:06:49 +00:00
Zuul 46bfd6f1c2 Merge "xenapi: drop deprecated vif_driver config option" 2018-06-26 16:14:54 +00:00
Matt Riedemann 1476b030bd Fix CLI docs for nova-manage api_db commands
There were a few changes needed here:

1. There is no "API cell database", just the API
   database, so this removes mentions of cells.

2. The VERSION argument was missing from the sync help.

3. The sync command does not create a database, it upgrades
   the schema. Wording for that was borrowed from the
   nova-manage db sync help.

4. Starting in Rocky, the api_db sync command also upgrades
   the schema for the optional placement database if configured
   so that's mentioned here as well.

Change-Id: Ibc49f93b8bd51d9a050acde5ef3dc8aad91321ca
Closes-Bug: #1778733
2018-06-26 10:16:55 -04:00
Zuul 08a618d0c4 Merge "Update links in README" 2018-06-26 12:37:49 +00:00
Zuul 4e7672d60f Merge "Add instance.unlock notification" 2018-06-25 23:01:14 +00:00
Zuul 9a8a98b8fb Merge "Add instance.lock notification" 2018-06-25 21:52:26 +00:00
Yikun Jiang 0b9b37fe9a Add instance.unlock notification
The instance.unlock versioned notification is introduced in this
patch.

The unlock operation just changes the instance.locked to False in
API, we send the notification after db operation.

Change-Id: Ic750c33b4f88ba9c62ea8cba86915c6010f2cd6f
blueprint: trigger-notifications-when-lock-unlock-instances
2018-06-25 19:25:39 +00:00
Zack Cornelius b1fdb2ee0c Fix nits from change Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Change-Id: I05f0791d41c65115c9153f301b387dfdf9065007
Implements: blueprint libvirt-file-backed-memory
2018-06-21 17:43:05 -05:00
Zack Cornelius e9683f1432 Implement discard for file backed memory
Add the discard flag to libvirt XML when supported by libvirt and qemu,
and when using file backed memory.

The discard flag causes qemu to discard allocated memory via calling
madvise with MADV_REMOVE when using file backed memory, to prevent
writing out dirty instance memory. This is a significant performance
improvement for shutting down instances that have recently written to
significant portions of their memory.

As qemu and libvirt do not guarantee the discard is run, this cannot be
used for security purposes.

Change-Id: Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:45:31 -05:00
Zack Cornelius 8566dcfef4 Fix nits from change I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Change-Id: If6ea6701d73a4a8abb6a75c54308a386eec7a4b2
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:13:44 -05:00
Yikun Jiang 102cdb9315 Add instance.lock notification
The instance.lock versioned notification is introduced in this
patch.

The lock operation just changes the instance.locked to True in
API, we send the notification after db operation.

Change-Id: I03a13afa91c29f4fee25336cb82ea5c887eae2f8
blueprint: trigger-notifications-when-lock-unlock-instances
2018-06-21 10:29:31 +08:00
Zack Cornelius cbc28f0d15 Implement file backed memory for instances in libvirt
File backed memory is enabled per Nova compute host. When enabled, host
will report 'file_backed_memory_capacity' for available memory.

When enabled, instances will create memory backing files in the
directory specified in libvirt's qemu.conf file 'memory_backing_dir'
config option.

This feature is not compatible with memory overcommit, and requires
'ram_allocation_ratio' to be set to 1.0

Change-Id: I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Implements: blueprint libvirt-file-backed-memory
2018-06-20 11:25:06 -05:00
Kevin_Zheng a79e2885d0 Mention nova-status upgrade check CLI in upgrade doc
Mention nova-status upgrade check CLI in upgrade doc

Closes-Bug: #1772973
Change-Id: I5e643febebd435550af2d7c49546a16ac5a21453
2018-06-20 14:22:13 +08:00
zhangyangyang a3070730f0 Add information of deprecation nova-network in system-admin.rst
Change-Id: I9afc1edce489b6949ab9d9572fbee0e997cc54f4
2018-06-20 11:30:55 +08:00
Zuul ecaadf6d6d Merge "Add full traceback to ExceptionPayload in versioned notifications" 2018-06-19 20:18:32 +00:00
Zuul afcf078715 Merge "Add policy rule to block image-backed servers with 0 root disk flavor" 2018-06-19 12:01:13 +00:00
Kevin_Zheng 2a0f2a0d27 Add full traceback to ExceptionPayload in versioned notifications
This patch adds full traceback to ExceptionPayload in versioned
notifications.

The instance fault field and instance-action REST API has already
provide the traceback to the admin users (controlable through policy)
and the notifications are also admin only things as they are emitted
to the message bus by default. So it is assumed that security is not
a bigger concern for the notification than for the REST API.

On the ML [1] post there was no objection to add new string field to the
ExceptionPayload that will hold the serialized traceback object.

[1] http://lists.openstack.org/pipermail/openstack-dev/2018-March/128105.html

Implements: blueprint add-full-traceback-to-error-notifications

Change-Id: Id587967ea4f9980c292492e2f659bf55fb037b28
2018-06-19 16:46:46 +08:00
Zuul 877a8bcb9f Merge "Add trusted certs to feature support matrix docs" 2018-06-18 12:44:41 +00:00
Matt Riedemann dee92e6876 Add osprofiler config options to generated reference
osprofiler is optional, but if it's installed we'll
load up the configuration options from the library,
but they weren't in the generated config sample so
people would have to find the osprofiler docs, or
worse the code, to figure out how to configure it.

This simply adds the osprofiler config options to the
nova config sample, which will also show up in the
config reference docs.

Change-Id: I28d35165ed77487cd49d560fb1eda4f1d640734e
Closes-Bug: #1774208
2018-06-16 12:46:19 +00:00
Zuul 907e168431 Merge "Add supplementary info for simple_cell_setup cmd" 2018-06-16 00:54:20 +00:00
Matt Riedemann 763fd62464 Add policy rule to block image-backed servers with 0 root disk flavor
This adds a new policy rule which defaults to behave in a
backward compatible way, but will allow operators to enforce
that servers created with a zero disk flavor must also be
volume-backed servers.

Allowing users to upload their own images and create image-backed
servers on local disk with zero root disk size flavors can be
potentially hazardous if the size of the image is unexpectedly
large, since it can consume the local disk (or shared storage pool).

It should be noted that disabling the new policy rule will
result in a non-backward compatible API behavior change and no
microversion is being introduced for this because enforcement via
a new microversion would not close the security gap on any previous
microversions.

Related compute API reference and user documentation is updated
to mention the policy rule along with a release note since
this is tied to a security bug, which will be backported to stable
branches.

Change-Id: Id67e1285a0522474844de130c9263e11868f67fb
Closes-Bug: #1739646
2018-06-15 17:10:11 -04:00
Matt Riedemann df57c50b2d Add trusted certs to feature support matrix docs
Even though the feature is technically virt driver agnostic,
the plumbing happens through the virt drivers, so the feature
is only supported by certain virt drivers (libvirt only at
the time of this patch). So this adds a section to the feature
support matrix about the trusted certs validation feature.

Also updates the certificate validation user docs based on
the nova boot --trusted-image-certificate-id option name
in the dependent python-novaclient change.

Depends-On: https://review.openstack.org/500396/

Related to blueprint nova-validate-certificates

Change-Id: Ic5cb4a98c73cc404c7033cf183f25a97aba3c994
2018-06-15 08:37:24 -04:00
Zuul bfeea18358 Merge "Update nova-status & docs: require placement 1.25" 2018-06-15 11:12:22 +00:00
Zuul a879f7984f Merge "Add certificate validation docs" 2018-06-15 04:33:30 +00:00
Zuul 9c4622a668 Merge "Add troubleshooting item about ignored microversions" 2018-06-15 03:33:32 +00:00
Chen 8992416f9d Add supplementary info for simple_cell_setup cmd
Mention that if no transport_url is provided then the one
in the configuration file will be used for command
``nova-manage cell_v2 simple_cell_setup [--transport-url <transport_url>]``,
just like that for other cell_v2 commands.

Change-Id: Ifededa59f7ffe5887e67e29b93f70fa70dfaef33
2018-06-15 11:17:48 +08:00
Zuul 2d6a838a28 Merge "Add notification support for trusted_certs" 2018-06-14 22:03:44 +00:00
Jackie Truong 196eef0f65 Add certificate validation docs
This change adds documentation for Nova's certificate validation
feature.

Change-Id: If551f1265cf662c76a0c7cb38781641a77af0826
Implements: blueprint nova-validate-certificates
2018-06-14 16:12:34 -04:00
Matt Riedemann 70aa9a1b79 Add troubleshooting item about ignored microversions
If the compute endpoint in the service catalog is configured
for /v2 legacy compat mode, microversions in the request are
silently ignored by the LegacyV2CompatibleWrapper. This
adds a troubleshooting entry for that situation.

At this point, we might want to consider deprecating or at
least logging warnings if microversions are requested and
LegacyV2CompatibleWrapper strips them out, but that's fodder
for a separate change.

Change-Id: Ia7ecbf95d0a3e14c7f82b6a93c2ac4c4cfb89549
2018-06-14 13:21:30 -04:00
Zuul 5f58be9c06 Merge "XenAPI: update the document related to vdi streaming" 2018-06-14 15:08:33 +00:00
Zuul 2bcbea5439 Merge "XenAPI: define a new image handler to use vdi streaming" 2018-06-14 15:08:25 +00:00
Brianna Poulos e8ed9aacf8 Add notification support for trusted_certs
Add the 'trusted_image_certificates' field to InstanceCreatePayload
and InstanceActionRebuildPayload notifications.

Change-Id: Ib5b50a3889ab15d5aac992f92e9be372a915eeff
2018-06-14 16:16:00 +02:00
Brianna Poulos 8c7ca368b1 Add trusted_image_certificates to REST API
This change adds support for the trusted_image_certificates parameter,
which is used to define a list of trusted certificate IDs that can be
used during image signature verification and certificate validation. The
parameter may contain a list of strings, each string representing the ID
of a trusted certificate. The list is restricted to a maximum of 50 IDs.
The list of certificate IDs will be stored in the trusted_certs field of
the instance InstanceExtra and will be used to verify the validity of
the signing certificate of a signed instance image.

The trusted_image_certificates request parameter can be passed to
the server create and rebuild APIs (if allowed by policy):

* POST /servers
* POST /servers/{server_id}/action (rebuild)

The following policy rules were added to restrict the usage of the
``trusted_image_certificates`` request parameter in the server create
and rebuild APIs:

* os_compute_api:servers:create:trusted_certs
* os_compute_api:servers:rebuild:trusted_certs

The trusted_image_certificates parameter will be in the response
body of the following APIs (not restricted by policy):

* GET /servers/detail
* GET /servers/{server_id}
* PUT /servers/{server_id}
* POST /servers/{server_id}/action (rebuild)

APIImpact

Implements blueprint: nova-validate-certificates
Change-Id: Iedd3fea0e86648fae364f075915555dcb2c4f199
2018-06-13 15:52:59 -04:00