E, [2026-06-26T08:05:37.518196 #6072] [] ERROR -- DirectorJobRunner: Worker thread raised exception: undefined local variable or method `deployment_name' for an instance of Bosh::Director::DiskDeleter - /var/vcap/packages/director/gem_home
/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:32:in `ensure in delete_dynamic_disk'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:32:in `delete_dynamic_disk'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:13:in `block (3 levels) in delete_dynamic_disks'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-common-0.0.0/lib/bosh/common/thread_pool.rb:77:in `block (2 levels) in create_thread'
<internal:kernel>:187:in `loop'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-common-0.0.0/lib/bosh/common/thread_pool.rb:63:in `block in create_thread'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/logging-2.4.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
D, [2026-06-26T08:05:37.518206 #6072] [] DEBUG -- DirectorJobRunner: Thread is no longer needed, cleaning up
D, [2026-06-26T08:05:37.518348 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000010s) (conn: 5600) BEGIN
D, [2026-06-26T08:05:37.518507 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000098s) (conn: 5600) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1782461137,"stage":"Deleting properties","tags":[],"total":0,"task":"De
leting dynamic disks","index":1,"state":"failed","progress":100,"data":{"error":"undefined local variable or method `deployment_name'' for an instance of Bosh::Director::DiskDeleter"}}
') WHERE ("id" = 28606)
D, [2026-06-26T08:05:37.518751 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000220s) (conn: 5600) COMMIT
D, [2026-06-26T08:05:37.519240 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000360s) (conn: 5620) DELETE FROM "locks" WHERE (("name" = 'lock:deployment:cf') AND ("uid" = '26892e7c-3d81-498e-84ae-0fb845b07efc'))
D, [2026-06-26T08:05:37.519253 #6072] [task:28606] DEBUG -- DirectorJobRunner: Deleted lock: lock:deployment:cf uid: 26892e7c-3d81-498e-84ae-0fb845b07efc
D, [2026-06-26T08:05:37.519423 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000009s) (conn: 5600) BEGIN
D, [2026-06-26T08:05:37.519557 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000069s) (conn: 5600) INSERT INTO "events" ("parent_id", "timestamp", "user", "action", "object_type", "object_name", "error", "task", "deployment", "instanc
e", "context_json") VALUES (NULL, '2026-06-26 08:05:37.519298+0000', 'admin', 'release', 'lock', 'lock:deployment:cf', NULL, '28606', 'cf', NULL, '{}') RETURNING *
D, [2026-06-26T08:05:37.519851 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000210s) (conn: 5600) COMMIT
D, [2026-06-26T08:05:37.519992 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000008s) (conn: 5620) BEGIN
D, [2026-06-26T08:05:37.520093 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000058s) (conn: 5620) INSERT INTO "events" ("parent_id", "timestamp", "user", "action", "object_type", "object_name", "error", "task", "deployment", "instanc
e", "context_json") VALUES (168251, '2026-06-26 08:05:37.519907+0000', 'admin', 'delete', 'deployment', 'cf', 'undefined local variable or method `deployment_name'' for an instance of Bosh::Director::DiskDeleter', '28606', 'cf', NULL, '{}'
) RETURNING *
D, [2026-06-26T08:05:37.520335 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000194s) (conn: 5620) COMMIT
D, [2026-06-26T08:05:37.520436 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000008s) (conn: 5600) BEGIN
D, [2026-06-26T08:05:37.520544 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000060s) (conn: 5600) UPDATE "tasks" SET "event_output" = ("event_output" || '{"time":1782461137,"error":{"code":100,"message":"undefined local variable or m
ethod `deployment_name'' for an instance of Bosh::Director::DiskDeleter"}}
') WHERE ("id" = 28606)
D, [2026-06-26T08:05:37.520739 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000184s) (conn: 5600) COMMIT
E, [2026-06-26T08:05:37.520755 #6072] [task:28606] ERROR -- DirectorJobRunner: undefined local variable or method `deployment_name' for an instance of Bosh::Director::DiskDeleter
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:32:in `ensure in delete_dynamic_disk'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:32:in `delete_dynamic_disk'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-director-0.0.0/lib/bosh/director/disk_deleter.rb:13:in `block (3 levels) in delete_dynamic_disks'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-common-0.0.0/lib/bosh/common/thread_pool.rb:77:in `block (2 levels) in create_thread'
<internal:kernel>:187:in `loop'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/bosh-common-0.0.0/lib/bosh/common/thread_pool.rb:63:in `block in create_thread'
/var/vcap/packages/director/gem_home/ruby/3.3.0/gems/logging-2.4.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
D, [2026-06-26T08:05:37.520910 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000096s) (conn: 5620) SELECT * FROM "tasks" WHERE "id" = 28606
D, [2026-06-26T08:05:37.521056 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000008s) (conn: 5600) BEGIN
D, [2026-06-26T08:05:37.521187 #6072] [task:28606] DEBUG -- DirectorJobRunner: (0.000080s) (conn: 5600) UPDATE "tasks" SET "state" = 'error', "timestamp" = '2026-06-26 08:05:37.521001+0000', "description" = 'delete deployment cf', "result"
= 'undefined local variable or method `deployment_name'' for an instance of Bosh::Director::DiskDeleter', "output" = '/var/vcap/store/director/tasks/28606', "checkpoint_time" = '2026-06-26 08:05:27.429504+0000', "type" = 'delete_deploymen
t', "username" = 'admin', "deployment_name" = 'cf', "started_at" = '2026-06-26 08:05:27.429486+0000', "event_output" = '{"time":1782461127,"stage":"Removing deployment artifacts","tags":[],"total":3,"task":"Detaching stemcells","index":1,"
state":"started","progress":0}
{"time":1782461127,"stage":"Removing deployment artifacts","tags":[],"total":3,"task":"Detaching stemcells","index":1,"state":"finished","progress":100}
{"time":1782461127,"stage":"Removing deployment artifacts","tags":[],"total":3,"task":"Detaching releases","index":2,"state":"started","progress":0}
{"time":1782461127,"stage":"Removing deployment artifacts","tags":[],"total":3,"task":"Detaching releases","index":2,"state":"finished","progress":100}
{"time":1782461127,"stage":"Deleting properties","tags":[],"total":0,"task":"Deleting dynamic disks","index":1,"state":"started","progress":0}
{"time":1782461127,"stage":"Deleting properties","tags":[],"total":0,"task":"bosh-disk-8d8984f60ad040368f/vol-p-b3fcf5ff-c597-49a0-596b-c3da584a5b02","index":2,"state":"started","progress":0}
{"time":1782461127,"stage":"Deleting properties","tags":[],"total":0,"task":"bosh-disk-815004ac0ca5428c88/vol-p-119ea906-34d3-4ec6-41be-66d49c99b0ff","index":3,"state":"started","progress":0}
{"time":1782461127,"stage":"Deleting properties","tags":[],"total":0,"task":"bosh-disk-8d8984f60ad040368f/vol-p-b3fcf5ff-c597-49a0-596b-c3da584a5b02","index":2,"state":"failed","progress":100,"data":{"error":"undefined method `error'' for
nil"}}
{"time":1782461137,"stage":"Deleting properties","tags":[],"total":0,"task":"bosh-disk-815004ac0ca5428c88/vol-p-119ea906-34d3-4ec6-41be-66d49c99b0ff","index":3,"state":"failed","progress":100,"data":{"error":"undefined method `error'' for
nil"}}
{"time":1782461137,"stage":"Deleting properties","tags":[],"total":0,"task":"Deleting dynamic disks","index":1,"state":"failed","progress":100,"data":{"error":"undefined local variable or method `deployment_name'' for an instance of Bosh::
Director::DiskDeleter"}}
{"time":1782461137,"error":{"code":100,"message":"undefined local variable or method `deployment_name'' for an instance of Bosh::Director::DiskDeleter"}}
', "result_output" = '', "context_id" = '' WHERE ("id" = 28606)
Describe the bug
Experimented a bit with dynamic disks in cloud foundry: cloudfoundry/community#1453 (comment)
Now I'm trying to delete the deployment via bosh, and I'm running into:
To Reproduce
Get a deployment with dynamic disks. Delete a dynamic disk in the iaas.
Now try and delete the bosh deployment with the --force flag.
Expected behavior
Bosh should ignore errors and delete the deployment.
Logs
Versions (please complete the following information):