aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/numa_pin_local_setup
diff options
context:
space:
mode:
authorJingLu5 <lvjing5@huawei.com>2017-03-08 08:10:01 +0000
committerJingLu5 <lvjing5@huawei.com>2017-03-08 08:51:33 +0000
commitbe4fad1e486f6c4bf993335f0aecaa3682a37da8 (patch)
treead60f03bcbdf509fdb3df07093ea056afac25c82 /ansible/roles/numa_pin_local_setup
parent501175fbb095a771f5f1b9fb80dcf729192214d2 (diff)
Add NUMA pinning support for node context
JIRA: YARDSTICK-574 Since the yardstick framework now has supported an improved node type context, this patch adds support for VM NUMA pinning ability in the node type context. It provides several scripts that can be used to configurate the controller and compute nodes Change-Id: If5eafdca6df1b1196bc17bfdd12aea9f4016752f Signed-off-by: JingLu5 <lvjing5@huawei.com>
Diffstat (limited to 'ansible/roles/numa_pin_local_setup')
-rw-r--r--ansible/roles/numa_pin_local_setup/tasks/main.yaml64
1 files changed, 64 insertions, 0 deletions
diff --git a/ansible/roles/numa_pin_local_setup/tasks/main.yaml b/ansible/roles/numa_pin_local_setup/tasks/main.yaml
new file mode 100644
index 000000000..7faaf992c
--- /dev/null
+++ b/ansible/roles/numa_pin_local_setup/tasks/main.yaml
@@ -0,0 +1,64 @@
+---
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+- name: get nova-compute host
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack availability zone list --long | grep nova-compute | sort | awk '{print $7}';
+ args:
+ executable: /bin/bash
+ register: compute_nodes
+
+- name: get existing flavor list
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack flavor list | grep "True" | cut -f 2 -d ' ';
+ args:
+ executable: /bin/bash
+ register: flavors
+
+- name: create pinned-cpu and regular host aggregate
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack aggregate create pinned-cpu;
+ openstack aggregate create regular;
+ nova aggregate-set-metadata pinned-cpu pinned=true;
+ nova aggregate-set-metadata regular pinned=false;
+ nova aggregate-add-host pinned-cpu {{ compute_nodes.stdout_lines[0] }};
+ nova aggregate-add-host regular {{ compute_nodes.stdout_lines[1] }};
+ args:
+ executable: /bin/bash
+
+- name: set flavor default property
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack flavor set --property aggregate_instance_extra_specs:pinned=false {{item}};
+ args:
+ executable: /bin/bash
+ with_items:
+ - '{{ flavors.stdout_lines }}'
+
+- name: create flavor yardstick-pinned-flavor
+ os_nova_flavor:
+ cloud: opnfv
+ state: present
+ name: yardstick-pinned-flavor
+ ram: 512
+ vcpus: 3
+ disk: 3
+
+- name: set yardstick-pinned-flavor property
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack flavor set --property hw:cpu_policy=dedicated yardstick-pinned-flavor;
+ openstack flavor set --property hw:numa_nodes=1 yardstick-pinned-flavor
+ openstack flavor set --property aggregate_instance_extra_specs:pinned=true yardstick-pinned-flavor;
+ args:
+ executable: /bin/bash