diff --git a/openstack-helm/cloudlab-disk-setup.sh b/openstack-helm/cloudlab-disk-setup.sh
deleted file mode 100755
index 1e2765f..0000000
--- a/openstack-helm/cloudlab-disk-setup.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2017-present Open Networking Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-###############################################
-# Disk setup and symlinks for a CloudLab node #
-###############################################
-
-# Don't do anything if not a CloudLab node
-[ ! -d /usr/local/etc/emulab ] && return
-
-# Mount extra space, if haven't already
-if [ ! -d /mnt/extra ]
-then
-    sudo mkdir -p /mnt/extra
-
-    # for NVME SSD on Utah m510, not supported by mkextrafs
-    if df | grep -q nvme0n1p1 && [ -e /usr/testbed/bin/mkextrafs ]
-    then
-        # set partition type of 4th partition to Linux, ignore errors
-        echo -e "t\\n4\\n82\\np\\nw\\nq" | sudo fdisk /dev/nvme0n1 || true
-
-        sudo mkfs.ext4 /dev/nvme0n1p4
-        echo "/dev/nvme0n1p4 /mnt/extra/ ext4 defaults 0 0" | sudo tee -a /etc/fstab
-        sudo mount /mnt/extra
-        mount | grep nvme0n1p4 || (echo "ERROR: NVME mkfs/mount failed, exiting!" && exit 1)
-
-    elif [ -e /usr/testbed/bin/mkextrafs ] && [ -b /dev/sdb ] # if on Clemson/Wisconsin Cloudlab
-    then
-        # Sometimes this command fails on the first try
-        sudo /usr/testbed/bin/mkextrafs -s 1 -r /dev/sdb -qf "/mnt/extra/" || sudo /usr/testbed/bin/mkextrafs -s 1 -r /dev/sdb -qf "/mnt/extra/"
-
-        # Check that the mount succeeded (sometimes mkextrafs succeeds but device not mounted)
-        mount | grep sdb || (echo "ERROR: mkextrafs failed, exiting!" && exit 1)
-
-    elif [ -e /usr/testbed/bin/mkextrafs ] && [ -b /dev/sda4 ] # if on Utah xl170
-    then
-        # set partition type of 4th partition to Linux, ignore errors
-        printf "t\\n4\\n83\\np\\nw\\nq" | sudo fdisk /dev/sda || true
-
-        sudo mkfs.ext4 /dev/sda4
-        echo "/dev/sda4 /mnt/extra/ ext4 defaults 0 0" | sudo tee -a /etc/fstab
-        sudo mount /mnt/extra
-        mount | grep sda4 || (echo "ERROR: mkfs/mount failed, exiting!" && exit 1)
-    fi
-fi
-
-for DIR in docker kubelet openstack-helm nova
-do
-    sudo mkdir -p "/mnt/extra/$DIR"
-    sudo chmod -R a+rwx "/mnt/extra/$DIR"
-    if [ ! -e "/var/lib/$DIR" ]
-    then
-        sudo ln -s "/mnt/extra/$DIR" "/var/lib/$DIR"
-    fi
-done
diff --git a/openstack-helm/openstack-helm-dev-setup.sh b/openstack-helm/openstack-helm-dev-setup.sh
index cb383bf..fdb66b5 100755
--- a/openstack-helm/openstack-helm-dev-setup.sh
+++ b/openstack-helm/openstack-helm-dev-setup.sh
@@ -37,7 +37,7 @@
 if [ -d /usr/local/etc/emulab ]
 then
   sudo delgroup docker || true
-  "$DIR"/cloudlab-disk-setup.sh
+  "$DIR"/../scripts/cloudlab-disksetup.sh
 fi
 
 if [ ! -e ~/openstack-helm-infra ]
