aboutsummaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/load_images.yml30
-rw-r--r--ansible/prepare_openstack.yml16
-rw-r--r--ansible/roles/download_civetweb/defaults/main.yml4
-rw-r--r--ansible/roles/download_drivers/defaults/main.yml21
-rw-r--r--ansible/roles/download_drivers/tasks/i40evf.yml36
-rw-r--r--ansible/roles/download_drivers/tasks/main.yml15
-rwxr-xr-xansible/roles/install_drivers/tasks/Debian.yml16
-rw-r--r--ansible/roles/install_drivers/tasks/RedHat.yml16
-rw-r--r--ansible/roles/install_drivers/tasks/i40evf.yml31
-rw-r--r--ansible/roles/install_drivers/tasks/main.yml28
-rw-r--r--ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml2
11 files changed, 174 insertions, 41 deletions
diff --git a/ansible/load_images.yml b/ansible/load_images.yml
index a4c130d46..d4b24c864 100644
--- a/ansible/load_images.yml
+++ b/ansible/load_images.yml
@@ -29,41 +29,15 @@
IMAGE_COMMAND: yardstick-img-modify
IMAGE_OUTPUT: "/tmp/workspace/yardstick/yardstick-image.tar.gz"
-# QCOW_IMAGE: "/tmp/workspace/yardstick/yardstick-image.img"
-# RAW_IMAGE: "/tmp/workspace/yardstick/yardstick-image.tar.gz"
-# IMAGE_COMMANDS:
-# 'lxd': yardstick-img-lxd-modify
-# 'default': yardstick-img-modify
-
-
roles:
- role: add_fuel_jumphost
when: "INSTALLER_TYPE == 'fuel'"
- role: detect_fuel_arch
when: "INSTALLER_TYPE == 'fuel'"
-# post_tasks:
-#
-# - command: "{{ DEPLOY_VARS[DEPLOY_SCENARIO].IMAGE_COMMAND }}" "{{ IMAGE_MODIFY_SCRIPT }}"
-# become: true
-# register: image_modify_result
-# retries: 2
-# untils: image_modify_result|succeeded
-#
-# - stat: path="{{ DEPLOY_VARS[DEPLOY_SCENARIO].IMAGE_OUTPUT }}"}
-# register: output_stat
-#
-# - fail: msg=""
-# when: not output_stat
-
-
- include: build_yardstick_image.yml
+ vars:
+ img_property: normal
- include: image_uploaders/upload_yardstick_image.yml
-# upload cirros
-# upload vanilla ubuntu cloud_image
-
-# - include: create_flavors.yml
-
-
diff --git a/ansible/prepare_openstack.yml b/ansible/prepare_openstack.yml
index 8456c9e59..6f54ef522 100644
--- a/ansible/prepare_openstack.yml
+++ b/ansible/prepare_openstack.yml
@@ -12,27 +12,21 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
-- name: convert openrc_file to openrc env dict
+- name: Convert openrc_file to openrc env dict
hosts: jumphost
vars_files:
- yardstick_config.yml
roles:
- convert_openrc
-###
-# Build yardstick image for openstack quest
-# check included file for other vars/env
-###
-- include: build_yardstick_image.yml
+- name: Build Yardstick image for OpenStack
+ include: build_yardstick_image.yml
vars:
YARD_IMG_ARCH: amd64
release: xenial
+ img_property: nsb
-###
-# Delete old yardstick image and flavors
-# Upload new image
-###
-- name: cleanup old openstack images, upload new
+- name: Cleanup old OpenStack images and upload the new one
hosts: jumphost
vars_files:
- yardstick_config.yml
diff --git a/ansible/roles/download_civetweb/defaults/main.yml b/ansible/roles/download_civetweb/defaults/main.yml
index 5efc9bb56..289e52ce8 100644
--- a/ansible/roles/download_civetweb/defaults/main.yml
+++ b/ansible/roles/download_civetweb/defaults/main.yml
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
---
-civetweb_url: https://sourceforge.net/projects/civetweb/files/1.9/CivetWeb_V1.9.zip
+civetweb_url: https://iweb.dl.sourceforge.net/project/civetweb/1.9.1/CivetWeb_V1.9.1.zip
civetweb_file: "{{ civetweb_url|basename }}"
civetweb_dest: "{{ clone_dest }}/civetweb"
-civetweb_sha256s: "sha256:947a546bfccd733c79dff9565227fa74f4d17750650ff49312ef4b2d032fa8c8"
+civetweb_sha256s: "sha256:69a82f042eae0197fb50b09861a8e2c5fff2871c196a21edd122bb8ce34ca0f3"
diff --git a/ansible/roles/download_drivers/defaults/main.yml b/ansible/roles/download_drivers/defaults/main.yml
new file mode 100644
index 000000000..ab68a3c6d
--- /dev/null
+++ b/ansible/roles/download_drivers/defaults/main.yml
@@ -0,0 +1,21 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+i40evf_version: "3.4.2"
+i40evf_gzfile: "i40evf-{{ i40evf_version }}.tar.gz"
+i40evf_url: "https://netix.dl.sourceforge.net/project/e1000/i40evf%20stable/{{ i40evf_version }}/{{ i40evf_gzfile }}"
+i40evf_dest: "{{ clone_dest }}/"
+i40evf_path: "{{ i40evf_dest }}/{{ i40evf_gzfile|regex_replace('[.]tar[.]gz$', '') }}"
+i40evf_checksum:
+ "3.4.2": "sha256:a8e2a722fb2f8ac874cb39545a331761841f1724830ff1581d2012dd37314645"
diff --git a/ansible/roles/download_drivers/tasks/i40evf.yml b/ansible/roles/download_drivers/tasks/i40evf.yml
new file mode 100644
index 000000000..cb8a09d6c
--- /dev/null
+++ b/ansible/roles/download_drivers/tasks/i40evf.yml
@@ -0,0 +1,36 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Directory to store i40evf driver
+ file:
+ path: "{{ i40evf_dest }}"
+ state: directory
+
+- name: Fetch i40evf driver
+ get_url:
+ url: "{{ i40evf_url }}"
+ dest: "{{ i40evf_dest }}/{{ i40evf_gzfile }}"
+ validate_certs: False
+ checksum: "{{ i40evf_checksum[i40evf_version] }}"
+
+- name: Unarchive the i40evf file
+ unarchive:
+ src: "{{ i40evf_dest }}/{{ i40evf_gzfile }}"
+ dest: "{{ i40evf_dest }}"
+ copy: no
+
+- name: Cleanup the archive to save space
+ file:
+ path: "{{ i40evf_dest }}/{{ i40evf_gzfile }}"
+ state: absent
diff --git a/ansible/roles/download_drivers/tasks/main.yml b/ansible/roles/download_drivers/tasks/main.yml
new file mode 100644
index 000000000..b7c1e0f1f
--- /dev/null
+++ b/ansible/roles/download_drivers/tasks/main.yml
@@ -0,0 +1,15 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- include: i40evf.yml
diff --git a/ansible/roles/install_drivers/tasks/Debian.yml b/ansible/roles/install_drivers/tasks/Debian.yml
new file mode 100755
index 000000000..27f6b74cc
--- /dev/null
+++ b/ansible/roles/install_drivers/tasks/Debian.yml
@@ -0,0 +1,16 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Install kernel headers
+ action: "{{ ansible_pkg_mgr }} name=linux-headers-{{ chroot_kernel }} state=present"
diff --git a/ansible/roles/install_drivers/tasks/RedHat.yml b/ansible/roles/install_drivers/tasks/RedHat.yml
new file mode 100644
index 000000000..d2e2a3768
--- /dev/null
+++ b/ansible/roles/install_drivers/tasks/RedHat.yml
@@ -0,0 +1,16 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Install kernel headers
+ action: "{{ ansible_pkg_mgr }} name=kernel-headers-{{ chroot_kernel }} state=present"
diff --git a/ansible/roles/install_drivers/tasks/i40evf.yml b/ansible/roles/install_drivers/tasks/i40evf.yml
new file mode 100644
index 000000000..1cd95ceb0
--- /dev/null
+++ b/ansible/roles/install_drivers/tasks/i40evf.yml
@@ -0,0 +1,31 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Make i40evf
+ make:
+ chdir: "{{ i40evf_path }}/src"
+ params:
+ BUILD_KERNEL: "{{ chroot_kernel }}"
+
+- name: Make i40evf install
+ make:
+ chdir: "{{ i40evf_path }}/src"
+ target: install
+ params:
+ BUILD_KERNEL: "{{ chroot_kernel }}"
+
+- name: Configure i40evf to load on boot
+ copy:
+ content: i40evf
+ dest: /etc/modules-load.d/i40evf.conf
diff --git a/ansible/roles/install_drivers/tasks/main.yml b/ansible/roles/install_drivers/tasks/main.yml
new file mode 100644
index 000000000..72a432e54
--- /dev/null
+++ b/ansible/roles/install_drivers/tasks/main.yml
@@ -0,0 +1,28 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Find kernel for image, (including chroot)
+ find_kernel:
+ kernel: "{{ ansible_kernel }}"
+ register: found_kernel
+
+# Do this before installing kernel headers
+- name: Set chroot_kernel to be the kernel we found
+ set_fact:
+ chroot_kernel: "{{ found_kernel.kernel }}"
+
+- include: "{{ ansible_os_family }}.yml"
+
+# Install drivers
+- include: i40evf.yml
diff --git a/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml b/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml
index dff7f976a..85afa2a30 100644
--- a/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml
+++ b/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml
@@ -62,3 +62,5 @@
- install_pmu_tools
- download_collectd
- install_collectd
+ - download_drivers
+ - install_drivers