diff --git a/devstack/lib/ironic b/devstack/lib/ironic
index 8c5058873f..2c223dd008 100644
--- a/devstack/lib/ironic
+++ b/devstack/lib/ironic
@@ -576,7 +576,7 @@ function setup_qemu_log_hook {
 
 function create_bridge_and_vms {
     # Call libvirt setup scripts in a new shell to ensure any new group membership
-    sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/setup-network"
+    sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/setup-network.sh"
     if [[ "$IRONIC_VM_LOG_CONSOLE" == "True" ]] ; then
         local log_arg="$IRONIC_VM_LOG_DIR"
 
@@ -588,7 +588,7 @@ function create_bridge_and_vms {
     fi
     local vm_name
     for vm_name in $(_ironic_bm_vm_names); do
-        sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/create-node $vm_name \
+        sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/create-node.sh $vm_name \
             $IRONIC_VM_SPECS_CPU $IRONIC_VM_SPECS_RAM $IRONIC_VM_SPECS_DISK \
             amd64 $IRONIC_VM_NETWORK_BRIDGE $IRONIC_VM_EMULATOR \
             $log_arg" >> $IRONIC_VM_MACS_CSV_FILE
@@ -880,7 +880,7 @@ function cleanup_baremetal_basic_ops {
 
     local vm_name
     for vm_name in $(_ironic_bm_vm_names); do
-        sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/cleanup-node $vm_name $IRONIC_VM_NETWORK_BRIDGE"
+        sudo su $STACK_USER -c "$IRONIC_SCRIPTS_DIR/cleanup-node.sh $vm_name $IRONIC_VM_NETWORK_BRIDGE"
     done
 
     sudo rm -rf /etc/xinetd.d/tftp /etc/init/tftpd-hpa.override
diff --git a/devstack/tools/ironic/scripts/cleanup-node b/devstack/tools/ironic/scripts/cleanup-node.sh
similarity index 100%
rename from devstack/tools/ironic/scripts/cleanup-node
rename to devstack/tools/ironic/scripts/cleanup-node.sh
diff --git a/devstack/tools/ironic/scripts/configure-vm b/devstack/tools/ironic/scripts/configure-vm.py
similarity index 100%
rename from devstack/tools/ironic/scripts/configure-vm
rename to devstack/tools/ironic/scripts/configure-vm.py
diff --git a/devstack/tools/ironic/scripts/create-node b/devstack/tools/ironic/scripts/create-node.sh
similarity index 98%
rename from devstack/tools/ironic/scripts/create-node
rename to devstack/tools/ironic/scripts/create-node.sh
index 562063ad4e..a7c8fce462 100755
--- a/devstack/tools/ironic/scripts/create-node
+++ b/devstack/tools/ironic/scripts/create-node.sh
@@ -68,7 +68,7 @@ if ! virsh list --all | grep -q $NAME; then
     # Pre-touch the VM to set +C, as it can only be set on empty files.
     sudo touch "$volume_path"
     sudo chattr +C "$volume_path" || true
-    $TOP_DIR/scripts/configure-vm \
+    $TOP_DIR/scripts/configure-vm.py \
         --bootdev network --name $NAME --image "$volume_path" \
         --arch $ARCH --cpus $CPU --memory $MEM --libvirt-nic-driver $LIBVIRT_NIC_DRIVER \
         --emulator $EMULATOR --network $BRIDGE $VM_LOGGING >&2
diff --git a/devstack/tools/ironic/scripts/setup-network b/devstack/tools/ironic/scripts/setup-network.sh
similarity index 100%
rename from devstack/tools/ironic/scripts/setup-network
rename to devstack/tools/ironic/scripts/setup-network.sh
diff --git a/tools/run_bashate.sh b/tools/run_bashate.sh
index 4dbe78d934..c3993a9f29 100755
--- a/tools/run_bashate.sh
+++ b/tools/run_bashate.sh
@@ -18,7 +18,7 @@ find  "$@"  -not \( -type d -name .?\* -prune \)    \
             -not -name \*~                          \
             -not -name \*.xml                       \
             -not -name \*.template                  \
-            -not -wholename \*scripts/configure-vm  \
+            -not -name \*.py                        \
             \(                                      \
                 -name \*.sh -or                     \
                 -wholename \*/lib/\* -or            \