From a071a908ccfaa9ce3774dad961884557f76adfa3 Mon Sep 17 00:00:00 2001 From: Alessandro Pilotti Date: Fri, 9 Nov 2012 17:17:35 +0200 Subject: Adds support for ConfigDriveV2 in Hyper-V Supports iso9660 ConfigDriveV2 drives, which can be attached to the instance on boot as VHD or ISO. Admin password injection can be selectively enabled for security concerns. Updates also the hyperv tests. Change-Id: I22d1ab57bd2f75ddf8758b2ea1a958d7bbe35731 --- nova/tests/hyperv/basetestcase.py | 4 +- nova/tests/hyperv/db_fakes.py | 41 ++++-- nova/tests/hyperv/hypervutils.py | 13 +- nova/tests/hyperv/mockproxy.py | 47 +++++- ...VAPITestCase.test_attach_volume_nova.utils.p.gz | Bin 0 -> 278 bytes ...e.test_attach_volume_nova.virt.configdrive.p.gz | Bin 0 -> 606 bytes ...pi.HyperVAPITestCase.test_attach_volume_os.p.gz | Bin 722 -> 722 bytes ...yperVAPITestCase.test_attach_volume_shutil.p.gz | Bin 289 -> 300 bytes ...VAPITestCase.test_attach_volume_subprocess.p.gz | Bin 2797 -> 2806 bytes ....HyperVAPITestCase.test_attach_volume_time.p.gz | Bin 276 -> 445 bytes ....HyperVAPITestCase.test_attach_volume_uuid.p.gz | Bin 674 -> 756 bytes ..._with_target_connection_failure_nova.utils.p.gz | Bin 0 -> 308 bytes ...t_connection_failure_nova.virt.configdrive.p.gz | Bin 0 -> 634 bytes ...h_volume_with_target_connection_failure_os.p.gz | Bin 755 -> 753 bytes ...lume_with_target_connection_failure_shutil.p.gz | Bin 320 -> 331 bytes ..._with_target_connection_failure_subprocess.p.gz | Bin 591 -> 605 bytes ...volume_with_target_connection_failure_time.p.gz | Bin 290 -> 458 bytes ...volume_with_target_connection_failure_uuid.p.gz | Bin 658 -> 743 bytes ..._volume_with_target_connection_failure_wmi.p.gz | Bin 22780 -> 21875 bytes ...i.HyperVAPITestCase.test_attach_volume_wmi.p.gz | Bin 28844 -> 28365 bytes ...ITestCase.test_boot_from_volume_nova.utils.p.gz | Bin 0 -> 281 bytes ...est_boot_from_volume_nova.virt.configdrive.p.gz | Bin 0 -> 607 bytes ...rVAPITestCase.test_boot_from_volume_shutil.p.gz | Bin 292 -> 303 bytes ...ITestCase.test_boot_from_volume_subprocess.p.gz | Bin 2800 -> 2810 bytes ...perVAPITestCase.test_boot_from_volume_time.p.gz | Bin 275 -> 446 bytes ...perVAPITestCase.test_boot_from_volume_uuid.p.gz | Bin 592 -> 675 bytes ...yperVAPITestCase.test_boot_from_volume_wmi.p.gz | Bin 19845 -> 19114 bytes ....HyperVAPITestCase.test_destroy_nova.utils.p.gz | Bin 0 -> 272 bytes ...estCase.test_destroy_nova.virt.configdrive.p.gz | Bin 0 -> 599 bytes ...ypervapi.HyperVAPITestCase.test_destroy_os.p.gz | Bin 748 -> 750 bytes ...vapi.HyperVAPITestCase.test_destroy_shutil.p.gz | Bin 283 -> 294 bytes ...ervapi.HyperVAPITestCase.test_destroy_time.p.gz | Bin 253 -> 421 bytes ...ervapi.HyperVAPITestCase.test_destroy_uuid.p.gz | Bin 627 -> 705 bytes ...pervapi.HyperVAPITestCase.test_destroy_wmi.p.gz | Bin 24040 -> 23221 bytes ...VAPITestCase.test_detach_volume_nova.utils.p.gz | Bin 0 -> 278 bytes ...e.test_detach_volume_nova.virt.configdrive.p.gz | Bin 0 -> 605 bytes ...pi.HyperVAPITestCase.test_detach_volume_os.p.gz | Bin 723 -> 724 bytes ...yperVAPITestCase.test_detach_volume_shutil.p.gz | Bin 289 -> 300 bytes ...VAPITestCase.test_detach_volume_subprocess.p.gz | Bin 2798 -> 2806 bytes ....HyperVAPITestCase.test_detach_volume_time.p.gz | Bin 275 -> 446 bytes ....HyperVAPITestCase.test_detach_volume_uuid.p.gz | Bin 671 -> 756 bytes ...i.HyperVAPITestCase.test_detach_volume_wmi.p.gz | Bin 29537 -> 29078 bytes ...est_get_available_resource_multiprocessing.p.gz | Bin 270 -> 270 bytes ...APITestCase.test_get_available_resource_os.p.gz | Bin 423 -> 423 bytes ...estCase.test_get_available_resource_shutil.p.gz | Bin 298 -> 309 bytes ...PITestCase.test_get_available_resource_wmi.p.gz | Bin 978 -> 980 bytes ...i.HyperVAPITestCase.test_get_host_stats_os.p.gz | Bin 415 -> 415 bytes ...perVAPITestCase.test_get_host_stats_shutil.p.gz | Bin 290 -> 301 bytes ....HyperVAPITestCase.test_get_host_stats_wmi.p.gz | Bin 842 -> 845 bytes ...HyperVAPITestCase.test_get_info_nova.utils.p.gz | Bin 0 -> 273 bytes ...stCase.test_get_info_nova.virt.configdrive.p.gz | Bin 0 -> 598 bytes ...pervapi.HyperVAPITestCase.test_get_info_os.p.gz | Bin 717 -> 718 bytes ...api.HyperVAPITestCase.test_get_info_shutil.p.gz | Bin 284 -> 295 bytes ...rvapi.HyperVAPITestCase.test_get_info_time.p.gz | Bin 254 -> 422 bytes ...rvapi.HyperVAPITestCase.test_get_info_uuid.p.gz | Bin 626 -> 710 bytes ...ervapi.HyperVAPITestCase.test_get_info_wmi.p.gz | Bin 23400 -> 22457 bytes ...perVAPITestCase.test_list_instances_shutil.p.gz | Bin 290 -> 301 bytes ....HyperVAPITestCase.test_list_instances_wmi.p.gz | Bin 1300 -> 852 bytes ...APITestCase.test_live_migration_nova.utils.p.gz | Bin 0 -> 279 bytes ....test_live_migration_nova.virt.configdrive.p.gz | Bin 0 -> 605 bytes ...i.HyperVAPITestCase.test_live_migration_os.p.gz | Bin 603 -> 602 bytes ...perVAPITestCase.test_live_migration_shutil.p.gz | Bin 290 -> 301 bytes ...HyperVAPITestCase.test_live_migration_time.p.gz | Bin 260 -> 435 bytes ...HyperVAPITestCase.test_live_migration_uuid.p.gz | Bin 631 -> 718 bytes ...e_migration_with_target_failure_nova.utils.p.gz | Bin 0 -> 298 bytes ..._with_target_failure_nova.virt.configdrive.p.gz | Bin 0 -> 625 bytes ...test_live_migration_with_target_failure_os.p.gz | Bin 621 -> 622 bytes ..._live_migration_with_target_failure_shutil.p.gz | Bin 310 -> 321 bytes ...st_live_migration_with_target_failure_time.p.gz | Bin 280 -> 448 bytes ...st_live_migration_with_target_failure_uuid.p.gz | Bin 649 -> 734 bytes ...est_live_migration_with_target_failure_wmi.p.gz | Bin 23876 -> 22937 bytes ....HyperVAPITestCase.test_live_migration_wmi.p.gz | Bin 26172 -> 27619 bytes ...tCase.test_pause_already_paused_nova.utils.p.gz | Bin 0 -> 285 bytes ...pause_already_paused_nova.virt.configdrive.p.gz | Bin 0 -> 612 bytes ...rVAPITestCase.test_pause_already_paused_os.p.gz | Bin 728 -> 731 bytes ...ITestCase.test_pause_already_paused_shutil.p.gz | Bin 296 -> 307 bytes ...APITestCase.test_pause_already_paused_time.p.gz | Bin 266 -> 431 bytes ...APITestCase.test_pause_already_paused_uuid.p.gz | Bin 638 -> 720 bytes ...VAPITestCase.test_pause_already_paused_wmi.p.gz | Bin 23490 -> 22746 bytes ...pi.HyperVAPITestCase.test_pause_nova.utils.p.gz | Bin 0 -> 271 bytes ...ITestCase.test_pause_nova.virt.configdrive.p.gz | Bin 0 -> 597 bytes ..._hypervapi.HyperVAPITestCase.test_pause_os.p.gz | Bin 716 -> 715 bytes ...ervapi.HyperVAPITestCase.test_pause_shutil.p.gz | Bin 281 -> 292 bytes ...ypervapi.HyperVAPITestCase.test_pause_time.p.gz | Bin 251 -> 416 bytes ...ypervapi.HyperVAPITestCase.test_pause_uuid.p.gz | Bin 624 -> 707 bytes ...hypervapi.HyperVAPITestCase.test_pause_wmi.p.gz | Bin 23350 -> 22561 bytes ...t_power_off_already_powered_off_nova.utils.p.gz | Bin 0 -> 294 bytes ..._already_powered_off_nova.virt.configdrive.p.gz | Bin 0 -> 620 bytes ...Case.test_power_off_already_powered_off_os.p.gz | Bin 740 -> 738 bytes ....test_power_off_already_powered_off_shutil.p.gz | Bin 305 -> 316 bytes ...se.test_power_off_already_powered_off_time.p.gz | Bin 275 -> 440 bytes ...se.test_power_off_already_powered_off_uuid.p.gz | Bin 646 -> 729 bytes ...ase.test_power_off_already_powered_off_wmi.p.gz | Bin 23323 -> 22603 bytes ...yperVAPITestCase.test_power_off_nova.utils.p.gz | Bin 0 -> 273 bytes ...tCase.test_power_off_nova.virt.configdrive.p.gz | Bin 0 -> 599 bytes ...ervapi.HyperVAPITestCase.test_power_off_os.p.gz | Bin 719 -> 720 bytes ...pi.HyperVAPITestCase.test_power_off_shutil.p.gz | Bin 285 -> 296 bytes ...vapi.HyperVAPITestCase.test_power_off_time.p.gz | Bin 255 -> 419 bytes ...vapi.HyperVAPITestCase.test_power_off_uuid.p.gz | Bin 625 -> 711 bytes ...rvapi.HyperVAPITestCase.test_power_off_wmi.p.gz | Bin 23258 -> 22438 bytes ...e.test_power_on_already_running_nova.utils.p.gz | Bin 0 -> 288 bytes ...r_on_already_running_nova.virt.configdrive.p.gz | Bin 0 -> 614 bytes ...ITestCase.test_power_on_already_running_os.p.gz | Bin 734 -> 734 bytes ...tCase.test_power_on_already_running_shutil.p.gz | Bin 300 -> 311 bytes ...estCase.test_power_on_already_running_time.p.gz | Bin 270 -> 435 bytes ...estCase.test_power_on_already_running_uuid.p.gz | Bin 640 -> 723 bytes ...TestCase.test_power_on_already_running_wmi.p.gz | Bin 23305 -> 22436 bytes ...HyperVAPITestCase.test_power_on_nova.utils.p.gz | Bin 0 -> 273 bytes ...stCase.test_power_on_nova.virt.configdrive.p.gz | Bin 0 -> 599 bytes ...pervapi.HyperVAPITestCase.test_power_on_os.p.gz | Bin 718 -> 718 bytes ...api.HyperVAPITestCase.test_power_on_shutil.p.gz | Bin 284 -> 295 bytes ...rvapi.HyperVAPITestCase.test_power_on_time.p.gz | Bin 254 -> 419 bytes ...rvapi.HyperVAPITestCase.test_power_on_uuid.p.gz | Bin 626 -> 711 bytes ...ervapi.HyperVAPITestCase.test_power_on_wmi.p.gz | Bin 23962 -> 22901 bytes ...st_pre_live_migration_cow_image_nova.utils.p.gz | Bin 0 -> 343 bytes ...tCase.test_pre_live_migration_cow_image_os.p.gz | Bin 536 -> 536 bytes ...e.test_pre_live_migration_cow_image_shutil.p.gz | Bin 304 -> 315 bytes ...ase.test_pre_live_migration_cow_image_time.p.gz | Bin 273 -> 273 bytes ...ase.test_pre_live_migration_cow_image_uuid.p.gz | Bin 335 -> 385 bytes ...Case.test_pre_live_migration_cow_image_wmi.p.gz | Bin 1382 -> 1419 bytes ...pre_live_migration_no_cow_image_nova.utils.p.gz | Bin 0 -> 345 bytes ...est_pre_live_migration_no_cow_image_shutil.p.gz | Bin 307 -> 318 bytes ....test_pre_live_migration_no_cow_image_uuid.p.gz | Bin 337 -> 388 bytes ...e.test_pre_live_migration_no_cow_image_wmi.p.gz | Bin 849 -> 851 bytes ...i.HyperVAPITestCase.test_reboot_nova.utils.p.gz | Bin 0 -> 270 bytes ...TestCase.test_reboot_nova.virt.configdrive.p.gz | Bin 0 -> 598 bytes ...hypervapi.HyperVAPITestCase.test_reboot_os.p.gz | Bin 717 -> 717 bytes ...rvapi.HyperVAPITestCase.test_reboot_shutil.p.gz | Bin 282 -> 293 bytes ...pervapi.HyperVAPITestCase.test_reboot_time.p.gz | Bin 252 -> 418 bytes ...pervapi.HyperVAPITestCase.test_reboot_uuid.p.gz | Bin 623 -> 710 bytes ...ypervapi.HyperVAPITestCase.test_reboot_wmi.p.gz | Bin 23931 -> 22707 bytes ...ase.test_resume_already_running_nova.utils.p.gz | Bin 0 -> 287 bytes ...sume_already_running_nova.virt.configdrive.p.gz | Bin 0 -> 614 bytes ...APITestCase.test_resume_already_running_os.p.gz | Bin 733 -> 732 bytes ...estCase.test_resume_already_running_shutil.p.gz | Bin 298 -> 309 bytes ...ITestCase.test_resume_already_running_time.p.gz | Bin 268 -> 434 bytes ...ITestCase.test_resume_already_running_uuid.p.gz | Bin 640 -> 724 bytes ...PITestCase.test_resume_already_running_wmi.p.gz | Bin 23341 -> 22446 bytes ...i.HyperVAPITestCase.test_resume_nova.utils.p.gz | Bin 0 -> 270 bytes ...TestCase.test_resume_nova.virt.configdrive.p.gz | Bin 0 -> 597 bytes ...hypervapi.HyperVAPITestCase.test_resume_os.p.gz | Bin 716 -> 716 bytes ...rvapi.HyperVAPITestCase.test_resume_shutil.p.gz | Bin 282 -> 293 bytes ...pervapi.HyperVAPITestCase.test_resume_time.p.gz | Bin 252 -> 417 bytes ...pervapi.HyperVAPITestCase.test_resume_uuid.p.gz | Bin 623 -> 705 bytes ...ypervapi.HyperVAPITestCase.test_resume_wmi.p.gz | Bin 24291 -> 23012 bytes ...HyperVAPITestCase.test_snapshot_nova.utils.p.gz | Bin 0 -> 273 bytes ...stCase.test_snapshot_nova.virt.configdrive.p.gz | Bin 0 -> 600 bytes ...pervapi.HyperVAPITestCase.test_snapshot_os.p.gz | Bin 1012 -> 1012 bytes ...api.HyperVAPITestCase.test_snapshot_shutil.p.gz | Bin 416 -> 439 bytes ...rvapi.HyperVAPITestCase.test_snapshot_time.p.gz | Bin 254 -> 418 bytes ...rvapi.HyperVAPITestCase.test_snapshot_uuid.p.gz | Bin 667 -> 750 bytes ...st_snapshot_with_update_failure_nova.utils.p.gz | Bin 0 -> 293 bytes ..._with_update_failure_nova.virt.configdrive.p.gz | Bin 0 -> 618 bytes ...tCase.test_snapshot_with_update_failure_os.p.gz | Bin 1033 -> 1034 bytes ...e.test_snapshot_with_update_failure_shutil.p.gz | Bin 437 -> 459 bytes ...ase.test_snapshot_with_update_failure_time.p.gz | Bin 274 -> 439 bytes ...ase.test_snapshot_with_update_failure_uuid.p.gz | Bin 688 -> 772 bytes ...Case.test_snapshot_with_update_failure_wmi.p.gz | Bin 24794 -> 23717 bytes ...ervapi.HyperVAPITestCase.test_snapshot_wmi.p.gz | Bin 24505 -> 23697 bytes ...e.test_spawn_config_drive_cdrom_nova.utils.p.gz | Bin 0 -> 289 bytes ...n_config_drive_cdrom_nova.virt.configdrive.p.gz | Bin 0 -> 827 bytes ...ITestCase.test_spawn_config_drive_cdrom_os.p.gz | Bin 0 -> 888 bytes ...tCase.test_spawn_config_drive_cdrom_shutil.p.gz | Bin 0 -> 311 bytes ...estCase.test_spawn_config_drive_cdrom_time.p.gz | Bin 0 -> 433 bytes ...estCase.test_spawn_config_drive_cdrom_uuid.p.gz | Bin 0 -> 811 bytes ...TestCase.test_spawn_config_drive_cdrom_wmi.p.gz | Bin 0 -> 30237 bytes ...estCase.test_spawn_config_drive_nova.utils.p.gz | Bin 0 -> 493 bytes ...t_spawn_config_drive_nova.virt.configdrive.p.gz | Bin 0 -> 819 bytes ...perVAPITestCase.test_spawn_config_drive_os.p.gz | Bin 0 -> 914 bytes ...APITestCase.test_spawn_config_drive_shutil.p.gz | Bin 0 -> 305 bytes ...rVAPITestCase.test_spawn_config_drive_time.p.gz | Bin 0 -> 427 bytes ...rVAPITestCase.test_spawn_config_drive_uuid.p.gz | Bin 0 -> 804 bytes ...erVAPITestCase.test_spawn_config_drive_wmi.p.gz | Bin 0 -> 29742 bytes ...PITestCase.test_spawn_cow_image_nova.utils.p.gz | Bin 0 -> 279 bytes ...test_spawn_cow_image_nova.virt.configdrive.p.gz | Bin 0 -> 607 bytes ....HyperVAPITestCase.test_spawn_cow_image_os.p.gz | Bin 724 -> 726 bytes ...erVAPITestCase.test_spawn_cow_image_shutil.p.gz | Bin 291 -> 302 bytes ...yperVAPITestCase.test_spawn_cow_image_time.p.gz | Bin 261 -> 425 bytes ...yperVAPITestCase.test_spawn_cow_image_uuid.p.gz | Bin 631 -> 715 bytes ...HyperVAPITestCase.test_spawn_cow_image_wmi.p.gz | Bin 24716 -> 23911 bytes ...Case.test_spawn_no_config_drive_nova.utils.p.gz | Bin 0 -> 286 bytes ...pawn_no_config_drive_nova.virt.configdrive.p.gz | Bin 0 -> 615 bytes ...VAPITestCase.test_spawn_no_config_drive_os.p.gz | Bin 0 -> 731 bytes ...TestCase.test_spawn_no_config_drive_shutil.p.gz | Bin 0 -> 308 bytes ...PITestCase.test_spawn_no_config_drive_time.p.gz | Bin 0 -> 431 bytes ...PITestCase.test_spawn_no_config_drive_uuid.p.gz | Bin 0 -> 722 bytes ...APITestCase.test_spawn_no_config_drive_wmi.p.gz | Bin 0 -> 23033 bytes ...estCase.test_spawn_no_cow_image_nova.utils.p.gz | Bin 0 -> 282 bytes ...t_spawn_no_cow_image_nova.virt.configdrive.p.gz | Bin 0 -> 609 bytes ...perVAPITestCase.test_spawn_no_cow_image_os.p.gz | Bin 607 -> 605 bytes ...APITestCase.test_spawn_no_cow_image_shutil.p.gz | Bin 294 -> 305 bytes ...rVAPITestCase.test_spawn_no_cow_image_time.p.gz | Bin 264 -> 428 bytes ...rVAPITestCase.test_spawn_no_cow_image_uuid.p.gz | Bin 635 -> 719 bytes ...erVAPITestCase.test_spawn_no_cow_image_wmi.p.gz | Bin 24420 -> 23460 bytes ...test_spawn_no_vswitch_exception_nova.utils.p.gz | Bin 0 -> 291 bytes ...estCase.test_spawn_no_vswitch_exception_os.p.gz | Bin 737 -> 736 bytes ...ase.test_spawn_no_vswitch_exception_shutil.p.gz | Bin 302 -> 313 bytes ...tCase.test_spawn_no_vswitch_exception_time.p.gz | Bin 271 -> 436 bytes ...tCase.test_spawn_no_vswitch_exception_uuid.p.gz | Bin 558 -> 642 bytes ...stCase.test_spawn_no_vswitch_exception_wmi.p.gz | Bin 17307 -> 17429 bytes ....test_suspend_already_suspended_nova.utils.p.gz | Bin 0 -> 290 bytes ...nd_already_suspended_nova.virt.configdrive.p.gz | Bin 0 -> 616 bytes ...TestCase.test_suspend_already_suspended_os.p.gz | Bin 734 -> 734 bytes ...Case.test_suspend_already_suspended_shutil.p.gz | Bin 301 -> 312 bytes ...stCase.test_suspend_already_suspended_time.p.gz | Bin 271 -> 437 bytes ...stCase.test_suspend_already_suspended_uuid.p.gz | Bin 643 -> 728 bytes ...estCase.test_suspend_already_suspended_wmi.p.gz | Bin 24133 -> 22775 bytes ....HyperVAPITestCase.test_suspend_nova.utils.p.gz | Bin 0 -> 272 bytes ...estCase.test_suspend_nova.virt.configdrive.p.gz | Bin 0 -> 599 bytes ...ypervapi.HyperVAPITestCase.test_suspend_os.p.gz | Bin 717 -> 717 bytes ...vapi.HyperVAPITestCase.test_suspend_shutil.p.gz | Bin 283 -> 294 bytes ...ervapi.HyperVAPITestCase.test_suspend_time.p.gz | Bin 253 -> 418 bytes ...ervapi.HyperVAPITestCase.test_suspend_uuid.p.gz | Bin 623 -> 709 bytes ...pervapi.HyperVAPITestCase.test_suspend_wmi.p.gz | Bin 23864 -> 22663 bytes ...se.test_unpause_already_running_nova.utils.p.gz | Bin 0 -> 288 bytes ...ause_already_running_nova.virt.configdrive.p.gz | Bin 0 -> 615 bytes ...PITestCase.test_unpause_already_running_os.p.gz | Bin 735 -> 734 bytes ...stCase.test_unpause_already_running_shutil.p.gz | Bin 299 -> 310 bytes ...TestCase.test_unpause_already_running_time.p.gz | Bin 269 -> 433 bytes ...TestCase.test_unpause_already_running_uuid.p.gz | Bin 640 -> 723 bytes ...ITestCase.test_unpause_already_running_wmi.p.gz | Bin 23690 -> 22387 bytes ....HyperVAPITestCase.test_unpause_nova.utils.p.gz | Bin 0 -> 271 bytes ...estCase.test_unpause_nova.virt.configdrive.p.gz | Bin 0 -> 598 bytes ...ypervapi.HyperVAPITestCase.test_unpause_os.p.gz | Bin 717 -> 717 bytes ...vapi.HyperVAPITestCase.test_unpause_shutil.p.gz | Bin 283 -> 294 bytes ...ervapi.HyperVAPITestCase.test_unpause_time.p.gz | Bin 253 -> 419 bytes ...ervapi.HyperVAPITestCase.test_unpause_uuid.p.gz | Bin 626 -> 710 bytes ...pervapi.HyperVAPITestCase.test_unpause_wmi.p.gz | Bin 24099 -> 22805 bytes nova/tests/test_hypervapi.py | 60 ++++++-- nova/virt/hyperv/constants.py | 3 + nova/virt/hyperv/driver.py | 4 +- nova/virt/hyperv/vmops.py | 158 ++++++++++++++++----- nova/virt/hyperv/vmutils.py | 15 +- 233 files changed, 271 insertions(+), 74 deletions(-) create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_os.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_shutil.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_time.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_uuid.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_wmi.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_os.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_shutil.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_time.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_uuid.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_wmi.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_os.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_shutil.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_time.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_uuid.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_wmi.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.virt.configdrive.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.utils.p.gz create mode 100644 nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.virt.configdrive.p.gz diff --git a/nova/tests/hyperv/basetestcase.py b/nova/tests/hyperv/basetestcase.py index 318cf2e28..4458dbd9d 100644 --- a/nova/tests/hyperv/basetestcase.py +++ b/nova/tests/hyperv/basetestcase.py @@ -21,6 +21,7 @@ TestCase for MockProxy based tests and related classes. import gzip import os import pickle +import sys from nova import test from nova.tests.hyperv import mockproxy @@ -77,7 +78,8 @@ class BaseTestCase(test.TestCase): not in ['true', 'yes', '1']: m = self._load_mock(module_name) else: - module = __import__(module_name) + __import__(module_name) + module = sys.modules[module_name] m = mockproxy.MockProxy(module) self._mps[module_name] = m return m diff --git a/nova/tests/hyperv/db_fakes.py b/nova/tests/hyperv/db_fakes.py index e240483ea..16d894df8 100644 --- a/nova/tests/hyperv/db_fakes.py +++ b/nova/tests/hyperv/db_fakes.py @@ -30,14 +30,20 @@ from nova import utils def get_fake_instance_data(name, project_id, user_id): return {'name': name, 'id': 1, - 'uuid': uuid.uuid4(), + 'uuid': str(uuid.uuid4()), 'project_id': project_id, 'user_id': user_id, 'image_ref': "1", 'kernel_id': "1", 'ramdisk_id': "1", 'mac_address': "de:ad:be:ef:be:ef", - 'instance_type': 'm1.tiny', + 'instance_type': + {'name': 'm1.tiny', + 'memory_mb': 512, + 'vcpus': 1, + 'root_gb': 0, + 'flavorid': 1, + 'rxtx_factor': 1} } @@ -105,14 +111,20 @@ def stub_out_db_instance_api(stubs): def __init__(self, values): self.values = values + def get(self, key, default=None): + if key in self.values: + return self.values[key] + else: + return default + def __getattr__(self, name): return self.values[name] def __getitem__(self, key): - if key in self.values: - return self.values[key] - else: - raise NotImplementedError() + return self.get(key) + + def __str__(self): + return str(self.values) def fake_instance_create(context, values): """Stubs out the db.instance_create method.""" @@ -120,12 +132,12 @@ def stub_out_db_instance_api(stubs): if 'instance_type' not in values: return - type_data = INSTANCE_TYPES[values['instance_type']] + instance_type = values['instance_type'] base_options = { 'name': values['name'], 'id': values['id'], - 'uuid': uuid.uuid4(), + 'uuid': str(uuid.uuid4()), 'reservation_id': utils.generate_uid('r'), 'image_ref': values['image_ref'], 'kernel_id': values['kernel_id'], @@ -135,11 +147,11 @@ def stub_out_db_instance_api(stubs): 'user_id': values['user_id'], 'project_id': values['project_id'], 'launch_time': time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), - 'instance_type': values['instance_type'], - 'memory_mb': type_data['memory_mb'], - 'vcpus': type_data['vcpus'], + 'instance_type': instance_type, + 'memory_mb': instance_type['memory_mb'], + 'vcpus': instance_type['vcpus'], 'mac_addresses': [{'address': values['mac_address']}], - 'root_gb': type_data['root_gb'], + 'root_gb': instance_type['root_gb'], } return FakeModel(base_options) @@ -161,7 +173,12 @@ def stub_out_db_instance_api(stubs): def fake_instance_type_get_by_name(context, name): return INSTANCE_TYPES[name] + def fake_block_device_mapping_get_all_by_instance(context, instance_uuid): + return {} + stubs.Set(db, 'instance_create', fake_instance_create) stubs.Set(db, 'network_get_by_instance', fake_network_get_by_instance) stubs.Set(db, 'instance_type_get_all', fake_instance_type_get_all) stubs.Set(db, 'instance_type_get_by_name', fake_instance_type_get_by_name) + stubs.Set(db, 'block_device_mapping_get_all_by_instance', + fake_block_device_mapping_get_all_by_instance) diff --git a/nova/tests/hyperv/hypervutils.py b/nova/tests/hyperv/hypervutils.py index 7cf9f32fe..65207d9f5 100644 --- a/nova/tests/hyperv/hypervutils.py +++ b/nova/tests/hyperv/hypervutils.py @@ -165,7 +165,13 @@ class HyperVUtils(object): drive_path = hostResources[0] volume_drives.append(drive_path) - return (disk_files, volume_drives) + dvds = [r for r in rasds + if r.ResourceSubType == 'Microsoft Virtual CD/DVD Disk'] + dvd_files = [] + for dvd in dvds: + dvd_files.extend([c for c in dvd.Connection]) + + return (disk_files, volume_drives, dvd_files) def remove_remote_vm(self, server, vm_name): conn = wmi.WMI(moniker='//' + server + '/root/virtualization') @@ -181,7 +187,8 @@ class HyperVUtils(object): #Stop the VM first. self._set_vm_state(conn, vm_name, 3) - (disk_files, volume_drives) = self._get_vm_disks(conn, vm_name) + (disk_files, volume_drives, dvd_files) = self._get_vm_disks(conn, + vm_name) (job, ret_val) = vs_man_svc.DestroyVirtualSystem(vm.path_()) if ret_val == constants.WMI_JOB_STATUS_STARTED: @@ -192,7 +199,7 @@ class HyperVUtils(object): raise Exception(_('Failed to destroy vm %s') % vm_name) #Delete associated vhd disk files. - for disk in disk_files: + for disk in disk_files + dvd_files: vhd_file = conn_cimv2.query( "Select * from CIM_DataFile where Name = '" + disk.replace("'", "''") + "'")[0] diff --git a/nova/tests/hyperv/mockproxy.py b/nova/tests/hyperv/mockproxy.py index ff04ea709..1aeaf44f8 100644 --- a/nova/tests/hyperv/mockproxy.py +++ b/nova/tests/hyperv/mockproxy.py @@ -18,6 +18,7 @@ Classes for dynamic generation of mock objects. """ import inspect +import pickle def serialize_obj(obj): @@ -39,7 +40,12 @@ def serialize_obj(obj): l1 = l1 + (serialize_obj(i1),) val = str(l1) else: - val = str(obj) + if isinstance(obj, str) or isinstance(obj, unicode): + val = obj + elif hasattr(obj, '__str__') and inspect.ismethod(obj.__str__): + val = str(obj) + else: + val = str(type(obj)) return val @@ -48,6 +54,11 @@ def serialize_args(*args, **kwargs): return serialize_obj((args, kwargs)) +class MockException(Exception): + def __init__(self, message): + super(MockException, self).__init__(message) + + class Mock(object): def _get_next_value(self, name): c = self._access_count.get(name) @@ -56,7 +67,13 @@ class Mock(object): else: c = c + 1 self._access_count[name] = c - return self._values[name][c] + + try: + value = self._values[name][c] + except IndexError as ex: + raise MockException(_('Couldn\'t find invocation num. %(c)d ' + 'of attribute "%(name)s"') % locals()) + return value def _get_next_ret_value(self, name, params): d = self._access_count.get(name) @@ -69,7 +86,23 @@ class Mock(object): else: c = c + 1 d[params] = c - return self._values[name][params][c] + + try: + m = self._values[name] + except KeyError as ex: + raise MockException(_('Couldn\'t find attribute "%s"') % (name)) + + try: + value = m[params][c] + except KeyError as ex: + raise MockException(_('Couldn\'t find attribute "%(name)s" ' + 'with arguments "%(params)s"') % locals()) + except IndexError as ex: + raise MockException(_('Couldn\'t find invocation num. %(c)d ' + 'of attribute "%(name)s" with arguments "%(params)s"') + % locals()) + + return value def __init__(self, values): self._values = values @@ -82,7 +115,13 @@ class Mock(object): if name.startswith('__') and name.endswith('__'): return object.__getattribute__(self, name) else: - if isinstance(self._values[name], dict): + try: + isdict = isinstance(self._values[name], dict) + except KeyError as ex: + raise MockException(_('Couldn\'t find attribute "%s"') + % (name)) + + if isdict: def newfunc(*args, **kwargs): params = serialize_args(args, kwargs) return self._get_next_ret_value(name, params) diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.utils.p.gz new file mode 100644 index 000000000..4b4a0e83b Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..b3c789fab Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_os.p.gz index 009a2d45d..6c91bfc7d 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_shutil.p.gz index cb7818abb..1e573655f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_subprocess.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_subprocess.p.gz index d4005b336..6a692b3d8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_subprocess.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_subprocess.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_time.p.gz index 041d7314a..bf6c99e6d 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_uuid.p.gz index cab9cd580..ecdf50fdd 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.utils.p.gz new file mode 100644 index 000000000..aca0d6f0c Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..bbeec53df Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_os.p.gz index 0dfe439ca..3bf9bd13a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_shutil.p.gz index 17f83545d..62e3fa329 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_subprocess.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_subprocess.p.gz index 1ecf26961..36970348a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_subprocess.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_subprocess.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_time.p.gz index 1c68ad11e..8db997abf 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_uuid.p.gz index 7d4bae7a9..73f90ac2b 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_wmi.p.gz index c1d101887..3ae9a6f46 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_with_target_connection_failure_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_wmi.p.gz index 2f30402a9..9ab4f7c75 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_attach_volume_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.utils.p.gz new file mode 100644 index 000000000..5887bd8cb Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..3b18b3984 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_shutil.p.gz index 578b33da7..72e7c7c83 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_subprocess.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_subprocess.p.gz index 1da1b4dd0..3b17cc74f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_subprocess.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_subprocess.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_time.p.gz index 67798704f..0f6be50bc 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_uuid.p.gz index 54585f18c..168353e36 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_wmi.p.gz index 61ca098cb..58a3b58cd 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_boot_from_volume_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.utils.p.gz new file mode 100644 index 000000000..41076dc75 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..316e38545 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_os.p.gz index 5f5a6c383..6249c2d1a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_shutil.p.gz index 61c59ea1f..c1c8e5e69 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_time.p.gz index 91252758c..c79054da2 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_uuid.p.gz index b06fd1371..51b9b8bac 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_wmi.p.gz index c6e9722c2..004044ba2 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_destroy_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.utils.p.gz new file mode 100644 index 000000000..538aa7195 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..704842f81 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_os.p.gz index 809332508..40ef2d2c0 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_shutil.p.gz index d4b9d8921..295234835 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_subprocess.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_subprocess.p.gz index c6124e1e0..a151a99b4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_subprocess.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_subprocess.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_time.p.gz index 7b7110e06..3c8faa586 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_uuid.p.gz index 6c254032c..d595ed0ca 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_wmi.p.gz index 595510cff..d15fbd645 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_detach_volume_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_multiprocessing.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_multiprocessing.p.gz index 42665b9f1..dd8eb1248 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_multiprocessing.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_multiprocessing.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_os.p.gz index 56a2cc958..27611287c 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_shutil.p.gz index e38b94d44..47e882ab0 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_wmi.p.gz index fd4fd77af..3b91f7e0a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_available_resource_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_os.p.gz index 56bc137ed..cf6c9a79a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_shutil.p.gz index aaa2cdc1c..882c26536 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_wmi.p.gz index c60521c1d..4c58efecf 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_host_stats_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.utils.p.gz new file mode 100644 index 000000000..7e8eaf1b5 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..a3a780940 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_os.p.gz index a292ad56e..afe233bd2 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_shutil.p.gz index bc29985bd..86e3beba7 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_time.p.gz index 21812b0fa..413f1abda 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_uuid.p.gz index 13f51b856..7d4c15fa6 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_wmi.p.gz index fca5d9328..9d50ab3fd 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_get_info_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_shutil.p.gz index b082714cd..3e93e6a91 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_wmi.p.gz index 103f00b84..f091ff6f7 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_list_instances_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.utils.p.gz new file mode 100644 index 000000000..6de95eb6b Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..19bdf4eeb Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_os.p.gz index 3ab274719..0c1b16e8c 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_shutil.p.gz index 9d89a627d..edad68afb 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_time.p.gz index 2c6fa5a22..1f0e2910b 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_uuid.p.gz index 9a54bbb62..4c92ce498 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.utils.p.gz new file mode 100644 index 000000000..7052c4ae8 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..682897b93 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_os.p.gz index 0b6aff86d..d86dfeff9 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_shutil.p.gz index 51331083e..cb9b24e10 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_time.p.gz index fb5e35662..f069f645e 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_uuid.p.gz index d8c75ba3c..ef03cd677 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_wmi.p.gz index 92bbed9da..75047b386 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_with_target_failure_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_wmi.p.gz index bb4535336..571060079 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_live_migration_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.utils.p.gz new file mode 100644 index 000000000..de596bb42 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..0b431f2ed Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_os.p.gz index b2af3e865..a02d8ab81 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_shutil.p.gz index 293c9b3cf..0499ae451 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_time.p.gz index b43ba2897..83d492f49 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_uuid.p.gz index a1b757b60..5cbe40932 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_wmi.p.gz index f988eca93..7257ce53d 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_already_paused_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.utils.p.gz new file mode 100644 index 000000000..a43a22433 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..bb8679675 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_os.p.gz index 4d53ded9b..5a0928c55 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_shutil.p.gz index 42e3d8f98..90382ae1e 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_time.p.gz index e7728c515..74ee76c84 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_uuid.p.gz index a970cc189..19797fdd4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_wmi.p.gz index 6b3414f25..b4e3ed693 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pause_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.utils.p.gz new file mode 100644 index 000000000..978b8a65d Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..6ca0136df Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_os.p.gz index 11910aa8f..c45f95b08 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_shutil.p.gz index a128ac167..fe6edc718 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_time.p.gz index b56c849ea..60684faaf 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_uuid.p.gz index adf7b4648..8a9d6aa54 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_wmi.p.gz index 907cf2e25..4d9ea2803 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_already_powered_off_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.utils.p.gz new file mode 100644 index 000000000..97f4cc53b Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..ef7664f08 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_os.p.gz index 81877dd6e..d77989fda 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_shutil.p.gz index 33a72e90e..cb894988e 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_time.p.gz index ff56a9287..f6f7c2e39 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_uuid.p.gz index 682dd6d40..1f6dfde64 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_wmi.p.gz index fba91bfff..9a68d6cc4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_off_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.utils.p.gz new file mode 100644 index 000000000..a98f4ae22 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..915459d5e Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_os.p.gz index 1578751ee..f687f6295 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_shutil.p.gz index 987eeb6da..fc555da69 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_time.p.gz index 27495c884..43da7d9d1 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_uuid.p.gz index 80d62a9a4..7e76d1734 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_wmi.p.gz index 1ad1d60dc..2b6cd0afc 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_already_running_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.utils.p.gz new file mode 100644 index 000000000..5a132a3a3 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..d5abaa4d5 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_os.p.gz index 3855ac0dd..783d747f9 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_shutil.p.gz index 8f1d273f2..ff23ded0f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_time.p.gz index 927204978..342a61054 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_uuid.p.gz index 849fd1c8c..10b1b5c7b 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_wmi.p.gz index 41aa8ccfb..5443c3ac4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_power_on_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_nova.utils.p.gz new file mode 100644 index 000000000..456af2816 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_os.p.gz index e69a69a20..ca1103d60 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_shutil.p.gz index d5aa712ac..f9ed1b830 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_time.p.gz index db090ad4d..3a207f066 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_uuid.p.gz index ae76e5693..715d86d61 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_wmi.p.gz index 8e4e9bd65..c2e54a1df 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_cow_image_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_nova.utils.p.gz new file mode 100644 index 000000000..f58f80a79 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_shutil.p.gz index 991858501..a0dc11cc5 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_uuid.p.gz index f4a514e5c..f48621c25 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_wmi.p.gz index 3916fc0fb..e41277cac 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_pre_live_migration_no_cow_image_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.utils.p.gz new file mode 100644 index 000000000..dca595c41 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..99868059d Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_os.p.gz index de1f831de..251cadc51 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_shutil.p.gz index 751668b6f..d7a6b8111 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_time.p.gz index 922fce900..dd6975095 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_uuid.p.gz index c79c72334..1bdaf90c0 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_wmi.p.gz index 3cedfe1ba..0190de402 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_reboot_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.utils.p.gz new file mode 100644 index 000000000..e1099b1d9 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..a375a9a21 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_os.p.gz index 626398469..7551892ff 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_shutil.p.gz index 15a83ac0c..30ac616da 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_time.p.gz index 755cf2e08..db6219f30 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_uuid.p.gz index d14db9b2f..47d4218d4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_wmi.p.gz index 679287e3a..14a3977e8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_already_running_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.utils.p.gz new file mode 100644 index 000000000..ab0dc1f7d Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..0496337af Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_os.p.gz index ed654b90e..f1661f679 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_shutil.p.gz index 5b7ff554d..8a73b5c56 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_time.p.gz index d89b52377..d7cf111e9 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_uuid.p.gz index 764e6c45e..477ddc99f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_wmi.p.gz index a63f4881a..9105c0b05 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_resume_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.utils.p.gz new file mode 100644 index 000000000..03253379b Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..e08050979 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_os.p.gz index 607047b38..e19457a43 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_shutil.p.gz index 4f8b93282..93beb48a1 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_time.p.gz index 429a96d7e..41f19fa85 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_uuid.p.gz index ac9c25734..7cfbbe1e8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.utils.p.gz new file mode 100644 index 000000000..219649aca Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..82ee0bfe5 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_os.p.gz index 82b3a6185..c32610c41 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_shutil.p.gz index 741f28905..e87fc1e9f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_time.p.gz index 5c633dc73..f2db1ffe9 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_uuid.p.gz index da8c02d81..f8ea9d024 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_wmi.p.gz index 9e0baf1cd..9f164feed 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_with_update_failure_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_wmi.p.gz index f647f9516..6a04f478a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_snapshot_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.utils.p.gz new file mode 100644 index 000000000..8556954fb Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..0522732b0 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_os.p.gz new file mode 100644 index 000000000..549826d97 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_shutil.p.gz new file mode 100644 index 000000000..5897fb881 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_time.p.gz new file mode 100644 index 000000000..88d6dd801 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_uuid.p.gz new file mode 100644 index 000000000..92c094f83 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_wmi.p.gz new file mode 100644 index 000000000..11d119734 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_cdrom_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.utils.p.gz new file mode 100644 index 000000000..de22de40b Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..e71ed2f00 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_os.p.gz new file mode 100644 index 000000000..43f0bb97a Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_shutil.p.gz new file mode 100644 index 000000000..3c8490bbf Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_time.p.gz new file mode 100644 index 000000000..1df9f6c17 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_uuid.p.gz new file mode 100644 index 000000000..efa732cdc Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_wmi.p.gz new file mode 100644 index 000000000..ccbf97ec9 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_config_drive_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.utils.p.gz new file mode 100644 index 000000000..ac8216084 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..adc790897 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_os.p.gz index cd1356e9e..8d110a5e8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_shutil.p.gz index 8add1aafc..5e8920af7 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_time.p.gz index c889f9472..8642d8fe1 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_uuid.p.gz index 20a8cad07..1dc8915e0 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_wmi.p.gz index 9fec601ab..7c12440a0 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_cow_image_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.utils.p.gz new file mode 100644 index 000000000..2cb9335f7 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..bca74208e Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_os.p.gz new file mode 100644 index 000000000..7e4ee2ac1 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_shutil.p.gz new file mode 100644 index 000000000..f9fd44f3f Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_time.p.gz new file mode 100644 index 000000000..27973f8ae Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_uuid.p.gz new file mode 100644 index 000000000..dfd674c80 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_wmi.p.gz new file mode 100644 index 000000000..1607d2fcf Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_config_drive_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.utils.p.gz new file mode 100644 index 000000000..442614b77 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..4f3666db4 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_os.p.gz index 4587a6fda..eeed06c23 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_shutil.p.gz index 48cb908c1..d860826c4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_time.p.gz index 0d15a012e..397114c1d 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_uuid.p.gz index b0b49c932..33e0db7c2 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_wmi.p.gz index 574ce071e..cab8a254e 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_cow_image_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_nova.utils.p.gz new file mode 100644 index 000000000..428e2a44d Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_os.p.gz index c19b6e25e..2f63ff85e 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_shutil.p.gz index 1d655bb02..6c17e23a9 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_time.p.gz index 678b4cd10..7d2b7d6b8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_uuid.p.gz index 0884a350b..02aca2da4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_wmi.p.gz index 128b20ac5..526c23b72 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_spawn_no_vswitch_exception_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.utils.p.gz new file mode 100644 index 000000000..d4c1f05e4 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..5ae976489 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_os.p.gz index bc4d4b99d..b6f94a692 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_shutil.p.gz index 8de7c4e71..75f2c62fd 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_time.p.gz index ee94dd6c2..7c7d2338f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_uuid.p.gz index 313bcfa06..ff432b874 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_wmi.p.gz index de8064431..4bb9cd398 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_already_suspended_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.utils.p.gz new file mode 100644 index 000000000..e64ca9fe6 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..7588241e2 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_os.p.gz index e852140a1..fe4595ab7 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_shutil.p.gz index f89c63faf..b64e79521 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_time.p.gz index 12cda7550..f1a900c69 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_uuid.p.gz index 07445af3e..a0eae7afe 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_wmi.p.gz index 8e21428f2..d0818164c 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_suspend_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.utils.p.gz new file mode 100644 index 000000000..9c5d6a314 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..a3845fcb6 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_os.p.gz index 794d9a09d..f12e09fa1 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_shutil.p.gz index 775f8232c..7e8190f0a 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_time.p.gz index d0c0306f2..83e301a63 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_uuid.p.gz index 3cb6c4b7f..47ec9bbef 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_wmi.p.gz index a48d4aa9b..490409abc 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_already_running_wmi.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.utils.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.utils.p.gz new file mode 100644 index 000000000..a9343f436 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.utils.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.virt.configdrive.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.virt.configdrive.p.gz new file mode 100644 index 000000000..051467f97 Binary files /dev/null and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_nova.virt.configdrive.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_os.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_os.p.gz index 5578f64f8..56a260f62 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_os.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_os.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_shutil.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_shutil.p.gz index 224ba464f..e0c5dd59f 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_shutil.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_shutil.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_time.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_time.p.gz index 29c15fe82..7e5a514a8 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_time.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_time.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_uuid.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_uuid.p.gz index 9ac16ec7d..00636f0c4 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_uuid.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_uuid.p.gz differ diff --git a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_wmi.p.gz b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_wmi.p.gz index d6244c3fc..910545998 100644 Binary files a/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_wmi.p.gz and b/nova/tests/hyperv/stubs/test_hypervapi.HyperVAPITestCase.test_unpause_wmi.p.gz differ diff --git a/nova/tests/test_hypervapi.py b/nova/tests/test_hypervapi.py index 197ad1ee6..a310cbb97 100644 --- a/nova/tests/test_hypervapi.py +++ b/nova/tests/test_hypervapi.py @@ -18,6 +18,7 @@ Test suite for the Hyper-V driver and related APIs. """ +import json import os import platform import shutil @@ -59,8 +60,8 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): self._update_image_raise_exception = False self._post_method_called = False self._recover_method_called = False - self._volume_target_portal = '192.168.1.112:3260' - self._volume_id = '10958016-e196-42e3-9e7f-5d8927ae3099' + self._volume_target_portal = 'testtargetportal:3260' + self._volume_id = 'd3f99512-af51-4a75-aee1-79875e016159' self._context = context.RequestContext(self._user_id, self._project_id) self._setup_stubs() @@ -74,6 +75,11 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): def _setup_stubs(self): db_fakes.stub_out_db_instance_api(self.stubs) fake_image.stub_out_image_service(self.stubs) + fake_network.stub_out_nw_api_get_instance_nw_info(self.stubs) + + def fake_dumps(msg): + return '""' + self.stubs.Set(json, 'dumps', fake_dumps) def fake_fetch(context, image_id, target, user, project): self._fetched_image = target @@ -101,7 +107,9 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): 'time', 'subprocess', 'multiprocessing', - '_winreg' + '_winreg', + 'nova.virt.configdrive', + 'nova.utils' ] # Modules in which the mocks are going to be injected @@ -124,6 +132,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): snapshotops, livemigrationops, hypervutils, + db_fakes, sys.modules[__name__] ] @@ -188,6 +197,39 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): def test_spawn_no_cow_image(self): self._test_spawn_instance(False) + def test_spawn_config_drive(self): + self.flags(force_config_drive=True) + self.flags(mkisofs_cmd='mkisofs.exe') + + self._spawn_instance(True) + + (vhd_paths, _, dvd_paths) = self._hypervutils.get_vm_disks( + self._instance_data["name"]) + self.assertEquals(len(dvd_paths), 0) + self.assertEquals(len(vhd_paths), 2) + + def test_spawn_config_drive_cdrom(self): + self.flags(force_config_drive=True) + self.flags(config_drive_cdrom=True) + self.flags(mkisofs_cmd='mkisofs.exe') + + self._spawn_instance(True) + + (vhd_paths, _, dvd_paths) = self._hypervutils.get_vm_disks( + self._instance_data["name"]) + self.assertEquals(len(dvd_paths), 1) + self.assertEquals(len(vhd_paths), 1) + self.assertTrue(os.path.exists(dvd_paths[0])) + + def test_spawn_no_config_drive(self): + self.flags(force_config_drive=False) + + self._spawn_instance(True) + + (_, _, dvd_paths) = self._hypervutils.get_vm_disks( + self._instance_data["name"]) + self.assertEquals(len(dvd_paths), 0) + def test_spawn_no_vswitch_exception(self): # Set flag to a non existing vswitch self.flags(vswitch_name=str(uuid.uuid4())) @@ -272,7 +314,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): def test_destroy(self): self._spawn_instance(True) - (vhd_paths, _) = self._hypervutils.get_vm_disks( + (vhd_paths, _, _) = self._hypervutils.get_vm_disks( self._instance_data["name"]) self._conn.destroy(self._instance_data) @@ -289,7 +331,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): self._spawn_instance(False) # Existing server - self._dest_server = "HV12RCTest1" + self._dest_server = "HV12OSDEMO2" self._live_migration(self._dest_server) @@ -411,7 +453,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): vmstate = self._hypervutils.get_vm_state(self._instance_data["name"]) self.assertEquals(vmstate, constants.HYPERV_VM_STATE_ENABLED) - (vhd_paths, _) = self._hypervutils.get_vm_disks( + (vhd_paths, _, _) = self._hypervutils.get_vm_disks( self._instance_data["name"]) self.assertEquals(len(vhd_paths), 1) @@ -434,7 +476,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): def test_attach_volume(self): self._attach_volume() - (_, volumes_paths) = self._hypervutils.get_vm_disks( + (_, volumes_paths, _) = self._hypervutils.get_vm_disks( self._instance_data["name"]) self.assertEquals(len(volumes_paths), 1) @@ -450,7 +492,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): self._conn.detach_volume(connection_info, self._instance_data["name"], '/dev/sdc') - (_, volumes_paths) = self._hypervutils.get_vm_disks( + (_, volumes_paths, _) = self._hypervutils.get_vm_disks( self._instance_data["name"]) self.assertEquals(len(volumes_paths), 0) @@ -464,7 +506,7 @@ class HyperVAPITestCase(basetestcase.BaseTestCase): self._spawn_instance(False, block_device_info) - (_, volumes_paths) = self._hypervutils.get_vm_disks( + (_, volumes_paths, _) = self._hypervutils.get_vm_disks( self._instance_data["name"]) self.assertEquals(len(volumes_paths), 1) diff --git a/nova/virt/hyperv/constants.py b/nova/virt/hyperv/constants.py index 392dcfa13..29a98d345 100644 --- a/nova/virt/hyperv/constants.py +++ b/nova/virt/hyperv/constants.py @@ -52,3 +52,6 @@ VM_SUMMARY_NUM_PROCS = 4 VM_SUMMARY_ENABLED_STATE = 100 VM_SUMMARY_MEMORY_USAGE = 103 VM_SUMMARY_UPTIME = 105 + +IDE_DISK = "VHD" +IDE_DVD = "DVD" diff --git a/nova/virt/hyperv/driver.py b/nova/virt/hyperv/driver.py index c9a7ed855..e62845b5b 100644 --- a/nova/virt/hyperv/driver.py +++ b/nova/virt/hyperv/driver.py @@ -91,8 +91,8 @@ class HyperVDriver(driver.ComputeDriver): def spawn(self, context, instance, image_meta, injected_files, admin_password, network_info=None, block_device_info=None): - self._vmops.spawn(context, instance, image_meta, network_info, - block_device_info) + self._vmops.spawn(context, instance, image_meta, injected_files, + admin_password, network_info, block_device_info) def reboot(self, instance, network_info, reboot_type, block_device_info=None): diff --git a/nova/virt/hyperv/vmops.py b/nova/virt/hyperv/vmops.py index 11cc8b80d..74e8ca7fd 100644 --- a/nova/virt/hyperv/vmops.py +++ b/nova/virt/hyperv/vmops.py @@ -21,12 +21,14 @@ Management class for basic VM operations. import os import uuid +from nova.api.metadata import base as instance_metadata from nova import config from nova import exception -from nova import flags from nova.openstack.common import cfg from nova.openstack.common import lockutils from nova.openstack.common import log as logging +from nova import utils +from nova.virt import configdrive from nova.virt.hyperv import baseops from nova.virt.hyperv import constants from nova.virt.hyperv import vmutils @@ -40,8 +42,19 @@ hyperv_opts = [ 'if none provided first external is used'), cfg.BoolOpt('limit_cpu_features', default=False, - help='required for live migration among ' - 'hosts with different CPU features') + help='Required for live migration among ' + 'hosts with different CPU features'), + cfg.BoolOpt('config_drive_inject_password', + default=False, + help='Sets the admin password in the config drive image'), + cfg.StrOpt('qemu_img_cmd', + default="qemu-img.exe", + help='qemu-img is used to convert between ' + 'different image types'), + cfg.BoolOpt('config_drive_cdrom', + default=False, + help='Attaches the Config Drive image as a cdrom drive ' + 'instead of a disk drive') ] CONF = config.CONF @@ -104,8 +117,8 @@ class VMOps(baseops.BaseOps): 'num_cpu': info.NumberOfProcessors, 'cpu_time': info.UpTime} - def spawn(self, context, instance, image_meta, network_info, - block_device_info=None): + def spawn(self, context, instance, image_meta, injected_files, + admin_password, network_info, block_device_info=None): """ Create a new VM and start it.""" instance_name = instance["name"] vm = self._vmutils.lookup(self._conn, instance_name) @@ -137,7 +150,8 @@ class VMOps(baseops.BaseOps): self._create_vm(instance) if not ebs_root: - self._create_disk(instance['name'], vhdfile) + self._attach_ide_drive(instance['name'], vhdfile, 0, 0, + constants.IDE_DISK) else: self._volumeops.attach_boot_volume(block_device_info, instance_name) @@ -149,13 +163,63 @@ class VMOps(baseops.BaseOps): mac_address = vif['address'].replace(':', '') self._create_nic(instance['name'], mac_address) + if configdrive.required_by(instance): + self._create_config_drive(instance, injected_files, + admin_password) + LOG.debug(_('Starting VM %s '), instance_name) self._set_vm_state(instance['name'], 'Enabled') LOG.info(_('Started VM %s '), instance_name) except Exception as exn: LOG.exception(_('spawn vm failed: %s'), exn) self.destroy(instance) - raise + raise exn + + def _create_config_drive(self, instance, injected_files, admin_password): + if CONF.config_drive_format != 'iso9660': + vmutils.HyperVException(_('Invalid config_drive_format "%s"') % + CONF.config_drive_format) + + LOG.info(_('Using config drive'), instance=instance) + extra_md = {} + if admin_password and CONF.config_drive_inject_password: + extra_md['admin_pass'] = admin_password + + inst_md = instance_metadata.InstanceMetadata(instance, + content=injected_files, extra_md=extra_md) + + instance_path = self._vmutils.get_instance_path( + instance['name']) + configdrive_path_iso = os.path.join(instance_path, 'configdrive.iso') + LOG.info(_('Creating config drive at %(path)s'), + {'path': configdrive_path_iso}, instance=instance) + + cdb = configdrive.ConfigDriveBuilder(instance_md=inst_md) + try: + cdb.make_drive(configdrive_path_iso) + finally: + cdb.cleanup() + + if not CONF.config_drive_cdrom: + drive_type = constants.IDE_DISK + configdrive_path = os.path.join(instance_path, + 'configdrive.vhd') + utils.execute(CONF.qemu_img_cmd, + 'convert', + '-f', + 'raw', + '-O', + 'vpc', + configdrive_path_iso, + configdrive_path, + attempts=1) + os.remove(configdrive_path_iso) + else: + drive_type = constants.IDE_DVD + configdrive_path = configdrive_path_iso + + self._attach_ide_drive(instance['name'], configdrive_path, 1, 0, + drive_type) def _create_vm(self, instance): """Create a VM but don't start it. """ @@ -229,60 +293,80 @@ class VMOps(baseops.BaseOps): _('Failed to add scsi controller to VM %s') % vm_name) - def _create_disk(self, vm_name, vhdfile): - """Create a disk and attach it to the vm""" - LOG.debug(_('Creating disk for %(vm_name)s by attaching' - ' disk file %(vhdfile)s') % locals()) + def _get_ide_controller(self, vm, ctrller_addr): #Find the IDE controller for the vm. - vms = self._conn.MSVM_ComputerSystem(ElementName=vm_name) - vm = vms[0] vmsettings = vm.associators( wmi_result_class='Msvm_VirtualSystemSettingData') rasds = vmsettings[0].associators( wmi_result_class='MSVM_ResourceAllocationSettingData') ctrller = [r for r in rasds if r.ResourceSubType == 'Microsoft Emulated IDE Controller' - and r.Address == "0"] + and r.Address == str(ctrller_addr)] + return ctrller + + def _attach_ide_drive(self, vm_name, path, ctrller_addr, drive_addr, + drive_type=constants.IDE_DISK): + """Create an IDE drive and attach it to the vm""" + LOG.debug(_('Creating disk for %(vm_name)s by attaching' + ' disk file %(path)s') % locals()) + + vms = self._conn.MSVM_ComputerSystem(ElementName=vm_name) + vm = vms[0] + + ctrller = self._get_ide_controller(vm, ctrller_addr) + + if drive_type == constants.IDE_DISK: + resSubType = 'Microsoft Synthetic Disk Drive' + elif drive_type == constants.IDE_DVD: + resSubType = 'Microsoft Synthetic DVD Drive' + #Find the default disk drive object for the vm and clone it. - diskdflt = self._conn.query( + drivedflt = self._conn.query( "SELECT * FROM Msvm_ResourceAllocationSettingData \ - WHERE ResourceSubType LIKE 'Microsoft Synthetic Disk Drive'\ - AND InstanceID LIKE '%Default%'")[0] - diskdrive = self._vmutils.clone_wmi_obj(self._conn, - 'Msvm_ResourceAllocationSettingData', diskdflt) + WHERE ResourceSubType LIKE '%(resSubType)s'\ + AND InstanceID LIKE '%%Default%%'" % locals())[0] + drive = self._vmutils.clone_wmi_obj(self._conn, + 'Msvm_ResourceAllocationSettingData', drivedflt) #Set the IDE ctrller as parent. - diskdrive.Parent = ctrller[0].path_() - diskdrive.Address = 0 + drive.Parent = ctrller[0].path_() + drive.Address = drive_addr #Add the cloned disk drive object to the vm. new_resources = self._vmutils.add_virt_resource(self._conn, - diskdrive, vm) + drive, vm) if new_resources is None: raise vmutils.HyperVException( - _('Failed to add diskdrive to VM %s') % + _('Failed to add drive to VM %s') % vm_name) - diskdrive_path = new_resources[0] - LOG.debug(_('New disk drive path is %s'), diskdrive_path) + drive_path = new_resources[0] + LOG.debug(_('New %(drive_type)s drive path is %(drive_path)s') % + locals()) + + if drive_type == constants.IDE_DISK: + resSubType = 'Microsoft Virtual Hard Disk' + elif drive_type == constants.IDE_DVD: + resSubType = 'Microsoft Virtual CD/DVD Disk' + #Find the default VHD disk object. - vhddefault = self._conn.query( + drivedefault = self._conn.query( "SELECT * FROM Msvm_ResourceAllocationSettingData \ - WHERE ResourceSubType LIKE 'Microsoft Virtual Hard Disk' AND \ - InstanceID LIKE '%Default%' ")[0] + WHERE ResourceSubType LIKE '%(resSubType)s' AND \ + InstanceID LIKE '%%Default%%' " % locals())[0] #Clone the default and point it to the image file. - vhddisk = self._vmutils.clone_wmi_obj(self._conn, - 'Msvm_ResourceAllocationSettingData', vhddefault) + res = self._vmutils.clone_wmi_obj(self._conn, + 'Msvm_ResourceAllocationSettingData', drivedefault) #Set the new drive as the parent. - vhddisk.Parent = diskdrive_path - vhddisk.Connection = [vhdfile] + res.Parent = drive_path + res.Connection = [path] #Add the new vhd object as a virtual hard disk to the vm. - new_resources = self._vmutils.add_virt_resource(self._conn, - vhddisk, vm) + new_resources = self._vmutils.add_virt_resource(self._conn, res, vm) if new_resources is None: raise vmutils.HyperVException( - _('Failed to add vhd file to VM %s') % - vm_name) - LOG.info(_('Created disk for %s'), vm_name) + _('Failed to add %(drive_type)s image to VM %(vm_name)s') % + locals()) + LOG.info(_('Created drive type %(drive_type)s for %(vm_name)s') % + locals()) def _create_nic(self, vm_name, mac): """Create a (synthetic) nic and attach it to the vm""" diff --git a/nova/virt/hyperv/vmutils.py b/nova/virt/hyperv/vmutils.py index 789d74149..15c03e613 100644 --- a/nova/virt/hyperv/vmutils.py +++ b/nova/virt/hyperv/vmutils.py @@ -27,7 +27,6 @@ import uuid from nova import config from nova import exception -from nova import flags from nova.openstack.common import log as logging from nova.virt.hyperv import constants from nova.virt import images @@ -75,12 +74,16 @@ class VMUtils(object): % locals()) return True + def get_instance_path(self, instance_name): + instance_path = os.path.join(CONF.instances_path, instance_name) + if not os.path.exists(instance_path): + LOG.debug(_('Creating folder %s '), instance_path) + os.makedirs(instance_path) + return instance_path + def get_vhd_path(self, instance_name): - base_vhd_folder = os.path.join(CONF.instances_path, instance_name) - if not os.path.exists(base_vhd_folder): - LOG.debug(_('Creating folder %s '), base_vhd_folder) - os.makedirs(base_vhd_folder) - return os.path.join(base_vhd_folder, instance_name + ".vhd") + instance_path = self.get_instance_path(instance_name) + return os.path.join(instance_path, instance_name + ".vhd") def get_base_vhd_path(self, image_name): base_dir = os.path.join(CONF.instances_path, '_base') -- cgit