nova/nova/virt/hyperv
Lucian Petrut f0eeba5c8c hyper-v rbd volume support
Ceph 16 (Pacific) will support attaching RBD images to Windows
hosts as well as Hyper-V VMs [1].

This patch updates the Hyper-V driver so that it may be able to
consume RBD volumes.

We're also updating the os-win requirement to 5.4.0. It should've
been bumped by [2], vms won't spawn without it. Note this introduces no
new or unmet direct or in-direct version dependencies and so is included
as part of this change.

[1] https://github.com/ceph/ceph/pull/33750
[2] Ibe6aff4edeb32208bc9865e9216a7432caddab2b

Implements: blueprint hyperv-rbd

Change-Id: I9ad90817648ca12f80a6b53f6ba728df15cbafab
2021-03-02 12:58:11 +00:00
..
README.rst Keep pre-commit inline with hacking and fix whitespace 2019-12-12 14:56:39 +00:00
__init__.py Add Hyper-V driver in the "compute_driver" option description 2014-07-24 02:47:32 -07:00
block_device_manager.py Rename block_device_info_get_root 2018-01-11 20:46:13 +00:00
constants.py hyper-v rbd volume support 2021-03-02 12:58:11 +00:00
driver.py Remove six.reraise 2020-08-15 07:45:49 +00:00
eventhandler.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
hostops.py libvirt: Drop support for Xen 2021-01-22 10:06:40 +00:00
imagecache.py Consolidate [image_cache] conf options 2019-11-13 11:09:03 -06:00
livemigrationops.py Avoid error state for recovered instances after failed migrations 2019-08-26 11:36:56 +03:00
migrationops.py Hyper-V: Perform proper cleanup after cold migration 2017-08-30 17:50:11 +00:00
pathutils.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
rdpconsoleops.py Hyper-V: adds os-win library 2015-12-02 16:34:24 +02:00
serialconsolehandler.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
serialconsoleops.py Remove six.text_type (1/2) 2020-12-13 11:25:31 +00:00
serialproxy.py Add missing ws seperator between words 2018-11-26 23:42:18 +00:00
snapshotops.py trivial: Remove log translations 2020-05-27 09:40:47 +00:00
vif.py hyperv: Remove vestigial nova-network support 2019-11-29 17:20:02 +00:00
vmops.py Merge "hyperv: Configures chassis asset tags for VMs." 2021-02-05 01:37:55 +00:00
volumeops.py hyper-v rbd volume support 2021-03-02 12:58:11 +00:00

README.rst

Hyper-V Volumes Management

To enable the volume features, the first thing that needs to be done is to enable the iSCSI service on the Windows compute nodes and set it to start automatically.

sc config msiscsi start= auto net start msiscsi

In Windows Server 2012, it's important to execute the following commands to prevent having the volumes being online by default:

diskpart san policy=OfflineAll exit

How to check if your iSCSI configuration is working properly:

On your OpenStack controller:

1. Create a volume with e.g. "nova volume-create 1" and note the generated volume id

On Windows:

  1. iscsicli QAddTargetPortal <your_iSCSI_target>
  2. iscsicli ListTargets

The output should contain the iqn related to your volume: iqn.2010-10.org.openstack:volume-<volume_id>

How to test Boot from volume in Hyper-V from the OpenStack dashboard:

  1. Fist of all create a volume
  2. Get the volume ID of the created volume

3. Upload and untar to the Cloud controller the next VHD image: http://dev.opennebula.org/attachments/download/482/ttylinux.vhd.gz 4. sudo dd if=/path/to/vhdfileofstep3 of=/dev/nova-volumes/volume-XXXXX <- Related to the ID of step 2 5. Launch an instance from any image (this is not important because we are just booting from a volume) from the dashboard, and don't forget to select boot from volume and select the volume created in step2. Important: Device name must be "vda".