compute-hyperv/compute_hyperv/nova
Claudiu Belu fe5cbf455d Trim the fat from InstanceInfo
nova.virt.hardware.InstanceInfo had several fields that have never been
used since their inception two and a half years ago [1]. This change set
removes them. They are (were):

max_mem_kb: (int) the maximum memory in KBytes
allowed mem_kb: (int) the memory in KBytes used by the instance
num_cpu: (int) the number of virtual CPUs for the
         instance
cpu_time_ns: (int) the CPU time used in nanoseconds

We also rename the 'id' field to 'internal_id' for two reasons: First,
because 'id' is a builtin; second, to emphasize that this is not
(necessarily) tied to the Instance's real id/uuid.

[1] https://review.openstack.org/#/c/133777

(cherry-picked from commit 5db9389c01b0cb6eeacf57c22550876ffcd1a87c)

Change-Id: I53408ca96674fbe98be25a0ade68fd7416b38436
2017-09-07 11:46:26 +03:00
..
cluster Merge "Ensure that vif ports are unplugged during failover migration" 2017-08-11 13:21:17 +00: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 move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
conf.py cluster: Adds VM clustering failover configuration 2017-08-09 04:08:47 -07:00
constants.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
driver.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
eventhandler.py Ignore external VMs when handling serial console output 2017-08-09 13:37:04 +03:00
hostops.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
imagecache.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
livemigrationops.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
migrationops.py Disconnect volumes after cold migrations 2017-08-30 14:58:23 +03:00
pathutils.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
pdk.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
rdpconsoleops.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
serialconsolehandler.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
serialconsoleops.py Ignore external VMs when handling serial console output 2017-08-09 13:37:04 +03:00
serialproxy.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
snapshotops.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
vif.py move to compute_hyperv namespace 2017-08-09 09:00:32 +00:00
vmops.py Trim the fat from InstanceInfo 2017-09-07 11:46:26 +03:00
volumeops.py Fixes wrong method call in volumeops 2017-08-29 13:06:08 +03: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".