Over committing is not working once upgraded to 9.2 ( both CPU and RAM )

Bug #1699881 reported by Chandra
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
High
Max Yatsenko

Bug Description

Hi,

Fuel Version : 9.2

Steps :

1. Update fuel to 9.2

2. add nodes to env ( 1 Controller + 3 compute +ceph )

3. deploy env

4. once env is success , go to controller and change ram_allocation_ratio and cpu_allocation_ratio

ram_allocation_ratio = 1.5
cpu_allocation_ratio - 4

5. restart nova-scheduler services

6. spin up new instance with ram > compute host RAM

Expected results :

Instance should spin up

Actual result :

Instance failed with error

No valid host was found. There are not enough hosts available.
Code
500
Details
File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 425, in build_instances context, request_spec, filter_properties) File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 469, in _schedule_instances hosts = self.scheduler_client.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/utils.py", line 372, in wrapped return func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/__init__.py", line 51, in select_destinations return self.queryclient.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/__init__.py", line 37, in __run_method return getattr(self.instance, __name)(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/query.py", line 32, in select_destinations return self.scheduler_rpcapi.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/rpcapi.py", line 121, in select_destinations return cctxt.call(ctxt, 'select_destinations', **msg_args) File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py", line 158, in call retry=self.retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/transport.py", line 91, in _send timeout=timeout, retry=retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 512, in send retry=retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 503, in _send raise result

Note : default CPU is set to 1:8 but it accept only 1:1

Revision history for this message
Chandra (reddydodda) wrote :
tags: added: fuel9.2
tags: added: nova
Revision history for this message
Chandra (reddydodda) wrote :
Download full text (4.5 KiB)

nova-scheduler.log

This is for instance i tried to create ( 2vCPU , 1GB ram , 10Gb HDD ) ,

2017-06-22 19:38:29.511 5283 DEBUG nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Starting with 3 host(s) get_filtered_objects /usr/lib/python2.7/dist-packages/nova/filters.py:70
2017-06-22 19:38:29.512 5283 DEBUG nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Filter RetryFilter returned 3 host(s) get_filtered_objects /usr/lib/python2.7/dist-packages/nova/filters.py:104
2017-06-22 19:38:29.513 5283 DEBUG nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Filter AvailabilityZoneFilter returned 3 host(s) get_filtered_objects /usr/lib/python2.7/dist-packages/nova/filters.py:104
2017-06-22 19:38:29.513 5283 DEBUG nova.scheduler.filters.ram_filter [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] (node-4.domain.tld, node-4.domain.tld) ram: 464MB disk: 207872MB io_ops: 0 instances: 1 does not have 1024 MB usable ram, it only has 464.0 MB usable ram. host_passes /usr/lib/python2.7/dist-packages/nova/scheduler/filters/ram_filter.py:59
2017-06-22 19:38:29.515 5283 DEBUG nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Filter RamFilter returned 2 host(s) get_filtered_objects /usr/lib/python2.7/dist-packages/nova/filters.py:104
2017-06-22 19:38:29.517 5283 DEBUG nova.scheduler.filters.core_filter [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] (node-3.domain.tld, node-3.domain.tld) ram: 1488MB disk: 207872MB io_ops: 0 instances: 0 does not have 2 total cpus before overcommit, it only has 1 host_passes /usr/lib/python2.7/dist-packages/nova/scheduler/filters/core_filter.py:56
2017-06-22 19:38:29.518 5283 DEBUG nova.scheduler.filters.core_filter [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] (node-2.domain.tld, node-2.domain.tld) ram: 1488MB disk: 207872MB io_ops: 0 instances: 0 does not have 2 total cpus before overcommit, it only has 1 host_passes /usr/lib/python2.7/dist-packages/nova/scheduler/filters/core_filter.py:56
2017-06-22 19:38:29.518 5283 INFO nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Filter CoreFilter returned 0 hosts
2017-06-22 19:38:29.520 5283 DEBUG nova.filters [req-eaf5f257-d4cf-406b-8e5f-b25ba8afd119 91b375d4da034371b3e5733136901ab1 e623d125e1184603b31ddd18fc0b77a7 - - -] Filtering removed all hosts for the request with instance ID '218ed6cd-8a70-4b53-ae7a-022d77afbab7'. Filter results: [('RetryFilter', [(u'node-4.domain.tld', u'node-4.domain.tld'), (u'node-3.domain.tld', u'node-3.domain.tld'), (u'node-2.domain.tld', u'node-2.domain.tld')]), ('AvailabilityZoneFilter', [(u'node-4.domain.tld', u'node-4.domain.tld'), (u'node-3.domain.tld', u'node-3.domain....

Read more...

Changed in fuel:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → MOS Maintenance (mos-maintenance)
milestone: none → 9.x-updates
tags: added: customer-found
Max Yatsenko (myatsenko)
Changed in fuel:
assignee: MOS Maintenance (mos-maintenance) → Max Yatsenko (myatsenko)
Revision history for this message
Max Yatsenko (myatsenko) wrote :

Unfortunatelly, I was not able to reproduce this issue.
To reproduce the issue it was used environments with MOS9.0, MOS9.2, MOS(9.0 upgraded to 9.2).
It was used the following configuration:
1Controller (1cpu, 4GB RAM)
3Computes+Ceph (1cpu, 4GB RAM)

The following strategy was used:
1.Deploy environment
2.Spin up instances with some configuration to reach the boundary values.
  For example, for configuration: 1vcpu, 2GB RAM, 20GB disk
  only 3 instances can be run (an error is arose if instances > 3).
3. Edit /etc/nova/nova.conf:
   - increase value for ram_allocation_rratio=2
4. Spin up another instance with configuration: 1vcpu, 2GB RAM, 20GB disk
5. Decrease value of cpu_allocation_ratio parameter in /etc/nova/nova.conf (for example to 4).
   It leads to situation when only 4 instances with 1vcpu can be spun up (default value is 8).

So, when "ram_allocation_rratio", "cpu_allocation_ratio" parameters are adjusted -
it changes allocation ratio for virual/phisical ratio for cpu and ram resources.

I close this bug like invalid, but feel free to reopen this bug if you meet with such
issue again. In this case please provide more information about total RAM memory,
used/free memory, cached memory at that time when the problem is observed.

Changed in fuel:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.