Add a configurable option to choose to install pypowervm from source,
otherwise default to relying on it already being installed
Change-Id: I15b85c8bcae163e762310efdabfdc26d72e2b629
Add a more detailed walkthrough of the devstack plugins readme
file, including links to our devrefs and docs.
Change-Id: I254b33607daa89c1c8f3dc33d4281cfa4fad72db
In the local.conf.compute template disable the ceilometer control
services that are enabled by default by the ceilometer plugin
Change-Id: Iaaeebaf99fdfbfbc4fdeb191652c1587d7eae8e9
pypowervm.tasks.scsi_mapper.detach_storage provides the function to
detach the storage element from VSCSI mappings. This logic was
previously inlined in nova_powervm.virt.powervm.media.add_dlt_vopt_tasks
- this change set replaces the inline code with the pypowervm call.
Change-Id: Ica5096e4150d76c79c198073a3b96dab5789ab57
Some operating systems are unable to remove a device when it is in use.
However, during a live migrate, we can't migrate the the virtual optical
device.
The current live migrate code was removing the virtual optical media,
but also was removing the mapping. This change updates it to leave the
mapping (so that operating systems that can't remove the bus are OK),
but to detach the vopt device from it. We still remove the virtual
optical media.
Change-Id: Id2a3216ec06e95a538fa2f9f25463c490d69f81f
Closes-Bug: 1522222
The ceilomter devstack plugin turns on every ceilometer service by
default. This disables the ceilometer-acompute service in the control
node example file.
Change-Id: Ic338350d5d1db266657e4bfd18b679cfff96b0e2
Fix a non-breaking whitespace error in a devstack plugins README link, as well
as updating content to place in the link in better context.
Change-Id: Ib7d0b90f6c90c144cae658b25e7b6578212d6138
Support running nova-powervm devstack plugins in a multi-node
environment, with example configs for compute, control, or
all-in-one node installation.
Change-Id: I62d3681165cfeab8fd472b61b9898e28da4ea2f6
During concurrent scale deploys sometime we hit the synchronization
issue during the vopt validation.
Change-Id: Ic522b8a1cfc984e114ec74e827ae1546236a7c55
Closes-bug: #1521097
Shorten the default devstack instance name template due to issues
with the 31 character instance name maximum
Change-Id: I8815a0c5478c999292daa14fa1d4a1b4d3e54399
When there is a live migration failure that prevents the VM
from moving to the destination host, any hdisks created on the
destination host should be deleted. These hdisks are created
when we do the discovery operation for any volumes attached
to the VM via VSCSI.
Change-Id: I6e7f88ede68522c9f4788c549b8bfc84f7ae382a
Raises an error if the connect volume is unable to find the appropriate
Virtual I/O Server for a WWPN. This wraps into a proper Volume Attach
exception, so that the manager can handle the task state properly.
Change-Id: I6c98d0eb234a0e159907f68f8bd4b78255c90052
Closes-Bug: 1515357
When an unplug_vif error occurs, it needs to be wrapped in a
NovaException so that the manager takes the right action. This change
set properly wraps errors in the unplug_vifs.
Change-Id: I53928b80ec6d38063194ad06e3c89784bb8365ca
Closes-Bug: 1514437
Exceptions returned during pre live migration should be
MigrationPreCheckError exceptions otherwise the instance will
be set to error state.
Change-Id: I231c2bacbe06072421073e92a9048bf97b263230
Closes-Bug: #1513643
If the user runs two attach volumes at the same time, this can lead to a
race condition where different WWPNs get generated for the instance.
This change provides a lock around the wwpns call. This is a global
lock for the compute node.
In previous iterations of this code, it could have had a major
performance impact. But now that the job is invoked for the WWPNs call,
this method should return very quickly (subsecond). Therefore the
global lock should not be a concern.
Change-Id: I4100e5c66797eb4f1fad802a88ef90966a05ce13
Closes-Bug: 1514537
Live migration can fail if orphan mappings associated with the migrating
LPAR exist on the source system.
This change set exploits the recently-added
pypowervm.tasks.storage.ScrubOrphanStorageForLpar, which will identify
such mappings for a specified LPAR ID, scrub them, and (for VSCSI
mappings) remove the associated storage if it is not still in use.
Change-Id: I747ad4063ebd5cb4effc565a4d255e325d454ffb
The master branch of nova-powervm should be paired to the 'develop'
branch of pypowervm.
Other stable branches (or release candidates) will point to version
levels that are published to PyPi (or to stable branches).
Change-Id: I963e20da759eeede6b1f115d15fdc276b3555538
In the case of multiple fabrics with dual vioses, VFC mapping
strings should build mapping across both the VIOSes. So we
need to reverse the vios wraps in order to use the second vios
for the next fabric.
Change-Id: I09d9bd65241195247b326c8afdb54501fd6e4ed9
When the migration WWPNs are built, the VIOS wrappers needs to be
reversed, like during a normal deploy. This change enables this.
It also removes some optimization code that is no longer needed due to
switching to the FeedTask model.
Change-Id: Ia66df870473e6cee34c6a1fa1b39dbb771b6790a
Add support for installing nova powervm through the devstack plugins
infrastructure. This allows you to simply enable the plugin in a
devstack localrc, provide any non-default config, and run stack.sh
to configure/install it.
- Added plugin files
- Added README and example config
- Added bashate to tox test environments for scripts
Change-Id: I3dfed189e60b0aa63fc9029e3f56f2d8b7785bd3
Recently pypowervm refactored and expanded the slot number and LPAR ID
properties on virtual storage adapters such that
{vios|lpar}_{id|slot_num} always refers to the ID or slot number on the
VIOS or LPAR, respectively, regardless of whether you're looking at the
client or server side of the adapter. (Change-Id:
Id626a1b23b9b2757e5e1f38fd6ed141d97fd0e74)
The only non-backward-compatible change is the renaming of slot_number
to lpar_slot_num. This change set rebases on that modification.
Change-Id: I2d392781817b076b79cf93360588c6107dceaca4
Since nova-powervm is not in tree with nova, it can't use nova's
translation domain. This change introduces i18n.py and the
nova-powervm domain.
Change-Id: I9d3565e6ad1737629350fe02c7a41d56b0cf401a
The nova driver polls the VM state once spawn/rescue/unrescue has
completed. It's double-duty to have those methods wait for the PowerOn
Job to complete before returning. This change set takes advantage of
the asynchronous option on the pypowervm power_on task to allow these
methods to return as soon as the PowerOn Job has started.
Change-Id: I6c1acd172f49a7d4ec39845231a0c67329e82c11
During resize instance migrate_disk_and_power_off should release
the existing volumes connected to the instance. Volume BDMS should
be disconnected and re-connected during finish_migrations. This is
required because manager terminates the prev volumes and
re-initializes the volumes again, which can lead to a new SCSI ID.
Change-Id: I9af2b16259dd98332c135b1870386c827d3c56d7
Closes-Bug: #1510235
When a VM reschedules on to a different host, the NPIV metadata was
sticking around, and this caused an issue with the new host when the VM
landed on it.
This change clears out the system metadata on a full terminate of the
NPIV connection. A full terminate is when the VM is being destroyed.
This should make the spawn on a new host fully 'fresh'.
Change-Id: I35348bbfffc8cb4693e6d0822e7a0c6ff42de032
Closes-Bug: 1510251
When a VM has volumes attached via vscsi, the hdisks on the
Virtual I/O servers that reside on the source host should
be cleaned up after the VM has been migrated to the desination
host.
Change-Id: I7f3d7afa8033190c5969f887f32d2f0c7ae0c66b
Closes-Bug: 1506960