From c76c72cfe0f06d103359e6cedc4be9c1f97d00a3 Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Mon, 5 Feb 2024 12:23:13 -0800 Subject: [PATCH] Remove HyperV: cleanup doc/code ref Cleanup doc/code ref of HyperV driver. Change-Id: I6cd8fb90829e040bfd356ff6b1c41aa9a1c906d2 --- api-ref/source/parameters.yaml | 1 - doc/source/admin/architecture.rst | 3 - .../configuration/hypervisor-hyper-v.rst | 451 ------------------ .../admin/configuration/hypervisor-vmware.rst | 2 +- .../admin/configuration/hypervisors.rst | 8 - doc/source/admin/cpu-topologies.rst | 55 +-- doc/source/admin/pci-passthrough.rst | 22 - doc/source/admin/resource-limits.rst | 31 -- doc/source/admin/scheduling.rst | 19 +- doc/source/admin/secure-boot.rst | 42 +- doc/source/admin/uefi.rst | 21 +- doc/source/contributor/code-review.rst | 4 +- doc/source/user/feature-matrix-gp.ini | 23 - doc/source/user/feature-matrix-hpc.ini | 6 - doc/source/user/flavors.rst | 2 +- doc/source/user/support-matrix.ini | 69 --- nova/tests/unit/test_hacking.py | 6 +- 17 files changed, 15 insertions(+), 750 deletions(-) delete mode 100644 doc/source/admin/configuration/hypervisor-hyper-v.rst diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 813499abe940..e8cb7ec56bb9 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -2619,7 +2619,6 @@ driver_diagnostics: - ``libvirt`` - ``xenapi`` - - ``hyperv`` - ``vmwareapi`` - ``ironic`` in: body diff --git a/doc/source/admin/architecture.rst b/doc/source/admin/architecture.rst index f5e2b90dd9f8..ca60b5f1d791 100644 --- a/doc/source/admin/architecture.rst +++ b/doc/source/admin/architecture.rst @@ -76,9 +76,6 @@ availability zones. Nova supports the following hypervisors: - :ironic-doc:`Baremetal <>` -- `Hyper-V - `__ - - `Kernel-based Virtual Machine (KVM) `__ diff --git a/doc/source/admin/configuration/hypervisor-hyper-v.rst b/doc/source/admin/configuration/hypervisor-hyper-v.rst deleted file mode 100644 index 8ce9c2ebb411..000000000000 --- a/doc/source/admin/configuration/hypervisor-hyper-v.rst +++ /dev/null @@ -1,451 +0,0 @@ -=============================== -Hyper-V virtualization platform -=============================== - -.. todo:: This is really installation guide material and should probably be - moved. - -It is possible to use Hyper-V as a compute node within an OpenStack Deployment. -The ``nova-compute`` service runs as ``openstack-compute``, a 32-bit service -directly upon the Windows platform with the Hyper-V role enabled. The necessary -Python components as well as the ``nova-compute`` service are installed -directly onto the Windows platform. Windows Clustering Services are not needed -for functionality within the OpenStack infrastructure. The use of the Windows -Server 2012 platform is recommend for the best experience and is the platform -for active development. The following Windows platforms have been tested as -compute nodes: - -- Windows Server 2012 -- Windows Server 2012 R2 Server and Core (with the Hyper-V role enabled) -- Hyper-V Server - - -Hyper-V configuration ---------------------- - -The only OpenStack services required on a Hyper-V node are ``nova-compute`` and -``neutron-hyperv-agent``. Regarding the resources needed for this host you have -to consider that Hyper-V will require 16 GB - 20 GB of disk space for the OS -itself, including updates. Two NICs are required, one connected to the -management network and one to the guest data network. - -The following sections discuss how to prepare the Windows Hyper-V node for -operation as an OpenStack compute node. Unless stated otherwise, any -configuration information should work for the Windows 2012 and 2012 R2 -platforms. - -Local storage considerations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Hyper-V compute node needs to have ample storage for storing the virtual -machine images running on the compute nodes. You may use a single volume for -all, or partition it into an OS volume and VM volume. - -.. _configure-ntp-windows: - -Configure NTP -~~~~~~~~~~~~~ - -Network time services must be configured to ensure proper operation of the -OpenStack nodes. To set network time on your Windows host you must run the -following commands: - -.. code-block:: bat - - C:\>net stop w32time - C:\>w32tm /config "/manualpeerlist:pool.ntp.org,0x8" /syncfromflags:MANUAL - C:\>net start w32time - -Keep in mind that the node will have to be time synchronized with the other -nodes of your OpenStack environment, so it is important to use the same NTP -server. Note that in case of an Active Directory environment, you may do this -only for the AD Domain Controller. - -Configure Hyper-V virtual switching -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Information regarding the Hyper-V virtual Switch can be found in the `Hyper-V -Virtual Switch Overview`__. - -To quickly enable an interface to be used as a Virtual Interface the -following PowerShell may be used: - -.. code-block:: none - - PS C:\> $if = Get-NetIPAddress -IPAddress 192* | Get-NetIPInterface - PS C:\> New-VMSwitch -NetAdapterName $if.ifAlias -Name YOUR_BRIDGE_NAME -AllowManagementOS $false - -.. note:: - - It is very important to make sure that when you are using a Hyper-V node - with only 1 NIC the -AllowManagementOS option is set on ``True``, otherwise - you will lose connectivity to the Hyper-V node. - -__ https://technet.microsoft.com/en-us/library/hh831823.aspx - -Enable iSCSI initiator service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To prepare the Hyper-V node to be able to attach to volumes provided by cinder -you must first make sure the Windows iSCSI initiator service is running and -started automatically. - -.. code-block:: none - - PS C:\> Set-Service -Name MSiSCSI -StartupType Automatic - PS C:\> Start-Service MSiSCSI - -Configure shared nothing live migration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Detailed information on the configuration of live migration can be found in -`this guide`__ - -The following outlines the steps of shared nothing live migration. - -#. The target host ensures that live migration is enabled and properly - configured in Hyper-V. - -#. The target host checks if the image to be migrated requires a base VHD and - pulls it from the Image service if not already available on the target host. - -#. The source host ensures that live migration is enabled and properly - configured in Hyper-V. - -#. The source host initiates a Hyper-V live migration. - -#. The source host communicates to the manager the outcome of the operation. - -The following three configuration options are needed in order to support -Hyper-V live migration and must be added to your ``nova.conf`` on the Hyper-V -compute node: - -* This is needed to support shared nothing Hyper-V live migrations. It is used - in ``nova/compute/manager.py``. - - .. code-block:: ini - - instances_shared_storage = False - -* This flag is needed to support live migration to hosts with different CPU - features. This flag is checked during instance creation in order to limit the - CPU features used by the VM. - - .. code-block:: ini - - limit_cpu_features = True - -* This option is used to specify where instances are stored on disk. - - .. code-block:: ini - - instances_path = DRIVELETTER:\PATH\TO\YOUR\INSTANCES - -Additional Requirements: - -* Hyper-V 2012 R2 or Windows Server 2012 R2 with Hyper-V role enabled - -* A Windows domain controller with the Hyper-V compute nodes as domain members - -* The instances_path command-line option/flag needs to be the same on all hosts - -* The ``openstack-compute`` service deployed with the setup must run with - domain credentials. You can set the service credentials with: - -.. code-block:: bat - - C:\>sc config openstack-compute obj="DOMAIN\username" password="password" - -__ https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/Use-live-migration-without-Failover-Clustering-to-move-a-virtual-machine - -How to setup live migration on Hyper-V -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To enable 'shared nothing live' migration, run the 3 instructions below on each -Hyper-V host: - -.. code-block:: none - - PS C:\> Enable-VMMigration - PS C:\> Set-VMMigrationNetwork IP_ADDRESS - PS C:\> Set-VMHost -VirtualMachineMigrationAuthenticationTypeKerberos - -.. note:: - - Replace the ``IP_ADDRESS`` with the address of the interface which will - provide live migration. - -Additional Reading -~~~~~~~~~~~~~~~~~~ - -This article clarifies the various live migration options in Hyper-V: - -`Hyper-V Live Migration of Yesterday -`_ - - -Install nova-compute using OpenStack Hyper-V installer ------------------------------------------------------- - -In case you want to avoid all the manual setup, you can use Cloudbase -Solutions' installer. You can find it here: - -`HyperVNovaCompute_Beta download -`_ - -The tool installs an independent Python environment in order to avoid conflicts -with existing applications, and dynamically generates a ``nova.conf`` file -based on the parameters provided by you. - -The tool can also be used for an automated and unattended mode for deployments -on a massive number of servers. More details about how to use the installer and -its features can be found here: - -`Cloudbase `_ - - -.. _windows-requirements: - -Requirements ------------- - -Python -~~~~~~ - -**Setting up Python prerequisites** - -#. Download and install Python 3.8 using the MSI installer from the `Python - website`__. - - .. __: https://www.python.org/downloads/windows/ - - .. code-block:: none - - PS C:\> $src = "https://www.python.org/ftp/python/3.8.8/python-3.8.8.exe" - PS C:\> $dest = "$env:temp\python-3.8.8.exe" - PS C:\> Invoke-WebRequest -Uri $src -OutFile $dest - PS C:\> Unblock-File $dest - PS C:\> Start-Process $dest - -#. Make sure that the ``Python`` and ``Python\Scripts`` paths are set up in the - ``PATH`` environment variable. - - .. code-block:: none - - PS C:\> $oldPath = [System.Environment]::GetEnvironmentVariable("Path") - PS C:\> $newPath = $oldPath + ";C:\python38\;C:\python38\Scripts\" - PS C:\> [System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::User - -Python dependencies -~~~~~~~~~~~~~~~~~~~ - -The following packages must be installed with pip: - -* ``pywin32`` -* ``pymysql`` -* ``greenlet`` -* ``pycrypto`` -* ``ecdsa`` -* ``amqp`` -* ``wmi`` - -.. code-block:: none - - PS C:\> pip install ecdsa - PS C:\> pip install amqp - PS C:\> pip install wmi - - -Other dependencies -~~~~~~~~~~~~~~~~~~ - -``qemu-img`` is required for some of the image related operations. You can get -it from here: http://qemu.weilnetz.de/. You must make sure that the -``qemu-img`` path is set in the PATH environment variable. - -Some Python packages need to be compiled, so you may use MinGW or Visual -Studio. You can get MinGW from here: http://sourceforge.net/projects/mingw/. -You must configure which compiler is to be used for this purpose by using the -``distutils.cfg`` file in ``$Python38\Lib\distutils``, which can contain: - -.. code-block:: ini - - [build] - compiler = mingw32 - -As a last step for setting up MinGW, make sure that the MinGW binaries' -directories are set up in PATH. - - -Install nova-compute --------------------- - -Download the nova code -~~~~~~~~~~~~~~~~~~~~~~ - -#. Use Git to download the necessary source code. The installer to run Git on - Windows can be downloaded here: - - https://gitforwindows.org/ - -#. Download the installer. Once the download is complete, run the installer and - follow the prompts in the installation wizard. The default should be - acceptable for the purposes of this guide. - -#. Run the following to clone the nova code. - - .. code-block:: none - - PS C:\> git.exe clone https://opendev.org/openstack/nova - -Install nova-compute service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To install ``nova-compute``, run: - -.. code-block:: none - - PS C:\> cd c:\nova - PS C:\> python setup.py install - -Configure nova-compute -~~~~~~~~~~~~~~~~~~~~~~ - -The ``nova.conf`` file must be placed in ``C:\nova\etc\nova`` for running OpenStack -on Hyper-V. Below is a sample ``nova.conf`` for Windows: - -.. code-block:: ini - - [DEFAULT] - auth_strategy = keystone - image_service = nova.image.glance.GlanceImageService - compute_driver = nova.virt.hyperv.driver.HyperVDriver - volume_api_class = nova.volume.cinder.API - fake_network = true - instances_path = C:\Program Files (x86)\OpenStack\Instances - use_cow_images = true - force_config_drive = false - injected_network_template = C:\Program Files (x86)\OpenStack\Nova\etc\interfaces.template - policy_file = C:\Program Files (x86)\OpenStack\Nova\etc\policy.yaml - mkisofs_cmd = C:\Program Files (x86)\OpenStack\Nova\bin\mkisofs.exe - allow_resize_to_same_host = true - running_deleted_instance_action = reap - running_deleted_instance_poll_interval = 120 - resize_confirm_window = 5 - resume_guests_state_on_host_boot = true - rpc_response_timeout = 1800 - lock_path = C:\Program Files (x86)\OpenStack\Log\ - rpc_backend = nova.openstack.common.rpc.impl_kombu - rabbit_host = IP_ADDRESS - rabbit_port = 5672 - rabbit_userid = guest - rabbit_password = Passw0rd - logdir = C:\Program Files (x86)\OpenStack\Log\ - logfile = nova-compute.log - instance_usage_audit = true - instance_usage_audit_period = hour - - [glance] - api_servers = http://IP_ADDRESS:9292 - - [neutron] - endpoint_override = http://IP_ADDRESS:9696 - auth_strategy = keystone - project_name = service - username = neutron - password = Passw0rd - auth_url = http://IP_ADDRESS:5000/v3 - auth_type = password - - [hyperv] - vswitch_name = newVSwitch0 - limit_cpu_features = false - config_drive_inject_password = false - qemu_img_cmd = C:\Program Files (x86)\OpenStack\Nova\bin\qemu-img.exe - config_drive_cdrom = true - dynamic_memory_ratio = 1 - enable_instance_metrics_collection = true - - [rdp] - enabled = true - html5_proxy_base_url = https://IP_ADDRESS:4430 - -Prepare images for use with Hyper-V -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Hyper-V currently supports only the VHD and VHDX file format for virtual -machine instances. Detailed instructions for installing virtual machines on -Hyper-V can be found here: - -`Create Virtual Machines -`_ - -Once you have successfully created a virtual machine, you can then upload the -image to `glance` using the `openstack-client`: - -.. code-block:: none - - PS C:\> openstack image create \ - --name "VM_IMAGE_NAME" \ - --property hypervisor_type=hyperv \ - --public \ - --container-format bare \ - --disk-format vhd - -.. note:: - - VHD and VHDX files sizes can be bigger than their maximum internal size, - as such you need to boot instances using a flavor with a slightly bigger - disk size than the internal size of the disk file. - To create VHDs, use the following PowerShell cmdlet: - - .. code-block:: none - - PS C:\> New-VHD DISK_NAME.vhd -SizeBytes VHD_SIZE - -Inject interfaces and routes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``interfaces.template`` file describes the network interfaces and routes -available on your system and how to activate them. You can specify the location -of the file with the :oslo.config:option:`injected_network_template` -configuration option in ``nova.conf``. - -.. code-block:: ini - - injected_network_template = PATH_TO_FILE - -A default template exists in ``nova/virt/interfaces.template``. - -Run Compute with Hyper-V -~~~~~~~~~~~~~~~~~~~~~~~~ - -To start the ``nova-compute`` service, run this command from a console in the -Windows server: - -.. code-block:: none - - PS C:\> C:\Python38\python.exe c:\Python38\Scripts\nova-compute --config-file c:\nova\etc\nova\nova.conf - - -Troubleshooting ---------------- - -* I ran the :command:`nova-manage service list` command from my controller; - however, I'm not seeing smiley faces for Hyper-V compute nodes, what do I do? - - Verify that you are synchronized with a network time source. For - instructions about how to configure NTP on your Hyper-V compute node, see - :ref:`configure-ntp-windows`. - -* How do I restart the compute service? - - .. code-block:: none - - PS C:\> net stop nova-compute && net start nova-compute - -* How do I restart the iSCSI initiator service? - - .. code-block:: none - - PS C:\> net stop msiscsi && net start msiscsi diff --git a/doc/source/admin/configuration/hypervisor-vmware.rst b/doc/source/admin/configuration/hypervisor-vmware.rst index 9de1d0c2aef5..dec7642f31d6 100644 --- a/doc/source/admin/configuration/hypervisor-vmware.rst +++ b/doc/source/admin/configuration/hypervisor-vmware.rst @@ -816,7 +816,7 @@ Tag VMware images In a mixed hypervisor environment, OpenStack Compute uses the ``hypervisor_type`` tag to match images to the correct hypervisor type. For VMware images, set the hypervisor type to ``vmware``. Other valid hypervisor -types include: ``hyperv``, ``ironic``, ``lxc``, and ``qemu``. +types include: ``ironic``, ``lxc``, and ``qemu``. Note that ``qemu`` is used for both QEMU and KVM hypervisor types. .. code-block:: console diff --git a/doc/source/admin/configuration/hypervisors.rst b/doc/source/admin/configuration/hypervisors.rst index 26aa8f97cc28..7e404ea647c4 100644 --- a/doc/source/admin/configuration/hypervisors.rst +++ b/doc/source/admin/configuration/hypervisors.rst @@ -9,7 +9,6 @@ Hypervisors hypervisor-qemu hypervisor-lxc hypervisor-vmware - hypervisor-hyper-v hypervisor-virtuozzo hypervisor-zvm hypervisor-ironic @@ -36,10 +35,6 @@ The following hypervisors are supported: * `VMware vSphere`_ 5.1.0 and newer - Runs VMware-based Linux and Windows images through a connection with a vCenter server. -* `Hyper-V`_ - Server virtualization with Microsoft Hyper-V, use to run - Windows, Linux, and FreeBSD virtual machines. Runs ``nova-compute`` natively - on the Windows virtualization platform. - * `Virtuozzo`_ 7.0.0 and newer - OS Containers and Kernel-based Virtual Machines supported. The supported formats include ploop and qcow2 images. @@ -62,8 +57,6 @@ virt drivers: * :oslo.config:option:`compute_driver` = ``vmwareapi.VMwareVCDriver`` -* :oslo.config:option:`compute_driver` = ``hyperv.HyperVDriver`` - * :oslo.config:option:`compute_driver` = ``zvm.ZVMDriver`` * :oslo.config:option:`compute_driver` = ``fake.FakeDriver`` @@ -75,7 +68,6 @@ virt drivers: .. _LXC: https://linuxcontainers.org .. _QEMU: https://wiki.qemu.org/Manual .. _VMware vSphere: https://www.vmware.com/support/vsphere-hypervisor.html -.. _Hyper-V: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview .. _Virtuozzo: https://www.virtuozzo.com/products/vz7.html .. _zVM: https://www.ibm.com/it-infrastructure/z/zvm .. _Ironic: https://docs.openstack.org/ironic/latest/ diff --git a/doc/source/admin/cpu-topologies.rst b/doc/source/admin/cpu-topologies.rst index 5e6aad1ddfcf..7b0c6ef41f65 100644 --- a/doc/source/admin/cpu-topologies.rst +++ b/doc/source/admin/cpu-topologies.rst @@ -64,8 +64,7 @@ Customizing instance NUMA placement policies .. important:: The functionality described below is currently only supported by the - libvirt/KVM and Hyper-V driver. The Hyper-V driver may require :ref:`some - host configuration ` for this to work. + libvirt/KVM driver. When running workloads on NUMA hosts, it is important that the vCPUs executing processes are on the same NUMA node as the memory used by these processes. @@ -223,11 +222,6 @@ memory mapping between the two nodes, run: are greater than the available number of CPUs or memory respectively, an exception will be raised. -.. note:: - - Hyper-V does not support asymmetric NUMA topologies, and the Hyper-V - driver will not spawn instances with such topologies. - For more information about the syntax for ``hw:numa_nodes``, ``hw:numa_cpus.N`` and ``hw:num_mem.N``, refer to :doc:`/configuration/extra-specs`. @@ -241,8 +235,7 @@ Customizing instance CPU pinning policies The functionality described below is currently only supported by the libvirt/KVM driver and requires :ref:`some host configuration - ` for this to work. Hyper-V does not support CPU - pinning. + ` for this to work. .. note:: @@ -377,7 +370,6 @@ Customizing instance CPU thread pinning policies The functionality described below requires the use of pinned instances and is therefore currently only supported by the libvirt/KVM driver and requires :ref:`some host configuration ` for this to work. - Hyper-V does not support CPU pinning. When running pinned instances on SMT hosts, it may also be necessary to consider the impact that thread siblings can have on the instance workload. The @@ -493,7 +485,6 @@ Customizing instance emulator thread pinning policies The functionality described below requires the use of pinned instances and is therefore currently only supported by the libvirt/KVM driver and requires :ref:`some host configuration ` for this to work. - Hyper-V does not support CPU pinning. In addition to the work of the guest OS and applications running in an instance, there is a small amount of overhead associated with the underlying @@ -826,48 +817,6 @@ if those arbitrary rules aren't enforced : - if they decide using ``governor``, then all dedicated CPU cores *MUST* be online. -Configuring Hyper-V compute nodes for instance NUMA policies ------------------------------------------------------------- - -Hyper-V is configured by default to allow instances to span multiple NUMA -nodes, regardless if the instances have been configured to only span N NUMA -nodes. This behaviour allows Hyper-V instances to have up to 64 vCPUs and 1 TB -of memory. - -Checking NUMA spanning can easily be done by running this following PowerShell -command: - -.. code-block:: console - - (Get-VMHost).NumaSpanningEnabled - -In order to disable this behaviour, the host will have to be configured to -disable NUMA spanning. This can be done by executing these following -PowerShell commands: - -.. code-block:: console - - Set-VMHost -NumaSpanningEnabled $false - Restart-Service vmms - -In order to restore this behaviour, execute these PowerShell commands: - -.. code-block:: console - - Set-VMHost -NumaSpanningEnabled $true - Restart-Service vmms - -The *Virtual Machine Management Service* (*vmms*) is responsible for managing -the Hyper-V VMs. The VMs will still run while the service is down or -restarting, but they will not be manageable by the ``nova-compute`` service. In -order for the effects of the host NUMA spanning configuration to take effect, -the VMs will have to be restarted. - -Hyper-V does not allow instances with a NUMA topology to have dynamic -memory allocation turned on. The Hyper-V driver will ignore the configured -``dynamic_memory_ratio`` from the given ``nova.conf`` file when spawning -instances with a NUMA topology. - .. Links .. _`Image metadata`: https://docs.openstack.org/image-guide/introduction.html#image-metadata .. _`MTTCG project`: http://wiki.qemu.org/Features/tcg-multithread diff --git a/doc/source/admin/pci-passthrough.rst b/doc/source/admin/pci-passthrough.rst index 8bb013b7178c..41f44d5a689b 100644 --- a/doc/source/admin/pci-passthrough.rst +++ b/doc/source/admin/pci-passthrough.rst @@ -83,28 +83,6 @@ are required: ``amd_iommu=on`` parameter to the kernel parameters * Assignable PCIe devices -To enable PCI passthrough on a Hyper-V compute node, the following are -required: - -* Windows 10 or Windows / Hyper-V Server 2016 or newer -* VT-d enabled on the host -* Assignable PCI devices - -In order to check the requirements above and if there are any assignable PCI -devices, run the following Powershell commands: - -.. code-block:: console - - Start-BitsTransfer https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-samples/benarm-powershell/DDA/survey-dda.ps1 - .\survey-dda.ps1 - -If the compute node passes all the requirements, the desired assignable PCI -devices to be disabled and unmounted from the host, in order to be assignable -by Hyper-V. The following can be read for more details: `Hyper-V PCI -passthrough`__. - -.. __: https://devblogs.microsoft.com/scripting/passing-through-devices-to-hyper-v-vms-by-using-discrete-device-assignment/ - Configure ``nova-compute`` ~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/admin/resource-limits.rst b/doc/source/admin/resource-limits.rst index 6439b58b16a8..6401a928379c 100644 --- a/doc/source/admin/resource-limits.rst +++ b/doc/source/admin/resource-limits.rst @@ -280,34 +280,3 @@ To configure a minimum bandwidth allocation of 1024 Mbits/sec and a maximum of $ openstack flavor set $FLAVOR \ --quota:vif_reservation=1024 \ --quota:vif_limit=2048 - -Hyper-V -~~~~~~~ - -CPU limits -^^^^^^^^^^ - -The Hyper-V driver does not support CPU limits. - -Memory limits -^^^^^^^^^^^^^ - -The Hyper-V driver does not support memory limits. - -Disk I/O limits -^^^^^^^^^^^^^^^ - -Hyper-V enforces disk limits through maximum total bytes and total I/O -operations per second, using the :nova:extra-spec:`quota:disk_total_bytes_sec` -and :nova:extra-spec:`quota:disk_total_iops_sec` extra specs, respectively. For -example, to set a maximum disk read/write of 10 MB/sec for a flavor: - -.. code-block:: console - - $ openstack flavor set $FLAVOR \ - --property quota:disk_total_bytes_sec=10485760 - -Network bandwidth limits -^^^^^^^^^^^^^^^^^^^^^^^^ - -The Hyper-V driver does not support network bandwidth limits. diff --git a/doc/source/admin/scheduling.rst b/doc/source/admin/scheduling.rst index 0f276186d2c5..c872c7163fe9 100644 --- a/doc/source/admin/scheduling.rst +++ b/doc/source/admin/scheduling.rst @@ -487,8 +487,7 @@ The image properties that the filter checks for are: This was previously called ``architecture``. ``img_hv_type`` - Describes the hypervisor required by the image. Examples are ``qemu`` - and ``hyperv``. + Describes the hypervisor required by the image. Examples are ``qemu``. .. note:: @@ -511,7 +510,7 @@ The image properties that the filter checks for are: .. code-block:: console - $ openstack image set --property hypervisor_type=hyperv --property \ + $ openstack image set --property hypervisor_type=qemu --property \ hypervisor_version_requires=">=6000" img-uuid .. versionchanged:: 12.0.0 (Liberty) @@ -1051,8 +1050,7 @@ hosts with different hypervisors. For example, the ironic virt driver uses the ironic API micro-version as the hypervisor version for a given node. The libvirt driver uses the libvirt version -i.e. Libvirt `7.1.123` becomes `700100123` vs Ironic `1.82` becomes `1` -Hyper-V `6.3` becomes `6003`. +i.e. Libvirt `7.1.123` becomes `700100123` vs Ironic `1.82` becomes `1`. If you have a mixed virt driver deployment in the ironic vs non-ironic case nothing special needs to be done. ironic nodes are scheduled using custom @@ -1225,17 +1223,6 @@ resources are overcommitted or not: Some virt drivers may benefit from the use of these options to account for hypervisor-specific overhead. -HyperV - Hyper-V creates a VM memory file on the local disk when an instance starts. - The size of this file corresponds to the amount of RAM allocated to the - instance. - - You should configure the - :oslo.config:option:`reserved_host_disk_mb` config option to - account for this overhead, based on the amount of memory available - to instances. - - Cells considerations -------------------- diff --git a/doc/source/admin/secure-boot.rst b/doc/source/admin/secure-boot.rst index 3e2ccb084b0a..a4d2852a92e4 100644 --- a/doc/source/admin/secure-boot.rst +++ b/doc/source/admin/secure-boot.rst @@ -19,9 +19,8 @@ Enabling Secure Boot Currently the configuration of UEFI guest bootloaders is only supported when using the libvirt compute driver with a :oslo.config:option:`libvirt.virt_type` -of ``kvm`` or ``qemu`` or when using the Hyper-V compute driver with certain -machine types. In both cases, it requires the guests also be configured with a -:doc:`UEFI bootloader `. +of ``kvm`` or ``qemu``. In both cases, it requires the guests also be configured +with a :doc:`UEFI bootloader `. With these requirements satisfied, you can verify UEFI Secure Boot support by inspecting the traits on the compute node's resource provider: @@ -89,48 +88,11 @@ configured, are met. For example: If both the image metadata property and flavor extra spec are provided, they must match. If they do not, an error will be raised. -.. rubric:: Hyper-V - -Like libvirt, configuring a guest for UEFI Secure Boot support also requires -that it be configured with a UEFI bootloader: As noted in :doc:`uefi`, it is -not possible to do this explicitly in Hyper-V. Rather, you should configure the -guest to use the *Generation 2* machine type. In addition to this, the Hyper-V -compute driver also requires that the OS type be configured. - -When both of these constraints are met, you can configure UEFI Secure Boot -support using the :nova:extra-spec:`os:secure_boot` extra spec or equivalent -image metadata property. For example, to configure an image that meets all the -above requirements: - -.. code-block:: bash - - $ openstack image set \ - --property hw_machine_type=hyperv-gen2 \ - --property os_type=windows \ - --property os_secure_boot=required \ - $IMAGE - -As with the libvirt driver, it is also possible to request that secure boot be -disabled. This is the default behavior, so this is typically useful when an -admin wishes to explicitly prevent a user requesting secure boot. For example, -to disable secure boot via the flavor: - -.. code-block:: bash - - $ openstack flavor set --property os:secure_boot=disabled $IMAGE - -However, unlike the libvirt driver, the Hyper-V driver does not respect the -``optional`` value for the image metadata property. If this is configured, it -will be silently ignored. - - References ---------- * `Allow Secure Boot (SB) for QEMU- and KVM-based guests (spec)`__ * `Securing Secure Boot with System Management Mode`__ -* `Generation 2 virtual machine security settings for Hyper-V`__ .. __: https://specs.openstack.org/openstack/nova-specs/specs/wallaby/approved/allow-secure-boot-for-qemu-kvm-guests.html .. __: http://events17.linuxfoundation.org/sites/events/files/slides/kvmforum15-smm.pdf -.. __: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/learn-more/generation-2-virtual-machine-security-settings-for-hyper-v diff --git a/doc/source/admin/uefi.rst b/doc/source/admin/uefi.rst index 8c10f205066c..722fabf6b686 100644 --- a/doc/source/admin/uefi.rst +++ b/doc/source/admin/uefi.rst @@ -16,8 +16,7 @@ Enabling UEFI Currently the configuration of UEFI guest bootloaders is only supported when using the libvirt compute driver with a :oslo.config:option:`libvirt.virt_type` -of ``kvm`` or ``qemu`` or when using the Hyper-V compute driver with certain -machine types. When using the libvirt compute driver with AArch64-based guests, +of ``kvm`` or ``qemu``. When using the libvirt compute driver with AArch64-based guests, UEFI is automatically enabled as AArch64 does not support BIOS. .. todo:: @@ -41,29 +40,11 @@ architectures, you can request UEFI support with libvirt by setting the $ openstack image set --property hw_firmware_type=uefi $IMAGE -.. rubric:: Hyper-V - -It is not possible to explicitly request UEFI support with Hyper-V. Rather, it -is enabled implicitly when using `Generation 2`__ guests. You can request a -Generation 2 guest by setting the ``hw_machine_type`` image metadata property -to ``hyperv-gen2``. For example: - -.. code-block:: bash - - $ openstack image set --property hw_machine_type=hyperv-gen2 $IMAGE - -.. __: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v - - References ---------- -* `Hyper-V UEFI Secure Boot (spec)`__ * `Open Virtual Machine Firmware (OVMF) Status Report`__ * `Anatomy of a boot, a QEMU perspective`__ -* `Should I create a generation 1 or 2 virtual machine in Hyper-V?`__ -.. __: https://specs.openstack.org/openstack/nova-specs/specs/ocata/implemented/hyper-v-uefi-secureboot.html .. __: http://www.linux-kvm.org/downloads/lersek/ovmf-whitepaper-c770f8c.txt .. __: https://www.qemu.org/2020/07/03/anatomy-of-a-boot/ -.. __: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v diff --git a/doc/source/contributor/code-review.rst b/doc/source/contributor/code-review.rst index a887bbb92d7c..54eb634c65df 100644 --- a/doc/source/contributor/code-review.rst +++ b/doc/source/contributor/code-review.rst @@ -176,8 +176,8 @@ from the relevant third party test, on the latest patchset, before a +2 vote can be applied. Specifically, changes to nova/virt/driver/ need a +1 vote from the respective third party CI. -For example, if you change something in the Hyper-V virt driver, you must wait -for a +1 from the Hyper-V CI on the latest patchset, before you can give that +For example, if you change something in the VMware virt driver, you must wait +for a +1 from the VMware CI on the latest patchset, before you can give that patch set a +2 vote. This is important to ensure: diff --git a/doc/source/user/feature-matrix-gp.ini b/doc/source/user/feature-matrix-gp.ini index c168adaeb4dd..64f2670a2d72 100644 --- a/doc/source/user/feature-matrix-gp.ini +++ b/doc/source/user/feature-matrix-gp.ini @@ -22,10 +22,6 @@ link=https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_Storage_CI title=VMware CI link=https://wiki.openstack.org/wiki/NovaVMware/Minesweeper -[target.hyperv] -title=Hyper-V CI -link=https://wiki.openstack.org/wiki/ThirdPartySystems/Hyper-V_CI - [target.zvm] title=IBM zVM CI link=https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_z/VM_CI @@ -64,7 +60,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=unknown zvm=complete @@ -83,7 +78,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=unknown -hyperv=unknown ironic=unknown zvm=complete @@ -101,7 +95,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=unknown zvm=complete @@ -119,7 +112,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=unknown zvm=missing @@ -137,7 +129,6 @@ libvirt-virtuozzo-ct=complete libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=unknown zvm=missing @@ -154,7 +145,6 @@ libvirt-kvm-s390=unknown libvirt-virtuozzo-ct=complete libvirt-virtuozzo-vm=complete vmware=complete -hyperv=complete ironic=missing zvm=missing @@ -175,7 +165,6 @@ libvirt-virtuozzo-ct=missing libvirt-virtuozzo-vm=complete vmware=partial driver-notes-vmware=This is not tested in a CI system, but it is implemented. -hyperv=complete:n ironic=missing zvm=missing @@ -195,8 +184,6 @@ libvirt-virtuozzo-ct=unknown libvirt-virtuozzo-vm=unknown vmware=partial driver-notes-vmware=This is not tested in a CI system, but it is implemented. -hyperv=partial -driver-notes-hyperv=This is not tested in a CI system, but it is implemented. ironic=missing zvm=partial driver-notes-zvm=This is not tested in a CI system, but it is implemented. @@ -216,7 +203,6 @@ libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=partial driver-notes-vmware=This is not tested in a CI system, but it is implemented. -hyperv=complete ironic=missing zvm=complete @@ -235,7 +221,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=missing zvm=missing @@ -253,8 +238,6 @@ libvirt-virtuozzo-ct=unknown libvirt-virtuozzo-vm=unknown vmware=partial driver-notes-vmware=This is not tested in a CI system, but it is implemented. -hyperv=partial -driver-notes-hyperv=This is not tested in a CI system, but it is implemented. ironic=missing zvm=complete @@ -273,8 +256,6 @@ libvirt-virtuozzo-ct=partial driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is implemented. libvirt-virtuozzo-vm=complete vmware=complete -hyperv=partial -driver-notes-hyperv=This is not tested in a CI system, but it is implemented. ironic=missing zvm=missing @@ -293,7 +274,6 @@ libvirt-virtuozzo-ct=missing libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=complete -hyperv=complete ironic=partial driver-notes-ironic=This is not tested in a CI system, but it is implemented. zvm=complete @@ -312,8 +292,6 @@ libvirt-kvm-s390=unknown libvirt-virtuozzo-ct=missing libvirt-virtuozzo-vm=missing vmware=missing -hyperv=partial -driver-notes-hyperv=This is not tested in a CI system, but it is implemented. ironic=missing zvm=missing @@ -332,6 +310,5 @@ libvirt-kvm-s390=unknown libvirt-virtuozzo-ct=missing libvirt-virtuozzo-vm=complete vmware=missing -hyperv=complete ironic=missing zvm=missing diff --git a/doc/source/user/feature-matrix-hpc.ini b/doc/source/user/feature-matrix-hpc.ini index d370e86066b2..f84de2334e31 100644 --- a/doc/source/user/feature-matrix-hpc.ini +++ b/doc/source/user/feature-matrix-hpc.ini @@ -18,10 +18,6 @@ link=https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_Storage_CI title=VMware CI link=https://wiki.openstack.org/wiki/NovaVMware/Minesweeper -[target.hyperv] -title=Hyper-V CI -link=https://wiki.openstack.org/wiki/ThirdPartySystems/Hyper-V_CI - [target.ironic] title=Ironic link=http://docs.openstack.org/infra/manual/developers.html#project-gating @@ -45,7 +41,6 @@ driver-notes-libvirt-virtuozzo-ct=This is not tested in a CI system, but it is i libvirt-virtuozzo-vm=partial driver-notes-libvirt-virtuozzo-vm=This is not tested in a CI system, but it is implemented. vmware=missing -hyperv=missing ironic=unknown @@ -60,5 +55,4 @@ libvirt-kvm-s390=unknown libvirt-virtuozzo-ct=unknown libvirt-virtuozzo-vm=unknown vmware=missing -hyperv=missing ironic=missing diff --git a/doc/source/user/flavors.rst b/doc/source/user/flavors.rst index 946ac241a619..1450d81d73c0 100644 --- a/doc/source/user/flavors.rst +++ b/doc/source/user/flavors.rst @@ -134,7 +134,7 @@ Secure Boot .. note:: - Supported by the Hyper-V and libvirt drivers. + Supported by the libvirt driver. .. versionchanged:: 23.0.0 (Wallaby) diff --git a/doc/source/user/support-matrix.ini b/doc/source/user/support-matrix.ini index ae5bbde11046..84975deac094 100644 --- a/doc/source/user/support-matrix.ini +++ b/doc/source/user/support-matrix.ini @@ -98,9 +98,6 @@ title=Libvirt Virtuozzo CT [driver.vmware] title=VMware vCenter -[driver.hyperv] -title=Hyper-V - [driver.ironic] title=Ironic @@ -126,7 +123,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -145,7 +141,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -163,7 +158,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -188,7 +182,6 @@ driver.libvirt-kvm-s390x=unknown driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=unknown driver.libvirt-vz-ct=missing @@ -212,10 +205,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=partial -driver-notes.hyperv=Works without issue if instance is off. When - hotplugging, only works if using Windows/Hyper-V Server 2016 and - the instance is a Generation 2 VM. driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -234,7 +223,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -252,10 +240,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete -driver-notes.hyperv=Works without issue if instance is off. When - hotplugging, only works if using Windows/Hyper-V Server 2016 and - the instance is a Generation 2 VM. driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -279,7 +263,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=missing driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -304,7 +287,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=unknown driver.libvirt-lxc=unknown driver.vmware=unknown -driver.hyperv=unknown driver.ironic=unknown driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -326,7 +308,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -346,7 +327,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=unknown driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -367,7 +347,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -386,7 +365,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -405,7 +383,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -433,7 +410,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -464,7 +440,6 @@ driver.libvirt-qemu-x86=complete driver-notes.libvirt-qemu-x86=Requires libvirt>=1.3.3, qemu>=2.5.0 driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -492,7 +467,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=unknown driver.libvirt-vz-ct=unknown @@ -512,7 +486,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -538,7 +511,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -560,7 +532,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -585,7 +556,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -610,7 +580,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver-notes.vz-vm=Resizing Virtuozzo instances implies guest filesystem resize also @@ -630,7 +599,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -660,7 +628,6 @@ driver.libvirt-qemu-x86=complete driver-notes.libvirt-qemu-x86=Requires libvirt>=1.2.16 and hw_qemu_guest_agent. driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver-notes.libvirt-vz-vm=Requires libvirt>=2.0.0 @@ -689,7 +656,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -721,7 +687,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -746,7 +711,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -771,7 +735,6 @@ driver-notes.libvirt-lxc=Fails in latest Ubuntu Trusty kernel 3.13.x kernels as well as default Ubuntu Trusty latest kernel (3.13.0-58-generic). driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -793,7 +756,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=complete driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -811,7 +773,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -831,7 +792,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=missing driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -854,7 +814,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -881,7 +840,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -907,7 +865,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -937,7 +894,6 @@ driver-notes.libvirt-qemu-x86=Only for Debian derived guests driver.libvirt-lxc=missing driver.vmware=partial driver-notes.vmware=requires vmware tools installed -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -962,7 +918,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=missing driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -988,7 +943,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1015,7 +969,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=unknown driver.libvirt-lxc=unknown driver.vmware=missing -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1040,7 +993,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1065,7 +1017,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -1092,7 +1043,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=partial driver.libvirt-vz-ct=missing @@ -1113,7 +1063,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -1137,7 +1086,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -1158,7 +1106,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -1181,7 +1128,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=complete -driver.hyperv=complete driver.ironic=complete driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -1199,9 +1145,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=complete -driver.hyperv=complete -driver-notes.hyperv=In order to use uefi, a second generation Hyper-V vm must - be requested. driver.ironic=partial driver-notes.ironic=depends on hardware support driver.libvirt-vz-vm=missing @@ -1231,7 +1174,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=unknown driver.vmware=missing -driver.hyperv=complete driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=unknown @@ -1251,7 +1193,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1269,7 +1210,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1292,7 +1232,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=missing @@ -1321,7 +1260,6 @@ driver.libvirt-qemu-x86=complete driver-notes.libvirt-qemu-x86=The same restrictions apply as KVM x86. driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=unknown driver.libvirt-vz-ct=missing @@ -1343,7 +1281,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=complete driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -1365,7 +1302,6 @@ driver.libvirt-kvm-s390x=unknown driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1385,7 +1321,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1407,7 +1342,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=complete driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1432,7 +1366,6 @@ driver.libvirt-kvm-s390x=missing driver.libvirt-qemu-x86=missing driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing @@ -1454,7 +1387,6 @@ driver.libvirt-kvm-s390x=complete driver.libvirt-qemu-x86=complete driver.libvirt-lxc=unknown driver.vmware=partial -driver.hyperv=partial driver.ironic=missing driver.libvirt-vz-vm=complete driver.libvirt-vz-ct=complete @@ -1477,7 +1409,6 @@ driver.libvirt-qemu-x86=partial driver-notes.libvirt-qemu-x86=Move operations are not yet supported. driver.libvirt-lxc=missing driver.vmware=missing -driver.hyperv=missing driver.ironic=missing driver.libvirt-vz-vm=missing driver.libvirt-vz-ct=missing diff --git a/nova/tests/unit/test_hacking.py b/nova/tests/unit/test_hacking.py index 41cbada99faf..4914367798fd 100644 --- a/nova/tests/unit/test_hacking.py +++ b/nova/tests/unit/test_hacking.py @@ -58,11 +58,11 @@ class HackingTestCase(test.NoDBTestCase): self.assertEqual(expect, checks.import_no_virt_driver_import_deps( "from nova.virt.libvirt import utils as libvirt_utils", - "./nova/virt/hyperv/driver.py")) + "./nova/virt/zvm/driver.py")) self.assertEqual(expect, checks.import_no_virt_driver_import_deps( "import nova.virt.libvirt.utils as libvirt_utils", - "./nova/virt/hyperv/driver.py")) + "./nova/virt/zvm/driver.py")) self.assertIsNone(checks.import_no_virt_driver_import_deps( "from nova.virt.libvirt import utils as libvirt_utils", @@ -72,7 +72,7 @@ class HackingTestCase(test.NoDBTestCase): self.assertIsInstance(checks.import_no_virt_driver_config_deps( "CONF.import_opt('volume_drivers', " "'nova.virt.libvirt.driver', group='libvirt')", - "./nova/virt/hyperv/driver.py"), tuple) + "./nova/virt/zm/driver.py"), tuple) self.assertIsNone(checks.import_no_virt_driver_config_deps( "CONF.import_opt('volume_drivers', "