compute-hyperv/compute_hyperv/nova
Lucian Petrut 05a55ce5c9 sync: pick up some small changes from upstream
* driver.get_info received a new argument, which we don't use.
  The good news is that the manager expects a TypeError
* driver.extend_volume now accepts the new volume size
* the driver shouldn't set the 'is_public' image property when
  taking snapshots. This is already handled outside the driver
* missing whitespace between words in log message
* avoid using utils.execute, use processutils.execute
* update os_win utils "auto-spec" helper (we're relying a bit too
  much on os-win internals, which meanwhile have changed)
* nova dropped the helper method that was merging allocations so
  we'll have to include it in compute_hyperv. Note that we only
  use it for the cluster driver.

Change-Id: I0b59a118764421ec9daba3f3732f45ec9cb7287b
2019-03-25 11:57:12 +02:00
..
cluster Update allocations for failed over instances 2018-11-14 11:26:32 +02:00
utils sync: pick up some small changes from upstream 2019-03-25 11:57:12 +02:00
README.rst move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
__init__.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
block_device_manager.py sync: Update renamed method usage 2018-01-17 11:08:44 +02:00
conf.py Add distributed lock helpers 2018-10-29 13:55:00 +02:00
constants.py Lock snapshot/destroy operations 2018-02-13 14:30:18 +00:00
coordination.py Add distributed lock helpers 2018-10-29 13:55:00 +02:00
driver.py sync: pick up some small changes from upstream 2019-03-25 11:57:12 +02:00
eventhandler.py Refactor instance state change event handler 2018-10-31 18:12:15 +02:00
hostops.py hyperv: report disk_available_least field 2017-09-19 12:26:54 +00:00
imagecache.py Enable trusted certificates support 2018-08-02 17:36:50 +03:00
livemigrationops.py Ensure instance metrics get collected 2018-10-31 18:12:09 +02:00
migrationops.py Ensure instance metrics get collected 2018-10-31 18:12:09 +02:00
pathutils.py Add driver methods checking for shared storage 2017-12-21 12:22:13 +02:00
pdk.py trivial: Changes files Windows style line ending to Unix style 2018-08-02 06:35:50 -07:00
rdpconsoleops.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
serialconsolehandler.py Flush console log file before retrieving content 2018-01-05 18:49:06 +02:00
serialconsoleops.py Flush console log file before retrieving content 2018-01-05 18:49:06 +02:00
serialproxy.py sync: pick up some small changes from upstream 2019-03-25 11:57:12 +02:00
snapshotops.py sync: pick up some small changes from upstream 2019-03-25 11:57:12 +02:00
vif.py Ensure instance metrics get collected 2018-10-31 18:12:09 +02:00
vmops.py sync: pick up some small changes from upstream 2019-03-25 11:57:12 +02:00
volumeops.py Ensure instance metrics get collected 2018-10-31 18:12:09 +02: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".