nova/nova/virt/hyperv
Claudiu Belu e2d08409f1 hyper-v: Logs tips on PortBindingFailed
When spawning an Hyper-V instance with NICs having the vif_type "hyperv",
neutron will fail to bind the port to the Hyper-V host if the neutron
server doesn't have the "hyperv" mechanism driver installed and configured,
resulting in a PortBindingFailed exception on the nova-compute side.

When this exception is encountered, the logs will say to check the
neutron-server logs, but the problem and its solution are not obvious
or clear, resulting in plenty of questions / reports, all having the
same solution: is there an L2 agent on the host alive and reporting to
neutron, and if neutron Hyper-V agent is used, make sure to install
networking-hyperv and configure neutron-server to use the "hyperv"
mechanism_driver.

Change-Id: Idceeb08e1452413e3b10ecd0a65f71d4d82866e0
Closes-Bug: #1744032
(cherry picked from commit b80c245ba5)
2018-03-07 17:00:02 +00:00
..
README.rst Adds Hyper-V support in nova-compute (with new network_info model), including unit tests 2012-08-16 03:38:51 +03: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 objects: Move 'arch' to 'fields.Architecture' 2016-11-25 16:19:41 +00:00
driver.py Pass user context to virt driver when detaching volume 2018-03-06 14:23:54 -05:00
eventhandler.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
hostops.py hyperv: report disk_available_least field 2017-09-19 18:33:57 +00:00
imagecache.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
livemigrationops.py Merge "Hyper-V: fix live migration with CSVs" 2017-12-01 01:38:59 +00:00
migrationops.py Hyper-V: Perform proper cleanup after cold migration 2017-08-30 17:50:11 +00:00
pathutils.py propagate OSError to MigrationPreCheckError 2017-10-20 16:46:15 -04: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 translation of log messages 2017-06-13 11:20:28 +07:00
serialproxy.py HyperV: Add serial console proxy 2016-04-18 20:32:13 +03:00
snapshotops.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
vif.py Adds Hyper-V OVS ViF driver 2017-01-11 22:22:13 +00:00
vmops.py hyper-v: Logs tips on PortBindingFailed 2018-03-07 17:00:02 +00:00
volumeops.py Remove translation of log messages 2017-06-13 11:20:28 +07: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".