diff --git a/README.rst b/README.rst index 028448f0fc2f..b88b4a2955df 100644 --- a/README.rst +++ b/README.rst @@ -10,7 +10,7 @@ OpenStack Nova OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), -Hyper-V, VMware and OpenStack Ironic. +VMware and OpenStack Ironic. Use the following resources to learn more. diff --git a/doc/source/configuration/extra-specs.rst b/doc/source/configuration/extra-specs.rst index 94233c5e947f..dc1347824f00 100644 --- a/doc/source/configuration/extra-specs.rst +++ b/doc/source/configuration/extra-specs.rst @@ -176,10 +176,9 @@ They are only supported by the libvirt virt driver. ``os`` ~~~~~~ -The following extra specs are used to configure various attributes of -instances when using the HyperV virt driver. +The following extra specs are used to configure secure_boot. -They are only supported by the HyperV virt driver. +They are only supported by the libvirt virt driver. .. extra-specs:: os diff --git a/nova/api/validation/extra_specs/os.py b/nova/api/validation/extra_specs/os.py index 09ba6283ea30..b16756fe1034 100644 --- a/nova/api/validation/extra_specs/os.py +++ b/nova/api/validation/extra_specs/os.py @@ -17,14 +17,14 @@ from nova.api.validation.extra_specs import base -# TODO(stephenfin): Most of these belong in the 'hw:' or 'hyperv:' namespace +# TODO(stephenfin): Most of these belong in the 'hw:' namespace # and should be moved. EXTRA_SPEC_VALIDATORS = [ base.ExtraSpecValidator( name='os:secure_boot', description=( 'Determine whether secure boot is enabled or not. Only supported ' - 'by the libvirt and HyperV virt drivers.' + 'by the libvirt virt drivers.' ), value={ 'type': str, @@ -35,59 +35,6 @@ EXTRA_SPEC_VALIDATORS = [ ], }, ), - base.ExtraSpecValidator( - name='os:resolution', - description=( - 'Guest VM screen resolution size. Only supported by the HyperV ' - 'driver.' - ), - value={ - 'type': str, - 'description': 'The chosen resolution', - 'enum': [ - '1024x768', - '1280x1024', - '1600x1200', - '1920x1200', - '2560x1600', - '3840x2160', - ], - }, - ), - base.ExtraSpecValidator( - name='os:monitors', - description=( - 'Guest VM number of monitors. Only supported by the HyperV driver.' - ), - value={ - 'type': int, - 'description': 'The number of monitors enabled', - 'min': 1, - 'max': 8, - }, - ), - # TODO(stephenfin): Consider merging this with the 'hw_video_ram' image - # metadata property or adding a 'hw:video_ram' extra spec that works for - # both Hyper-V and libvirt. - base.ExtraSpecValidator( - name='os:vram', - description=( - 'Guest VM VRAM amount. Only supported by the HyperV driver.' - ), - # NOTE(stephenfin): This is really an int, but because there's a - # limited range of options we treat it as a string - value={ - 'type': str, - 'description': 'Amount of VRAM to allocate to instance', - 'enum': [ - '64', - '128', - '256', - '512', - '1024', - ], - }, - ), ] diff --git a/nova/api/validation/extra_specs/quota.py b/nova/api/validation/extra_specs/quota.py index f0ff3db2a677..4b640fa4d1ff 100644 --- a/nova/api/validation/extra_specs/quota.py +++ b/nova/api/validation/extra_specs/quota.py @@ -146,14 +146,12 @@ EXTRA_SPEC_VALIDATORS.extend( ) -# Disk quotas (libvirt, HyperV) +# Disk quotas (libvirt) for stat in ('read', 'write', 'total'): for metric in ('bytes', 'iops'): EXTRA_SPEC_VALIDATORS.append( base.ExtraSpecValidator( name=f'quota:disk_{stat}_{metric}_sec', - # NOTE(stephenfin): HyperV supports disk_total_{metric}_sec - # too; update description=( f'The quota {stat} {metric} for disk. ' f'Only supported by the libvirt virt driver.' diff --git a/nova/tests/unit/api/validation/extra_specs/test_validators.py b/nova/tests/unit/api/validation/extra_specs/test_validators.py index a8911aadadbd..e639c02407a4 100644 --- a/nova/tests/unit/api/validation/extra_specs/test_validators.py +++ b/nova/tests/unit/api/validation/extra_specs/test_validators.py @@ -105,8 +105,6 @@ class TestValidators(test.NoDBTestCase): def test_value__int(self): valid_specs = ( ('hw:numa_nodes', '1'), - ('os:monitors', '1'), - ('os:monitors', '8'), ) for key, value in valid_specs: validators.validate(key, value) @@ -115,8 +113,6 @@ class TestValidators(test.NoDBTestCase): ('hw:serial_port_count', 'five'), # NaN ('hw:serial_port_count', '!'), # NaN ('hw:numa_nodes', '0'), # has min - ('os:monitors', '0'), # has min - ('os:monitors', '9'), # has max ) for key, value in invalid_specs: with testtools.ExpectedException(exception.ValidationError): diff --git a/releasenotes/notes/remove-hyperv-94d5bfd8a539fe9f.yaml b/releasenotes/notes/remove-hyperv-94d5bfd8a539fe9f.yaml index 99e0a0239e30..38fd5685d831 100644 --- a/releasenotes/notes/remove-hyperv-94d5bfd8a539fe9f.yaml +++ b/releasenotes/notes/remove-hyperv-94d5bfd8a539fe9f.yaml @@ -45,3 +45,10 @@ upgrade: * ``[hyperv] iscsi_initiator_list`` * ``[rdp] enabled`` * ``[rdp] html5_proxy_base_url`` + + The following extra specs which only apply for the ``HyperV`` virt + driver have been removed. + + * ``os:resolution`` + * ``os:monitors`` + * ``os:vram``