From b7f8b5e33951f931cb6be12ac892d914dd0a4cba Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Mon, 31 Mar 2014 21:22:15 +0200 Subject: [PATCH] catch unsupported state cases in __dog_vdi und __qemu_img Signed-off-by: Nico Schottelius --- cdist/conf/type/__dog_vdi/manifest | 18 ++++++++++----- cdist/conf/type/__qemu_img/manifest | 22 ++++++++++++++----- cdist/conf/type/__qemu_img/parameter/required | 1 - 3 files changed, 30 insertions(+), 11 deletions(-) delete mode 100644 cdist/conf/type/__qemu_img/parameter/required diff --git a/cdist/conf/type/__dog_vdi/manifest b/cdist/conf/type/__dog_vdi/manifest index cd022f28..ab533c4b 100644 --- a/cdist/conf/type/__dog_vdi/manifest +++ b/cdist/conf/type/__dog_vdi/manifest @@ -20,9 +20,17 @@ state_should="$(cat "$__object/parameter/state")" -if [ "$state_should" = "present" ]; then - if [ ! -f "$__object/parameter/size" ]; then - echo "Size is required when state is present" >&2 +case "$state_should" in + present) + if [ ! -f "$__object/parameter/size" ]; then + echo "Size is required when state is present" >&2 + exit 1 + fi + absent) + : + ;; + *) + echo "Unsupported state: $state_should" >&2 exit 1 - fi -fi + ;; +esac diff --git a/cdist/conf/type/__qemu_img/manifest b/cdist/conf/type/__qemu_img/manifest index 6d50037f..bb2c9366 100644 --- a/cdist/conf/type/__qemu_img/manifest +++ b/cdist/conf/type/__qemu_img/manifest @@ -3,11 +3,23 @@ # format="$(cat "$__object/parameter/format")" -state="$(cat "$__object/parameter/state")" +state_should="$(cat "$__object/parameter/state")" diskimage="/$__object_id" -# Absent is ensured by __file, present by gencode-remote -if [ "$state" = "absent" ]; then - __file "$diskimage" --state absent -fi +case "$state_should" in + present) + if [ ! -f "$__object/parameter/size" ]; then + echo "Size is required when state is present" >&2 + exit 1 + fi + ;; + absent) + # Absent is ensured by __file, present by gencode-remote + __file "$diskimage" --state absent + ;; + *) + echo "Unsupported state: $state_should" >&2 + exit 1 + ;; +esac diff --git a/cdist/conf/type/__qemu_img/parameter/required b/cdist/conf/type/__qemu_img/parameter/required deleted file mode 100644 index 2a613ba5..00000000 --- a/cdist/conf/type/__qemu_img/parameter/required +++ /dev/null @@ -1 +0,0 @@ -size