Currently tgz images are supported only when the names of VHD files
within follow the format of "0.vhd, 1.vhd, ... (n-1).vhd" called VDI
chain.
To maximize the range of support, the arbitrary named VHD file could be
renamed to 0.vhd when the tgz image only has a single VHD file.
Change-Id: I01cadf26262b20f1ad5a19e4441b42a0155f5a52
Replace the parsing within test_migration_utils
to use the alphabetic-supporting
version parser approach provided by oslo.db.
Necessary in order to work with
beta / dev versions of SQLAlchemy.
Change-Id: Ib55b6d815649d9212460805acbabdabb72dddeec
References: https://review.openstack.org/#/c/165166/
Ie4ffd458456d03b0b817b01bbed391f359240db2 changed some TestCases names with
the consequence that those tests were becoming not excluded and consequently
the cells job was failing.
Change-Id: I81ae2918355a02c4e20470a924538d2c7fbafcf6
Closes-Bug: #1492255
Nova cells use '!', '.' and '@' for routing the instance in cells.
So those special characters can't include in the cell name.
This patch adds '@' validation for v2 API, and adds '!', '.' and '@'
for v2.1 API.
Change-Id: I5cb704a44c2abfb0bfb5b42d4aa8fefe35cc1523
Partial-Bug: #1491511
The Hyper-V driver oldest tests (test_hypervapi.py) are proving hard to
maintain.
The tests in test_hypervapi.py in particular can also be refactored and
split in separate TestCases, one of each *ops module.
This commit will add unit tests for HyperVDriver, since its code paths
are not covered if we remove test_hypervapi.py.
Change-Id: Ie7cf704f2e76f66768e81315ba88911888327e7a
This adds Instance and InstanceList v2.0 and moves v1 compat-related
tests into a separate test subclass.
Note that since services like api and conductor will be sending v2
objects to older computes, this also adds a backport-to-1.x case
to each object for compatibility with kilo computes. Hopefully in the
future we'll be able to avoid needing to do that by capping object
verisons according to the service version. For now, the structure
of instance hasn't diverged enough so this easy approach works.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: Icfd2529962c0430761d2424069f0fd60a1b5c260
This adds a new object_class_action_versions() handler in conductor, much
like the manifest-aware backport method recently added. Since we back-convert
object results from remotable_classmethod operations, we need to receive
the version manifest there as well. Since oslo.versionedobjects doesn't
currently pass that, we can do a little indirection in our rpcapi to start
calling the new method, gathering the manifest first.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: I25751edee551304ec849d7b88e42624970fef45f
This makes the conductor fixture in our tests behave like the real
conductor, and use version manifests for backports.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: Id98dc044229413ce086fd7b25d3147f0e394f999
This updates the test_objects infrastructure to handle having multiple
major version implementations. Changes:
* The test_versions test will generate fingerprints for all major versions,
using the latest with its bare name, and appending the major version to
the class name for alternates.
* Skips testing the relationships mapping for v2.x objects, which will rely
on version_manifest backports. The tests for the relationship maps will
go away once we're fully on manifest-based backports.
* Skips v2.x objects in the obj_make_compatible() exhaustive test, which
will select the newest object versions by default, and then have incorrect
assumptions about the behavior.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: Id315e75cc9d5f5de7f3b6e4c7daa3705933b4d21
This is a precursor to testing Instance V1 and V2. It changes the
direct reference made by the Instance unit tests to use objects.Instance,
which we can use to toggle between versions.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: I28ae51b21af42f8c8853e5dc76b7ba0479456063
Due to the order in which the registration hook is called from
oslo.versionedobjects' registration handler, our existing method
does not always make the proper decision when multiple versions of
the same object are registered. This is actually a bug in o.vo,
but we can rewrite our method to be more deterministic such that
it works now, and after we fix the ordering thing in o.vo.
This patch makes it set objects.OBJECT if the new class being
registered is newer, instead of being based on the order of the
classes in the registry at the time the hook is called.
Change-Id: Ic1f9bf5115d72244e317c8fe908aa720e7f9a1a3
This is preparing for InstanceList v2.0 and is kept separate to prove
that tests continue to pass before and after this split.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: I22fb15440aca9c5c47d718f36997ddd4b7c0c2ee
This is preparing for Instance v2.0 and is kept separate to prove
that tests continue to pass before and after this split.
Related to blueprint liberty-bump-object-and-rpcapi-versions
Change-Id: I0edd4945aa226b7d0fc30d46a5c51ca61b9b545f