diff --git a/PhaseSeparation.md b/PhaseSeparation.md
--- a/PhaseSeparation.md
+++ b/PhaseSeparation.md
@@ -96,8 +96,8 @@
 * QA:Testcase_install_to_iSCSI_no_authentication
 * QA:Testcase_install_to_FCoE_target
 
-## Guided storage shrinking
-* QA:Testcase_partitioning_guided_shrink
+## [1/1] Guided storage shrinking
+* [x] QA:Testcase_partitioning_guided_shrink
 
 ## [3/4] Custom storage configuration
 * [x] QA:Testcase_partitioning_custom_btrfs
diff --git a/fedora_openqa_schedule/conf_test_suites.py b/fedora_openqa_schedule/conf_test_suites.py
--- a/fedora_openqa_schedule/conf_test_suites.py
+++ b/fedora_openqa_schedule/conf_test_suites.py
@@ -184,6 +184,11 @@
         "env": "Result",
         "type": "Installation",
     },
+    "QA:Testcase_partitioning_guided_shrink": {
+        "section": "Guided storage shrinking",
+        "env": "$FS$",
+        "type": "Installation",
+    },
     #        "": {
     # "name_cb": callbackfunc # optional, called with 'flavor'
     #            "section": "",
@@ -357,4 +362,18 @@
         "QA:Testcase_Anaconda_user_creation",
         "QA:Testcase_Package_Sets_Minimal_Package_Install",
         ],
+    "server_shrink_ext4": [
+        "QA:Testcase_install_to_VirtIO",
+        "QA:Testcase_partitioning_guided_shrink",
+        "QA:Testcase_Anaconda_User_Interface_Graphical",
+        "QA:Testcase_Anaconda_user_creation",
+        "QA:Testcase_Package_Sets_Minimal_Package_Install",
+        ],
+    "server_shrink_ntfs": [
+        "QA:Testcase_install_to_VirtIO",
+        "QA:Testcase_partitioning_guided_shrink",
+        "QA:Testcase_Anaconda_User_Interface_Graphical",
+        "QA:Testcase_Anaconda_user_creation",
+        "QA:Testcase_Package_Sets_Minimal_Package_Install",
+        ],
     }
diff --git a/fedora_openqa_schedule/report.py b/fedora_openqa_schedule/report.py
--- a/fedora_openqa_schedule/report.py
+++ b/fedora_openqa_schedule/report.py
@@ -74,7 +74,12 @@
                 testname = ''
                 if 'name_cb' in uniqueres:
                     testname = uniqueres['name_cb'](flavor)
-                env = arch if uniqueres['env'] == '$RUNARCH$' else uniqueres['env']
+                if uniqueres['env'] == '$RUNARCH$':
+                    env = arch
+                elif uniqueres['env'] == '$FS$':
+                    env = testsuite.split('_')[-1]
+                else:
+                    env = uniqueres['env']
                 result = ResTuple(
                     testtype=uniqueres['type'], release=release, milestone=milestone,
                     compose=compose, testcase=testcase, section=uniqueres['section'],
diff --git a/tools/createhdds.sh b/tools/createhdds.sh
--- a/tools/createhdds.sh
+++ b/tools/createhdds.sh
@@ -1,9 +1,10 @@
 #!/bin/bash
 
 function disk_full {
-echo "Creating disk_full.img..."
+diskname="disk_full"
+echo "Creating $diskname.img..."
 guestfish <<_EOF_
-sparse disk_full.img 10G
+sparse $diskname.img 10G
 run
 part-init /dev/sda mbr
 part-add /dev/sda p 1 10485760
@@ -20,9 +21,10 @@
 }
 
 function disk_freespace {
-echo "Creating disk_freespace.img..."
+diskname="disk_freespace"
+echo "Creating $diskname.img..."
 guestfish <<_EOF_
-sparse disk_freespace.img 10G
+sparse $diskname.img 10G
 run
 part-init /dev/sda mbr
 part-add /dev/sda p 4096 2097152
@@ -86,10 +88,11 @@
 }
 
 function disk_ks {
-echo "Creating disk_ks.img..."
+diskname="disk_ks"
+echo "Creating $diskname.img..."
 curl --silent -o "/tmp/root-user-crypted-net.ks" "https://jskladan.fedorapeople.org/kickstarts/root-user-crypted-net.ks" > /dev/null
 guestfish <<_EOF_
-sparse disk_ks.img 100MB
+sparse $diskname.img 100MB
 run
 part-init /dev/sda mbr
 part-add /dev/sda p 4096 -1
@@ -100,10 +103,11 @@
 }
 
 function disk_updates_img {
-echo "Creating disk_updates_img.img..."
+diskname="disk_updates_img"
+echo "Creating $diskname.img..."
 curl --silent -o "/tmp/updates.img" "https://fedorapeople.org/groups/qa/updates/updates-unipony.img" > /dev/null
 guestfish <<_EOF_
-sparse disk_updates_img.img 100MB
+sparse $diskname.img 100MB
 run
 part-init /dev/sda mbr
 part-add /dev/sda p 4096 -1
@@ -113,6 +117,21 @@
 _EOF_
 }
 
+function disk_shrink {
+fstype=$1
+diskname="disk_shrink_$fstype"
+echo "Creating $diskname.img..."
+guestfish <<_EOF_
+sparse $diskname.img 10G
+run
+part-init /dev/sda mbr
+part-add /dev/sda p 4096 -1
+mkfs $fstype /dev/sda1
+mount /dev/sda1 /
+write /testfile "Hello, world!"
+_EOF_
+}
+
 if [[ "$1" != "" ]]; then
     VERSION="$1"
     shift
@@ -125,6 +144,8 @@
         disk_desktop ${VERSION} "i686"
         disk_ks
         disk_updates_img
+        disk_shrink "ext4"
+        disk_shrink "ntfs"
     else
         case $1 in
             full)
@@ -151,13 +172,19 @@
             updates)
                 disk_updates_img
                 ;;
+            shrink_ext4)
+                disk_shrink "ext4"
+                ;;
+            shrink_ntfs)
+                disk_shrink "ntfs"
+                ;;
             *)
-                echo "name not in [full|freespace|minimal_64bit|minimal_32bit|desktop_64bit|desktop_32bit|ks|updates]"
+                echo "name not in [full|freespace|minimal_64bit|minimal_32bit|desktop_64bit|desktop_32bit|ks|updates|shrink_ext4|shrink_ntfs]"
                 exit 1
                 ;;
         esac
     fi
 else
-    echo "USAGE: $0 VERSION [full|freespace|minimal_64bit|minimal_32bit|desktop_64bit|desktop_32bit|ks|updates]"
+    echo "USAGE: $0 VERSION [full|freespace|minimal_64bit|minimal_32bit|desktop_64bit|desktop_32bit|ks|updates|shrink_ext4|shrink_ntfs]"
     exit 1
 fi

