blob: b03c8d6041ce0aa73c7af269a0feea6c2652efa0 [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# 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: Mellanox Constants
set_fact:
MLNX_PACK_VER: "mlnx-en-4.0-2.0.0.1-ubuntu14.04-x86_64"
MLNX_URL_PATH: "MLNX_EN-4.0-2.0.0.1"
MD5_MLNX: "b1581e2445c7832ec096b367e78303aa"
- name: Install Prerequesites
become: yes
apt: name={{ item }} state=installed
with_items:
- debhelper
- autotools-dev
- dkms
- zlib1g-dev
- make
- python-libxml2
- m4
- automake
- autoconf
- libltdl-dev
- chrpath
- swig
- quilt
- graphviz
- dpatch
- gcc
- name: Check Mellanox install package
become: yes
stat:
path: "{{ playbook_dir }}/roles/compute-node/files/{{MLNX_PACK_VER}}.tgz"
register: mlnx_package_exists
- name: Download mlnx driver package
become: yes
local_action: >
get_url url="http://www.mellanox.com/downloads/ofed/{{MLNX_URL_PATH}}/{{MLNX_PACK_VER}}.tgz"
dest="{{ playbook_dir }}/roles/compute-node/files"
checksum="md5:{{MD5_MLNX}}"
when: mlnx_package_exists.stat.exists == False
- name: Unarchive mlnx driver package
unarchive:
copy=yes
src="{{ playbook_dir }}/roles/compute-node/files/{{MLNX_PACK_VER}}.tgz"
dest=/tmp
- name: Install mlnx driver
become: yes
command: /tmp/{{MLNX_PACK_VER}}/install --force
changed_when: true
- name: Load mlnx Driver
become: yes
command: /etc/init.d/mlnx-en.d restart
changed_when: true
- name: Remove Build Directory
become: yes
file:
path=/tmp/{{MLNX_PACK_VER}}
state=absent
- name: Remove Build files
become: yes
file:
path=/tmp/{{MLNX_PACK_VER}}.tgz
state=absent
- name: Remove Mellanox Service files
become: yes
file:
path=/etc/init/mlnx-en.conf
state=absent
- name: Remove Mellanox Init Script
become: yes
file:
path=/etc/init.d/mlnx-en.d
state=absent