Skip to main content
Solved

Cancel a DDM managed-software-update planID

  • January 14, 2025
  • 10 replies
  • 453 views

Forum|alt.badge.img+3

Hello all,

We are working on leveraging the DDM managed-software-uodate API feature for pushing out enforceable updates to our endpoints. One of the issues we are seeing, however, is that some machines get stuck where the machine never updates but when I try to push and check a new plan, I get the error 

EXISTING_PLAN_FOR_DEVICE_IN_PROGRESS

 My question is, how do we go about canceling a plan that is already in progress?

 

Thank you,

Alex Weiner

Best answer by Chris_Cover

Thanks to those who have responded. I've seen similar threads from the past year or so, who have also received replies of "Turn the Software Update feature" but how is that the only solution at this point?

We commonly get scenarios such as: Computer 123 received a DDM Software Update command and is assigned to PlanID ABC-456. Days later, reports show that the machine hasn't updated yet and the DDM workflow looks to be hung, so we need to remediate it. All I want is a mechanism to say "Cancel PlanID ABC-456" and yet the only solution is "pull an IT Crowd on the Software Update feature for your entire Production Environment."

Not trying to be aggressive towards those that responded, just incredulous that Jamf/Apple have no better solution at this point.


I was digging into the API for other reasons and I think I noticed that if you nuke the OSUpdateStatus command in the pending queue it may nuke the plan for that device.

10 replies

mvu
Forum|alt.badge.img+20
  • Jamf Heroes
  • January 14, 2025

We go to the Software Updates tab and turn off the feature. Wait a bit. Then cycle it back on. Send DDM again.


Shyamsundar
Forum|alt.badge.img+13
  • Jamf Heroes
  • January 15, 2025

Turning the OFF the software update feature will cancel the existing DDM 


Forum|alt.badge.img+7
  • Contributor
  • January 15, 2025

it will also cancel every other plan running AND remove all history. 


Forum|alt.badge.img+3
  • Author
  • New Contributor
  • January 19, 2025

Thanks to those who have responded. I've seen similar threads from the past year or so, who have also received replies of "Turn the Software Update feature" but how is that the only solution at this point?

We commonly get scenarios such as: Computer 123 received a DDM Software Update command and is assigned to PlanID ABC-456. Days later, reports show that the machine hasn't updated yet and the DDM workflow looks to be hung, so we need to remediate it. All I want is a mechanism to say "Cancel PlanID ABC-456" and yet the only solution is "pull an IT Crowd on the Software Update feature for your entire Production Environment."

Not trying to be aggressive towards those that responded, just incredulous that Jamf/Apple have no better solution at this point.


Shyamsundar
Forum|alt.badge.img+13
  • Jamf Heroes
  • January 20, 2025

maybe you upvote to this idea to get this implemented

https://ideas.jamf.com/ideas/JPRO-I-336


Forum|alt.badge.img+7
  • Contributor
  • Answer
  • January 21, 2025

Thanks to those who have responded. I've seen similar threads from the past year or so, who have also received replies of "Turn the Software Update feature" but how is that the only solution at this point?

We commonly get scenarios such as: Computer 123 received a DDM Software Update command and is assigned to PlanID ABC-456. Days later, reports show that the machine hasn't updated yet and the DDM workflow looks to be hung, so we need to remediate it. All I want is a mechanism to say "Cancel PlanID ABC-456" and yet the only solution is "pull an IT Crowd on the Software Update feature for your entire Production Environment."

Not trying to be aggressive towards those that responded, just incredulous that Jamf/Apple have no better solution at this point.


I was digging into the API for other reasons and I think I noticed that if you nuke the OSUpdateStatus command in the pending queue it may nuke the plan for that device.


Forum|alt.badge.img+3
  • Author
  • New Contributor
  • January 23, 2025

I was digging into the API for other reasons and I think I noticed that if you nuke the OSUpdateStatus command in the pending queue it may nuke the plan for that device.


@Chris_Cover thanks for the input. What API domain were you seeing that in?


Forum|alt.badge.img+3
  • Author
  • New Contributor
  • January 23, 2025

I was digging into the API for other reasons and I think I noticed that if you nuke the OSUpdateStatus command in the pending queue it may nuke the plan for that device.


I just tested it out and can confirm that, after manually deleting the pending OSUpdateStatus command, the Management > Operating System menu no longer showed the Plan info and I was able to send a new DDM command which registered a new PlanID that was not canceled due to an existing plan.

This should be good enough for now to nuke pending commands before pushing out new updates. Thanks Much!


Forum|alt.badge.img+7
  • Contributor
  • January 23, 2025

I just tested it out and can confirm that, after manually deleting the pending OSUpdateStatus command, the Management > Operating System menu no longer showed the Plan info and I was able to send a new DDM command which registered a new PlanID that was not canceled due to an existing plan.

This should be good enough for now to nuke pending commands before pushing out new updates. Thanks Much!


Hey, glad that worked out for you. I've had to modify my script to account for the plan toggle, and then to not get repeated plans. It would be nice if they would allow the API to get the plan ID for a device. I've ended up writing it to a PLIST at time of the plan creation so I can check the process.

honestly I think the old means of doing updates was better..at least for those using the API. I can see some issues that the new way "solves".


Forum|alt.badge.img+1
  • New Contributor
  • May 29, 2025

I just tested it out and can confirm that, after manually deleting the pending OSUpdateStatus command, the Management > Operating System menu no longer showed the Plan info and I was able to send a new DDM command which registered a new PlanID that was not canceled due to an existing plan.

This should be good enough for now to nuke pending commands before pushing out new updates. Thanks Much!


I haven't worked with the API much. Would you be able to provide a little more detailed explanation for how exactly you did this?