summaryrefslogtreecommitdiffstats
path: root/plugins/rt_kvm/roles
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rt_kvm/roles')
-rw-r--r--plugins/rt_kvm/roles/rt_kvm/tasks/kvm.yml40
-rw-r--r--plugins/rt_kvm/roles/rt_kvm/tasks/main.yml11
-rw-r--r--plugins/rt_kvm/roles/rt_kvm/vars/main.yml16
3 files changed, 67 insertions, 0 deletions
diff --git a/plugins/rt_kvm/roles/rt_kvm/tasks/kvm.yml b/plugins/rt_kvm/roles/rt_kvm/tasks/kvm.yml
new file mode 100644
index 00000000..5d3ca7bc
--- /dev/null
+++ b/plugins/rt_kvm/roles/rt_kvm/tasks/kvm.yml
@@ -0,0 +1,40 @@
+##############################################################################
+# Copyright (c) 2016-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 workspace directory
+ file:
+ path: "{{ workspace }}"
+ state: directory
+ mode: 0755
+
+- name: download rt_kvm kernel package
+ get_url:
+ url: "{{ rt_kvm_url }}"
+ dest: "{{ workspace }}/{{ rt_kvm_pkg }}"
+
+- name: install rt_kvm kernel
+ command: dpkg -i "{{ workspace }}/{{ rt_kvm_pkg }}"
+
+- name: update the grub
+ command: grub-mkconfig -o /boot/grub/grub.cfg
+
+- name: wait a moment
+ command: sleep 5
+
+- name: reboot the node
+ shell: sleep 2 && shutdown -r now 'Reboot required'
+ become: true
+ async: 1
+ poll: 0
+ ignore_errors: true
+
+- name: wait for reboot
+ local_action:
+ module: wait_for
+ host={{ ansible_eth0.ipv4.address }} port=22 delay=1 timeout=600
diff --git a/plugins/rt_kvm/roles/rt_kvm/tasks/main.yml b/plugins/rt_kvm/roles/rt_kvm/tasks/main.yml
new file mode 100644
index 00000000..e79fe9ff
--- /dev/null
+++ b/plugins/rt_kvm/roles/rt_kvm/tasks/main.yml
@@ -0,0 +1,11 @@
+##############################################################################
+# Copyright (c) 2016-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
+##############################################################################
+---
+- include: kvm.yml
+ when: rt_kvm is defined and rt_kvm == "Enable"
diff --git a/plugins/rt_kvm/roles/rt_kvm/vars/main.yml b/plugins/rt_kvm/roles/rt_kvm/vars/main.yml
new file mode 100644
index 00000000..9f32d13c
--- /dev/null
+++ b/plugins/rt_kvm/roles/rt_kvm/vars/main.yml
@@ -0,0 +1,16 @@
+##############################################################################
+# Copyright (c) 2016-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
+##############################################################################
+---
+workspace: /tmp/plugin
+
+# yamllint disable rule:line-length
+rt_kvm_url: http://artifacts.opnfv.org/kvmfornfv/kvmfornfv-4bfeded9-kernel-4.4.50_rt62_ubuntu.x86_64.deb
+# yamllint enable rule:line-length
+
+rt_kvm_pkg: kvmfornfv-4bfeded9-kernel-4.4.50_rt62_ubuntu.x86_64.deb