diff --git a/ceph/templates/job-cephfs-client-key.yaml b/ceph/templates/job-cephfs-client-key.yaml
index 1ad56bf6b8..9075a1fc0f 100644
--- a/ceph/templates/job-cephfs-client-key.yaml
+++ b/ceph/templates/job-cephfs-client-key.yaml
@@ -87,7 +87,7 @@ spec:
   template:
     metadata:
       labels:
-{{ tuple $envAll "ceph" "client-key-generator" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
+{{ tuple $envAll "ceph" "cephfs-client-key-generator" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
     spec:
       serviceAccountName: {{ $serviceAccountName }}
       restartPolicy: OnFailure
diff --git a/tools/deployment/armada/multinode/armada-ceph.yaml b/tools/deployment/armada/multinode/armada-ceph.yaml
index fb24dd7fc4..40cff748e5 100644
--- a/tools/deployment/armada/multinode/armada-ceph.yaml
+++ b/tools/deployment/armada/multinode/armada-ceph.yaml
@@ -29,6 +29,44 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: ceph
+            component: bootstrap
+        - type: job
+          labels:
+            application: ceph
+            component: cephfs-client-key-generator
+        - type: job
+          labels:
+            application: ceph
+            component: mds-keyring-generator
+        - type: job
+          labels:
+            application: ceph
+            component: osd-keyring-generator
+        - type: job
+          labels:
+            application: ceph
+            component: rgw-keyring-generator
+        - type: job
+          labels:
+            application: ceph
+            component: mon-keyring-generator
+        - type: job
+          labels:
+            application: ceph
+            component: mgr-keyring-generator
+        - type: job
+          labels:
+            application: ceph
+            component: rbd-pool
+        - type: job
+          labels:
+            application: ceph
+            component: storage-keys-generator
   values:
     endpoints:
       identity:
diff --git a/tools/deployment/armada/multinode/armada-osh.yaml b/tools/deployment/armada/multinode/armada-osh.yaml
index fbfc49d0e1..3de18b540c 100644
--- a/tools/deployment/armada/multinode/armada-osh.yaml
+++ b/tools/deployment/armada/multinode/armada-osh.yaml
@@ -75,6 +75,12 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: ceph
+            component: namespace-client-key-generator
   values:
     endpoints:
       identity:
@@ -217,6 +223,31 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: keystone
+            component: bootstrap
+        - type: job
+          labels:
+            application: keystone
+            component: credential-setup
+        - name: keystone-db-init
+          type: job
+          labels:
+            application: keystone
+            component: db-init
+        - name: keystone-db-sync
+          type: job
+          labels:
+            application: keystone
+            component: db-sync
+        - name: keystone-fernet-setup
+          type: job
+          labels:
+            application: keystone
+            component: fernet-setup
   values:
     endpoints:
       identity:
@@ -266,6 +297,20 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: ceph
+            component: ks-user
+        - type: job
+          labels:
+            application: ceph
+            component: ks-service
+        - type: job
+          labels:
+            application: ceph
+            component: ks-endpoints
   values:
     endpoints:
       identity:
@@ -385,6 +430,32 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: glance
+            component: db-init
+        - type: job
+          labels:
+            application: glance
+            component: db-sync
+        - type: job
+          labels:
+            application: glance
+            component: ks-user
+        - type: job
+          labels:
+            application: glance
+            component: ks-service
+        - type: job
+          labels:
+            application: glance
+            component: ks-endpoints
+        - type: job
+          labels:
+            application: glance
+            component: storage-init
   values:
     endpoints:
       identity:
@@ -500,6 +571,32 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: cinder
+            component: db-init
+        - type: job
+          labels:
+            application: cinder
+            component: db-sync
+        - type: job
+          labels:
+            application: cinder
+            component: ks-user
+        - type: job
+          labels:
+            application: cinder
+            component: ks-service
+        - type: job
+          labels:
+            application: cinder
+            component: ks-endpoints
+        - type: job
+          labels:
+            application: cinder
+            component: storage-init
   values:
     endpoints:
       identity:
@@ -673,6 +770,44 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: nova
+            component: db-init
+        - type: job
+          labels:
+            application: nova
+            component: db-sync
+        - type: job
+          labels:
+            application: nova
+            component: ks-user
+        - type: job
+          labels:
+            application: nova
+            component: ks-service
+        - type: job
+          labels:
+            application: nova
+            component: ks-endpoints
+        - type: job
+          labels:
+            application: placement
+            component: ks-user
+        - type: job
+          labels:
+            application: placement
+            component: ks-service
+        - type: job
+          labels:
+            application: placement
+            component: ks-endpoints
+        - type: job
+          labels:
+            application: nova
+            component: cell-setup
   values:
     endpoints:
       identity:
@@ -842,6 +977,28 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: neutron
+            component: db-init
+        - type: job
+          labels:
+            application: neutron
+            component: db-sync
+        - type: job
+          labels:
+            application: neutron
+            component: ks-user
+        - type: job
+          labels:
+            application: neutron
+            component: ks-service
+        - type: job
+          labels:
+            application: neutron
+            component: ks-endpoints
   values:
     endpoints:
       identity:
@@ -994,6 +1151,28 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: heat
+            component: db-init
+        - type: job
+          labels:
+            application: heat
+            component: db-sync
+        - type: job
+          labels:
+            application: heat
+            component: ks-user
+        - type: job
+          labels:
+            application: heat
+            component: ks-service
+        - type: job
+          labels:
+            application: heat
+            component: ks-endpoints
   values:
     endpoints:
       identity:
@@ -1114,6 +1293,28 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: barbican
+            component: db-init
+        - type: job
+          labels:
+            application: barbican
+            component: db-sync
+        - type: job
+          labels:
+            application: barbican
+            component: ks-user
+        - type: job
+          labels:
+            application: barbican
+            component: ks-service
+        - type: job
+          labels:
+            application: barbican
+            component: ks-endpoints
   values:
     endpoints:
       identity:
@@ -1165,6 +1366,12 @@ data:
     no_hooks: false
   upgrade:
     no_hooks: false
+    pre:
+      delete:
+        - type: job
+          labels:
+            application: prometheus-openstack-exporter
+            component: ks-user
   values:
     endpoints:
       identity: