Adding debug log statment to sync out-of-tree driver with
in-tree as per https://github.com/openstack/nova/commit/
8545ba2af7476e0884b5e7fb90965bef92d605bc#diff-
5dc5ac3c2bf8010333f1752a1e70ce18
Change-Id: Ia2247b11539070127e509335905351e1695c43d2
The changeset to close bug 1821891 added the
field "supports_evacuate" in the driver
capabilities without removing "supports_recreate",
which was the old field for the same.
Change-Id: If93ed659dfcbe7dc2820e6110c5878adaf0de158
Closes-Bug: #1822853
Currently nova-powervm driver is not supporting
evacuate. And so Virtual Machine evacuate fails
with the exception InstanceEvacuateNotSupported.
So add supports_evacuate=True to capabilities.
Change-Id: I20a9a805831a8816fd847a2559fd65665dc67a78
Closes-Bug: #1821891
Nova has changed the interface of the compute driver
extend_volume method [1] adding a new parameter namely
requested_size. This patch updates the signature of the
PowerVMDriver extend_volume method to match the change.
[1] https://review.openstack.org/#/c/613039/
Change-Id: I9df280bba8eb663dbe631a741f8d6f728b3b8f87
LUA recovery, the job that tells the VIOS to discover a specific
hdisk, may find multiple disks at the same ITL. Without the device ID
LUA recovery will return an error when this happens.
For most volume backed storages the device ID is the base 64 encoded
value of the pg83 identifier. This change enables the passing of the
deviceID to discover_hdisk to avoid the multiple hdisks at the same
ITL error. It also bumps the pypowervm version for the device_id
support in discover_hdisk.
Change-Id: I86c273bf1d1c5753ce68ab51f6922c323d720cb2
bp reshape-provider-tree patch introduced the 'allocations' kwarg [1]
and another patch provided a ComputeDriver helper method for calculating
the reserved value for the DISK_GB resource from config [2]. This
brings PowerVM's update_provider_tree method up to scratch with those
changes.
[1] Ic062446e5c620c89aec3065b34bcdc6bf5966275
[2] I72c83a95dabd581998470edb9543079acb6536a5
Change-Id: I89ad36f19672368a1f795e1f29c5af6368ccfeec
There are potential security issues with using predictable temp
directories or files, so use python's tempfile module to do this
safely.
Change-Id: I5e23933af71180da1d55950fcf49e39b0b800ef5
Closes-Bug: #1771538
When a VNIC attach fails, the actual error message thrown from the
platform gets swallowed in the console showing only the generic
message in the exception class. This is due to the formatting
string passed to the exception class, though the
VirtualInterfacePlugException class definition doesn't accept one.
Change-Id: I18be7fc2284387d2f4d492ca68de6091f4bb8b66
Closes-Bug: #1796072
This change enables the nova-powervm driver to accept the
'powervm:secure_boot' extra_spec and pass it down to pypowervm to
build the LPAR wrapper with.
Change-Id: I080065795778adee86c6cb37bcbf700a440d73b9
A recent nova change [1] removing uuidsentinel (which is now found
in oslo.utils) broke our UTs. This changes our code to use
oslo.utils, fixing the issue.
[1] 8e1ca5bf34f924b9a23ddbcf31ae727a7dcacb20
Change-Id: Ic314f975c4206a73d2ddd3608181cddc43604f59
Whenever a VM migrated from one host to another
the source VIOS had hdisk remaining after LPM.
The current change makes sure that VIOS hdisks
get cleaned up after migration.
Change-Id: I3c085a872abbaf6e6e91b2496314a06ce8e7ba58
Implement the update_provider_tree ComputeDriver method in the
PowerVMDriver.
In this patch, we *just* implement it to be backward compatible with how
the resource tracker populates the compute node resource provider
inventory based on get_available_resource. Future patches will bring
sanity to such values as allocation_ratio, min_unit, and reserved.
Future patches (as part of larger efforts) will also handle providers
and/or inventories for SR-IOV, devices, etc.
Change-Id: I78ee21165e6654c1f0b3725632f9acae2f437888
We switched to using nova's InstanceInfo class a while ago [1] but
failed to remove our now-unused subclass. This cleans that up.
[1] a4e0721c6b
Change-Id: I214175f61796578e87aed82caa16828aa1c6cebc
fixes the issue to preserve the UDID information in BDM during
the live migration.
Closes-Bug: 1778939
Change-Id: I81aee924093ebcbf1e43ec8c7e330b7d4a973420
Read the rbd_user from the [powervm] section in the conf file.
Use the rbd_user when creating an rbd object. This user id will be
used when trying to connect to the rbd cluster.
Change-Id: I4548eff8afa85e63a8ca40d819298dccffe63e26
This contains backports for minor code changes made during in-tree
driver vSCSI development [1].
[1] https://review.openstack.org/#/c/526094/
Change-Id: I60788e8756df2dfec5f0a407ca149a8ea3cedd53
This contains backports for code changes made during in-tree driver
localdisk development [1].
- Uses uuidsentinel for uuids
- Reworks localdisk capacity UT
- Other minor cleanup
[1] https://review.openstack.org/#/c/549300/
Change-Id: I04bdc32fdca3fbd3cf59ef47776d3cc6d4e9bc60
This contains backports for code changes made during in-tree driver
DiskAdapter parent class development [1].
- Forces subclasses to implement capacity methods
- Marks abstract methods/properties in the parent class
- Introduces a fake disk adapter to allow testing with abstract methods
and properties.
[1] https://review.openstack.org/#/c/549053/
Change-Id: I1f8ebe64571c009020be7f3888167e3450d2fd4d
This contains backports for code changes made during in-tree driver
instance snapshot development [1].
- Renames boot_disk_path_for_instance() to get_bootdisk_path() for
clarity
- Makes disk_match_func() private and static
- Renames instance_disk_iter() to _get_bootdisk_iter() and remove
unnecessary parameters.
- Other minor cleanup
[1] https://review.openstack.org/#/c/543023/
Change-Id: I8f2eef1063b7e40c0cd71fc4adb04cbf6d35ece1
The [powervm]volume_adapter conf setting has not been used since
ebee3eae88 was merged during ocata
development. This removes the unused remnants.
Change-Id: I0c5c1afce6528115754adaa93edf21ee2126a621
This removes the disk_driver and volume_group_name configuration
options from nova-powervm. The options are now located in nova [1].
[1] https://review.openstack.org/#/c/549300/
Change-Id: I73af6218d05de2de4a824d6cb027451d7f4038c9
Use the new loop backstore type when mapping fileio volumes. The
compute node will mount the file as a loop device and map that to
the VM.
This is to increase performance.
Change-Id: Ic75890265aa033e906bc038dabc55cf36cfc547e
pypowervm may raise a JobRequestFailed exception during iSCSI
initiator discovery on older VIOS that do not have the iscsiadm
commands built in. This adds handling for that exception so that
get_volume_connector doesn't blow up.
Closes-Bug: #1770466
Change-Id: I16beff6a5014f028181a167ecb28952190fac223
When cloud-init processes an instance to determine
if it is first boot or not, it compares the config
drive UUID with the VM UUID. This change makes those
values the same now for a given VM / config drive pair.
Change-Id: I128a0bc886b020d67241c67a874cf8d06e791b57
If vios_ids were not passed to discover_initiator, they get set to
a list of vioses instead of a list of the ids.
Change-Id: If4e2329022f4fb9b81c7b64238defc256bc00f66
Closes-bug: 1769919
Per the referenced bug, there was a code path whereby the boot volume
connectivity type could be unset, resulting in an exception. In fixing
this, I discovered that we were looking for `driver_volume_type` in the
wrong place: it should be in connection_info and we were looking for it
under connection_info['data']. I preserved the bogus code path in case
it's actually somehow legit, but added a path to the correct location.
We had no direct test for this stuff, so I added that too.
Change-Id: I78e55b3d8096d4013afd0abe1e42c32dc9697871
Closes-Bug: #1769648
Update translations for the Queens release.
Note: this is being cherry-picked from stable/queens to master
instead of the other way around. The translations were actually done
based on queens, so that is where they were originally merged. In
hindsight, they should also be merged in master so that it has the
latest translations as well, so we should have followed the normal
process of merging in master first, but too late for that now.
Change-Id: I0622d237a53114929d56cfb46bbb7d60887099d6
(cherry picked from commit e62fae699d)
This commit has changes for below 3 items.
1) It adds _get_iscsi_conn_props to process connection_info data for
iSCSI properties.
2) It removes the target_name when creating scsi mapping because that's
now being handled correctly at the platform level.
3) It adds more testing around 'CHAP' auth_method.
Change-Id: Ib6deef7b15bdb73a23f5edb5ec3fb6cbc9fe4e93
Adding the get_iscsi_initiators method in iscsi volume adapter
to discover all iSCSI initiators for active VIOSes and return
the first initiator from the sorted collection of initiators.
Change-Id: Ic842bd49e0a3dc6e4f4a3bf14409ca2f70369a26