HugePage flavor fails openstack-nova-scheduler placement even though Compute supports HugePages
Issue
When we try to create an instance that requires HugePages, our flavor matches the HugePages configuration of the designated compute, but nova-scheduler refuses, resulting in an instance in NOSTATE:
+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
| OS-EXT-AZ:availability_zone |
| OS-EXT-SRV-ATTR:host | None
| OS-EXT-SRV-ATTR:hypervisor_hostname | None
| OS-EXT-SRV-ATTR:instance_name | instance-0000000f
| OS-EXT-STS:power_state | NOSTATE
| OS-EXT-STS:task_state | None
| OS-EXT-STS:vm_state | error
| OS-SRV-USG:launched_at | None
| OS-SRV-USG:terminated_at | None
| accessIPv4 |
| accessIPv6 |
| addresses |
| config_drive |
| created | 2019-08-03T00:14:08Z
| fault | {u'message': u'No valid host was found. There are not enough hosts available.',
| | u'code': 500, u'details': u' File "/usr/lib/python2.7/site-
| | packages/nova/conductor/manager.py", line 497, in build_instances\n context,
| | request_spec, filter_properties)\n File "/usr/lib/python2.7/site-
| | packages/nova/conductor/manager.py", line 568, in _schedule_instances\n
| | hosts = self.scheduler_client.select_destinations(context, spec_obj)\n File
| | "/usr/lib/python2.7/site-packages/nova/scheduler/utils.py", line 370, in wrapped\n
| | return func(*args, **kwargs)\n File "/usr/lib/python2.7/site-
| | packages/nova/scheduler/client/__init__.py", line 51, in select_destinations\n
| | return self.queryclient.select_destinations(context, spec_obj)\n File
| | "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 37,
| | in __run_method\n return getattr(self.instance, __name)(*args, **kwargs)\n File
| | "/usr/lib/python2.7/site-packages/nova/scheduler/client/query.py", line 32, in
| | select_destinations\n return self.scheduler_rpcapi.select_destinations(context,
| | spec_obj)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/rpcapi.py",
| | line 126, in select_destinations\n return cctxt.call(ctxt,\'select_destinations\',
| | **msg_args)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py",
| | line 169, in call\n retry=self.retry)\n File "/usr/lib/python2.7/site-
| | packages/oslo_messaging/transport.py", line 97, in _send\n timeout=timeout,
| | retry=retry)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers
| | /amqpdriver.py", line 584, in send\n retry=retry)\n
| | File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py",
| | line 575, in _send\n raise result\n', u'created': u'2019-08-03T00:14:09Z'}
| flavor | test-flavor4 (9273b869-8e92-4b4e-ab7a-22ba17595b00)
| hostId |
| id | 09c01855-8138-4435-8777-db4ad0269f5a
| image | test-image (f83c5835-4e20-4b82-b624-39e68da7aae6)
| key_name | test-keypair
| name | test-instance4
| os-extended-volumes:volumes_attached | []
| project_id | f1cf591eb1c24d4d9d5890acc809f5b2
| properties |
| status | ERROR
| updated | 2019-08-03T00:14:09Z
| user_id | 632c3b2d23a94b0e8f9430929ac4534c
+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
In nova-scheduler logs, you see errors:
- Host does not support requested memory pagesize. Requested: 1048576 kB
- Filtering removed all hosts for the request with instance ID 'f1ab3263-0c76-45e1-a89f-6b40a9a65d60'. Filter results: ['RetryFilter: (start: 88, end: 88)', 'AvailabilityZoneFilter: (start: 88, end: 88)', 'NUMATopologyFilter: (start: 88, end: 0)'
Environment
- Red Hat OpenStack Platform 13
- Red Hat OpenStack Platform 10
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.