Implements: blueprint hyper-v-rdp-console
Nova currently supports VNC and SPICE remote console protocols. This
commit adds support for the RDP protocol in a similar way.
Change-Id: I2c219d4a200122c6d6cfcbd8e074dca0f6fea598
The preserve_ephemeral option for rebuild will preserve the content of
the ephemeral partition, making stateful golden image based
deployments possible even when clouds haven't deployed Cinder, or the
hypervisor doesn't support Cinder (e.g. BareMetal / Ironic).
Partial-Bug: #1174154
blueprint: baremetal-preserve-ephemeral
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
Change-Id: Id33d5d4107f89814842a3f0b7f33690dd7e3aadc
As discussed at the summit in the QA stream, this removes
the coverage extension from the V2 API.
According to the API Change Guidelines
https://wiki.openstack.org/wiki/APIChangeGuidelines
we should not be doing this. However the coverage
extension is a rather special case. It has security issues
such that it shouldn't be used in a production cloud
environment. It also doesn't work properly so its usefulness
to measure API coverage is limited. And in the past the presence of
this plugin has been used as a reason not to accept
an alternative technique to measure API coverage.
This is the proposed replacement
https://review.openstack.org/#/c/25882/
Change-Id: I07d798129ee277a6f7691c25f88c07a5204c0943
Add fields: uuid, task_state, updated_at, and pxe_config_path
to aid system admins in troubleshooting issues.
Fixes bug 1184449
Change-Id: Ia4c03cb228b3efe602455bf05883ddf03b7f18da
a private flavor
In FlavorManage extension, a change has been made to
create flavor-access for a corresponding tenant on
creating a private flavor
This also requires the api-samples for flavor-access
to be changed, since there will be a flavor-access created
by default on creating a private flavor
This commit has a DocImpact
Change-Id: I7795fbd04ae9fc8b1ea6fb27203dfa5217d310ce
Fixes: bug 1209101
Add a new API extension that exposes assisted volume snapshot
capabilities. This extension is admin only by default. We expect it to
only be called by Cinder. If you have your deployment set up in such a
way that your adminURL is different from the public, this extension can
only be loaded in the admin API instance. Cinder will pull that URL out
of the service catalog to use.
Part of blueprint qemu-assisted-snapshots
Change-Id: I79e22ab6ef66fa16dc534a4336e766065702b2f5
Adds version information for the V3 API which is only displayed
when the V3 API is enabled. Even if the the V3 API is enabled the
V3 API status is "EXPERIMENTAL" and the V2 one "CURRENT". This was
done so autodiscovery tools would not yet use the V3 version by
default.
Ports the relevant parts of the version extension and associated
tests to the V3 API to display V3 version information for /v3 GET
requests.
DocImpact
Partially implements blueprint nova-v3-api
Change-Id: Idd335ce0df63d91e94a4a757f1fbae94b576c37e
Start the consoleauth service, otherwise authorize_console() will fail
if we start timing out call()s in the fake RPC driver when there are no
consumers for a topic.
blueprint: oslo-messaging
Change-Id: Ieee37a0370c0b548c589a0573e6e8a68e10a6fdc
get_available_resources is actually used by the scheduler while
get_host_stats was previously used, and is still used for host
capabilities. This patch makes get_available_resources and
get_host_stats use the same logic to clean up the code. As part of
making them use the same logic, some of the unused data returned from
get_host_stats is changed to be what get_available_resources expects.
This is also in preparation for removing the periodic RPC fanout from
compute nodes to the scheduler.
This patch cleans up libvirt and fake drivers only. This is not needed
for other virt backends as this is a cleanup only. Further cleanup of
libvirt and other drivers will happen after get_host_stats isn't used
for the compute fanout to schedulers.
Because this makes a change to the fake driver, several api samples
needed to be changed as well. The fake driver is changed so the
test_virt_driver tests can continue to be used
Part of bp no-compute-fanout-to-scheduler
Change-Id: I1eec5c117a1cb0490e9f9c09e731909bc31698a9
Somehow, the instance actions API was different in three places:
1. The actual API from a running system
2. The regular unit tests
3. The api_samples tests
This fixes the fake_instance_actions module to look like the database
model (which was the root of the problem) as well as the api_samples
and regular unit tests to properly confirm the actual behavior I
validated manually against a running system. This looks like it
changes the external API, but in fact, it makes things match what
the external API actually is.
Change-Id: I0c8ddff3e0819a65667617083dfaa74f7317cc05
This patch makes the nova API aware and able to accept the new block
device mapping format introduced in
If30afdb59d4c4268b97d3d10270df2cc729a0c4c when booting an instance.
It does so by introducing a new extension into the v2 API. There is no
v3 extension as part of this patch because volume extension is going
away in v3 and thus this functionality can be part of the core servers
extension. This will be done in a subsequent patch.
The compute API create method will still convert these back to the
legacy format for the time being until the compute API will know how to
take advantage of the new format.
As this change adds the new API extension, marking it as DocImpact so
that the changes and the API data format can be documented.
blueprint: improve-block-device-handling
Change-Id: I2c1b63e41deca26f727fb9ed912a55494db9c76c
Adds support for transparently swapping an attached volume with
another volume. Note that this overwrites all data on the new
volume with data from the old volume.
Implements blueprint volume-swap
Change-Id: Iaace71f46acd33cf1531d953d569c0b6d0bbe680
Implements blueprint per-user-quotas.
Fixes bug 968175
Based on the original quotas structure.
NOTE:
quota_instances, quota_cores, quota_ram, quota_key_pairs and
quota_security_groups are supported per user.
Add CRUD methods for project user quotas API. DocImpact
- Shows quotas for a user.
GET v2/{tenant_id}/os-quota-sets/{tenant_id}?user_id={user_id}
- Updates quotas for a user.
POST v2/{tenant_id}/os-quota-sets/{tenant_id}?user_id={user_id}
Add commands for project user quotas management.
- Show user quotas:
nova-manage project quota --project <Project name> --user <User name>
- Update/Create user quotas:
nova-manage project quota --project <Project name> --user <User name>
--key <key> --value <value>
Change-Id: I24af1f6bc439d5d740303c6fe176a9bffe754579
Adds new 'shelve', 'shelveOffload'/'shelve_offload'(V3), and 'unshelve'
actions to the API. Exposes the functionality already provided in the
compute api.
Part of bp shelve-instance
Co-author: Dan Smith <danms@us.ibm.com> (Instance objects)
Change-Id: Idd485b591730c6ac025ee57a1242afdd02191b2f
- adds an API extension to include list of attached volumes with instance info
- adds v3 api porting as well
DocImpact
Implements blueprint servers-add-volume-list
Change-Id: If58dc40b093c2f61c6ae6b82fcd8f0bf53be464a
The os-migrations extension exposes endpoint to fetch all migrations.
The migrations can filtered by host and status. If cells are
enabled migrations can be listed for all cells or can be filtered for a
particular cell.
The route for fetching migrations for
a region is - v2/{tenant_id}/os-migrations. Filters can be passed as
query parameters -
v2/{tenant_id}/os-migrations?host=host1&status=finished&cell_name=Child
DocImpact
Change-Id: Id70dbece344a722b2dc8c593dd340ef747eb43d3
Implements: blueprint list-resizes-through-admin-api
The previous rate limit defaults were unusable in any deployment.
Rate limiting to 10 POSTS per minute and 50 servers per day seems
to low, especially when we can use quotas to actually limit the amount
of resources a user can consume.
Update docstring to explain what the rate limiting is used for.
Fixes bug 1178529
DocImpact changed default values
Change-Id: I8cc93423f76d9b0a5135adf69babc4ff355a0951
Need check whether the already used and reserved exceeds the new quota
before update it.
DocImpact
Implements a validation to validate whether already used and reserved
quota exceeds the new quota when run 'nova quota-update', it will throw
error if the quota exceeds. This check will be ignored if admin want to
force update when run 'nova quota-update' with additional option
'--force'.
This validation help admin to be aware of whether the quotas are
oversold when they try to update quota and also provide an option
'--force' to allow admin force update the quotas.
Fix bug 1160749
Change-Id: Iba3cee0f0d92cf2e6d64bc83830b0091992d1ee9
Implements blueprint record-reason-for-disabling-service
We added a field to the service table to log a reason when a service has
been disabled.
We added a new API extension called os-extended-services. The new extension
will extend the os-services extension adding:
- A method for disabling a service and specify a reason for that.
PUT /v2/{tenant_id}/os-services/disable-log-reason
When the os-extended-extension is loaded the call:
GET /V2/{tenant_id}/os-services
will return the list of services with reason information it that exists.
DocImpact
Change-Id: I87a4affc45160796ff11c7b03e591e6aba73d62a
The total RAM and the available RAM are stored in memory of CellStateManager.
This API gets the available slots per flavor for a given cell.
Implements: blueprint get-cell-free-ram
Change-Id: I2a6dbb8835cad04f3ee058c3012490782d7c8e67
Added 'extended-quotas' extension that has provides ability for admins
to be able to delete a non-default quota (absolute limit) for a tenant,
so that tenant's quota will revert back to the configured default.
Implements blueprint admin-api-for-delete-quota
Change-Id: I7375420a466823b3e099aebff71a8f7d7f922afb
DocImpact: This patch adds an extension 'UsedLimitsForAdmin'. If this
extention is enabled then it extends the used limits API behavior, such
that admin can fetch the details of any customer's quota usage by passing
the customer's tenant id in query parameters.The API signature for the
same is 'v2/{tenant_id}/limits?tenant_id={customer_tenant_id}'
Change-Id: I89b8b5083e46b899458407426c89a3865e960faa
Implements: blueprint customer-quota-through-admin-api
`root_gb=0` indicates that a disk-resize shouldn't occur which is not
something that a default flavor should have enabled. This is
especially true of one named 'tiny' since the unresized image could
potentially be very large, leading to the unexpected result of a
'tiny' instance consuming a massive amount of disk.
The no-resize behavior is still supported, so if it's being relied on
for testing, additional, non-default flavors can still be created that
enable it.
DocImpact
Fixes bug 1175383
Change-Id: Ifa5827c7f87dae95214bc4a585adce5735a05d83
This reverts commit dd66f235ecf2ff67819917ee07bcb0ea13a1b17b.
This changed the core servers API without doing it as an API extension,
so it's not an acceptable change as written.
Change-Id: I3787060583de1371e366647d38d69f37746317d5
A change from Oleg highlighted that the current snapshot create
stub is broken because it passes a full volume for the volume_id
paramter.
Fix the stub and the api_samples output, but also add unit test
checks which would have caught this.
Change-Id: Id006e3995c7696aa8f061a2b96123ea27e4b6d3f
Co-authored-by: Oleg Bondarev <obondarev@mirantis.com>
The current floating IP API extension only accepts the instance ID
and the floating address to be assigned. Where the instance is
connected to more than one network the behaviour is to associated
the floating IP with the first fixed IP of the instances
(and to log a warning)
This change introduces a new extension which wehn loaded adds a
fixed IP address as an optional parameter, allowing the floating
IP to be associated with a specific fixed IP.
Without this extension, or without the optional parameters,
the API behaviour is unchanged.
If specified the fixed IP must be associated with the instance.
DocImpact
Implements blueprint multi-nic-floating-ip-assignment
Change-Id: I9241137ad794cdf7f452ed84e9445f0e11fdd44e
If we look at nova/cmd/spicehtml5proxy.py, we use 6082 port for Spice proxy.
In nova.conf, the default port for html5proxy_base_url is 6080 which fails console
service.
Fix bug #1172957
Change-Id: I52ca37f76e7a6abd085b079ae42e7914cb619ad5
This extension adds the OS-EXT-IPS-MAC:mac_addr param
so that users can associate the mac address to the ip of the server in
one API call.
Implement bp: os-ext-ips-mac-api-extension
DocImpact
Change-Id: I01d0b3aa804b5218853a4bb568c85e31b87d04e4
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Now prov_mac_address is going to be dropped from bm_nodes table. This patch
adjust api to the change.
A user is expected to create a node without specifying prov_mac_address, then add
an interface having the address to the node. However, for compatibility, a user
still can specify prov_mac_address when create a node. In this case, an interface
having prov_mac_address is automatically added to the node.
In response body of create, index and show, "prov_mac_address" field no longer
exists since they are showed as a member of "interfaces" fileld.
DocImpact
Change-Id: I6653829364b0a641442d45e766493180d6f2a880
This extension adds the OS-EXT-VIF-NET:net_id param
so that users can determine vif plunged into which network now.
DocImpact
Change-Id: I56bef5c45f7f545aa5e9b13760dff1c802da0f8f
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Now nova coverage is standardized to accumulate coverage data.
It enables user to get combined coverage data of several tests.
In addition to it, we need to restart nova services when measuring
coverage of each test because there is no function to reset data.
This adds reset coverage data API.
Fixes bug: 1164331
Change-Id: Idd16cf3849b6510e7c620ed3bf16d507ed44c328
Drop these two columns:
* bm_nodes.prov_vlan_id
* bm_nodes.registration_status
And update related code, tests and api_samples.
Change-Id: Iadefc83a00ad9ae5a3bb39f357080299875bdf09
DocImpact: our previous default quota of ten was poorly thought through
and resulted in upgrade problems. Instead, let's have operators opt into
fixed IP quotas. This change should be mentioned in release notes please.
Resolves bug 1161190.
Change-Id: I2f066a0129461899fe330a628cf49ee5273eaba4
Partially implements blueprint nova-api-samples
fixes bug 1130609
The XML serializer for the update method in the os-services API extensions was
not serializing the "updated_at" field because of a typo in the code.
In this change we added api_samples for the XML output.
Change-Id: I9fff0677e9bad650b19e559b3ed6e9bc0ffe8c3c
Now the HostIndexTemplate of Nova /os-hosts API is missing element "zone",
which will cause the XML output of list hosts missing the zone attribute.
Fixes bug: 1159055
Change-Id: I9940efcfd364c35b00cde4398d531d7ff56dc2b9