yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #55450
[Bug 1515536] Re: create vm with share cpu_policy breaks exist vm with dedicated cpu_policy when use cpu_allocation
This is not a bug. By definition, instances with the 'shared' have no
awareness of the requirements of those with 'dedicated'. You should use
host aggregates to separate instances using 'dedicated' policies from
the other. Refer to the documentation for more info (the caution)
http://docs.openstack.org/admin-guide/compute-cpu-topologies.html
#customizing-instance-cpu-pinning-policies
** Description changed:
1. version
+ ==========
+
kilo 2015.1.0
3. Reproduce steps:
+ ===================
- 3.1 environment described
+ 3.1 environment described
+ --------------------------
- I have one compute node with 32 cpus,
+ I have one compute node with 32 CPUs. Its NUMA topology is as follows:
- It’s numa_topology is as follows:
- 2 sockets * 8 cores * 2 thread = 32
+ 2 sockets * 8 cores * 2 thread = 32
- set cpu_allocation_ratio=2 in nova.conf
+ I have configured cpu_allocation_ratio=2 in 'nova.conf'.
- 3.2 create a flavor with 32 cpus:
+ 3.2 create a flavor with 32 CPUs
+ --------------------------------
- [root@nail-SBCJ-5-3-13 nova(keystone_admin)]# nova flavor-show 30cpu
- +----------------------------+-------+
- | Property | Value |
- +----------------------------+-------+
- | OS-FLV-DISABLED:disabled | False |
- | OS-FLV-EXT-DATA:ephemeral | 0 |
- | disk | 1 |
- | extra_specs | {} |
- | id | 7 |
- | name | 32cpu |
- | os-flavor-access:is_public | True |
- | ram | 512 |
- | rxtx_factor | 1.0 |
- | swap | |
- | vcpus | 32 |
- +----------------------------+-------+
+ Create a flavor and set NUMA properties as follows:
- 3.2 Set the numa properties as follows,then,create vm use the flavor
- nova flavor-key 32cpu set hw:numa_nodes=2 hw:numa_cpus.0="0-15" hw:numa_mem.0=256 hw:numa_cpus.1="16-31" hw:numa_mem.1=256 hw:cpu_policy=dedicated
+ $ nova flavor-key 32cpu set hw:numa_nodes=2 \
+ hw:numa_cpus.0="0-15" hw:numa_mem.0=256 \
+ hw:numa_cpus.1="16-31" hw:numa_mem.1=256 \
+ hw:cpu_policy=dedicated
- 3.3 create another flavor with 20 cpus ,Set the numa properties as follows,then,create vm use the flavor
- nova flavor-key 20cpu set hw:numa_nodes=2 hw:numa_cpus.0="0-9" hw:numa_mem.0=256 hw:numa_cpus.1="10-19" hw:numa_mem.1=256 hw:cpu_policy=share
+ $ nova flavor-show 32cpu
+ +----------------------------+-------+
+ | Property | Value |
+ +----------------------------+-------+
+ | OS-FLV-DISABLED:disabled | False |
+ | OS-FLV-EXT-DATA:ephemeral | 0 |
+ | disk | 1 |
+ | extra_specs | {} |
+ | id | 7 |
+ | name | 32cpu |
+ | os-flavor-access:is_public | True |
+ | ram | 512 |
+ | rxtx_factor | 1.0 |
+ | swap | |
+ | vcpus | 32 |
+ +----------------------------+-------+
+
+ Create a VM using this flavor.
+
+ 3.3 create another flavor with 20 cpus
+ --------------------------------------
+
+ Create another flavor and set NUMA properties as follows:
+
+ $ nova flavor-key 20cpu set hw:numa_nodes=2 \
+ hw:numa_cpus.0="0-9" hw:numa_mem.0=256 \
+ hw:numa_cpus.1="10-19" hw:numa_mem.1=256 \
+ hw:cpu_policy=share
+
+ Create another VM using this flavor.
+
+ 4 Expected Results
+ ==================
+
Expected result: create failed
Actual result : create success
- 4
- 4.1
- if cpu_policy=dedicated mean the vm has exclusive rights to the specified CPU,
- Then the above phenomenon is not reasonable.
- because Even with cpu_allocation, the vm create with share cpu policy is sure to use the compute node's CPU.
- so, the vm should create failed when exist vm with dedicated take up all cpu on compute node
-
- 4.2
- if cpu_policy=dedicated mean the vm Can only use he specified CPU。
- then, The following phenomenon is not reasonable:
- In the same environment
- create flavor with 20 cpus ,Set the numa properties as follows,then,create 2 vm use the flavor
- nova flavor-key 20cpu hw:numa_nodes=2 hw:numa_cpus.0="0-9" hw:numa_mem.0=256 hw:numa_cpus.1="10-19" hw:numa_mem.1=256 hw:cpu_policy=dedicated
- Result : one create success, one create failed
-
- In a word, no matter how to explain ,the 4.1 and 4.2 must have one is
- not reasonable
+ If 'cpu_policy=dedicated' is configured, this should mean the VM has
+ exclusive rights to the specified CPU(s). Even with cpu_allocation, a VM
+ created with the 'shared' CPU policy is sure to use the compute node's
+ CPU resources. As such, the above should not be possible and the VM
+ should fail when exist to schedule.
** Changed in: nova
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1515536
Title:
create vm with share cpu_policy breaks exist vm with dedicated
cpu_policy when use cpu_allocation
Status in OpenStack Compute (nova):
Invalid
Bug description:
1. version
==========
kilo 2015.1.0
3. Reproduce steps:
===================
3.1 environment described
--------------------------
I have one compute node with 32 CPUs. Its NUMA topology is as
follows:
2 sockets * 8 cores * 2 thread = 32
I have configured cpu_allocation_ratio=2 in 'nova.conf'.
3.2 create a flavor with 32 CPUs
--------------------------------
Create a flavor and set NUMA properties as follows:
$ nova flavor-key 32cpu set hw:numa_nodes=2 \
hw:numa_cpus.0="0-15" hw:numa_mem.0=256 \
hw:numa_cpus.1="16-31" hw:numa_mem.1=256 \
hw:cpu_policy=dedicated
$ nova flavor-show 32cpu
+----------------------------+-------+
| Property | Value |
+----------------------------+-------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| disk | 1 |
| extra_specs | {} |
| id | 7 |
| name | 32cpu |
| os-flavor-access:is_public | True |
| ram | 512 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 32 |
+----------------------------+-------+
Create a VM using this flavor.
3.3 create another flavor with 20 cpus
--------------------------------------
Create another flavor and set NUMA properties as follows:
$ nova flavor-key 20cpu set hw:numa_nodes=2 \
hw:numa_cpus.0="0-9" hw:numa_mem.0=256 \
hw:numa_cpus.1="10-19" hw:numa_mem.1=256 \
hw:cpu_policy=share
Create another VM using this flavor.
4 Expected Results
==================
Expected result: create failed
Actual result : create success
If 'cpu_policy=dedicated' is configured, this should mean the VM has
exclusive rights to the specified CPU(s). Even with cpu_allocation, a
VM created with the 'shared' CPU policy is sure to use the compute
node's CPU resources. As such, the above should not be possible and
the VM should fail when exist to schedule.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1515536/+subscriptions
References