1187 Commits

Author SHA1 Message Date
Zuul
37b4f77b5e Merge "Add --by-service to discover_hosts" 2018-03-19 05:07:53 +00:00
Zuul
1e6564b7d4 Merge "Add 'member_of' param to GET /allocation_candidates" 2018-03-18 04:23:49 +00:00
Zuul
7844dea128 Merge "placement: Return new provider from POST /rps" 2018-03-17 05:17:57 +00:00
Dan Smith
005a66d7e0 Add --by-service to discover_hosts
This allows us to discover and map compute hosts by service instead of
by compute node, which will solve a major deployment ordering problem for
people using ironic. This also allows closing a really nasty race when
doing HA of nova-compute/ironic.

Change-Id: Ie9f064cb9caf6dcba2414acb24d12b825df45fab
Closes-Bug: #1755602
2018-03-16 15:55:19 -07:00
Stephen Finucane
a3e9530fe9 conf: Remove 'db_driver' config opt
This option has been deprecated for a long time and any kinks, where
they existed, should have long since been worked out. Time to kill it.

Change-Id: Ifa686b5ce5e8063a8e5f2f22c89124c1d4083b80
2018-03-16 17:23:16 +00:00
Ed Leafe
a69e05d29a Add 'member_of' param to GET /allocation_candidates
The call to GET /allocation_candidates now accepts a 'member_of'
parameter, representing one or more aggregate UUIDs. If this parameter
is supplied, the allocation_candidates returned will be limited to those
with resource_providers that belong to at least one of the supplied
aggregates.

Blueprint: alloc-candidates-member-of

Change-Id: I5857e927a830914c96e040936804e322baccc24c
2018-03-16 16:32:02 +00:00
Zuul
ea12e34724 Merge "Scheduler multiple workers support" 2018-03-16 08:14:12 +00:00
Surya Seetharaman
98163f98b7 Marker reset option for nova-manage map_instances
Currently nova-manage map_instances uses a marker set-up by which repeated
runs of the command will start from where the last run finished. Even
deleting the cell with the instance_mappings will not remove the marker
since the marker mapping has a NULL cell_mapping field. There needs to be
a way to reset this marker so that the user can run map_instances from the
beginning instead of the map_instances command saying "all instances are
already mapped" as is the current behavior.

Change-Id: Ic9a0bda9314cc1caed993db101bf6f874c0a0ae8
Closes-Bug: #1745358
2018-03-15 10:28:57 +01:00
Eric Fried
388db7e6e2 placement: Return new provider from POST /rps
To facilitate opaqueness of resource provider generation internals, we
need to return the (initial) generation when a provider is created. For
consistency with other APIs, we will do this by returning the entire
resource provider record (which includes the generation) from POST
/resource_providers.

Change-Id: I8624e194fe0173531c5aa2119c903e3c68b8c6cd
blueprint: generation-from-create-provider
2018-03-14 17:08:55 -05:00
Eric Fried
3216f078d4 placement: generation in provider aggregate APIs
Placement API microversion 1.19 enhances the payloads for the `GET
/resource_providers/{uuid}/aggregates` response and the `PUT
/resource_providers/{uuid}/aggregates` request and response to be
identical, and to include the ``resource_provider_generation``. As with
other generation-aware APIs, if the ``resource_provider_generation``
specified in the `PUT` request does not match the generation known by
the server, a 409 Conflict error is returned.

Change-Id: I86416e35da1798cdf039b42c9ed7629f0f9c75fc
blueprint: placement-aggregate-generation
2018-03-14 17:08:52 -05:00
Zuul
c90f0093c2 Merge "conf: Remove 'nova.crypto' opts" 2018-03-13 17:40:06 +00:00
Zuul
107ad403d4 Merge "conf: Remove deprecated 'allow_instance_snapshots' opt" 2018-03-13 13:32:45 +00:00
Zuul
9a49767134 Merge "conf: Remove '[conductor] topic' opt" 2018-03-13 08:00:43 +00:00
Zuul
ae0d20ddf2 Merge "conf: Deprecate 'keymap' options" 2018-03-12 22:59:36 +00:00
Stephen Finucane
1b112acb34 conf: Remove deprecated 'allow_instance_snapshots' opt
This flag was deprecated in a previous cycle. The flag and any uses of
it can now be removed.

Change-Id: I2224f38b9fa86b70425b25404a27c5c37d477cf3
2018-03-12 14:40:11 +00:00
Stephen Finucane
0e43002c90 conf: Remove deprecated 'multi_instance_display_name_template' opt
This flag was deprecated in a previous cycle. The flag and any uses of
it can now be removed.

There is still a bit of simplification that can now be done around this
feature, but this is kept separate to avoid confusing matters.

Change-Id: I8ae8507a089df4d0a32be5fbc615e2166f44516e
2018-03-12 14:27:01 +00:00
Stephen Finucane
af703e7376 conf: Remove '[conductor] topic' opt
This should have been removed in '6ef30d5', but was missed as it used a
different name to the other opts.

