diff options
author | Runar Borge <runar@borge.nu> | 2018-06-07 23:54:20 +0200 |
---|---|---|
committer | Runar Borge <runar@borge.nu> | 2018-06-07 23:54:20 +0200 |
commit | 327e8d203635d435d75b57f30df6695b56ff63ee (patch) | |
tree | 30767e3bd0c99a7bb384e219f050fd05e7588d87 | |
parent | 55110c80f480ba7081af16b43447b92ad295e488 (diff) | |
download | vyos-1x-327e8d203635d435d75b57f30df6695b56ff63ee.tar.gz vyos-1x-327e8d203635d435d75b57f30df6695b56ff63ee.zip |
T689: Convert show raid to new syntax
-rw-r--r-- | op-mode-definitions/show-raid.xml | 18 | ||||
-rwxr-xr-x | src/completion/list_raidset.sh | 3 | ||||
-rwxr-xr-x | src/op_mode/show-raid.sh | 17 |
3 files changed, 38 insertions, 0 deletions
diff --git a/op-mode-definitions/show-raid.xml b/op-mode-definitions/show-raid.xml new file mode 100644 index 000000000..b0930742a --- /dev/null +++ b/op-mode-definitions/show-raid.xml @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<interfaceDefinition> + <node name="show"> + <children> + <tagNode name="raid"> + <properties> + <help>Show statis of RAID set</help> + <completionHelp> + <script>${vyos_completion_dir}/list_raidset.sh</script> + </completionHelp> + </properties> + <command>${vyos_op_scripts_dir}/show_raid.sh $3</command> + + </tagNode> + + </children> + </node> +</interfaceDefinition> diff --git a/src/completion/list_raidset.sh b/src/completion/list_raidset.sh new file mode 100755 index 000000000..9ff3523aa --- /dev/null +++ b/src/completion/list_raidset.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo -n `cat /proc/partitions | grep md | awk '{ print $4 }'` diff --git a/src/op_mode/show-raid.sh b/src/op_mode/show-raid.sh new file mode 100755 index 000000000..ba4174692 --- /dev/null +++ b/src/op_mode/show-raid.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +raid_set_name=$1 +raid_sets=`cat /proc/partitions | grep md | awk '{ print $4 }'` +valid_set=`echo $raid_sets | grep $raid_set_name` +if [ -z $valid_set ]; then + echo "$raid_set_name is not a RAID set" +else + if [ -r /dev/${raid_set_name} ]; then + # This should work without sudo because we have read + # access to the dev, but for some reason mdadm must be + # run as root in order to succeed. + sudo /sbin/mdadm --detail /dev/${raid_set_name} + else + echo "Must be administrator or root to display RAID status" + fi +fi |