From ae5f05349b5b01741cf4cafec4ce6c940ba3b7f8 Mon Sep 17 00:00:00 2001 From: Vincent Reniers Date: Wed, 23 Oct 2024 14:05:53 +0300 Subject: [PATCH] ansible-scylla-node: auto-detect NVMe: only use non-mounted and non-partitioned disks. NVMe disks should only be selected that are not in use, which should be the case when they are not mounted and not partitioned. Signed-off-by: Vincent Reniers --- ansible-scylla-node/defaults/main.yml | 1 - ansible-scylla-node/tasks/RedHat.yml | 5 ----- ansible-scylla-node/tasks/common.yml | 8 ++++++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/ansible-scylla-node/defaults/main.yml b/ansible-scylla-node/defaults/main.yml index f1c26d31..9b789990 100644 --- a/ansible-scylla-node/defaults/main.yml +++ b/ansible-scylla-node/defaults/main.yml @@ -190,7 +190,6 @@ scylla_dependencies: - curl - wget - python3-yaml # this will fail on non centos systems - - nvme-cli #- software-properties-common #- apt-transport-https #- gnupg2 diff --git a/ansible-scylla-node/tasks/RedHat.yml b/ansible-scylla-node/tasks/RedHat.yml index ae4753d7..d1c6a44f 100644 --- a/ansible-scylla-node/tasks/RedHat.yml +++ b/ansible-scylla-node/tasks/RedHat.yml @@ -120,11 +120,6 @@ for i in `yum search python3|grep -i pyyaml|awk '{ print $1 }'`; do sudo yum -y install $i; done become: true -- name: install nvme-cli - shell: | - yum install -y nvme-cli - become: true - - name: install and configure Scylla Manager Agent block: - name: add Scylla Manager repo diff --git a/ansible-scylla-node/tasks/common.yml b/ansible-scylla-node/tasks/common.yml index 1048f831..ce73a675 100644 --- a/ansible-scylla-node/tasks/common.yml +++ b/ansible-scylla-node/tasks/common.yml @@ -50,9 +50,9 @@ - name: Detect NVME disks block: - - name: Get list of NVMEs + - name: Get list of NVMEs with no partitions and no mount point shell: | - nvme list | awk '{print $1}' | tail -n +3 + lsblk -oNAME,PATH,PTTYPE,MOUNTPOINT -nd | grep nvme | awk '{if ($3=="" && $4=="") print $2}' register: _detected_nvmes - set_fact: @@ -80,6 +80,10 @@ _disable_online_discard: "--online-discard {{ scylla_raid_online_discard }}" when: _scylla_raid_setup_help.stdout is search("--online-discard") + - name: "ansible-scylla-node: common.yml: Setting raid setup with disks" + debug: + msg: "Using the following disk devices: {{ scylla_raid_setup | join(',') }}" + - name: run raid setup if there is no scylla mount yet shell: "scylla_raid_setup --disks {{ scylla_raid_setup | join(',') }} --update-fstab {{ _disable_online_discard }}" become: true