Change-Id: I85cb86e0c203967da544750a9e52b207f707e8e5
2018-03-12 13:26:08 +00:00
Dan Smith
ff47787e11 Add --purge helper flag to archive_deleted_rows
Since many people will want to fully purge shadow table data after archiving,
this adds a --purge flag to archive_deleted_rows which will automatically do
a full db purge when complete.

Related to blueprint purge-db

Change-Id: Ibd824a77b32cbceb60973a89a93ce09fe6d1050d
2018-03-08 09:17:22 -08:00
Zuul
83caaae547 Merge "Add simple db purge command" 2018-03-08 17:15:22 +00:00
Zuul
bac9855b1c Merge "Allow to configure amount of PCIe ports" 2018-03-08 15:17:26 +00:00
Stephen Finucane
a869b9c790 conf: Remove 'nova.crypto' opts
These are no longer used since [1] and can be immediately removed
without a deprecation cycle.

[1] Ie1dadc6bf935f777e0cd0c54a0a21b79545714c5

Change-Id: I53aa27ff0c3e8a7a2d5bbfa338bdae59002f6e9d
2018-03-08 10:28:58 +00:00
Marcin Juszkiewicz
a234bbf80c Allow to configure amount of PCIe ports
On x86-64/q35 and aarch64/virt instances libvirt adds as many
pcie-root-port entries (aka virtual pcie slots) as it needs and adds one
free. If we want to hotplug network interfaces or storage devices then
we quickly run out of available pcie slots.

This patch allows to configure amount of PCIe slots in instance. Method
was discussed with upstream libvirt developers.

To have requested amount of pcie-root-port entries we have to create
whole PCIe structure starting with pcie-root/0 and then add as many
pcie-root-port/0 entries as we want slots. Too low value may get bumped
by libvirt to same as amount of inserted cards.

Systems not using new option will work same way as they did.

Implements: bp configure-amount-of-pcie-ports

Change-Id: Ic3c8761bcde3e842d1b8e1feff1d158630de59ae
2018-03-08 08:53:48 +01:00
Sylvain Bauza
0b11a09327 Deprecate sparse LVs
That feature was never tested in Nova and we had some bugs. Deprecating it.

Change-Id: I6f05bb32313de1d832fe080c00a74508224acd77
2018-03-07 22:51:40 +01:00
Dan Smith
ae241cc68f Add simple db purge command
This adds a simple purge command to nova-manage. It either deletes all
shadow archived data, or data older than a date if provided.

This also adds a post-test hook to run purge after archive to validate
that it at least works on data generated by a gate run.

Related to blueprint purge-db

Change-Id: I6f87cf03d49be6bfad2c5e6f0c8accf0fab4e6ee
2018-03-07 10:35:32 -08:00
Stephen Finucane
cab8139498 conf: Deprecate 'keymap' options
Defining the 'keymap' option in libvirt results in the '-k' option being
passed through to QEMU [1][2]. This QEMU option has some uses, primarily
for users interacting with QEMU via stdin on the text console. However,
for users interacting with QEMU via VNC or Spice, like nova users do, it
is strongly recommended to never add the "-k" option. Doing so will
force QEMU to do keymap conversions which are known to be lossy. This
disproportionately affects users with non-US keyboard layouts, who would
be better served by relying on the guest OS to manage this. Users should
instead rely on their clients and guests to correctly configure this.

This is the second part of the three part deprecation cycle for these
options. At this point, they are retained but deprecated them and their
defaults modified to be unset. This allows us to warn users with libvirt
hypervisors that have configured the options about the pitfalls of the
option and give them time to prepare migration strategies, if necessary.
A replacement option is added to the VMWare group to allow us to retain
this functionality for that hypervisor. Combined with the above, this
will allow us to remove the options in a future release.

[1] https://github.com/libvirt/libvirt/blob/v1.2.9-maint/src/qemu/qemu_command.c#L6985-L6986
[2] https://github.com/libvirt/libvirt/blob/v1.2.9-maint/src/qemu/qemu_command.c#L7215-L7216

Change-Id: I9a50a111ff4911f4364a1b24d646095c72af3d2c
Closes-Bug: #1682020
2018-03-07 10:18:23 +00:00
Zuul
aef1961f4c Merge "Convert users of tune2fs to privsep." 2018-03-01 21:43:32 +00:00
Zuul
206c4c3fb3 Merge "Remove the deprecated scheduler_driver_task_period option" 2018-02-28 20:45:28 +00:00
Michael Still
e94151c1c3 Convert users of tune2fs to privsep.
xenapi likes enabling and disabling ext3 filesystem journals. They can
do that via privsep now.

Change-Id: Iad8198fbd01aa80bde0a6b295963391715c5cd48
blueprint: hurrah-for-privsep
2018-02-28 07:14:51 +11:00
Eric Fried
558540a27c rp: GET /resource_providers?required=<traits>
Introduce placement microversion 1.18 with a new ?required=<trait list>
query parameter accepted on the GET /resource_providers API.  Results
are filtered by providers possessing *all* of the specified traits.
Empty/invalid traits result in 400 errors.

Change-Id: I8191c9a390cb02b2a38a3f1c6e29457435994981
blueprint: traits-on-list-resource-providers
2018-02-23 12:08:32 -06:00
Rui Chen
0989878165 Scheduler multiple workers support
Multiple process workers support for nova-scheduler.

