diff --git a/dev/functions b/dev/functions
index aa57e791a14f6dceb8d4637a4ef564370206a7fa..6c0bbe4e485da9049c7f1c23ecf1b402eba2cf48 100644
--- a/dev/functions
+++ b/dev/functions
@@ -158,10 +158,6 @@ function environment_setup {
     # the rocky release.
     if [ ! -d "${KAYOBE_VENV_PATH}/share/kayobe/ansible" ]; then
         cd "${KAYOBE_SOURCE_PATH}"
-    else
-        # kayobe should still be able to function when the current working directory
-        # is not the source checkout
-        cd /tmp
     fi
 }
 
diff --git a/playbooks/kayobe-overcloud-base/run.yml b/playbooks/kayobe-overcloud-base/run.yml
index bea0b13c643ee06d13dc76b93d87adb8b8399c29..17adde26be1b0bd074f46ecf7edcd6769a175265 100644
--- a/playbooks/kayobe-overcloud-base/run.yml
+++ b/playbooks/kayobe-overcloud-base/run.yml
@@ -10,8 +10,7 @@
   tasks:
     - name: Ensure overcloud is deployed
       shell:
-        cmd: dev/overcloud-deploy.sh > {{ logs_dir }}/ansible/overcloud-deploy
-        chdir: "{{ kayobe_src_dir }}"
+        cmd: "{{ kayobe_src_dir }}/dev/overcloud-deploy.sh > {{ logs_dir }}/ansible/overcloud-deploy"
 
     - name: Ensure test Tenks cluster is deployed
       shell:
diff --git a/playbooks/kayobe-overcloud-upgrade-base/run.yml b/playbooks/kayobe-overcloud-upgrade-base/run.yml
index 766942cb52fa7fa7cdf44257cf39c6e0d69d7d51..111f563e5d92cb3b46a3f63c8b017245e231d719 100644
--- a/playbooks/kayobe-overcloud-upgrade-base/run.yml
+++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml
@@ -83,8 +83,7 @@
 
         - name: Ensure overcloud is upgraded
           shell:
-            cmd: dev/overcloud-upgrade.sh > {{ logs_dir }}/ansible/overcloud-upgrade
-            chdir: "{{ kayobe_src_dir }}"
+            cmd: "{{ kayobe_src_dir }}/dev/overcloud-upgrade.sh > {{ logs_dir }}/ansible/overcloud-upgrade"
 
         # FIXME(mgoddard): The nova-compute service does not seem to be correctly
         # handling the SIGHUP after being upgraded, leading to "In shutdown, no new
@@ -108,3 +107,4 @@
 
       environment:
         KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}"
+        KAYOBE_SOURCE_PATH: "{{ kayobe_src_dir }}"
diff --git a/playbooks/kayobe-seed-base/run.yml b/playbooks/kayobe-seed-base/run.yml
index 3693b6dfc776142bce17bab3d552d0d2ccfd5dfe..5f10773134c8689fc40dcce6847d7d9da2d71740 100644
--- a/playbooks/kayobe-seed-base/run.yml
+++ b/playbooks/kayobe-seed-base/run.yml
@@ -11,5 +11,4 @@
   tasks:
     - name: Ensure seed is deployed
       shell:
-        cmd: dev/seed-deploy.sh > {{ logs_dir }}/ansible/seed-deploy
-        chdir: "{{ kayobe_src_dir }}"
+        cmd: "{{ kayobe_src_dir }}/dev/seed-deploy.sh > {{ logs_dir }}/ansible/seed-deploy"
diff --git a/playbooks/kayobe-seed-upgrade-base/run.yml b/playbooks/kayobe-seed-upgrade-base/run.yml
index d1d960f328831cf60472bda0b0365f357d40560d..aae52b392bc318c995ac07e01e4af530be0c13af 100644
--- a/playbooks/kayobe-seed-upgrade-base/run.yml
+++ b/playbooks/kayobe-seed-upgrade-base/run.yml
@@ -56,9 +56,9 @@
 
         - name: Ensure seed is upgraded
           shell:
-            cmd: dev/seed-upgrade.sh > {{ logs_dir }}/ansible/seed-upgrade
-            chdir: "{{ kayobe_src_dir }}"
+            cmd: "{{ kayobe_src_dir }}/dev/seed-upgrade.sh > {{ logs_dir }}/ansible/seed-upgrade"
 
         # TODO(mgoddard): Perform a smoke test against the upgraded current release.
       environment:
         KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}"
+        KAYOBE_SOURCE_PATH: "{{ kayobe_src_dir }}"