From 791f06b8c2e3372ccc0051be187a405a5736db48 Mon Sep 17 00:00:00 2001 From: handreas <andreas.hamacher@monash.edu> Date: Mon, 6 Dec 2021 17:02:44 +1100 Subject: [PATCH] disabling global pause on hypervisors --- roles/mellanox_config/tasks/rocev2.yml | 6 ++++-- roles/mellanox_config/templates/roce_mode.service.j2 | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/roles/mellanox_config/tasks/rocev2.yml b/roles/mellanox_config/tasks/rocev2.yml index cf68174c..945e8c4f 100644 --- a/roles/mellanox_config/tasks/rocev2.yml +++ b/roles/mellanox_config/tasks/rocev2.yml @@ -9,6 +9,7 @@ shell: /usr/sbin/ibstat | grep mlx5 | awk '{print $2}' | sed -r "s#'##g" register: qibdevicenames check_mode: no + changed_when: false #when: not statrocemode.stat.exists - name: print qibdevicenames @@ -23,6 +24,7 @@ owner: root group: root mode: u+rwx,g-wx,o-rwx + register: pfcecn - name: template roce_mode.service file template: dest=/etc/systemd/system/roce_mode.service src=roce_mode.service.j2 owner=root group=root mode=0644 @@ -38,9 +40,9 @@ register: reload_service - name: enable roce_mode setting - service: name=roce_mode state=started enabled=yes + service: name=roce_mode state=restarted enabled=yes become: true - when: service_file.changed + when: service_file.changed or pfcecn.changed - name: enable roce_mode setting service: name=roce_mode state=started enabled=yes diff --git a/roles/mellanox_config/templates/roce_mode.service.j2 b/roles/mellanox_config/templates/roce_mode.service.j2 index a44d473f..3c36753a 100644 --- a/roles/mellanox_config/templates/roce_mode.service.j2 +++ b/roles/mellanox_config/templates/roce_mode.service.j2 @@ -18,6 +18,14 @@ ExecStart=/usr/sbin/cma_roce_mode -d {{ device }} -p 1 -m {{ rocemode }} ExecStartPost=/usr/sbin/pfc-ecn.sh {% endif %} +{% if "OpenStack Nova" not in ansible_product_name %} +ExecStartPost=/sbin/ethtool -A p1p1 rx off tx off +ExecStartPost=/sbin/ethtool -A p1p2 rx off tx off +{% else %} +# disable global pause counters. Query via ethtool -a mlx0. Commented because they are always off anyway and turning them of returns code 78 +#ExecStartPost=/sbin/ethtool -A mlx0 rx off tx off +{% endif %} + [Install] WantedBy=multi-user.target -- GitLab