Since blueprint placement-claims in Pike, the FilterScheduler
uses the Placement service to create resource allocations (claims)
against a resource provider (i.e. compute node) chosen
by the scheduler. That reduces the risk of scheduling collisions
when running multiple schedulers, so this change adds the ability
to set multiple scheduler workers like for the nova-osapi_compute
and nova-conductor services.

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

Change-Id: Ifdcd363d7bc22e73d76d69777483e5aaff4036e3
2018-02-18 19:10:55 -05:00
OpenStack Proposal Bot
e3257a5e6c Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I668357e0c12e37a2adbad7691671583d98b1b564
2018-02-18 06:12:37 +00:00
Matt Riedemann
537155a982 Remove the deprecated scheduler_driver_task_period option
This option was deprecated in Ocata:

  I3f48e52815e80c99612bcd10cb53331a8c995fc3

This change removes it.

Change-Id: I108e8177a29acd136a1bc90cb072c9b765c96e5b
2018-02-13 12:20:38 -05:00
Zuul
b325882c6c Merge "Update reno for stable/queens" 2018-02-12 18:54:51 +00:00
Zuul
c966524672 Merge "Provide basic data for AArch64 support matrix/functionality" 2018-02-12 14:36:00 +00:00
Takashi NATSUME
ab4efbba61 [placement] Add sending global request ID in get
Add the 'X-Openstack-Request-Id' header
in the request of GET in SchedulerReportClient.

Change-Id: I306ac6f5c6b67d77d91a7ba24d4d863ab3e1bf5c
Closes-Bug: #1734625
2018-02-10 10:28:04 +09:00
Marcin Juszkiewicz
30b7a566aa Provide basic data for AArch64 support matrix/functionality
Nova has two pages in documentation listing things supported on several
architectures/hypervisors. This patch adds initial state of AArch64
into support matrix.

Document minimal qemu/libvirt for aarch64. Version 3.6.0 was first one
which worked for us with Nova without a need for extra patches.

Change-Id: I2ee7be9e88e20ed0f77be07fed4fdd800533b3c5
2018-02-09 18:55:23 +00:00
b6516d7067 Update reno for stable/queens
Change-Id: Ibde8cad98a14206acb56b7a7ab10d4a84a3856df
2018-02-09 07:15:21 +00:00
Zuul
3da85671a9 Merge "Add a prelude release note for the 17.0.0 Queens GA" 2018-02-08 20:26:14 +00:00
Zuul
24379f1822 Merge "Workaround glanceclient bug when CONF.glance.api_servers not set" 2018-02-08 20:26:06 +00:00
Matt Riedemann
62ef6cfcf0 Workaround glanceclient bug when CONF.glance.api_servers not set
In certain configurations, like when setting [service_user]
config, and not setting [glance]/api_servers, the KSA adapter
get endpoint code (new in Queens) will return a versioned URL
which glanceclient doesn't handle (due to bug 1707995) so we
need to workaround that by parsing the URL to strip the version
from the endpoint URL we got from KSA.

This is validated in the nova-next CI job which configures a
service user token for glance.

Change-Id: I363182e916480c734cc37f279e8e89c8f3ec653c
Closes-Bug: #1747511
Related-Bug: #1707995
2018-02-08 09:06:48 -05:00
Matt Riedemann
b44a8069e8 Add a prelude release note for the 17.0.0 Queens GA
Change-Id: I9ca013038a65eb897399065c0fa0f6ddfc54fb9c
2018-02-06 18:18:56 -05:00
melanie witt
1c4d2f4cbd Add release note for Aggregate[Core|Ram|Disk]Filter change
Related-Bug: #1742827

Change-Id: I01f20f275bbd5451ace5c1e6f41ab38d488dae4e
2018-02-05 21:30:33 +00:00
Zuul
06781ee6e9 Merge "Pass limit to /allocation_requests" 2018-02-02 07:47:56 +00:00
Zuul
2ecb99939e Merge "Log options at debug when starting API services under wsgi" 2018-02-01 21:27:09 +00:00
Zuul
84a7843190 Merge "Fix nits in support traits changes" 2018-02-01 21:25:45 +00:00
Dan Smith
f029784eaf Pass limit to /allocation_requests
This makes us pass an upper limit to placement when doing scheduling
activities. Without this, we'll always receive every host in the
deployment (that has space for the request), which may be very large.

Closes-Bug: #1746294
Change-Id: I1c34964a74123b3d94ccae89d7cac0426b57b9b6
2018-02-01 11:00:38 -05:00
Zuul
02b505806a Merge "trivial: Fix typos in release notes" 2018-02-01 10:02:55 +00:00
Zuul
44cc991f70 Merge "reno for notification-transformation-queens" 2018-02-01 08:59:20 +00:00
Zuul
fae202cc95 Merge "Fix bug case by none token context" 2018-02-01 08:58:27 +00:00
Zuul
40f74fb959 Merge "placement: enable required traits from the flavor extra specs" 2018-02-01 06:42:41 +00:00