We enthusiastically announce the release of: nova 20.0.0: Cloud computing fabric controller This release is part of the train release series. The source is available from: https://opendev.org/openstack/nova Download the package from: https://tarballs.openstack.org/nova/ Please report issues through: https://bugs.launchpad.net/nova/+bugs For more details, please see below. 20.0.0 ^^^^^^ Known Issues * The support for guest RAM encryption using AMD SEV (Secure Encrypted Virtualization) added in Train is incompatible with a number of image metadata options: * "hw_scsi_model=virtio-scsi" and either "hw_disk_bus=scsi" or "hw_cdrom_bus=scsi" * "hw_video_model=virtio" * "hw_qemu_guest_agent=yes" When used together, the guest kernel can malfunction with repeated warnings like: NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [system-udevd:272] This will be resolved in a future patch release. For more information, refer to bug 1845986 (https://bugs.launchpad.net/nova/+bug/1845986) Changes in nova 19.0.0.0rc1..20.0.0 ----------------------------------- 9545edc79d docs: Highlight the current broken state of SEV 86c37d783e Restore console proxy deployment info to cells v2 layout doc ef95d7aee5 Imported Translations from Zanata e736babdfe Reduce scope of 'path' query parameter to noVNC consoles e5f1cd3c1e make virtual pmem feature compatible with python3 45c2ba37bc Stop filtering out 'accepted' for in-progress migrations 3649baa09f Update TOX/UPPER_CONSTRAINTS_FILE for stable/train 4a3a4e5c45 Update .gitreview for stable/train 7ed5d81a36 doc: attaching virtual persistent memory to guests d0ca30b80a Ignore warning from sqlalchemy-migrate 79ee80d159 Ignore sqla-migrate inspect.getargspec deprecation warnings on py36 50e60401ed docs: Update CPU topologies guide to reflect the new PCPU world ca7c595729 docs: Clarify everything CPU pinning 7c25caa418 Add a prelude for the Train release 98008e048c Correct link to placement upgrade notes 60b097a5ef Move HostNameWeigher to a common fixture 1024941c0d Isolate request spec handling from _cold_migrate b36c44c449 Handle legacy request spec dict in ComputeTaskManager._cold_migrate f212b85583 Add functional tests for [cinder]/cross_az_attach=False 5d650753e2 Remove upgrade specific info from user facing exception text 4a10f8eaa7 Reject migration with QoS port from conductor if RPC pinned dc0911d30c Log error when volume validation fails during boot from volume a3024b5cea Functional reproduction for bug 1844993 4f261f98e1 Revert "Temporarily skip TestNovaMigrationsMySQL" af45b6e981 libvirt: Get the CPU model, not 'arch' from get_capabilities() 40a0f7742c Func test for migrate reschedule with pinned compute rpc 0e4ca43311 libvirt: Enable driver configuring PMEM namespaces ddd7273ac3 Add evacuate vs rebuild contributor doc aebebe713a Temporarily skip TestNovaMigrationsMySQL 9ae92e3f98 Add librsvg2* to bindep 0ff01646ac Refactor pre-live-migration work out of _do_live_migration 641feb62a3 make config drives sticky bug 1835822 2b23ee7a30 Add note about needing noVNC >= v1.1.0 with using ESX 6648e344a9 Trigger real BuildAbortException during migrate with bandwidth 3b92351c27 objects: use all_things_equal from objects.base c0a6e4be48 trivial: Use sane indent 242a894348 Add reshaper for PCPU 35fae09b22 libvirt: Mock 'libvirt_utils.file_open' properly 1e9596df08 fakelibvirt: Make 'Connection.getHostname' unique 278ab01c32 Add support for translating CPU policy extra specs, image meta d6c96436d6 Include both VCPU and PCPU in core quota count be7bba968d tests: Additional functional tests for pinned instances 50b8c7ca6d libvirt: Start reporting 'HW_CPU_HYPERTHREADING' trait 8da70ef95e hardware: Differentiate between shared and dedicated CPUs 1ecb141da1 objects: Add 'NUMACell.pcpuset' field f329ee5a3b Validate CPU config options against running instances 8c590cb3e4 objects: Add 'InstanceNUMATopology.cpu_pinning' property 8310c0ec9f libvirt: '_get_(v|p)cpu_total' to '_get_(v|p)cpu_available' fad0332cb4 libvirt: Start reporting PCPU inventory to placement eddfa6f0e0 Remove SchedulerReportClient from AggregateRequestFiltersTest c074a7bd31 Remove redundancies from AggregateRequestFiltersTest.setUp 3dc277be45 Follow up for the bandwidth series aae96dc1ac Centralize volume create code during boot from volume bb2b7cad29 Use SpawnIsSynchronousFixture in reschedule functional tests 2973faa070 libvirt: stub logging of host capabilities 46a2bc689b Follow up for I220fa02ee916728e241503084b14984bab4b0c3b 4e0e0a6dd2 Fix a misuse of assertGreaterEqual fe5c67a3fc Add reminder to update corresponding glance docs ae59c331cc Parse vpmem related flavor extra spec c39ad2383c libvirt: Support VM creation with vpmems and vpmems cleanup d7c07584f1 libvirt: report VPMEM resources by provider tree 3978b99d8f libvirt: Enable driver discovering PMEM namespaces 04231112d9 Claim resources in resource tracker faf7f33980 Retrieve the allocations early f45368e02f Add resources dict into _Provider 384d783fc6 object: Introduce Resource and ResourceList objs 6a4d6ec786 db: Add resources column in instance_extra table 2de07c4c56 doc: mark the max microversion for train 338a0603d2 Remove an unused file and a related description a32ef11e3a Cleanup reno live-migration-with-PCI-device 1bbef754fb Docs for isolated aggregates request filter 1db3b89cae Add a new request filter to isolate aggregates e7000b1f7d DB API changes to get non-matching aggregates from metadata 083bafc353 Deprecate CONF.workarounds.enable_numa_live_migration b335d0c157 NUMA live migration support 202aae6652 LM: Use Claims to update numa-related XML on the source 71fafa5b19 New objects for NUMA live migration 6ec09de243 libvirt: Correctly handle non-CPU flag traits 63380a6b49 Note about Destination.forbidden_aggregates e108269a2b Set user_id/project_id from context when creating a Migration c65aabded2 Add user_id and project_id column to Migration 7da94440db Skip querying resource request in revert_resize if no qos port 47bfc46fb5 Follow up for Ib50b6b02208f5bd2972de8a6f8f685c19745514c 7113ac42b6 Improve dest service level func tests e526afcf27 Extract pf$N literals as constants from func test a412d72dec Allow resizing server with port resource request fee98b7147 Allow migrating server with port resource request d7d51e1064 Support migrating SRIOV port with bandwidth 9ccb7e2c9c trivial: Remove single-use classmethod 341a1fab2d Add nova-status to man-pages list 36e26352ec Make SRIOV computes non symmetric in func test a10021ed27 Func test for migrate re-schedule with bandwidth 5114b61d52 Support reverting migration / resize with bandwidth 6f3c2a5672 Use multiple attachments in test_list_volume_attachments a4bf6cd265 Fix race in _test_live_migration_force_complete 3d0738a5dc Make _revert_allocation nested allocation aware 07171778e6 Fix the race in confirm resize func test 3a99f8a45f Fixing broken links 922d8bf811 Improve SEV documentation and other minor tweaks 8e5d6767bb Enable booting of libvirt guests with AMD SEV memory encryption 84db8b3f3d Reject live migration and suspend on SEV guests cedc850e4e Apply SEV-specific guest config when SEV is required 3c8af001d5 Nova object changes for forbidden aggregates request filter 5e1b096894 Don't duplicate PlacementFixture in libvirt func tests b244a02730 doc: Fix a broken reference link df28420760 Remove stubs from VolumeAttachmentsSample API sample test f05dfd4d97 Get pci_devices from _list_devices e840135a17 Decouple NVMe tests from os-brick 59f4dd40f8 api-ref: fix server topology "host_numa_node" field param name 481cb5ce04 Find instance in another cell during floating IP re-association af280ffe30 Deprecate the XenAPIDriver d2c4550a1e Func test for migrate server with ports having resource request f55faf5fc3 prepare func test env for moving servers with bandwidth d19b8badbc resize: Add bw min service level check of source compute a061b0ea2e migrate: Add bw min service level check of source compute d6795e1393 Add min service level check for migrate with bandwidth 6bf0467303 Fix incorrect invocation of openstacksdk's baremetal.nodes() 3d31d97eca Support reporting multi CPU model traits ac7a0e8409 Add compatibility checks for CPU mode and CPU models and extra flags f80e5f989d vCPU model selection 19f01023c2 Use fields="instance_uuid" when calling Ironic API 73f1fda7e9 Bump min for oslo.service & .privsep to fix SIGHUP 37164b418e doc: cleanup references to conductor doc d11a335ea5 Remove old comments about caching scheduler compat 1e10f58eef Move get_machine_type() test to test_utils.py dbbaf1a00a Extract fake KVM guest fixture for reuse c1179d1ff2 Ensure non-q35 machine type is not used when booting with SEV a2984b647a update allocation in binding profile during migrate e5b47543cf Add delete_on_termination to volume-attach API 16b9486bf7 PDF documentation build 2311a194e1 Remove unused methods dac259b15a Introduce live_migration_claim() 8a1ea45124 unit test: do not fill rp mapping for failed re-schedule de89b2d83f libvirt: Make scheduler filters customizable 0afb7c6925 Make _get_cpu_feature_traits() always return a dict 30c5ba30dc libvirt: Fold in argument to '_update_provider_tree_for_vgpu' 726a35b345 objects: Rename 'fields' import to 'obj_fields' 64f09a4a1f libvirt: Start checking compute usage in functional tests ea5bb8e1ec libvirt: Simplify 'fakelibvirt.HostInfo' object ce4c60cf4b Use SDK for setting instance id 3440c3d37a Use SDK for validating instance and node 1635be335e Remove dead code 8ed9c9434f Tune up db.instance_get_all_uuids_by_hosts 36ee9c1913 libvirt: Fix service-wide pauses caused by un-proxied libvirt calls 134e12acff Refactor MigrationTask._execute 84b1a98efe Nice to have test coverage for If1f465112b8e9b0304b8b5b864b985f72168d839 5f553f4b1a Use microversion in put allocations in test_report_client dc3a8de1f8 trivial: Rewrap definitions of 'NUMACell' 8e06eeee2b Fix the incorrect powershell command 3941679aac Add <launchSecurity> and <driver iommu='on' /> to config.py 44dc83d473 Extract SEV-specific bits on host detection b4905467db Add extra spec parameter and image property for memory encryption 2e9fd01e7a re-calculate provider mapping during migration a0e60feb3e Add request_spec to server move RPC calls a413150b20 Pass network API to the conducor's MigrationTask fb2ec18477 allow getting resource request of every bound ports of an instance 2cf9a5f9fa Add cold migrate and resize to nova-grenade-multinode 7f8dd04108 Rename the nova-grenade-live-migration job to nova-grenade-multinode 5627799dfa Indent fake libvirt host capabilities fixtures more nicely 3cef7edbc2 Handle VirtDriverNotReady in _cleanup_running_deleted_instances 58ffff49ac fix lxml compatibility issues 4f6fcfbdd0 libvirt/host.py: remove unnecessary temporary variable f5964dfaa2 Provide HW_CPU_X86_AMD_SEV trait when SEV is supported 3dcb404b1f Add server sub-resource topology API 10dcee2191 Use SDK for node.list a638685c46 Add functional test for AggregateMultiTenancyIsolation + migrate e5647a7ced Add FUP unit test for port heal allocations 3c1d9dab85 Move live_migration test hooks under gate/ 0c4a2e5331 DRY get_sdk_adapter tests 008b60a1cc Ensure online migrations have a unique name 463017b51b trivial: Rename 'nova.tests.unit.test_nova_manage' 25074cbe6c Follow up for specifying az to unshelve fa90a277b9 [Trivial]Remove unused helper should_switch_to_postcopy 8afe0aea2c [Trivial]Removed unused helper _extract_query_params d4d7831236 [Trivial]Remove unused helper get_allocated_disk_size f5c2430876 Remove unused args from archive_deleted_rows calls 307cd38bbc [Trivial]Remove unused helper check_temp_folder 9fe5a17730 Change HostManager to allow scheduling to other cells 656f53edc1 Add Destination.allow_cross_cell_move field a958dc5fcc Add power_on kwarg to ComputeDriver.spawn() method f7e7a07bdd Refactor ComputeManager.remove_volume_connection 44130b03a6 Add nova.compute.utils.delete_image 27b6c18c66 Specify availability_zone to unshelve b01676c418 Remove 'hw:cpu_policy', 'hw:mem_page_size' extra specs from API samples 7abe83f646 scheduler: Flatten 'ResourceRequest.from_extra_specs', 'from_image_props' 8f4f8c833a libvirt: use native AIO mode for StorPool Cinder volumes. 6fa5bd43fb Add a "Caveats" section to the eventlet profiling docs 1c9de9c777 Verify archive_deleted_rows --all-cells in post test hook 97b8cb3f58 nova-manage db archive_deleted_rows is not multi-cell aware 97a5f0e216 Remove descriptions of nonexistent hacking rules 8cbd0bb8f8 [Trivial]Remove unused helper get_vm_ref_from_name 6723909f52 [Trivial]Remove unused helper _get_min_service_version 66bc6702f0 tests: Split NUMA object tests 5488c34375 Add test for create server with integer AZ 9cbedea0bf Trap and log errors from _update_inst_info_cache_for_disassociated_fip 5da92f05c8 neutron: refactor nw info cache refresh out of associate_floating_ip 0176390531 Introduces SDK to IronicDriver and uses for node.get 5519a069b0 Allow strict_proxies for sdk Connection 364fa30062 Docs and functional test for max_local_block_devices 78b15e19ce Update SDK fixture for openstacksdk 0.35.0 d91c1626ff Process [compute] in $NOVA_CPU_CONF in nova-next b81d577da0 [Trivial]Remove unused helper get_vif_devname_with_prefix c77e75824f Add docstring to check_availability_zone function a637d6e071 doc: pretty up return code table for sync_aggregates 73ff2a7878 docs: pretty up return code table or heal_allocations 791fa595e6 Handle websockify v0.9.0 in console proxy 213fa4c57a Rework 'hardware.numa_usage_from_instances' 447b48c826 Remove 'hardware.instance_topology_from_instance' 15799315a8 Remove 'hardware.host_topology_and_format_from_host' a44d84de62 Remove 'hardware.get_host_numa_usage_from_instance' fd903ccfb7 trivial: Rename exception argument 2d4a2c6882 claims: Remove useless caching b86670caab Update docstring of 'revert_resize' function 8f6c3049a4 Address nits from privsep series 7675e28bd1 Document map_instances return codes in table format df2845308d Change nova-manage unexpected error return code to 255 561ed634f4 Document archive_deleted_rows return codes 113f8245fb Revert "Filter UnsupportedServiceVersion warning" f32671359e Make a failure to purge_db fail in post_test_hook.sh 8f53a051cc Remove deprecated [neutron]/url option 69faaddc6c FUP for I5576fa2a67d2771614266022428b4a95487ab6d5 e4473c54de Extract new base class for provider usage functional tests a53c867913 Track libvirt host/domain capabilities for multiple machine types 7fe5f6e4fb Make memtune parameters consistent with libvirt docs and code 415ed543dd Split fake host capabilities into reusable variables 2967897fa0 Add a hacking rule for useless assertions d4ed9ed93f Add a hacking rule for non-existent assertions 5ccdbc7189 Fix missing rule description in HACKING.rst 0bf81cfe73 Add blocker migration for completing services.uuid migration 1ff029c1c3 Delete InstanceMapping in conductor if BuildRequest is already deleted 588194d785 Deprecate Aggregate[Core|Ram|Disk]Filters e392b0d1b2 libvirt: Remove unnecessary argument 11751e94f1 libvirt: Remove unnecessary try-catch around 'getCPUMap' 56f193468a objects: Rename 'nova.objects.instance_numa_topology' 57432e13cd doc: Trivial fixes to API version history aeff4ea738 docs: Scrub available quotas c619c3b584 fakelibvirt: Stop distinguishing between NUMA, non-NUMA a7bd9688d5 Add functional recreate test for bug 1823370 326bc658ee Libvirt: add support for vPMU configuration. 77efc084fc doc: remove confusing docs about aggregate allocation ratios f7e672d302 Update api-ref for 2.75 to add config_drive in server update response d47f1db49e Switch some GitHub URLs to point to opendev.org ad75beee11 api-ref: add config_drive to 2.75 rebuild response parameters 9f269e5386 doc: cleanup 2.75 REST API microversion history doc 0703fd03e6 Re-use DB MetaData during archive_deleted_rows 1eec451b1b Tests: autospecs all the mock.patch usages 8ea5e37338 Fix wrong assertions in unit tests ad482e53fb Fix 'has_calls' method calls in unit tests 4412a90cf1 Limit get_sdk_adapter to requested service type 588c513f3d Avoid timeout from service update api unit tests f2d93d0980 Move router advertisement daemon restarts to privsep. 6e563d9703 Move dnsmasq restarts to privsep. 54bf4694b9 Move iptables rule fetching and setting to privsep. 85ea4f703d libvirt: Mock libvirt'y things in setUp a1d3519dcc Rename 'nova.common.config' module to 'nova.middleware' cf7d28eb6e Fix non-existent method of Mock d5b9b0052a Fix libvirt driver tests to use LibvirtConfigCapsGuest instances 1e05b9e61c Allow assertXmlEqual() to pass options to matchers.XMLMatches 62f6a0a1bc API microversion 2.76: Add 'power-update' external event 27f6579fa9 Fix use of mock.patch with new_callable=PropertyMock e141bcdb25 config: remove deprecated checksum options eb5f137292 Bump minimum ksa (3.16.0) and sdk (0.34.0) fd29298197 add InstanceList.get_all_uuids_by_hosts() method 5f412cadbd Enhance SDK fixture for 0.34.0 abfb28291a api-ref: Fix collapse of 'host_status' description fc9fb383c1 lxc: make use of filter python3 compatible e7e6dfb7de Execute TargetDBSetupTask b910af3b41 Add CrossCellMigrationTask f875c9d12f Prevent init_host test to interfere with other tests 74a00d1582 [Trivial]Remove unused helper filter_and_format_resource_metadata 179109ac7c [Trivial]Remove unused helper _get_instances_by_filters 5c1d9dcbb2 Fix misuse of nova.objects.base.obj_equal_prims 8b007266f4 Restore soft-deleted compute node with same uuid 89dd74ac7f Add functional regression recreate test for bug 1839560 f578146f37 rt: only map compute node if we created it ce42b6d494 Avoid timeout from service update notification tests 3b2787584f DRY get_flavor in flavor manage tests b26bc7fd7a Multiple API cleanup changes 886142b17a Add a document that describes profiling eventlet services 415be3ba9a Rename 'map' variable to avoid shadowing keywords 491d9c4c44 Drop usage of lxml's deprecated getchildren() method b69ddd64ba [Trivial]Remove unused _last_bw_usage_cell_update e0099590ec trivial: Use NoDBTestCase instead of TestCase 1819718e79 Fix rebuild of baremetal instance when vm_state is ERROR 5294af8b92 Dump versioned notifications when len assertions fail 4156571d2c Skip test_migrate_disk_and_power_off_crash_finish_revert_migration 9ffdc0bcbc Use :oslo.config:* in nova-manage doc dec1d56f25 Add TargetDBSetupTask 2d2cfc4aa5 Add Instance.hidden field b92276d4ed Add InstanceAction/Event create() method 4551a187e7 Clean up docstrings for archive_deleted_rows 2c5134d5f3 Don't mention CONF.api_database.connection in user-facing messages/docs 7d7d58509d Add useful error log when _determine_version_cap raises DBNotAllowed c686544e28 trivial: Remove unused '_instance_to_allocations_dict' function ebd68b3d1e api-ref: document valid GET /os-migrations?migration_type values 92e1e0736d docs: update 2.23 REST API version history 1775a59975 Update comments in HostManager._get_instance_info 3a69fdb333 Cache host to cell mapping in HostManager 426a303ee4 Convert HostMapping.cells to a dict 298b337a16 Replace non-nova server fault message d780216c6a doc: fix physets typo ae7ebdf45e Retrun 400 if invalid query parameters are specified 32c7c239d4 Filter UnsupportedServiceVersion warning a8f502c04f Make nova-multi-cell job voting and gating 8823280724 Add nova-osprofiler-redis job to experimental queue 573b3799a0 Modernize nova-lvm job 35d8f93645 Convert nova-lvm job to zuul v3 4945e6dbd4 doc: correct the information of 'cpu_map' 866ca1468d Add the support of CPU feature 'AVX512-VNNI' d1fd180a9b trivial: Remove unused function parameter ed3eeaabc3 Follow-up for I2936ce8cb293dc80e1a426094fdae6e675461470 d2e0bd81df Functional reproduce for bug 1833581 a6199d576c nit: fix the test case of migration obj_make_compatible 363710b655 libvirt: Handle alternative UEFI firmware binary paths ad4ef5af8b rt: soften warning case in _remove_deleted_instances_allocations 72b979f92c neutron: log something more useful in _get_instance_nw_info 16e163053c Don't generate service UUID for deleted services 1d9aaef3d1 Add functional regression test for bug 1778305 81f05f53d3 Add functional recreate test for bug 1764556 2e57826a77 Remove Request Spec Migration upgrade status check b98d4ba6d5 Cleanup when hitting MaxRetriesExceeded from no host_available 5cc39fc51e Add functional regression test for bug 1837955 90f98b8447 Move adding vlans to interfaces to privsep. e8f5641aef Fix wrong huge pages in doc 45026cb5c1 Get rid of args to RBDDriver.__init__() f1426d128e libvirt: harden Host.get_domain_capabilities() 124229705e Use a less chipper title for release notes 163482e0e1 doc: fix links for server actions in api guide af2e5a5755 api-ref: touch up the os-services docs f4f326ca71 Remove usused umask argument to virt.libvirt.utils.write_to_file 533d5dbb71 Completely remove fake_libvirt_utils. 743dc083bb Revert "[libvirt] Filter hypervisor_type by virt_type" 0eea5041c4 compute: Use source_bdms to reset attachment_ids during LM rollback 97096c8e4a Remove 'nova.virt.driver.ComputeDriver.estimate_instance_overhead' 5406c8bd9b Remove deprecated CPU, RAM, disk claiming in resource tracker 4188d08c20 Disable cinder-backup service in nova-next job e38e641572 Pass extra_specs to flavor in vif tests cdb752f3d3 Remove test_pre_live_migration_instance_has_no_fixed_ip b96d1221db Remove fake_libvirt_utils users in functional testing. 7e85335f2e Remove super old unnecessary TODO from API start() method cee072b962 Convert nova-next to a zuul v3 job 78645e61c6 Remove deprecated Core/Ram/DiskFilter 2a2379a63c Use OpenStack SDK for placement 7df7029056 Consts for need_healing 8ec918a051 Use the safe get_binding_profile 9f64b9900e Introduces the openstacksdk to nova 78a08d44ea Pass migration to finish_revert_migration() 6b3aa31458 Correct project/user id descriptions for os-instance-actions dbe6321537 Update api-ref location e75fc2af93 Remove Newton-era min compute checks for server create with device tags 8db712fe04 Add functional test for resize crash compute restart revert f582ef397c Run 'tempest-ipv6-only' job in gate d02de0e149 Disambiguate logs in delete_allocation_for_instance 30d8159d4e libvirt: move checking CONF.my_ip to init_host() d29d1d1a9e Bump the openstackdocstheme extension to 1.20 153cb54e67 Replace "integrated-gate-py3" template with new "integrated-gate-compute" 57112a7174 Fix cleaning up console tokens 738774b942 Avoid logging traceback when detach device not found 102bc41f90 bindep: Remove dead markers 81dff47a19 tox: Keeping going with docs 11cb42f396 Restore RT.old_resources if ComputeNode.save() fails ad4f798362 Defaults missing group_policy to 'none' dc4ca77e4c Add 'resource_request' to neutronv2/constants d939eadd3b Use neutron contants in cmd/manage.py b7fbe96b0b Move consts from neutronv2/api to constants module 7a37940ce9 Translatable output strings in heal allocation 8068bb3f4a Use Adapter global_request_id kwarg 54dea2531c nova-manage: heal port allocations fea589cfe2 vif: Remove dead minimum libvirt checks 3f56e44b84 vif: Resolve a TODO and update another b4f3b2b09f vif: Stop using getattr for VIF lookups 17bc342c33 vif: Remove 'plug_vhostuser', 'unplug_vhostuser' 2d4b32e1bd Add method 'all_required_traits' to scheduler utils e11b589474 Fix no propagation of nova context request_id 7a7a223602 Revert resize: wait for events according to hybrid plug 426790237e docs: Correct issues with 'openstack quota set' commands 415f1de94d objects: Remove unused ec2 objects 5660202ed6 ec2: Remove unused functions from 'ec2utils' de31466fdb doc: Fix a parameter of NotificationPublisher 09d24e5ffa doc: Add links to novaclient contributor guide c329397e9c doc: Replace a wiki link with API ref guide link 8c797450cb Perf: Use dicts for ProviderTree roots 96d2ce9040 libvirt: remove unused Service.get_by_compute_host mocks fd480a7a3d Update AZ admin doc to mention the new way to specify hosts 2a94f95cee nova-lvm: Disable [validation]/run_validation in tempest.conf 564290ab14 Add host and hypervisor_hostname flag to create server 041285d76a db: Add vpmems to instance_extra e6f0119262 Remove assumption of http error if consumer not exists 1251ff22d4 Remove Rocky-era min compute trusted certs compat check 2db7d1e53e Remove old TODO about forced_host policy check 916c82913a Add Python 3 Train unit tests 2398b78df5 Remove nova-consoleauth 4a5322ea8d libvirt: vif: Remove MIN_LIBVIRT_MACVTAP_PASSTHROUGH_VLAN 19b81aeb5e libvirt: Remove MIN_LIBVIRT_PERF_VERSION e75598be31 api-ref: Fix a broken link 6be668e519 Stop sending bad values from libosinfo to libvirt b8c55d1d3c libvirt: Remove unreachable native QEMU iSCSI initiator config code 616bfa9c42 libvirt: Remove MIN_{QEMU,LIBVIRT}_LUKS_VERSION 00740b063f Remove 'nova.virt.libvirt.compat' e99937c9a9 Exit 1 when db sync runs before api_db sync ab7d923ae7 Fix GET /servers/detail host_status performance regression 12a6fe57b9 Follow up for pre-filter-disabled-computes series 3f0605c289 Sync COMPUTE_STATUS_DISABLED from API 1c51443304 Refactor HostAPI.service_update 168d34c8d1 Add placement request pre-filter compute_status_filter 099b490c2f Update COMPUTE_STATUS_DISABLED from set_host_enabled compute call 7824909048 [FUP] Follow-up patch for SR-IOV live migration 03f7dc29b7 libvirt: Add a rbd_connect_timeout configurable 9b99be44cd libvirt: manage COMPUTE_STATUS_DISABLED for hypervisor connection b7ad974723 Add VirtAPI.update_compute_provider_status 40f1e7c4c2 Stabilize unshelve notification sample tests 33e9740d00 Add neutron-tempest-iptables_hybrid job to experimental queue 13df416fa7 Clean up test_virtapi 5e78122458 Set COMPUTE_STATUS_DISABLED trait from update_provider_tree flow 86b78739b8 Rename CinderFixtureNewAttachFlow to CinderFixture 1eb7b17a18 Remove mox in virt/test_block_device.py 87365c760e Add integration testing for heal_allocations d540903463 Init HostState.failed_builds a2852d98ec Remove needs:* todo from deprecated APIs api-ref d7c8a4bfb4 Fix invalid assertIsNone states 89f6d39831 Add missing tests for flavor extra_specs mv 2.61 1339b2f127 Fix test_flavors to run with correct microversion e750c8e862 Remove 'MultiattachSupportNotYetAvailable' exception 215475e054 Follow-up for I6a777b4b7a5729488f939df8c40e49bd40aec3dd f260f12ec7 Drop pre-cinder 3.44 version compatibility 0652a4c7a5 Un-safe_connect and publicize get_providers_in_tree 6caedfd976 Require at least cryptography>=2.7 d89e7d7857 libvirt: flatten rbd images when unshelving an instance e2866609bb pull out put_allocation call from _heal_* 307999c581 Prepare _heal_allocations_for_instance for nested allocations 9adcf53210 reorder conditions in _heal_allocations_for_instance d2ef1ce309 Fix type error on call to mount device 7460f26741 Fix RT init arg order in test_unsupported_move_type 818419c9d3 Fix AttributeError in RT._update_usage_from_migration cc76d7cfb3 Privsep the ebtables modification code. 3685de1033 Remove unused FP device creation and deletion methods. 0b4ca019ee Privsepify ipv4 forwarding enablement. c743f66c4f Remove no longer required "inner" methods. 5b1c9dd05c Grab fresh power state info from the driver e6fc316261 pull out functions from _heal_allocations_for_instance b203fbc5af Correct the comment of RequestSpec's network_metadata c76f3bd7bc Deprecate non-update_provider_tree compat code 154334b4b2 xenapi: implement update_provider_tree 544738d97b Implement update_provider_tree c9ed708d87 Fix update_provider_tree signature in reference docs 4deab182ba Add functional test coverage for bug 1724172 2794748d9c Enhance service restart in functional env a24d883e8c (Re-)enable vnc console tests in nova-multi-cell job bedaeab074 nova-status: Remove consoleauth workaround check dc6fc82c14 hacking: Resolve W605 (invalid escape sequence) 97b769ef53 hacking: Resolve E741 (ambiguous variable name) 231908a7f4 hacking: Resolve W503 (line break occurred before a binary operator) 7ce34c2645 Remove orphaned comment from _get_group_details 83a5429db4 Revert "Revert resize: wait for events according to hybrid plug" c9ce93a300 Remove comments about mirroring changes to nova/cells/messaging.py 632150aaa8 doc: Fix nova-manage cell_v2 list_cells output 224d9d3306 [FUP] fix backleveling unit test for video models 35a591d33d extend libvirt video model support 9e8ba1f3b6 api-guide: better explain scheduler hints. b5666fb492 Remove global state from the FakeDriver 81e4d13c32 conf: Rename 'configuration drive' to 'config drive' 92a432fde7 docs: Rework all things metadata'y bdb1230c87 vif: Skip most of 'get_base_config' if not using virtio a235451578 Ignore hw_vif_type for direct, direct-physical vNIC types 19f9b37721 Revert resize: wait for events according to hybrid plug 2c94aa7d9f Remove deprecated arguments in db sync command 44254ca865 rbd: use MAX_AVAIL stat for reporting bytes available d8ad9f986e Clarify --before help text in nova manage 97aa7bb85a xvp: Remove use of '_LI' marker e9a27f7c73 xvp: Start using consoleauth tokens f1532cdce2 Replace deprecated with_lockmode with with_for_update 9570e75752 Log disk transfer stats in live migration monitor. f108d79676 Remove redundant group host setup cf670873ad Validate requested host/node during servers create c40de76125 Fix wrong assert methods b4659c9fc3 Clean up NumInstancesFilter related docs 818c31f96e Log quota legacy method warning only if counting from placement 257ef9573f Deprecate RetryFilter 7c9641266f Fix enabled_filters default value in admin config docs 4bba996fb2 Remove file-backed memory live migration compat check 8f6de35636 tests: Stop starting consoleauth in functional tests 009fd0f35b docs: Remove references to nova-consoleauth b129511050 docs: remove the RamFilter from example db1789e82b Ensure controllers all call super 9606c80402 Add 'path' query parameter to console access url c7f572d65b Always Set dhcp_server in network_info 4ff8ca8f64 Add a test for the _joinedload_all helper 658e35cad4 Replace joinedload_all with joinedload 285e0ad746 Fix :param: in docstring 4adface8b9 Optimize SchedulerReportClient.delete_resource_provider 8921a470ee Avoid unnecessary joins in delete_resource_provider 2fc3c9453a Literalize CLI options in docs 650fe118d1 Delete resource providers for all nodes when deleting compute service 5c544c7e2a Warn for duplicate host mappings during discover_hosts 0919ea6390 Api-guide: Add Block Device Mapping bcd9c4f048 Make RequestContext(instance_lock_checked) fail 75a1ba2722 Fix a warning about flags in an expression string cc615d0957 update comment on ignore_basepython_conflict 1cf3da8702 Add Migration.cross_cell_move and get_by_uuid 2295a6c47d update constraints url 97a681eb6d Remove 'InstanceUnknownCell' exception 614475b482 Add reno for removed cells v1 policies b4c03e325b Remove nova.compute.*API() shims 43dd054685 filters: Stop handling cells v1 4aa4da8ea8 Stop passing 'delete_type' to 'terminate_instance' e37b937e06 Stop passing 'kwargs' to 'rebuild_instance' 8d5359ca51 Remove cells v1 parameter from 'ComputeTaskAPI.resize_instance' f545a25cc4 Fix double word hacking test bf3706fe3a fup: Merge machine_type_mappings into get_default_machine_type 527c452a6f libvirt: Use SATA bus for cdrom devices when using Q35 machine type 674b70d8c7 Make get_provider_by_name public and remove safe_connect d4ed0d8b7a Refresh instance network info on deletion 18ba6e6e6a Skip test_check_doubled_words hacking check UT e8b6b0bc78 Fix python3 compatibility of rbd get_fsid 88262634c4 Remove unnecessary setUp methods ebddacf001 Replace 'is comprised of' with 'comprises' 8899f8b5b5 Hacking N363: `in (not_a_tuple)` c419be6c17 Remove 'ComputeManager._reschedule' 2629d65fbc Add functional recreate test for bug 1829479 and bug 1817833 47559663aa Cleanup quota user docs 7abc21b6b2 Update quota known issues docs 89f8ff449b [Docs] Update the confusing console output 97ca86fad7 Modifying install-guide to include public endpoint for identity service 0cecd2ac32 Remove an unused method d7ba0d0dba Delete unused get_all_host_states method f394703f7e Document mitigation for Intel MDS security flaws 0685139ed8 Make nova-next archive using --before ed613aa66f Change the default of notification_format to unversioned ca543438e1 Hide hypervisor id on windows guests 06c0fd4fd2 Move default policy target 15b9e81d37 Simplfy test setup for TestNovaMigrations* tests 8f78dc68d9 Avoid lazy-loading instance.flavor in cold migration 11e7dda320 Exclude broken ironicclient versions 2.7.1 5e74915064 Follow up for counting quota usage from placement d524215f7b Remove remaining vestiges of fake_libvirt_utils from unit tests. 6b4f89ab59 Set/get group uuid when transforming RequestSpec to/from filter_properties da453c2bfe Workaround missing RequestSpec.instance_group.uuid c96c7c5e13 Add regression recreate test for bug 1830747 e3aadaf17f Add documentation for counting quota usage from placement 799c0e4b95 Use instance mappings to count server group members c1aa4dff01 Remove fake_libvirt_utils from libvirt imagebackend tests. 30d6bc3c87 Remove fake_libvirt_utils from virt driver tests. 3051c718e0 Bump openstackdocstheme to 1.30.0 92c7e0e0b4 xenapi: log quality warning in init_host 8f2b7d8128 Remove zeromq from getting started with compute docs d1931ac063 Raise InstanceFaultRollback for UnableToMigrateToSelf from _prep_resize 46cb2fdfe2 Change InstanceFaultRollback handling in _error_out_instance_on_exception 4825720ae5 Blacklist python-cinderclient 4.0.0 1d3ca5a3a0 Robustify attachment tracking in CinderFixtureNewAttachFlow ad9f37350a Update usage in RT.drop_move_claim during confirm resize 0b92c7e741 Fix hard-delete of instance with soft-deleted referential constraints 10bbe6b739 conf: Remove cells v1 options, group dbc5dfad8f db: Remove cell APIs 7166482a71 Remove unnecessary wrapper 95dc5d0ab5 Stop handling 'InstanceUnknownCell' exception 10d50ca4e2 libvirt: Rework 'EBUSY' (SIGKILL) error handling code path 8b9dad0b63 docs: Don't version links to reno docs f2a2a6b1f7 Make all functional tests reusable by other projects 9614354535 Fix the server group "policy" field type in api-ref 197b791240 extract baselineCPU API call from _get_cpu_traits() ea77b41b66 Reduce logging of host hypervisor capabilities to DEBUG level 9cacaad14e cleanup evacuated instances not on hypervisor a6c50bf7e0 Remove mox in unit/network/test_neutronv2.py (12) 04223519dd Remove mox in unit/network/test_neutronv2.py (11) 067cfcd45f Remove mox in unit/network/test_neutronv2.py (10) 8b1b0234e2 Remove mox in unit/network/test_neutronv2.py (9) 7f3aedfe72 Remove mox in unit/network/test_neutronv2.py (8) 8179f36285 Ensure that metadata proxy raises correct exception c66a03bae7 Don't rely on SQLAlchemy collections magically initializing __dict__ ca8f4be2a8 Move selective patching of open() to nova.test for reuse 47b73030cb Skip novnc tests in multi-cell job until bug 1830417 is fixed f0edbff6f2 Move patch_exists() to nova.test.TestCase for reuse a4651c4558 Link versioned notification talk into docs f17dbe69f2 Set [quota]count_usage_from_placement = True in nova-next 8354f42e20 Count instances from mappings and cores/ram from placement 15ccf2ddfb Avoid unnecessary joins in InstanceGroup.get_hosts a428601cb6 Do not start nova-network in the notification func test c1782bacd8 Fix live-migration when glance image deleted e822360b66 Add --before to nova-manage db archive_deleted_rows b301f95ab7 refactor nova-manage archive_deleted_rows 2af89cfea0 Skip existing VMs when hosts apply force_config_drive 31007102b0 Update description of valid whitelist for non-admin user 3b229836e5 [Docs] Fix minor typo c489ccab2d Keep attach_mode as top-level field in _translate_attachment_ref 5a1d159d14 Block swap volume on volumes with >1 rw attachment 44938dc5e8 Replace colon with comma in route comment 000e93df09 Allow driver to properly unplug VIFs on destination on confirm resize 70f45d7c09 Extract provider tree functional tests into new file. ae40a29345 Remove 'etc/nova/cells.json' 4ea23952a8 Remove conductor_api and _last_host_check from manager.py 1c480a75ed Restore connection_info after live migration rollback 6c6ffc0476 Fix failure to boot instances with qcow2 format images 966192704c libvirt: Do not reraise DiskNotFound exceptions during resize 817dcc89a9 Remove cells code 59784cfa6c Stop handling cells v1 for instance naming 14cc25552a Stop handling 'update_cells' on 'BandwidthUsage.create' 8dfc09d467 Remove 'instance_update_from_api' 5a1c385b99 Move get_pci_mapping_for_migration to MigrationContext 387d5a9835 Remove redundant conductor from ServersTestBase.setUp() 2a8c0c800b Fix guestfs.set_backend_settings call c07746af90 api-ref: mention default project filtering when listing servers 434e30f0d2 Add detection of SEV support from QEMU/AMD-SP/libvirt on AMD hosts 297f3ba687 Add infrastructure for invoking libvirt's getDomainCapabilities API 060e42b7fd [ironic] Don't remove instance info twice in destroy 48483bed94 Fix some issues with the newton release notes 66070416ab Stop logging traceback when skipping quiesce b1ef5aa72f Cap sphinx for py2 to match global requirements aae5c7aa38 Fix retry of instance_update_and_get_original 2f9e972ba3 Disable limit if affinity(anti)/same(different)host is requested fccdaabd64 [Trivial doc change] Admin can overwrite the locked_reason of an owner 873ac499c5 Add functional confirm_migration_error test d43cab00a6 Remove fake_libvirt_utils from snapshot tests. 83d9585f12 Remove fake_libvirt_utils from connection tests. 84afd12589 Change some URLs to point to better targets c541ace518 Microversion 2.73: Support adding the reason behind a server lock 7d0556b196 Trivial: Adds comments and tests for scheduler 276001914d Move _fill_provider_mapping to the scheduler_utils 5e5e5daa90 Remove unused param from _fill_provider_mapping b5142d807b Add extra logging to request filters 82f6d61537 Update the contributor doc for macos 0973fbe21f Update Python 3 test runtimes for Train 0ae53f2bf0 Revert "Fix target_cell usage for scatter_gather_cells" 87b7f0c2af Fix SynchronousThreadPoolExecutorFixture mock of Future d4c8725940 Add docs for image type support request filter 1ee0e58446 Enable image type query support in nova-next 57978de4a8 Add image type request filter 16f2571e07 [Docs] Change the server query parameter display into a list. 57646dfe77 api-ref: fix mention of all_tenants filter for non-admins 8eb53f5b5c Add zvm driver image type capabilities 4ed3ea509c Add xenapi driver image type capabilities c208b30c62 Add vmware driver image type capabilities 112eed3dae Add ironic driver image type capabilities 761251f7ba Make libvirt expose supported image types 0bf86499f1 Expose Hyper-V supported image types 3c411febf8 Fix assert methods in unit tests f9eb685bee Exclude fake marker instance when listing servers 91056970b5 Add regression test for bug 1825034 acc6c52a81 [Trivial fix]Remove unnecessary slash e9d572ddfa Log when port resource is leaked during port delete 2860bef70a Make nova-tox-functional-py36 reusable 204172ef4e Use run_immediately=True for _cleanup_running_deleted_instances 0ca75904c7 Remove macs kwarg from allocate_for_instance 95d5eb316c Remove ComputeDriver.macs_for_instance method 0b683028af Improve metadata performance 270d5d351e Add nova-status upgrade check for minimum required cinder API version 93027713ab Reset the stored logs at each notification test steps a627723c2a Remove 'instance_update_at_top', 'instance_destroy_at_top' c0c6afdb95 Refactor bandwidth related functional tests 095d3f91d1 Test macvtap port with resource request 84e64a995e Require at least oslo.versionedobjects>=1.35.0 59c9e27fbb Fix invalid privsep.readpty test 674c004231 Fix help for ironic.peer_list config 7cf16e317b Remove deprecated 'default_flavor' config option 6632468782 Enable n-novnc in nova-multi-cell job d2e58cb490 Add nova-multi-cell job cace9b4713 Remove 'get_keypair_at_top' e3a8188e21 Remove 'instance_info_cache_update_at_top' 6584870607 Remove 'instance_fault_create_at_top' c12ed74594 Correct spelling errors 70a2879b2c Delete the placement code 56ca4d32dd libvirt: Avoid using os-brick encryptors when device_path isn't provided 752b135ec4 Add Venn diagram showing taxonomy of traits and capabilities ee65b942cc Remove unused context parameter from RT._get_instance_type 54877e06f1 Add functional recreate test for bug 1818914 544cfedd16 Remove MIN_COMPUTE_MULTIATTACH conditions in API a50dfbdd47 Always pass HostAPI to get_availability_zones d54f35d54e Remove [ironic]api_endpoint option 1a4a521fef test_rpc: Stop f****** with global state d966ffabc3 libvirt: auto detach/attach sriov ports on migration 091a910576 libvirt: Always disconnect volumes after libvirtError exceptions bc57ae5073 libvirt: Stop ignoring unknown libvirtError exceptions during volume attach 929cd32505 Don't run tempest/devstack jobs on nova/test.py only changes ae659668b5 Make nova.compute.rpcapi.ComputeAPI.router a singleton 74cefe4266 AZ list performance optimization: avoid double service list DB fetch b81fe4dbe4 Add image type capability flags and trait conversions 85f8d033d2 Create request spec, build request and mappings in one transaction eeb9a9fa93 Fix mock specs set to strings 091aa32896 Do not perform port update in case of baremetal instance. 7ecaa3fcf8 Replace git.openstack.org URLs with opendev.org URLs 6eaa6db0ee Pass on region when we don't have a valid ironic endpoint 8d71c615f2 Improve test coverage of nova.privsep.utils. ea297d6ffb Drop source node allocations if finish_resize fails f4bb672106 Add functional recreate test for regression bug 1825537 13278be9f2 Fix {min|max}_version in ironic Adapter setup fd8fdc9345 SR-IOV Live migration indirect port support 576a4e5260 Improve CinderFixtureNewAttachFlow 4df3f17853 Fix ProviderUsageBaseTestCase._run_periodics for multi-cell fc3890667e OpenDev Migration Patch 3c5095d05f Only set oslo_messaging_notifications.driver if using RPCFixture 9a7eee1592 Trivial: use default value in next() func 54408d0ce4 Add get_usages_counts_for_quota to SchedulerReportClient 48fd81648a libvirt: set device address tag only if setting disk unit cf489d58b9 Remove FlavorNotFound dead code condition in API.resize 8951149c52 Update volume-backed comment in _validate_flavor_image_nostatus 8aae3e39e5 Fix volume-backed resize with a smaller disk flavor 5ee6e75ab6 Add ids to sections of flavors guide to allow deep-linking 575fd08e63 Query `in_tree` to placement 3ad82c696f Pass target host to RequestGroup.in_tree 57465aae77 Add get_compute_nodes_by_host_or_node() f6667b05d2 Add in_tree field to RequestGroup object a40c7f3e8d Add functional regression recreate test for bug 1825020 25545d7f55 Remove 'bdm_(update_or_create|destroy)_at_top' 6abd6ea2b4 Remove old-style cell v1 instance listing 6ac15734b9 Stop handling cells v1 for console authentication 7954b2714e Remove 'nova-manage cell' commands 025e9294dd Stop handling cells v1 in '/os-servers' API 27e88f6a66 Stop handling cells v1 in '/os-hypervisors' API fb14f24cc3 Remove '/os-cells' REST APIs 0c7262cce4 objects: Remove ConsoleAuthToken.to_dict 886b0a5d74 conf: Undeprecate and move the 'dhcp_domain' option 97549a2c41 Handle unsetting '[DEFAULT] dhcp_domain' ab7c968b6f Include all network devices in nova diagnostics c00912db51 Add BFV wrinkle to TestNovaManagePlacementHealAllocations c92b297896 Add --instance option to heal_allocations 6321f01f0c Dropping the py35 testing 9760b5b7dc Add instance hard delete 3e65f778bd Bump to hacking 1.1.0 37c42c97e2 Add minimum value in max_concurrent_live_migrations e18b79ef87 Uncap jsonschema ded3e4d900 Add --dry-run option to heal_allocations CLI b944b1ace9 trivial: Remove dead nova.db functions 5089cc0d72 Use update_provider_tree in vmware virt driver 85e287d3ef Add get_counts() to InstanceMappingList 8e59a7d8be Use InstanceList.get_count_by_hosts when deleting a compute service a4743f982a Remove 'nova-cells' service 7c7798ad52 Remove cells v1 jobs 53c3cfa7a0 Use migration_status during volume migrating and retyping 3412595a35 Cleanup migrate flags 96b3199d41 Add post-release checklist items to the PTL guide aaee893a5e Drop delete_build_requests_with_no_instance_uuid online migration 1af9de4e6e Soft delete virtual_interfaces when instance is destroyed 083eb4bc75 Delete require_instance_exists_using_uuid 4aa989f471 Add placeholder migrations for Stein backports d955ce42cc Change a log level for overwriting allocation 033d00965f Remove query_client from resource_tracker 79bcb4e21b libvirt: disconnect volume when encryption fails 8ab3300d5d Don't report 'exiting' when mapping cells 3482daf56b Mention [cinder]/cross_az_attach in the AZ docs abe041ae1c Document restrictions for moving servers between availability zones 47fd7e3324 Add testing guide for down cells 1da71fa4ab xenapi/agent: Change openssl error handling a6de6e2091 Remove dead code 78e04bbe2e Log notifications if assertion in _test_live_migration_force_complete fails 504099e4e2 Add test coverage for nova.privsep.qemu. 82c79ceac3 Add test coverage for nova.privsep.libvirt. f389773f52 Improve test coverage of nova.privsep.fs, continued. 7b28861444 Improve test coverage of nova.privsep.fs. 074d3867bc Improve test coverage of nova.privsep.path. 07627d4d39 Hacking N362: Don't abbrev/alias privsep import 8ff0fae42b Handle PortLimitExceeded in POST /servers/{server_id}/os-interface 8795f591d5 Do not log a warning about not using compute monitors ade6c93936 Handle Invalid exceptions as expected in attach_interface 8856009445 Add docs on what not to include in notifications 4d00320ea6 devstack: Remove 'tempest-dsvm-tempest-xen-rc' 3301449e73 Remove CellMappingPayload database_connection and transport_url fields 214656eff2 api-ref: fix description of os-server-external-events 'events' param 3dbb0c4c57 api-ref: document ordering for instance actions and events 4745fd43d8 libvirt: remove conditional on VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY 3bcfb15a89 libvirt: drop MIN_LIBVIRT_POSTCOPY_VERSION cec1808050 Drop migrate_keypairs_to_api_db data migration e7ae6c65cd Libvirt: gracefully handle non-nic VFs 754847ed27 trivial: Remove dead resource tracker code ec09c06c5a trivial: Remove unused constants, functions 48f1826711 systemd detection result caching nit fixes c8592a07a9 trivial: Remove dead 'ALIAS' constant 6a4e1d4b5b zvm: Remove dead code 01ff435c65 hacking: Fix dodgy check ebb1f1abba trivial: Remove dead code 48bf8a50ee Docs: emulator threads: clarify expected behavior 4bac4ff04b Fix comment in test_attach_with_multiattach_fails_not_available c3af63472a Fix a deprecation warning 3aa702686b Style corrections for privsep usage. 610d7e486a Mock time.sleep() in unit tests dc4ed2d048 Add placement as required project to functional py36 and 37 e5269f2fbb Correct lower-constraints.txt and the related tox job e4c998e573 Do not persist RequestSpec.ignore_hosts 2623acaba4 tests: Full stub out os_vif bed9d49163 Pass --nic when creating servers in evacuate integration test script a37b16610d tests: Stub out privsep modules c19c3d9760 Remove flavor id and name validation code d476d193d3 Remove mox in unit/network/test_neutronv2.py (7) be189267c5 Remove mox in unit/network/test_neutronv2.py (6) 1f2b6c9576 Remove mox in unit/network/test_neutronv2.py (5) f3c6e81483 Remove mox in unit/network/test_neutronv2.py (4) c088856c8c Fix bug preventing forbidden traits from working 13e661792d Adding tests to demonstrate bug #1821824 a9324ad84c Only call _fill_provider_mapping if claim succeeds b096d9303a Handle placement error during re-schedule 4d0aab16ec api-ref: add more details to confirmResize troubleshooting 03a6d26691 Delete allocations even if _confirm_resize raises fd3b86d1c3 Fix exception type in test_boot_reschedule_fill_provider_mapping_raises 7931f85fe6 Adds systemd detection result caching in Quobyte driver 408ef8f84a Error out migration when confirm_resize fails 3ed1e88bd2 Explain why disk_available_least can be negative b71a5bae88 doc: Fix openstack CLI command e4fa061f17 Move create of ComputeAPI object in websocketproxy c8fb01b59d Change the TODO to NOTE about instance multi-create b63c42a0d4 Reproduce bug #1819460 in functional test a71af2bead doc: Capitalize keystone domain name c43f7e664d Use aggregate_add_host in nova-manage 191cc474be Add a reference PTL guide to the contributor docs 88c20a168e Add functional test for the JsonFilter 75d4ba6752 Document a warning about using the JsonFilter 45cecbb427 Fix JsonFilter query hint examples in docs 64f6cbc912 Fix incomplete instance data returned after build failure 44490142be Add doc on VGPU allocs and inventories for nrp 556cf103b2 Add functional regression test for bug 1669054 10234d5926 Remove expiremental note in the VGPU docs 7220521b75 s,git://github.com/,https://git.openstack.org/, 872a9b4e7c Re-enable testing of console with TLS in nova-next job 1623502eb1 Replace openstack.org git:// URLs with https:// 179a1937fe Remove last use of rc_fields b4166e701e Fix return param docstring in check_can_live_migrate* methods 664cdfe932 Update contributor guide for Train 9fa03d4d72 bdm: store empty object as connection_info by default 3c5e2b0e9f Eventlet monkey patching should be as early as possible d078b95b59 Add description about sort order in API ref guideline 4e765f5d4d Imported Translations from Zanata 80b4ae1eb8 Update master for stable/stein 95e782dfd8 Stop running tempest-multinode-full 5bfda590d4 Trivial: remove unused var from policies.base.py 3c66b40dbd Override the 'get' method in DriverBlockDevice class 425f17e2af libvirt: smbfs: Use 'writeback' QEMU cache mode 44edfa045c libvirt: vzstorage: Use 'writeback' QEMU cache mode b9dc86d8d6 libvirt: Use 'writeback' QEMU cache mode when 'none' is not viable a57b990c6b Address old TODO in claim_resources_on_destination 9b121e3c37 Cleanup comments around claim_resources method aaf79d5611 Speed up test_report 40f6672f53 Update instance.availability_zone on revertResize 73aaead294 Add functional recreate test for bug 1819963 74f9bba9c7 Add retry_on_deadlock to migration_update DB API 521e59224e Don't warn on network-vif-unplugged event during live migration fa07df1e99 Update docs: User token times out during long-running operations 1a89c1d73b Use Selection object to fill request group mapping 24fe74d126 Should not skip volume_size check for bdm.image_id == image_ref case 5106d340f7 Set min=0 for block_device_allocate_retries option 3e6bf09a70 Clean up block_device_allocate_retries config option help a0c97f7fe7 De-cruft compute manager live migration 08eaba7db8 Use errors_out_migration decorator on finish_resize 1ecdccbdaa Delete the obj_as_admin context manager a6dc13c453 De-cruftify the finish_resize methods 855b554656 Temporarily mutate migration object in finish_revert_resize 7231f7dee1 Exec systemd-run without --user flag in Quobyte driver 3e0fb203db Summarize output of sample configuration generator e90c2ba868 Cleanup no longer required filters and add a release note. 1d2c677641 We no longer need rootwrap. fb84430fd5 Cleanup the _execute shim in nova/network. 7c82342d57 Move final bridge commands to privsep. d45be94fdf Move setting of device trust to privsep. 2c29d54fb7 Move calls to ovs-vsctl to privsep. 05a73c0f3a Added mount fstype based validation of Quobyte mounts c27af238ad Fix target used in nova.policy.check_is_admin 68e8ae3592 Allow driver to specify switch&port for faster lookup f30aa064f9 api-ref: 'os-hypervisors' doesn't reflect overcommit ratio 22dd4fca38 Noop CantStartEngineError in targets_cell if API DB not configured 4eafb901a8 Remove cells v2 transition code from update_instance b595027161 Cleanup update_instance cell mapping handling Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 - .gitreview | 3 +- .zuul.yaml | 283 +- HACKING.rst | 12 +- README.rst | 4 +- api-guide/source/down_cells.rst | 6 +- api-guide/source/faults.rst | 8 +- api-guide/source/general_info.rst | 4 - api-guide/source/index.rst | 2 +- api-guide/source/limits.rst | 4 +- api-guide/source/port_with_resource_request.rst | 9 + api-guide/source/server_concepts.rst | 124 +- api-guide/source/versions.rst | 2 +- api-ref/source/conf.py | 16 - api-ref/source/extensions.inc | 3 - api-ref/source/flavors.inc | 16 +- api-ref/source/images.inc | 4 +- api-ref/source/index.rst | 5 +- api-ref/source/os-baremetal-nodes.inc | 2 +- api-ref/source/os-cells.inc | 47 +- api-ref/source/os-cloudpipe.inc | 2 +- api-ref/source/os-floating-ip-dns.inc | 5 +- api-ref/source/os-floating-ips.inc | 8 +- api-ref/source/os-hypervisors.inc | 18 + api-ref/source/os-instance-actions.inc | 8 +- api-ref/source/os-networks.inc | 10 +- api-ref/source/os-security-group-default-rules.inc | 3 +- api-ref/source/os-security-group-rules.inc | 2 +- api-ref/source/os-security-groups.inc | 7 +- api-ref/source/os-server-external-events.inc | 6 +- api-ref/source/os-services.inc | 9 +- api-ref/source/os-tenant-network.inc | 7 +- api-ref/source/os-volume-attachments.inc | 17 + api-ref/source/os-volumes.inc | 2 +- api-ref/source/parameters.yaml | 521 +- api-ref/source/request-ids.inc | 2 +- api-ref/source/server-topology.inc | 52 + api-ref/source/servers-action-shelve.inc | 8 +- api-ref/source/servers-actions.inc | 72 +- api-ref/source/servers-admin-action.inc | 1 + api-ref/source/servers.inc | 72 +- api-ref/source/versions.inc | 2 +- bindep.txt | 7 +- devstack/nova-multi-cell-blacklist.txt | 6 + devstack/tempest-dsvm-cells-rc | 120 - devstack/tempest-dsvm-lvm-rc | 62 - devstack/tempest-dsvm-tempest-xen-rc | 40 - .../v2.75/flavor-create-post-req.json | 11 + .../v2.75/flavor-create-post-resp.json | 26 + .../flavor-manage/v2.75/flavor-update-req.json | 5 + .../flavor-manage/v2.75/flavor-update-resp.json | 26 + .../flavors/v2.61/flavors-detail-resp.json | 3 +- .../flavors/v2.75/flavors-detail-resp.json | 177 + .../flavors/v2.75/flavors-list-resp.json | 109 + .../availability-zone-detail-resp.json | 7 - .../os-cells/cells-list-empty-resp.json | 3 - .../v2.33/hypervisors-detail-resp.json | 2 +- .../v2.53/hypervisors-list-resp.json | 2 +- .../v2.73/lock-server-with-reason.json | 3 + .../os-lock-server/v2.73/lock-server.json | 3 + .../os-lock-server/v2.73/unlock-server.json | 3 + .../get-vnc-console-post-resp.json | 2 +- .../v2.6/create-vnc-console-resp.json | 2 +- .../v2.78/servers-topology-resp-user.json | 31 + .../v2.78/servers-topology-resp.json | 41 + .../os-shelve/v2.77/os-unshelve-null.json | 3 + .../os-volumes/attach-volume-to-server-req.json | 4 +- .../os-volumes/attach-volume-to-server-resp.json | 8 +- .../os-volumes/list-volume-attachments-resp.json | 16 +- .../v2.49/attach-volume-to-server-req.json | 4 +- .../v2.49/attach-volume-to-server-resp.json | 8 +- .../v2.49/list-volume-attachments-resp.json | 16 +- .../os-volumes/v2.49/update-volume-req.json | 2 +- .../v2.49/volume-attachment-detail-resp.json | 8 +- .../v2.70/attach-volume-to-server-req.json | 2 +- .../v2.70/attach-volume-to-server-resp.json | 8 +- .../v2.70/list-volume-attachments-resp.json | 20 +- .../os-volumes/v2.70/update-volume-req.json | 2 +- .../v2.70/volume-attachment-detail-resp.json | 8 +- .../v2.79/attach-volume-to-server-req.json | 7 + .../v2.79/attach-volume-to-server-resp.json | 10 + .../v2.79/list-volume-attachments-resp.json | 20 + .../os-volumes/v2.79/update-volume-req.json | 5 + .../v2.79/volume-attachment-detail-resp.json | 10 + .../os-volumes/volume-attachment-detail-resp.json | 8 +- .../servers/v2.47/servers-details-resp.json | 3 +- .../servers/v2.63/server-action-rebuild-resp.json | 3 +- .../servers/v2.63/server-update-resp.json | 3 +- .../servers/v2.63/servers-details-resp.json | 3 +- .../v2.66/servers-details-with-changes-before.json | 3 +- .../servers/v2.73/lock-server-with-reason.json | 3 + .../servers/v2.73/server-action-rebuild-resp.json | 64 + .../servers/v2.73/server-action-rebuild.json | 14 + .../servers/v2.73/server-create-req.json | 20 + .../servers/v2.73/server-create-resp.json | 22 + .../servers/v2.73/server-update-req.json | 9 + .../servers/v2.73/server-update-resp.json | 61 + .../servers/v2.73/servers-details-resp.json | 89 + .../server-create-req-with-host-and-node.json | 23 + .../v2.74/server-create-req-with-only-host.json | 22 + .../v2.74/server-create-req-with-only-node.json | 22 + .../servers/v2.74/server-create-resp.json | 22 + .../servers/v2.75/server-action-rebuild-resp.json | 89 + .../servers/v2.75/server-action-rebuild.json | 14 + .../servers/v2.75/server-update-req.json | 9 + .../servers/v2.75/server-update-resp.json | 88 + .../common_payloads/ImageMetaPropsPayload.json | 2 +- .../common_payloads/InstanceActionPayload.json | 2 +- .../InstanceActionRebuildPayload.json | 2 +- .../InstanceActionRescuePayload.json | 2 +- .../InstanceActionResizePrepPayload.json | 2 +- .../InstanceActionSnapshotPayload.json | 2 +- .../InstanceActionVolumePayload.json | 2 +- .../InstanceActionVolumeSwapPayload.json | 2 +- .../common_payloads/InstanceCreatePayload.json | 2 +- .../common_payloads/InstanceExistsPayload.json | 2 +- .../common_payloads/InstancePayload.json | 5 +- .../common_payloads/InstanceUpdatePayload.json | 2 +- .../instance-lock-with-reason.json | 12 + .../libvirt-connect-error.json | 2 +- ...a-show-usage-statistics-for-hosts-instances.rst | 3 +- .../admin/configuration/hypervisor-hyper-v.rst | 6 +- .../admin/configuration/hypervisor-xen-api.rst | 13 +- .../admin/configuration/hypervisor-xen-libvirt.rst | 2 +- .../figures/SCH_5009_V00_NUAC-VNC_OpenStack.svg | 4 +- .../mitigation-for-Intel-MDS-security-flaws.rst | 128 + .../contributor/testing/eventlet-profiling.rst | 317 ++ .../contributor/testing/zero-downtime-upgrade.rst | 2 +- .../scheduler-hints-vs-flavor-extra-specs.rst | 6 +- etc/nova/README-policy.yaml.txt | 13 - etc/nova/cells.json | 26 - etc/nova/logging_sample.conf | 2 +- etc/nova/nova-config-generator.conf | 1 + etc/nova/placement-policy-generator.conf | 5 - etc/nova/rootwrap.d/compute.filters | 135 +- gate/post_test_hook.sh | 103 +- gate/test_evacuate.sh | 5 +- lower-constraints.txt | 64 +- nova/__init__.py | 11 - nova/api/ec2/cloud.py | 2 +- nova/api/ec2/ec2utils.py | 331 -- nova/api/metadata/base.py | 50 +- nova/api/metadata/handler.py | 22 +- nova/api/openstack/__init__.py | 3 +- nova/api/openstack/api_version_request.py | 35 +- nova/api/openstack/common.py | 33 +- nova/api/openstack/compute/admin_actions.py | 10 +- nova/api/openstack/compute/admin_password.py | 8 +- nova/api/openstack/compute/agents.py | 3 +- nova/api/openstack/compute/aggregates.py | 9 +- .../openstack/compute/assisted_volume_snapshots.py | 9 +- nova/api/openstack/compute/attach_interfaces.py | 8 +- nova/api/openstack/compute/availability_zone.py | 25 +- nova/api/openstack/compute/baremetal_nodes.py | 13 +- nova/api/openstack/compute/cells.py | 282 +- nova/api/openstack/compute/console_auth_tokens.py | 45 +- nova/api/openstack/compute/console_output.py | 6 +- nova/api/openstack/compute/consoles.py | 1 + nova/api/openstack/compute/create_backup.py | 8 +- nova/api/openstack/compute/deferred_delete.py | 11 +- nova/api/openstack/compute/evacuate.py | 8 +- nova/api/openstack/compute/extension_info.py | 7 - nova/api/openstack/compute/flavor_manage.py | 12 +- nova/api/openstack/compute/flavors.py | 8 +- nova/api/openstack/compute/floating_ip_pools.py | 2 +- nova/api/openstack/compute/floating_ips.py | 10 +- nova/api/openstack/compute/hosts.py | 7 +- nova/api/openstack/compute/hypervisors.py | 23 +- nova/api/openstack/compute/image_metadata.py | 1 + nova/api/openstack/compute/images.py | 4 +- nova/api/openstack/compute/instance_actions.py | 2 +- .../openstack/compute/instance_usage_audit_log.py | 4 +- nova/api/openstack/compute/ips.py | 8 +- nova/api/openstack/compute/keypairs.py | 11 +- nova/api/openstack/compute/limits.py | 3 +- nova/api/openstack/compute/lock_server.py | 16 +- nova/api/openstack/compute/migrate_server.py | 41 +- nova/api/openstack/compute/migrations.py | 7 +- nova/api/openstack/compute/multinic.py | 10 +- nova/api/openstack/compute/networks.py | 2 + nova/api/openstack/compute/networks_associate.py | 2 + nova/api/openstack/compute/pause_server.py | 12 +- nova/api/openstack/compute/quota_classes.py | 3 +- nova/api/openstack/compute/quota_sets.py | 12 +- nova/api/openstack/compute/remote_consoles.py | 18 +- nova/api/openstack/compute/rescue.py | 10 +- .../openstack/compute/rest_api_version_history.rst | 201 +- nova/api/openstack/compute/routes.py | 8 +- nova/api/openstack/compute/schemas/agents.py | 10 +- .../compute/schemas/assisted_volume_snapshots.py | 9 +- nova/api/openstack/compute/schemas/cells.py | 111 - .../api/openstack/compute/schemas/flavor_manage.py | 2 +- nova/api/openstack/compute/schemas/flavors.py | 26 +- nova/api/openstack/compute/schemas/hosts.py | 4 +- nova/api/openstack/compute/schemas/keypairs.py | 7 + nova/api/openstack/compute/schemas/limits.py | 7 + .../schemas/lock_server.py} | 31 +- nova/api/openstack/compute/schemas/quota_sets.py | 7 +- .../openstack/compute/schemas/security_groups.py | 4 +- .../compute/schemas/server_external_events.py | 4 + .../api/openstack/compute/schemas/server_groups.py | 6 +- nova/api/openstack/compute/schemas/servers.py | 50 +- nova/api/openstack/compute/schemas/services.py | 5 + nova/api/openstack/compute/schemas/shelve.py | 37 + .../compute/schemas/simple_tenant_usage.py | 14 +- nova/api/openstack/compute/schemas/volumes.py | 11 +- .../compute/security_group_default_rules.py | 1 + nova/api/openstack/compute/security_groups.py | 7 +- nova/api/openstack/compute/server_diagnostics.py | 6 +- .../openstack/compute/server_external_events.py | 12 +- nova/api/openstack/compute/server_groups.py | 3 +- nova/api/openstack/compute/server_metadata.py | 15 +- nova/api/openstack/compute/server_migrations.py | 4 +- nova/api/openstack/compute/server_password.py | 3 +- nova/api/openstack/compute/server_tags.py | 4 +- nova/api/openstack/compute/server_topology.py | 73 + nova/api/openstack/compute/servers.py | 265 +- nova/api/openstack/compute/services.py | 32 +- nova/api/openstack/compute/shelve.py | 41 +- nova/api/openstack/compute/simple_tenant_usage.py | 6 +- nova/api/openstack/compute/suspend_server.py | 13 +- nova/api/openstack/compute/tenant_networks.py | 4 + nova/api/openstack/compute/views/flavors.py | 3 + nova/api/openstack/compute/views/servers.py | 84 +- nova/api/openstack/compute/volumes.py | 51 +- nova/api/openstack/placement/__init__.py | 0 nova/api/openstack/placement/auth.py | 102 - nova/api/openstack/placement/context.py | 52 - nova/api/openstack/placement/db_api.py | 48 - nova/api/openstack/placement/deploy.py | 120 - nova/api/openstack/placement/direct.py | 94 - nova/api/openstack/placement/errors.py | 48 - nova/api/openstack/placement/exception.py | 207 - nova/api/openstack/placement/fault_wrap.py | 48 - nova/api/openstack/placement/handler.py | 231 - nova/api/openstack/placement/handlers/__init__.py | 0 nova/api/openstack/placement/handlers/aggregate.py | 133 - .../api/openstack/placement/handlers/allocation.py | 576 -- .../placement/handlers/allocation_candidate.py | 332 -- nova/api/openstack/placement/handlers/inventory.py | 467 -- nova/api/openstack/placement/handlers/reshaper.py | 129 - .../openstack/placement/handlers/resource_class.py | 241 - .../placement/handlers/resource_provider.py | 308 - nova/api/openstack/placement/handlers/root.py | 54 - nova/api/openstack/placement/handlers/trait.py | 270 - nova/api/openstack/placement/handlers/usage.py | 120 - nova/api/openstack/placement/lib.py | 53 - nova/api/openstack/placement/microversion.py | 172 - nova/api/openstack/placement/objects/__init__.py | 0 nova/api/openstack/placement/objects/consumer.py | 257 - nova/api/openstack/placement/objects/project.py | 92 - .../placement/objects/resource_provider.py | 4282 -------------- nova/api/openstack/placement/objects/user.py | 92 - nova/api/openstack/placement/policies/__init__.py | 39 - .../api/openstack/placement/policies/allocation.py | 92 - nova/api/openstack/placement/policies/base.py | 42 - nova/api/openstack/placement/policies/inventory.py | 95 - .../openstack/placement/policies/resource_class.py | 86 - .../placement/policies/resource_provider.py | 86 - nova/api/openstack/placement/policies/trait.py | 120 - nova/api/openstack/placement/policies/usage.py | 54 - nova/api/openstack/placement/policy.py | 94 - nova/api/openstack/placement/requestlog.py | 87 - .../openstack/placement/resource_class_cache.py | 154 - .../placement/rest_api_version_history.rst | 518 -- nova/api/openstack/placement/schemas/__init__.py | 0 nova/api/openstack/placement/schemas/aggregate.py | 42 - nova/api/openstack/placement/schemas/allocation.py | 169 - .../placement/schemas/allocation_candidate.py | 78 - nova/api/openstack/placement/schemas/common.py | 22 - nova/api/openstack/placement/schemas/inventory.py | 93 - nova/api/openstack/placement/schemas/reshaper.py | 47 - .../placement/schemas/resource_provider.py | 106 - nova/api/openstack/placement/schemas/trait.py | 56 - nova/api/openstack/placement/schemas/usage.py | 33 - nova/api/openstack/placement/util.py | 697 --- nova/api/openstack/placement/wsgi.py | 120 - nova/api/openstack/placement/wsgi_wrapper.py | 38 - nova/api/openstack/urlmap.py | 8 +- nova/api/openstack/wsgi.py | 6 +- nova/api/openstack/wsgi_app.py | 2 - nova/api/validation/__init__.py | 4 +- nova/api/validation/parameter_types.py | 32 +- nova/api/validation/validators.py | 29 +- nova/availability_zones.py | 33 +- nova/block_device.py | 4 +- nova/cells/driver.py | 41 - nova/cells/filters/__init__.py | 56 - nova/cells/filters/different_cell.py | 62 - nova/cells/filters/image_properties.py | 67 - nova/cells/filters/target_cell.py | 71 - nova/cells/manager.py | 586 -- nova/cells/messaging.py | 1964 ------- nova/cells/rpc_driver.py | 168 - nova/cells/rpcapi.py | 676 --- nova/cells/scheduler.py | 246 - nova/cells/state.py | 499 -- nova/cells/utils.py | 232 - nova/cells/weights/__init__.py | 43 - nova/cells/weights/mute_child.py | 59 - nova/cells/weights/ram_by_instance_type.py | 46 - nova/cells/weights/weight_offset.py | 39 - nova/cmd/__init__.py | 6 +- nova/cmd/cells.py | 49 - nova/cmd/consoleauth.py | 50 - nova/cmd/manage.py | 1143 ++-- nova/cmd/network.py | 5 +- nova/cmd/status.py | 189 +- nova/common/__init__.py | 0 nova/compute/__init__.py | 59 - nova/compute/api.py | 1155 ++-- nova/compute/cells_api.py | 694 --- nova/compute/claims.py | 198 +- nova/compute/flavors.py | 48 - nova/compute/manager.py | 1565 ++++-- nova/compute/monitors/__init__.py | 10 +- nova/compute/monitors/cpu/virt_driver.py | 10 +- nova/compute/multi_cell_list.py | 10 +- nova/compute/provider_tree.py | 62 +- nova/compute/resource_tracker.py | 547 +- nova/compute/rpcapi.py | 240 +- nova/compute/utils.py | 67 +- nova/conductor/api.py | 15 +- nova/conductor/manager.py | 190 +- nova/conductor/rpcapi.py | 4 +- nova/conductor/tasks/cross_cell_migrate.py | 333 ++ nova/conductor/tasks/live_migrate.py | 144 +- nova/conductor/tasks/migrate.py | 225 +- nova/conf/__init__.py | 4 - nova/conf/api.py | 26 +- nova/conf/cells.py | 573 -- nova/conf/compute.py | 291 +- nova/conf/configdrive.py | 43 +- nova/conf/consoleauth.py | 4 - nova/conf/database.py | 58 +- nova/conf/flavors.py | 38 - nova/conf/hyperv.py | 45 +- nova/conf/ironic.py | 32 +- nova/conf/libvirt.py | 198 +- nova/conf/network.py | 24 +- nova/conf/neutron.py | 23 - nova/conf/notifications.py | 14 +- nova/conf/placement.py | 60 +- nova/conf/quota.py | 48 + nova/conf/rpc.py | 1 + nova/conf/scheduler.py | 24 +- nova/conf/serial_console.py | 8 +- nova/conf/upgrade_levels.py | 42 - nova/conf/vmware.py | 2 +- nova/conf/workarounds.py | 82 +- nova/conf/xenserver.py | 6 + nova/config.py | 6 +- nova/console/websocketproxy.py | 118 +- nova/consoleauth/__init__.py | 17 - nova/consoleauth/manager.py | 145 - nova/consoleauth/rpcapi.py | 103 - nova/context.py | 35 +- nova/db/api.py | 119 +- nova/db/sqlalchemy/api.py | 487 +- .../migrate_repo/versions/063_placeholder.py} | 15 +- .../migrate_repo/versions/064_placeholder.py} | 22 +- .../migrate_repo/versions/065_placeholder.py | 22 + .../migrate_repo/versions/066_placeholder.py | 22 + .../migrate_repo/versions/067_placeholder.py | 22 + nova/db/sqlalchemy/api_models.py | 1 + .../sqlalchemy/migrate_repo/versions/216_havana.py | 2 +- .../migrate_repo/versions/392_placeholder.py | 22 + .../migrate_repo/versions/393_placeholder.py | 22 + .../migrate_repo/versions/394_placeholder.py | 22 + .../migrate_repo/versions/395_placeholder.py | 22 + .../migrate_repo/versions/396_placeholder.py | 22 + .../versions/397_migrations_cross_cell_move.py} | 32 +- .../migrate_repo/versions/398_add_vpmems.py} | 35 +- .../versions/399_add_instances_hidden.py | 24 + .../versions/400_enforce_service_uuid.py | 33 + ...401_add_user_id_and_project_id_to_migrations.py | 27 + .../migrate_repo/versions/402_add_resources.py | 31 + nova/db/sqlalchemy/migration.py | 9 +- nova/db/sqlalchemy/models.py | 12 + nova/exception.py | 193 +- nova/filters.py | 28 +- nova/hacking/checks.py | 158 +- nova/image/glance.py | 20 +- nova/locale/cs/LC_MESSAGES/nova.po | 185 +- nova/locale/de/LC_MESSAGES/nova.po | 246 +- nova/locale/es/LC_MESSAGES/nova.po | 209 +- nova/locale/fr/LC_MESSAGES/nova.po | 213 +- nova/locale/it/LC_MESSAGES/nova.po | 209 +- nova/locale/ja/LC_MESSAGES/nova.po | 201 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 197 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 205 +- nova/locale/ru/LC_MESSAGES/nova.po | 209 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 164 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 224 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 187 +- nova/{common/config.py => middleware.py} | 2 +- nova/monkey_patch.py | 98 + nova/network/api.py | 15 +- nova/network/base_api.py | 39 +- nova/network/linux_net.py | 231 +- nova/network/manager.py | 6 +- nova/network/model.py | 31 + nova/network/neutronv2/api.py | 534 +- nova/network/neutronv2/constants.py | 8 + nova/network/os_vif_util.py | 139 +- nova/network/security_group/neutron_driver.py | 6 +- nova/network/security_group/security_group_base.py | 4 +- nova/notifications/base.py | 4 +- nova/notifications/objects/base.py | 2 + nova/notifications/objects/image.py | 5 +- nova/notifications/objects/instance.py | 35 +- nova/notifications/objects/request_spec.py | 7 +- nova/objects/__init__.py | 3 +- nova/objects/aggregate.py | 72 +- nova/objects/bandwidth_usage.py | 4 +- nova/objects/base.py | 42 +- nova/objects/block_device.py | 37 - nova/objects/build_request.py | 57 +- nova/objects/compute_node.py | 20 +- nova/objects/console_auth_token.py | 49 +- nova/objects/ec2.py | 78 - nova/objects/external_event.py | 10 +- nova/objects/fields.py | 35 +- nova/objects/host_mapping.py | 12 +- nova/objects/image_meta.py | 30 +- nova/objects/instance.py | 202 +- nova/objects/instance_action.py | 40 +- nova/objects/instance_fault.py | 12 - nova/objects/instance_group.py | 9 +- nova/objects/instance_info_cache.py | 21 +- nova/objects/instance_mapping.py | 68 +- ...{instance_numa_topology.py => instance_numa.py} | 15 +- nova/objects/instance_pci_requests.py | 14 + nova/objects/keypair.py | 47 - nova/objects/migrate_data.py | 80 +- nova/objects/migration.py | 34 +- nova/objects/migration_context.py | 42 +- nova/objects/numa.py | 100 +- nova/objects/request_spec.py | 110 +- nova/objects/resource.py | 110 + nova/objects/service.py | 14 +- nova/pci/utils.py | 6 +- nova/policies/__init__.py | 6 +- nova/policies/base.py | 2 - nova/policies/cells.py | 96 - nova/policies/cells_scheduler.py | 41 - .../aggregate.py => policies/server_topology.py} | 39 +- nova/policies/servers.py | 26 +- nova/policy.py | 18 +- nova/privsep/fs.py | 23 +- nova/privsep/libvirt.py | 53 +- nova/privsep/linux_net.py | 210 +- nova/privsep/path.py | 40 +- nova/privsep/qemu.py | 2 + nova/quota.py | 179 +- nova/rc_fields.py | 70 - nova/rpc.py | 31 +- nova/scheduler/client/report.py | 262 +- nova/scheduler/filter_scheduler.py | 11 +- .../filters/aggregate_instance_extra_specs.py | 4 +- nova/scheduler/filters/core_filter.py | 63 +- nova/scheduler/filters/disk_filter.py | 63 +- nova/scheduler/filters/numa_topology_filter.py | 6 +- nova/scheduler/filters/ram_filter.py | 65 +- nova/scheduler/filters/retry_filter.py | 8 + nova/scheduler/host_manager.py | 215 +- nova/scheduler/manager.py | 72 +- nova/scheduler/request_filter.py | 147 +- nova/scheduler/utils.py | 775 ++- nova/scheduler/weights/cpu.py | 5 +- nova/service.py | 2 - nova/servicegroup/drivers/mc.py | 3 +- nova/test.py | 227 +- .../v2.75/flavor-create-post-req.json.tpl | 11 + .../v2.75/flavor-create-post-resp.json.tpl | 26 + .../flavor-manage/v2.75/flavor-update-req.json.tpl | 5 + .../v2.75/flavor-update-resp.json.tpl | 26 + .../flavors/v2.61/flavors-detail-resp.json.tpl | 3 +- .../flavors/v2.75/flavor-get-resp.json.tpl | 29 + .../flavors/v2.75/flavors-detail-resp.json.tpl | 177 + .../flavors/v2.75/flavors-list-resp.json.tpl | 109 + .../availability-zone-detail-resp.json.tpl | 7 - .../os-cells/cells-capacities-resp.json.tpl | 26 - .../api_samples/os-cells/cells-get-resp.json.tpl | 9 - .../os-cells/cells-list-empty-resp.json.tpl | 3 - .../api_samples/os-cells/cells-list-resp.json.tpl | 39 - .../api_samples/os-hosts/hosts-list-resp.json.tpl | 5 - .../v2.33/hypervisors-detail-resp.json.tpl | 2 +- .../v2.53/hypervisors-list-resp.json.tpl | 2 +- .../v2.73/lock-server-with-reason.json.tpl | 3 + .../os-lock-server/v2.73/lock-server.json.tpl | 3 + .../os-lock-server/v2.73/unlock-server.json.tpl | 3 + .../get-vnc-console-post-resp.json.tpl | 2 +- .../v2.78/servers-topology-resp-user.json.tpl | 31 + .../v2.78/servers-topology-resp.json.tpl | 41 + .../api_samples/os-shelve/v2.77/os-shelve.json.tpl | 3 + .../os-shelve/v2.77/os-unshelve-null.json.tpl | 3 + .../os-shelve/v2.77/os-unshelve.json.tpl | 5 + .../list-volume-attachments-resp.json.tpl | 12 +- .../os-volumes/update-volume-req.json.tpl | 2 +- .../v2.49/list-volume-attachments-resp.json.tpl | 12 +- .../os-volumes/v2.49/update-volume-req.json.tpl | 2 +- .../v2.49/volume-attachment-detail-resp.json.tpl | 6 +- .../v2.70/list-volume-attachments-resp.json.tpl | 12 +- .../os-volumes/v2.70/update-volume-req.json.tpl | 2 +- .../v2.70/volume-attachment-detail-resp.json.tpl | 6 +- .../v2.79/attach-volume-to-server-req.json.tpl | 7 + .../v2.79/attach-volume-to-server-resp.json.tpl | 10 + .../v2.79/list-volume-attachments-resp.json.tpl | 20 + .../os-volumes/v2.79/update-volume-req.json.tpl | 5 + .../v2.79/volume-attachment-detail-resp.json.tpl | 10 + .../volume-attachment-detail-resp.json.tpl | 6 +- .../servers/availability-zone-detail-resp.json.tpl | 9 +- .../servers/v2.47/server-get-resp.json.tpl | 3 +- .../servers/v2.47/servers-details-resp.json.tpl | 3 +- .../v2.63/server-action-rebuild-resp.json.tpl | 3 +- .../servers/v2.63/server-get-resp.json.tpl | 3 +- .../servers/v2.63/server-update-resp.json.tpl | 3 +- .../servers/v2.63/servers-details-resp.json.tpl | 3 +- .../servers-details-with-changes-before.json.tpl | 3 +- .../servers/v2.73/lock-server-with-reason.json.tpl | 3 + .../v2.73/server-action-rebuild-resp.json.tpl | 64 + .../servers/v2.73/server-action-rebuild.json.tpl | 14 + .../servers/v2.73/server-create-req.json.tpl | 20 + .../servers/v2.73/server-create-resp.json.tpl | 22 + .../servers/v2.73/server-get-resp.json.tpl | 88 + .../servers/v2.73/server-update-req.json.tpl | 9 + .../servers/v2.73/server-update-resp.json.tpl | 61 + .../servers/v2.73/servers-details-resp.json.tpl | 89 + .../server-create-req-with-host-and-node.json.tpl | 23 + .../server-create-req-with-only-host.json.tpl | 22 + .../server-create-req-with-only-node.json.tpl | 22 + .../servers/v2.74/server-create-resp.json.tpl | 22 + .../v2.75/server-action-rebuild-resp.json.tpl | 89 + .../servers/v2.75/server-action-rebuild.json.tpl | 14 + .../servers/v2.75/server-update-req.json.tpl | 9 + .../servers/v2.75/server-update-resp.json.tpl | 88 + .../functional/compute/test_live_migration.py | 62 +- .../functional/compute/test_resource_tracker.py | 2 +- .../functional/libvirt/test_pci_sriov_servers.py | 169 +- .../functional/libvirt/test_report_cpu_traits.py | 183 +- .../libvirt/test_shared_resource_provider.py | 20 +- .../notification_sample_base.py | 4 +- .../functional/regressions/test_bug_1404867.py | 32 +- .../functional/regressions/test_bug_1548980.py | 1 - .../functional/regressions/test_bug_1595962.py | 21 +- .../functional/regressions/test_bug_1669054.py | 76 + .../functional/regressions/test_bug_1670627.py | 1 - .../functional/regressions/test_bug_1671648.py | 16 +- .../functional/regressions/test_bug_1675570.py | 18 +- .../functional/regressions/test_bug_1679750.py | 1 - .../functional/regressions/test_bug_1682693.py | 3 - .../functional/regressions/test_bug_1689692.py | 1 - .../functional/regressions/test_bug_1702454.py | 29 +- .../functional/regressions/test_bug_1718455.py | 10 - .../functional/regressions/test_bug_1718512.py | 22 +- .../functional/regressions/test_bug_1719730.py | 4 - .../functional/regressions/test_bug_1732947.py | 5 +- .../functional/regressions/test_bug_1735407.py | 5 - .../functional/regressions/test_bug_1741307.py | 3 - .../functional/regressions/test_bug_1746483.py | 7 +- .../functional/regressions/test_bug_1764556.py | 151 + .../functional/regressions/test_bug_1764883.py | 4 - .../functional/regressions/test_bug_1778305.py | 61 + .../functional/regressions/test_bug_1781710.py | 16 +- .../functional/regressions/test_bug_1784353.py | 6 +- .../functional/regressions/test_bug_1794996.py | 2 +- .../functional/regressions/test_bug_1797580.py | 3 - .../functional/regressions/test_bug_1806064.py | 4 +- .../functional/regressions/test_bug_1815153.py | 3 - .../functional/regressions/test_bug_1823370.py | 81 + .../functional/regressions/test_bug_1825020.py | 80 + .../functional/regressions/test_bug_1825034.py | 88 + .../functional/regressions/test_bug_1825537.py | 74 + .../functional/regressions/test_bug_1830747.py | 138 + .../functional/regressions/test_bug_1835822.py | 191 + .../functional/regressions/test_bug_1837955.py | 98 + .../functional/regressions/test_bug_1839560.py | 116 + .../functional/regressions/test_bug_1843090.py | 123 + .../test_conf_max_attach_disk_devices.py | 6 +- .../functional/test_list_servers_ip_filter.py | 1 - .../functional/test_server_external_events.py | 104 + .../openstack/compute/admin_only_action_common.py | 8 + .../unit/api/openstack/compute/test_agents.py | 48 +- .../openstack/compute/test_attach_interfaces.py | 15 + .../openstack/compute/test_availability_zone.py | 92 +- .../openstack/compute/test_console_auth_tokens.py | 103 +- .../api/openstack/compute/test_deferred_delete.py | 13 - .../unit/api/openstack/compute/test_disk_config.py | 5 +- .../api/openstack/compute/test_flavor_access.py | 6 +- .../api/openstack/compute/test_flavor_manage.py | 137 +- .../unit/api/openstack/compute/test_flavors.py | 131 +- .../api/openstack/compute/test_floating_ips.py | 13 +- .../unit/api/openstack/compute/test_hypervisors.py | 140 +- .../unit/api/openstack/compute/test_keypairs.py | 40 + .../unit/api/openstack/compute/test_limits.py | 29 + .../unit/api/openstack/compute/test_lock_server.py | 91 +- .../api/openstack/compute/test_migrate_server.py | 39 +- .../unit/api/openstack/compute/test_migrations.py | 12 + .../unit/api/openstack/compute/test_quotas.py | 50 + .../api/openstack/compute/test_server_actions.py | 22 + .../compute/test_server_external_events.py | 51 +- .../api/openstack/compute/test_server_groups.py | 45 +- .../openstack/compute/test_server_migrations.py | 15 +- .../unit/api/openstack/compute/test_server_tags.py | 8 +- .../api/openstack/compute/test_server_topology.py | 116 + .../unit/api/openstack/compute/test_serversV21.py | 639 ++- .../unit/api/openstack/compute/test_services.py | 117 +- .../unit/api/openstack/compute/test_shelve.py | 123 +- .../openstack/compute/test_simple_tenant_usage.py | 32 + .../api/openstack/compute/test_suspend_server.py | 14 + .../unit/api/openstack/compute/test_volumes.py | 289 +- .../{test_nova_manage.py => cmd/test_manage.py} | 811 +-- .../conductor/tasks/test_cross_cell_migrate.py | 505 ++ .../unit/conductor/tasks/test_live_migrate.py | 146 +- .../network/security_group/test_neutron_driver.py | 2 +- .../unit/notifications/objects/test_instance.py | 2 + .../notifications/objects/test_notification.py | 27 +- ...ance_numa_topology.py => test_instance_numa.py} | 13 + .../unit/objects/test_instance_pci_requests.py | 20 +- .../unit/scheduler/filters/test_core_filters.py | 32 +- .../unit/scheduler/filters/test_disk_filters.py | 58 +- .../filters/test_numa_topology_filters.py | 35 +- .../unit/scheduler/filters/test_ram_filters.py | 40 - .../unit/scheduler/filters/test_retry_filters.py | 2 + .../unit/virt/libvirt/volume/test_storpool.py | 3 +- .../unit/virt/libvirt/volume/test_vzstorage.py | 7 +- .../unit/virt/xenapi/image/test_vdi_through_dev.py | 11 +- nova/utils.py | 345 +- nova/virt/block_device.py | 65 +- nova/virt/configdrive.py | 7 +- nova/virt/disk/api.py | 20 +- nova/virt/disk/mount/api.py | 2 +- nova/virt/disk/mount/nbd.py | 5 +- nova/virt/disk/vfs/guestfs.py | 13 +- nova/virt/driver.py | 135 +- nova/virt/fake.py | 152 +- nova/virt/hardware.py | 653 ++- nova/virt/hyperv/driver.py | 20 +- nova/virt/hyperv/hostops.py | 38 + nova/virt/hyperv/vmops.py | 8 - nova/virt/ironic/client_wrapper.py | 40 +- nova/virt/ironic/driver.py | 222 +- nova/virt/libvirt/blockinfo.py | 24 +- nova/virt/libvirt/compat.py | 36 - nova/virt/libvirt/config.py | 528 +- nova/virt/libvirt/designer.py | 15 + nova/virt/libvirt/driver.py | 1762 ++++-- nova/virt/libvirt/guest.py | 52 +- nova/virt/libvirt/host.py | 393 +- nova/virt/libvirt/imagebackend.py | 77 +- nova/virt/libvirt/imagecache.py | 68 +- nova/virt/libvirt/migration.py | 81 +- nova/virt/libvirt/storage/rbd_utils.py | 54 +- nova/virt/libvirt/utils.py | 79 +- nova/virt/libvirt/vif.py | 265 +- nova/virt/libvirt/volume/net.py | 54 - nova/virt/libvirt/volume/quobyte.py | 127 +- nova/virt/libvirt/volume/smbfs.py | 2 +- nova/virt/libvirt/volume/storpool.py | 9 +- nova/virt/libvirt/volume/volume.py | 23 +- nova/virt/libvirt/volume/vzstorage.py | 2 +- nova/virt/osinfo.py | 27 +- nova/virt/powervm/driver.py | 17 +- nova/virt/powervm/mgmt.py | 6 +- nova/virt/powervm/tasks/storage.py | 2 +- nova/virt/virtapi.py | 11 + nova/virt/vmwareapi/driver.py | 108 +- nova/virt/vmwareapi/network_util.py | 2 +- nova/virt/vmwareapi/vif.py | 32 +- nova/virt/vmwareapi/vm_util.py | 30 - nova/virt/vmwareapi/vmops.py | 6 +- nova/virt/xenapi/agent.py | 17 +- nova/virt/xenapi/driver.py | 133 +- nova/virt/xenapi/fake.py | 3 - nova/virt/xenapi/firewall.py | 3 +- nova/virt/xenapi/host.py | 2 +- nova/virt/xenapi/vm_utils.py | 1 - nova/virt/xenapi/vmops.py | 2 +- nova/virt/zvm/driver.py | 17 +- nova/virt/zvm/hypervisor.py | 15 - nova/vnc/xvp_proxy.py | 39 +- nova/volume/cinder.py | 20 +- playbooks/legacy/nova-cells-v1/run.yaml | 67 - .../legacy/nova-grenade-live-migration/post.yaml | 15 - .../post.yaml | 0 .../run.yaml | 12 +- playbooks/legacy/nova-live-migration/run.yaml | 8 +- playbooks/legacy/nova-lvm/post.yaml | 15 - playbooks/legacy/nova-lvm/run.yaml | 53 - playbooks/legacy/nova-next/post.yaml | 15 - playbooks/legacy/nova-next/run.yaml | 87 - playbooks/nova-next/post.yaml | 4 + .../notes/SIGHUP-works-c810d5ed14c73f68.yaml | 8 + ...ame-flag-to-create-server-847ba43abd6be02c.yaml | 15 + ...rver-subresource-topology-c52e21f36497e62c.yaml | 21 + ...support-for-vpmem-libvirt-8b66add5b2d8f5f5.yaml | 24 + ...hcp-server-if-enable-dhcp-b96bf720af235902.yaml | 5 + .../api-consistency-cleanup-700b260ced206d92.yaml | 17 + ...archive-db-from-all-cells-b4775b3f1feb004e.yaml | 8 + ...cate_retries-min-0-uprade-dc97b8f0e7716a3b.yaml | 6 + .../bp-add-locked-reason-fb757750f7f077ef.yaml | 18 + ...p-amd-sev-libvirt-support-4b7cf8f0756d88b8.yaml | 33 + ...ort-instance-power-update-8328355a0f3fb508.yaml | 20 + ...ilter-isolated-aggregates-26f34213ca757b5a.yaml | 13 + ...ing-az-to-unshelve-server-aa355fef1eab2c02.yaml | 14 + ...n-in-server-attach-volume-5d08b4e97fdd24f9.yaml | 14 + .../notes/bug-1756823-fix-d3a999a258019c54.yaml | 5 + .../notes/bug-1775418-754fc50261f5d7c3.yaml | 10 + .../notes/bug-1779845-8819eea6e91fb09c.yaml | 11 + ...1811726-multi-node-delete-2ba17f02c6171fbb.yaml | 10 + .../notes/bug-1816686-77060eb8f8bd4092.yaml | 13 + .../notes/bug-1824813-4441265dc805e792.yaml | 6 + .../notes/bug-1834048-8b19ae1c5048b801.yaml | 12 + ...ve-fault-message-exposure-5360d794f4976b7c.yaml | 23 + ...g-1840978-nova-manage-255-88df61a0b69c21c7.yaml | 10 + .../notes/bug-1845986-95cbede0a296b088.yaml | 21 + .../notes/cpu-resources-d4e6a0c12681fa87.yaml | 48 + .../defaulting_group_policy-36f584cd3920818c.yaml | 19 + ...ate-core-ram-disk-filters-59b9c430c5c26153.yaml | 11 + .../deprecate-retry-filter-4d1dba39a2c21836.yaml | 10 + ...eprecate-xen-driver-train-bd57a16fa51ab679.yaml | 8 + ...bvirt-video-model-support-d630b99ef5039f51.yaml | 13 + .../heal-allocations-dry-run-1761fab00f7967d1.yaml | 6 + ...allocations-instance-uuid-9aa93fdef5015c64.yaml | 6 + ...image_type_request_filter-7577ded9834330b6.yaml | 9 + ...virt-cpu-models-selection-153e734946a7f5cc.yaml | 12 + ...libvirt-pmu-configuration-ec24904bddc84bef.yaml | 12 + ...migration-with-PCI-device-b96bdad273fa1d2b.yaml | 19 + ...ption-force-minimum-value-c0455a1b97d54bf1.yaml | 5 + ...-db-archive-before-option-8296af1c815f5f8a.yaml | 5 + ...nage-heal-port-allocation-48cc1a34c92d42cd.yaml | 9 + ...numa-aware-live-migration-4297653974458ee1.yaml | 46 + .../notes/placement-deleted-a79ad405f428a5f8.yaml | 13 + ...-filter-disabled-computes-0b15d2cad19398e4.yaml | 10 + .../notes/qb-bug-1730933-6695470ebaee0fbd.yaml | 11 + .../quota-usage-placement-5b3f62e83056f59d.yaml | 49 + ...rbd-enhance-get-pool-info-14afc8eccab49dcf.yaml | 9 + ...ords-list-skip-down-cells-84d995e75c77c041.yaml | 2 +- ...arguments-db-sync-command-1a3249d05322e571.yaml | 8 + .../notes/remove-cells-v1-055028c270d06680.yaml | 61 + ...ove-core-ram-disk-filters-9510cbe5b4e295b6.yaml | 15 + ...ecated-default-flavor-opt-a3dfafe59b076153.yaml | 4 + .../remove-ec2-api-service-c17a35ed297355b8.yaml | 2 +- ...-image-cache-checksumming-1c9f1bebfbd00673.yaml | 5 + ...emove-ironic-api_endpoint-db922182356b8ac2.yaml | 7 + .../remove-nova-consoleauth-b7c61e50649206ea.yaml | 9 + ...status-check-consoleauths-5df5c2e91749eefc.yaml | 5 + ...e_ec2_and_objectstore_api-4ccb539db1d171fa.yaml | 2 +- .../rm-neutron-url-conf-2056befe7207bd0b.yaml | 6 + .../notes/rootwrap-removed-3faca1fdc214f6bf.yaml | 6 + .../sriov-live-migration-0311dfb7102a48db.yaml | 25 + ...rts-with-resource-request-6d23be654a253625.yaml | 9 + .../support-novnc-1.1.0-ce677fe3381b2a11.yaml | 7 + ...-deprecate-non-upt-compat-d061edf3f702eeec.yaml | 8 + .../notes/train-prelude-3db0f5f6a75cc57a.yaml | 74 + ...train-require-cinder-3.44-6965b902dd230413.yaml | 6 + ...deprecate-dhcp_domain-opt-77c9154c5b06e0ff.yaml | 8 + ...fault-notification_format-f149db44b319aa07.yaml | 11 + .../use-placement-in-tree-756cb20af66b08bd.yaml | 14 + ...ack-cache-mode-for-guests-a7e4d2806c956164.yaml | 19 + releasenotes/source/conf.py | 26 - releasenotes/source/index.rst | 9 +- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 5612 ------------------- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 862 --- releasenotes/source/mitaka.rst | 4 +- releasenotes/source/newton.rst | 204 +- releasenotes/source/stein.rst | 6 + requirements.txt | 34 +- roles/run-post-test-hook/README.rst | 8 + roles/run-post-test-hook/defaults/main.yaml | 1 + roles/run-post-test-hook/tasks/main.yaml | 3 + setup.cfg | 10 +- test-requirements.txt | 16 +- tools/abandon_old_reviews.sh | 14 +- tox.ini | 78 +- 1111 files changed, 58334 insertions(+), 62752 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index aca623599e..9524d9ceeb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT +SQLAlchemy>=1.2.19 # MIT @@ -8 +8 @@ decorator>=3.4.0 # BSD -eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT +eventlet!=0.20.1,>=0.20.0 # MIT @@ -10 +10 @@ Jinja2>=2.10 # BSD License (3 clause) -keystonemiddleware>=4.17.0 # Apache-2.0 +keystonemiddleware>=4.20.0 # Apache-2.0 @@ -13 +13 @@ Routes>=2.3.1 # MIT -cryptography>=2.1 # BSD/Apache-2.0 +cryptography>=2.7 # BSD/Apache-2.0 @@ -28,3 +28,3 @@ iso8601>=0.1.11 # MIT -jsonschema<3.0.0,>=2.6.0 # MIT -python-cinderclient>=3.3.0 # Apache-2.0 -keystoneauth1>=3.9.0 # Apache-2.0 +jsonschema>=2.6.0 # MIT +python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0 +keystoneauth1>=3.16.0 # Apache-2.0 @@ -36 +35,0 @@ stevedore>=1.20.0 # Apache-2.0 -setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL @@ -46 +45 @@ oslo.upgradecheck>=0.1.1 -oslo.utils>=3.37.0 # Apache-2.0 +oslo.utils>=3.40.2 # Apache-2.0 @@ -49 +48 @@ oslo.rootwrap>=5.8.0 # Apache-2.0 -oslo.messaging>=6.3.0 # Apache-2.0 +oslo.messaging>=7.0.0 # Apache-2.0 @@ -51 +50 @@ oslo.policy>=1.35.0 # Apache-2.0 -oslo.privsep>=1.32.0 # Apache-2.0 +oslo.privsep>=1.33.2 # Apache-2.0 @@ -53 +52 @@ oslo.i18n>=3.15.3 # Apache-2.0 -oslo.service>=1.34.0 # Apache-2.0 +oslo.service>=1.40.1 # Apache-2.0 @@ -57 +56 @@ psutil>=3.2.2 # BSD -oslo.versionedobjects>=1.33.3 # Apache-2.0 +oslo.versionedobjects>=1.35.0 # Apache-2.0 @@ -59,2 +58,2 @@ os-brick>=2.6.1 # Apache-2.0 -os-resource-classes>=0.1.0 # Apache-2.0 -os-traits>=0.8.0 # Apache-2.0 +os-resource-classes>=0.4.0 # Apache-2.0 +os-traits>=0.16.0 # Apache-2.0 @@ -70 +69 @@ retrying>=1.3.3,!=1.3.0 # Apache-2.0 -os-service-types>=1.2.0 # Apache-2.0 +os-service-types>=1.7.0 # Apache-2.0 @@ -73 +72 @@ python-dateutil>=2.5.3 # BSD -zVMCloudConnector>=1.1.1;sys_platform!='win32' # Apache 2.0 License +zVMCloudConnector>=1.3.0;sys_platform!='win32' # Apache 2.0 License @@ -74,0 +74 @@ futurist>=1.8.0 # Apache-2.0 +openstacksdk>=0.35.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 0f9cdff985..c8c8cb1c50 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5,2 @@ -hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 +hacking>=1.1.0,<1.2.0 # Apache-2.0 +contextlib2>=0.5.5;python_version<'3.0' # PSF License @@ -9 +10 @@ fixtures>=3.0.0 # Apache-2.0/BSD -mock>=2.0.0 # BSD +mock>=3.0.0 # BSD @@ -11 +12 @@ mox3>=0.20.0 # Apache-2.0 -psycopg2>=2.6.2 # LGPL/ZPL +psycopg2>=2.7 # LGPL/ZPL @@ -12,0 +14 @@ PyMySQL>=0.7.6 # MIT License +pycodestyle>=2.0.0 # MIT License @@ -14 +16 @@ python-barbicanclient>=4.5.2 # Apache-2.0 -python-ironicclient>=2.7.0 # Apache-2.0 +python-ironicclient!=2.7.1,>=2.7.0 # Apache-2.0 @@ -16 +18 @@ requests-mock>=1.2.0 # Apache-2.0 -oslotest>=3.2.0 # Apache-2.0 +oslotest>=3.8.0 # Apache-2.0 @@ -23,0 +26 @@ gabbi>=1.35.0 # Apache-2.0 +wsgi-intercept>=1.7.0 # MIT License @@ -27,3 +29,0 @@ oslo.vmware>=2.17.0 # Apache-2.0 - -# placement functional tests -wsgi-intercept>=1.7.0 # MIT License