summaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/inventory.ini5
-rw-r--r--ansible/migrate_pinning_setup.yaml49
-rw-r--r--ansible/migrate_pinning_teardown.yaml31
-rw-r--r--ansible/roles/archive_spec_cpu2006_result/tasks/main.yaml15
-rw-r--r--ansible/roles/backup_nova_conf/tasks/main.yaml18
-rw-r--r--ansible/roles/create_flavor/tasks/main.yaml16
-rw-r--r--ansible/roles/delete_flavor/tasks/main.yaml13
-rw-r--r--ansible/roles/fetch_spec_cpu2006_result/tasks/main.yaml16
-rw-r--r--ansible/roles/install_spec_cpu2006/tasks/main.yaml24
-rw-r--r--ansible/roles/recover_nova_conf/tasks/main.yaml18
-rw-r--r--ansible/roles/restart_nova_service/tasks/main.yaml23
-rw-r--r--ansible/roles/set_flavor_property/tasks/main.yaml14
-rw-r--r--ansible/roles/set_nova_conf/tasks/main.yaml17
-rw-r--r--ansible/roles/unarchive_spec_cpu2006_result/tasks/main.yaml16
-rw-r--r--ansible/roles/uninstall_spec_cpu2006/tasks/main.yaml28
-rw-r--r--ansible/spec_cpu2006_install.yaml13
-rw-r--r--ansible/spec_cpu2006_uninstall.yaml22
17 files changed, 337 insertions, 1 deletions
diff --git a/ansible/inventory.ini b/ansible/inventory.ini
index 440e625bd..79a6ee0aa 100644
--- a/ansible/inventory.ini
+++ b/ansible/inventory.ini
@@ -1,8 +1,11 @@
[controller]
host1 ansible_host=10.1.0.50 ansible_user=root ansible_ssh_pass=root
host2 ansible_host=10.1.0.51 ansible_user=root ansible_ssh_pass=root
-host3 ansible_host=10.1.0.52 ansible_user=root ansible_ssh_pass=root
[compute]
host4 ansible_host=10.1.0.53 ansible_user=root ansible_ssh_pass=root
host5 ansible_host=10.1.0.54 ansible_user=root ansible_ssh_pass=root
+
+[nodes:children]
+controller
+compute
diff --git a/ansible/migrate_pinning_setup.yaml b/ansible/migrate_pinning_setup.yaml
new file mode 100644
index 000000000..ee5eef3ff
--- /dev/null
+++ b/ansible/migrate_pinning_setup.yaml
@@ -0,0 +1,49 @@
+---
+##############################################################################
+# 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
+##############################################################################
+
+- hosts: localhost
+ roles:
+ - create_flavor
+ - role: set_flavor_property
+ key: "hw:cpu_policy"
+ value: "dedicated"
+ - role: set_flavor_property
+ key: "hw:numa_nodes"
+ value: "1"
+
+- hosts: nodes
+ roles:
+ - backup_nova_conf
+ - role: set_nova_conf
+ section: "DEFAULT"
+ key: "live_migration_flag"
+ value: "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_TUNNELLED"
+ - role: set_nova_conf
+ section: "DEFAULT"
+ key: "vncserver_listen"
+ value: "0.0.0.0"
+
+- hosts: controller
+ roles:
+ - role: set_nova_conf
+ section: "DEFAULT"
+ key: "scheduler_default_filters"
+ value: "NUMATopologyFilter"
+ - role: restart_nova_service
+ service: "nova-scheduler"
+
+- hosts: compute
+ roles:
+ - role: set_nova_conf
+ section: "DEFAULT"
+ key: "vcpu_pin_set"
+ value: "{{ cpu_set }}"
+ - role: restart_nova_service
+ service: "nova-compute"
diff --git a/ansible/migrate_pinning_teardown.yaml b/ansible/migrate_pinning_teardown.yaml
new file mode 100644
index 000000000..13dd6113c
--- /dev/null
+++ b/ansible/migrate_pinning_teardown.yaml
@@ -0,0 +1,31 @@
+---
+##############################################################################
+# 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
+##############################################################################
+
+- hosts: localhost
+ roles:
+ - delete_flavor
+
+- hosts: nodes
+ roles:
+ - recover_nova_conf
+
+- hosts: controller
+ roles:
+ - role: restart_nova_service
+ service: "nova-scheduler"
+ - role: restart_nova_service
+ service: "nova-api"
+ - role: restart_nova_service
+ service: "nova-conductor"
+
+- hosts: compute
+ roles:
+ - role: restart_nova_service
+ service: "nova-compute"
diff --git a/ansible/roles/archive_spec_cpu2006_result/tasks/main.yaml b/ansible/roles/archive_spec_cpu2006_result/tasks/main.yaml
new file mode 100644
index 000000000..7f72e1394
--- /dev/null
+++ b/ansible/roles/archive_spec_cpu2006_result/tasks/main.yaml
@@ -0,0 +1,15 @@
+---
+##############################################################################
+# 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: archive_spec_cpu2006_result
+ archive:
+ path: /usr/cpu2006/result
+ dest: /usr/cpu2006/spec_cpu2006_result.zip
+ become: true
diff --git a/ansible/roles/backup_nova_conf/tasks/main.yaml b/ansible/roles/backup_nova_conf/tasks/main.yaml
new file mode 100644
index 000000000..ca95bac59
--- /dev/null
+++ b/ansible/roles/backup_nova_conf/tasks/main.yaml
@@ -0,0 +1,18 @@
+---
+##############################################################################
+# 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: backup nova.conf file
+ copy:
+ src: /etc/nova/nova.conf
+ dest: /tmp/nova.conf
+ owner: nova
+ group: nova
+ remote_src: True
+ become: true
diff --git a/ansible/roles/create_flavor/tasks/main.yaml b/ansible/roles/create_flavor/tasks/main.yaml
new file mode 100644
index 000000000..9b776c694
--- /dev/null
+++ b/ansible/roles/create_flavor/tasks/main.yaml
@@ -0,0 +1,16 @@
+##############################################################################
+# 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: create flavor {{ flavor }}
+ os_nova_flavor:
+ cloud: opnfv
+ state: present
+ name: "{{ flavor }}"
+ ram: "{{ ram }}"
+ vcpus: "{{ vcpus }}"
+ disk: "{{ disk }}"
diff --git a/ansible/roles/delete_flavor/tasks/main.yaml b/ansible/roles/delete_flavor/tasks/main.yaml
new file mode 100644
index 000000000..dc9fc88ce
--- /dev/null
+++ b/ansible/roles/delete_flavor/tasks/main.yaml
@@ -0,0 +1,13 @@
+##############################################################################
+# 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: delete flavor {{ flavor }}
+ os_nova_flavor:
+ cloud: opnfv
+ state: absent
+ name: "{{ flavor }}"
diff --git a/ansible/roles/fetch_spec_cpu2006_result/tasks/main.yaml b/ansible/roles/fetch_spec_cpu2006_result/tasks/main.yaml
new file mode 100644
index 000000000..370ec7a0c
--- /dev/null
+++ b/ansible/roles/fetch_spec_cpu2006_result/tasks/main.yaml
@@ -0,0 +1,16 @@
+---
+##############################################################################
+# 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: fetch_spec_cpu2006_result
+ fetch:
+ src: /usr/cpu2006/spec_cpu2006_result.zip
+ dest: /tmp/
+ flat: yes
+ become: true
diff --git a/ansible/roles/install_spec_cpu2006/tasks/main.yaml b/ansible/roles/install_spec_cpu2006/tasks/main.yaml
new file mode 100644
index 000000000..baa9f6ca0
--- /dev/null
+++ b/ansible/roles/install_spec_cpu2006/tasks/main.yaml
@@ -0,0 +1,24 @@
+---
+##############################################################################
+# 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: upload SPEC CPU2006 ISO
+ copy:
+ src: /home/opnfv/repos/yardstick/yardstick/resources/cpu2006-1.2.iso
+ dest: ~/cpu2006-1.2.iso
+ become: true
+
+- name: install SPEC CPU2006
+ shell:
+ mount -t iso9660 -o ro,exec ~/cpu2006-1.2.iso /mnt;
+ cd /mnt;
+ ./install.sh -fd /usr/cpu2006;
+ args:
+ executable: /bin/bash
+ become: true
diff --git a/ansible/roles/recover_nova_conf/tasks/main.yaml b/ansible/roles/recover_nova_conf/tasks/main.yaml
new file mode 100644
index 000000000..44919d2ae
--- /dev/null
+++ b/ansible/roles/recover_nova_conf/tasks/main.yaml
@@ -0,0 +1,18 @@
+---
+##############################################################################
+# 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: recover nova.conf file
+ copy:
+ src: /tmp/nova.conf
+ dest: /etc/nova/nova.conf
+ owner: nova
+ group: nova
+ remote_src: True
+ become: true
diff --git a/ansible/roles/restart_nova_service/tasks/main.yaml b/ansible/roles/restart_nova_service/tasks/main.yaml
new file mode 100644
index 000000000..2bdce652d
--- /dev/null
+++ b/ansible/roles/restart_nova_service/tasks/main.yaml
@@ -0,0 +1,23 @@
+---
+##############################################################################
+# 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: restart "{{ service }}" service
+ service:
+ name: "{{ service }}"
+ state: restarted
+ become: true
+ when: ansible_os_family == "Debian"
+
+- name: restart "openstack-{{ service }}" service
+ service:
+ name: "openstack-{{ service }}"
+ state: restarted
+ become: true
+ when: ansible_os_family == "RedHat"
diff --git a/ansible/roles/set_flavor_property/tasks/main.yaml b/ansible/roles/set_flavor_property/tasks/main.yaml
new file mode 100644
index 000000000..f98988783
--- /dev/null
+++ b/ansible/roles/set_flavor_property/tasks/main.yaml
@@ -0,0 +1,14 @@
+##############################################################################
+# 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: set flavor "{{ flavor }}" property {{ key }} = {{ value }}
+ shell:
+ source /etc/yardstick/openstack.creds;
+ openstack flavor set --property {{ key }}={{ value }} {{ flavor }};
+ args:
+ executable: /bin/bash
diff --git a/ansible/roles/set_nova_conf/tasks/main.yaml b/ansible/roles/set_nova_conf/tasks/main.yaml
new file mode 100644
index 000000000..ae665c5d0
--- /dev/null
+++ b/ansible/roles/set_nova_conf/tasks/main.yaml
@@ -0,0 +1,17 @@
+---
+##############################################################################
+# 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: set "{{ key }}" value
+ ini_file:
+ dest: /etc/nova/nova.conf
+ section: "{{ section }}"
+ option: "{{ key }}"
+ value: "{{ value }}"
+ become: true
diff --git a/ansible/roles/unarchive_spec_cpu2006_result/tasks/main.yaml b/ansible/roles/unarchive_spec_cpu2006_result/tasks/main.yaml
new file mode 100644
index 000000000..86dcc1aeb
--- /dev/null
+++ b/ansible/roles/unarchive_spec_cpu2006_result/tasks/main.yaml
@@ -0,0 +1,16 @@
+---
+##############################################################################
+# 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: unarchive_spec_cpu2006_result
+ unarchive:
+ src: /tmp/spec_cpu2006_result.zip
+ dest: /tmp/
+ remote_src: True
+ become: true
diff --git a/ansible/roles/uninstall_spec_cpu2006/tasks/main.yaml b/ansible/roles/uninstall_spec_cpu2006/tasks/main.yaml
new file mode 100644
index 000000000..72d8c93ee
--- /dev/null
+++ b/ansible/roles/uninstall_spec_cpu2006/tasks/main.yaml
@@ -0,0 +1,28 @@
+---
+##############################################################################
+# 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: remove SPEC CPU 2006
+ file:
+ path: /usr/cpu2006
+ state: absent
+ become: true
+
+- name: umount SPEC CPU 2006 ISO
+ shell:
+ umount -l /mnt;
+ args:
+ executable: /bin/bash
+ become: true
+
+- name: remove SPEC CPU 2006 ISO
+ file:
+ path: ~/cpu2006-1.2.iso
+ state: absent
+ become: true
diff --git a/ansible/spec_cpu2006_install.yaml b/ansible/spec_cpu2006_install.yaml
new file mode 100644
index 000000000..470f5c8d8
--- /dev/null
+++ b/ansible/spec_cpu2006_install.yaml
@@ -0,0 +1,13 @@
+---
+##############################################################################
+# 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
+##############################################################################
+
+- hosts: spec_target
+ roles:
+ - install_spec_cpu2006
diff --git a/ansible/spec_cpu2006_uninstall.yaml b/ansible/spec_cpu2006_uninstall.yaml
new file mode 100644
index 000000000..4991c98b0
--- /dev/null
+++ b/ansible/spec_cpu2006_uninstall.yaml
@@ -0,0 +1,22 @@
+---
+##############################################################################
+# 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
+##############################################################################
+
+- hosts: spec_target
+ roles:
+ - archive_spec_cpu2006_result
+ - fetch_spec_cpu2006_result
+
+- hosts: localhost
+ roles:
+ - unarchive_spec_cpu2006_result
+
+- hosts: spec_target
+ roles:
+ - uninstall_spec_cpu2006