From 57e6ac3358111022ff5c86b06ad00a02289db87d Mon Sep 17 00:00:00 2001 From: Andreas Hamacher <andreas.hamacher@monash.edu> Date: Thu, 24 Sep 2020 07:36:36 +1000 Subject: [PATCH] enabling mellanox and lustre builds from source with a fresh kernel modification --- roles/buildLustreClient/defaults/main.yml | 2 + roles/buildLustreClient/tasks/main.yml | 51 +++++++++++++++++++++++ roles/mellanox_drivers/defaults/main.yml | 1 + roles/mellanox_drivers/tasks/main.yml | 10 ++++- 4 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 roles/buildLustreClient/defaults/main.yml create mode 100644 roles/buildLustreClient/tasks/main.yml diff --git a/roles/buildLustreClient/defaults/main.yml b/roles/buildLustreClient/defaults/main.yml new file mode 100644 index 00000000..8f4a9282 --- /dev/null +++ b/roles/buildLustreClient/defaults/main.yml @@ -0,0 +1,2 @@ +--- +lustreVersion: v2_13_55 diff --git a/roles/buildLustreClient/tasks/main.yml b/roles/buildLustreClient/tasks/main.yml new file mode 100644 index 00000000..cf843640 --- /dev/null +++ b/roles/buildLustreClient/tasks/main.yml @@ -0,0 +1,51 @@ +--- +# see documentation at https://sites.google.com/a/monash.edu/hpc-services/work-instructions/system-configuration/lustre/compile-lustre-client-from-source + +- name: get lustre sources for latest tags see https://git.whamcloud.com/?p=fs/lustre-release.git;a=summary + git: + repo: git://git.whamcloud.com/fs/lustre-release.git + dest: /tmp/lustre-release + version: "{{ lustreVersion }}" + #command: git clone git://git.whamcloud.com/fs/lustre-release.git -b v2_12_5 + # chdir: /tmp/lustre-release + # creates: /tmp/lustre-release + +#- name: get a magic patch +# command: git fetch https://review.whamcloud.com/fs/lustre-release refs/changes/67/32267/1 && git checkout FETCH_HEAD +# chdir: /tmp/lustre-release +- name: install dependencies + package: #libelf-dev, libelf-devel or elfutils-libelf-devel + name: + - libyaml + - libyaml-devel + - libtool + - elfutils-libelf-devel + - libselinux-devel + #- kernel-rpm-macros #centos8.2 + - kernel-abi-whitelists + state: present + become: true + when: ansible_os_family == 'RedHat' + +- name: autogen + command: + cmd: '/bin/sh ./autogen.sh' + chdir: /tmp/lustre-release + +- name: configure + command: + cmd: './configure --disable-server --with-o2ib=/usr/src/ofa_kernel/default' + chdir: /tmp/lustre-release + +- name: make + make: + chdir: /tmp/lustre-release + params: + NUM_THREADS: 6 +#- name: make rpms +# command: make rpms +# chdir: /tmp/lustre-release +- name: make rpms + make: + target: rpms + chdir: /tmp/lustre-release diff --git a/roles/mellanox_drivers/defaults/main.yml b/roles/mellanox_drivers/defaults/main.yml index 4fb42fdb..c02c5fbf 100644 --- a/roles/mellanox_drivers/defaults/main.yml +++ b/roles/mellanox_drivers/defaults/main.yml @@ -3,3 +3,4 @@ #MELLANOX_DRIVER_SRC: "{% if ansible_os_family == 'RedHat' %}MLNX_OFED_LINUX-4.4-1.0.0.0-rhel7.4-x86_64{% elif ansible_os_family == 'Debian' %}MLNX_OFED_LINUX-3.1-1.0.3-ubuntu14.04-x86_64{% endif %}" #MELLANOX_DRIVER_SRC: "{% if ansible_os_family == 'RedHat' %}MLNX_OFED_LINUX-4.5-1.0.1.0-rhel7.6-x86_64{% elif ansible_os_family == 'Debian' %}MLNX_OFED_LINUX-3.1-1.0.3-ubuntu14.04-x86_64{% endif %}" MELLANOX_DRIVER_SRC: "{% if ansible_os_family == 'RedHat' %}MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.7-x86_64{% elif ansible_os_family == 'Debian' %}MLNX_OFED_LINUX-3.1-1.0.3-ubuntu14.04-x86_64{% endif %}" +buildKMOD: False \ No newline at end of file diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml index 7046800e..da0c3290 100644 --- a/roles/mellanox_drivers/tasks/main.yml +++ b/roles/mellanox_drivers/tasks/main.yml @@ -111,7 +111,15 @@ chdir: "/tmp/{{ MELLANOX_DRIVER_SRC }}" become: true become_user: root - when: install_now + when: install_now and buildKMOD!=True + +- name: install drivers + shell: ./mlnxofedinstall -q --skip-repo --without-fw-update --add-kernel-support --hpc --kmp --all + args: + chdir: "/tmp/{{ MELLANOX_DRIVER_SRC }}" + become: true + become_user: root + when: install_now and buildKMOD==True #- name: install ofa_kernel # this will be installed by mlnxofedinstall # yum: -- GitLab