This patch refactors the sample files of service-create, service-delete
and service-update notifications to use a common ServiceStatusPayload
sample data.
This patch addresses the problem which lead the revert of the commit
I708ce5423806d2913e77abbe338aec970a5009dc.
Change-Id: I2f619089ae88d05207bb3432c63546a298f0bf15
To be able to define different irrelevant-files for the functional jobs
than the ones defined in openstack-zuul-jobs we need to copy the jobs to
the nova tree and modify the fields in tree.
Technically we could factor out the irrelevant-files regexp list from
functional and functional-py35 jobs as they are the same today. However
in the future when they diverge we cannot simply override the
irrelevant-files in one of the jobs. Therefore this patch does not
introduce a common base job for functinal and functional-py35 jobs
to discurage trying to override.
The openstack-tox-functional and fuctional-py35 are removed from the
nova part of the project-config in
I56d44f8dff41dbf3b2ff2382fa39b364f55f9a44
Closes-Bug: #1742962
Change-Id: Ia684786d1622da7af31aa4479fc883a7c65848ff
The rescue (instance.rescue.start and instance.rescue.end) and unrescue
(instance.unrescue.start and instance.unrescue.end) notifications are
transformed to the versioned framework.
This patch also fixes the power state of the server
when unrescuing it with the fake compute driver.
Co-Authored-By: Takashi Natsume <natsume.takashi@lab.ntt.co.jp>
Change-Id: Ib1d03c6d693e3b04886c638c956e35809fed8fc2
Implements: bp versioned-notification-transformation-queens
Closes-Bug: #1742133
With this change, SchedulerReportClient keeps track of resource provider
traits in the same way as aggregates. Specifically:
- We use ProviderTree methods to save trait information for each
provider.
- We refresh trait information along with aggregate information whenever
we "ensure" a provider exists.
Note that this change set consolidates the refreshing (including cache
expiry) of aggregate and trait associations into a single method. The
theory being that both aggregate associations and trait associations
should change out of band with roughly the same frequency (i.e. very
rarely).
Change-Id: I33d01d8cab43ce6cdde151d2e9429921a140e88d
Allocation candidates api returned some wrong
combinations of non-sharing resource provider and
shared resource provider, ignoring aggregates.
This patch adds aggregate check when constructing
shared allocation request being aware of non-sharing
resource in _shared_allocation_request_resources.
Change-Id: Ib45fde56706a861df0fc048bbec8a568fd26d85d
Closes-Bug:#1732707
Introduce two helper methods in AllocationCandidatesTestCase. In a
similar vein to _validate_allocation_requests, they allows the consumer
to specify the expected values in a terse and readable format.
- _validate_provider_summary_resources validates the resources portion
of the provider_summaries in allocation candidates, e.g.:
expected = {
'cn1': set([
(fields.ResourceClass.VCPU, 24, 5),
(fields.ResourceClass.MEMORY_MB, 32768, 2048),
(fields.ResourceClass.DISK_GB, 2000, 0),
]),
'shared storage': set([
(fields.ResourceClass.DISK_GB, 2000, 50),
]),
}
self._validate_provider_summary_resources(expected, alloc_cands)
- _validate_provider_summary_traits validates the traits portion of the
provider_summaries in allocation candidates, e.g.:
expected = {
'cn1': set(['HW_CPU_X86_AVX2']),
'cn2': set(['HW_CPU_X86_AVX2']),
'shared storage': set(['MISC_SHARES_VIA_AGGREGATE',
'STORAGE_DISK_SSD]),
}
self._validate_provider_summary_traits(expected, alloc_cands)
The _provider_uuids_from_iterable, _find_summary_for_provider, and
_find_summary_for_resource helpers are rendered obsolete by the above,
and are therefore removed.
Change-Id: Ia719a5697b7d033bcf100c9125b58cd226da7400
This reverts commit 39f9ef719e.
The reverted change made the service.update notification sample tests
failing consistently on master. The CI did not catch this problem as
the functional test does not run for changes that only touches
nova/docs. This is a quick fix to unblock the gate and fix the
functional job defintion in a separate patch.
Change-Id: Idabbf70ae46f36be8343c0a00d812cbebf7f7670
Closes-Bug: #1742935
Instead of doing straight passthrough of the RFB protocol from the
tenant sock to the compute socket, insert an RFB security proxy. This
will MITM the initial RFB protocol handshake in order to negotiate an
authentication scheme with the compute node that is distinct from that
used by the tenant.
Based on earlier work by Solly Ross <sross@redhat.com>
Change-Id: I9cc9a380500715e60bd05aa5c29ee46bc6f8d6c2
Co-authored-by: Stephen Finucane <sfinucan@redhat.com>
Implements: bp websocket-proxy-to-host-security
Provide an implementation for the VeNCrypt RFB authentication
scheme, which uses TLS and x509 certificates to provide both
encryption and mutual authentication / authorization.
Based on earlier work by Solly Ross <sross@redhat.com>
Change-Id: I6a63d2535e86faf369ed1c0eeba6cb5a52252b80
Co-authored-by: Stephen Finucane <sfinucan@redhat.com>
Implements: bp websocket-proxy-to-host-security
Introduce a framework for providing RFB authentication scheme
implementations. This will be later used by the websocket RFB security
proxy code.
Change-Id: I98403ca922b83a460a4e7baa12bd5f596a79c940
Co-authored-by: Stephen Finucane <sfinucan@redhat.com>
Implements: bp websocket-proxy-to-host-security
Sockets expect byte strings. The default string type in Python 3 is
unicode, meaning calls to socket functions with unencoded strings will
fail. Fix two paths where we were potentially sending unicode, thus
resolving this issue. One of these paths is tested here. The other in
currently unexercised code and will be tested in a future change.
Change-Id: If8fb291ae672a01af4bde96d55b487c450fb2564
Implements: bp websocket-proxy-to-host-security
When deleting a cell, if there are instance mappings to the cell,
the command fails with the following message.
* There are existing instances mapped to cell with uuid UUID.
But even if all instances have been deleted in the cell,
the same message is shown.
So in that case, add a warning that the instance mappings have to
be deleted by 'nova-manage db archive_deleted_rows'
before deleting the cell.
Change-Id: I2a163fb50a7e71ce9f463bc9ddeffe2ea47d1588
Closes-Bug: #1725331
A database index will be added on migrations.updated_at to
improve the performance of filtering migrations by
‘changes-since’ parameter.
Change-Id: I6bf9e498597669c8641f78267d7da589d01ad786
Implement: blueprint add-pagination-and-change-since-for-migration-list
This patch adds pagination support and changes-since filter
for os-migrations API.
Users can now use 'limit' and 'marker' to perform paginate
query of running migrations list. Users can also filter the
results according to the migrations' updated time.
The ``GET /os-migrations`` and server migrations APIs will now
return a uuid value in addition to the migrations id in the response,
and the query parameter schema of the ``GET /os-migrations`` API no
longer allows additional properties.
Co-Authored-By: Yikun Jiang <yikunkero@gmail.com>
Implement: blueprint add-pagination-and-change-since-for-migration-list
Change-Id: I7e01f95d7173d9217f76e838b3ea71555151ef56
This patch refactors the sample files of service-create, service-delete
and service-update notifications to use a common ServiceStatusPayload
sample data.
Change-Id: I708ce5423806d2913e77abbe338aec970a5009dc
These will be used by migrations cross cell list.
We can get migrations objects with limit/marker/sort params from
multiple cell using get_migrations_sorted.
Change-Id: I2a6d21752b385ebd1e95ec9fe3d18b78a4017bb3