jamf / mut

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed PUT 409 When trying to add to a static group

AgentRin opened this issue · comments

Regardless if I'm trying to add to an existing static group or replace a static group I get a Failed PUT 409 error.

2019-12-04 09:03:14 [INFO ]: Token has 1607 seconds left to live. Proceeding with current token.
2019-12-04 09:03:14 [INFO ]: Beginning CSV Parse - Scope update.
2019-12-04 09:03:14 [INFO ]: Submitting a PUT to https://MYJAMFURL/JSSResource/computergroups/id/335
2019-12-04 09:03:15 [ERROR ]: Failed PUT. 409.
2019-12-04 09:03:15 [ERROR ]:

<title>Status page</title>

Conflict

Error: Unable to match computer

You can get technical details here.
Please continue your visit at our home page.

2019-12-04 09:03:51 [INFO ]: Token has 1570 seconds left to live. Proceeding with current token.
2019-12-04 09:03:51 [INFO ]: Beginning CSV Parse - Scope update.
2019-12-04 09:03:51 [INFO ]: Submitting a PUT to https://MYJAMFURL/JSSResource/computergroups/id/335
2019-12-04 09:03:51 [ERROR ]: Failed PUT. 409.
2019-12-04 09:03:51 [ERROR ]:

<title>Status page</title>

Conflict

Error: Unable to match computer

You can get technical details here.
Please continue your visit at our home page.

Hey @AgentRin , this is due to there being something in your CSV that your jamf server doesn't recognize.

This is likely either because A) a device is in the list, which does not exist in jamf or is not currently enrolled, or B) there is a line break somewhere which is causing Jamf to think you're trying to add a device with no serial number to the list.

This is because the new MUT does group population much more efficiently, and tries to add them all at once, but Jamf errors out if ANY fail.

As a workaround, you can use MUT Classic, which adds devices one at a time. It's MUCH less efficient, and takes significantly longer, but if it errors out on one device, it will just continue on and do the others.

@mike-levenick I have been messing with this for a little while. I have never gotten the anything but 'Update run failed,' after doing everything I could to make sure the .csv was error-free. Interestingly enough, I do get things to intermittently work (UI still reports run failed) when I copied a raw list of serial numbers directly onto the GroupsAndPrestageTemplate.csv. Let me know if you have any questions, love the app and willing to shed any light I can on the issue. For reference, I have been mostly messing with the .csvs using VS Code.

Hello,

The GUI will always report an error in 5.0.5 and below. It is fixed in 5.1 7f1a1aa which should be available on the app store in the next few days.

As for the rest of it, "unable to match computer" just means that it doesn't like one of the serials in yoru list, or that serial isn't enrolled in Jamf Pro.

"MUT Classic", which is also available on the app store, does these updates one at a time, and thus does not suffer this issue--although it is FAR less efficient. I've thought about putting an "inefficient mode" option into MUT v5, to work around this issue.

Hey @mike-levenick ! I'm getting a similar error as the guys above with the error unable to match computer. I tested the application with just 1 laptop's serial number that i know is in my environment, but I'm still getting the same error. Also willing to answer any questions and help as needed! Thanks!

2020-04-09 04:01:37 [INFO ]: Token has 842 seconds left to live. Proceeding with current token.
2020-04-09 04:01:37 [INFO ]: Beginning CSV Parse - Scope update.
2020-04-09 04:01:37 [INFO ]: Submitting a PUT to https://mycompany.jamfcloud.com/JSSResource/computergroups/id/127
2020-04-09 04:01:37 [ERROR ]: Failed PUT. 409.
2020-04-09 04:01:37 [ERROR ]:

<title>Status page</title>

Conflict

Error: Unable to match computer

You can get technical details here.
Please continue your visit at our home page.

I am also getting this error, but I know that it is because there are missing devices in jamf that are in a spreadsheet. Is there anyway to say if machine is missing, don't try to add ?

Reaching out to the community here. This is by far the biggest "PI" reported for MUT. It's intended behavior, but it seems like it's not expected behavior for the end-user.

The reason this is happening is because MUT does a BULK submission of ALL computers you're adding or removing from a group. This makes it so if you're adding 3,000 devices to a group, it doesn't need to do 3,000 API calls.

Is this beneficial? Would you prefer MUT v5 work the same as MUT Classic, where it submits one at a time? This would be MUCH slower, and harder on the server, but it would make it so that only the conflict/missing devices fail.

Alternatively, I've thought about adding a checkbox that is for like "use legacy upload method" or something, to do the inefficient method that would not error out on missing devices.

What would be the best option in your minds? Is a checkbox too clunky? Is there benefit to the more efficient upload method? Should we just go back to the old, inefficient way?

This would be a great feature but I can't seem to get it to work. When adding users to a static group I hit submit and all I see in the log is what is pasted below and the group is never updated.

2020-09-18 03:16:49 [INFO ]: Token only has -3201 seconds left to live. Suggest getting a new token.

Yes, this would be a great feature. I'm trying to pull out devices that are going to recycling and some have already been pulled while others haven't. I'd rather it take a long time than have to do it one at a time.

I'm having the same issue with a user group. I'm trying to change students for 2nd semester app deployments. Neither Add or Remove is working. I have verified a group of users that exist, are correct and are currently in the list but they cannot be removed. I also tried using just one user, and it fails. I even created a new Static User Group so there was no way the users could already be there and that also fails. Not sure what I'm doing wrong. I've used this tool so many times in the past. I noticed there was an updated version so I installed it to see if that would resolve the issue but no luck. I really need to get this working! I really do not want to manually add and remove 600+ student changes.

2021-01-08 02:30:33 [INFO ]: Token has 1392 seconds left to live. Proceeding with current token.
2021-01-08 02:30:33 [INFO ]: Beginning CSV Parse - Scope update.
2021-01-08 02:30:33 [INFO ]: Submitting a PUT to https://jss.dps61.org:8443/JSSResource/usergroups/id/94
2021-01-08 02:30:33 [ERROR ]: Failed PUT. 409.
2021-01-08 02:30:33 [ERROR ]:

<title>Status page</title>

Conflict

Error: Unable to match user

You can get technical details here.
Please continue your visit at our home page.

@jennifertuggle head to the app store and download MUT Classic. This still uses the "legacy" update method. It hasn't been updated for Apple Silicon like MUT v5 has, but it should still work just fine.

It's on the road map to update MUT v5 to just use the old, legacy update method. It's less efficient, but at least it works consistently.

Hi Mike! Thanks for this awesome tool. I'm starting to hit the 409 message a lot and I'm pulling this serial numbers from valid sources. In some cases I'm moving 500+ devices at a time so it makes it sort of hard to find the problematic device ID when this happens.

I tried installing MUT Classic but I can't seem to find a field to enter the Static Group ID I'd like to put the devices in, any direction you might be able to give me there?

Is adding the legacy option to MUT V5 still something that could be coming? I'd rather the process take a long time opposed me trying to find the problem within 500 devices. Those 500+ iPads are just for one school, I've got like 20 schools to manage.

Thank you again!

Hey @PDLCIII yes, I’m planning on adding a legacy upload method to MUT v5. I imagine that work will begin around thanksgiving when things calm down a little bit here in life.. sorry for the delay, but it’s on the ‘roadmap’ such as it is.

As for MUT Classic, you’ll have your device identifier in column A and then the identifier for the group in column B. So it’s actually possible to have a whole list of devices, and move some into multiple different groups with one CSV with Classic. Again, this functionality is coming to v5 (which will probably be v6 by that point actually). :)

@mike-levenick you are awesome sir! Thank you so much for the quick response. That helps a lot.

@PDLCIII @jennifertuggle @GW228g @tryckman @dannyhanes @sbiondio @lyonheart14 @AgentRin

I think you'll be excited to know I just released MUT v6, which has the ability to fall back to "classic mode" in case of a failed 409 update to group or prestage. Check it out, and let me know how it works! https://github.com/mike-levenick/mut/releases/tag/v6.0.0

You can read more about Classic Mode updates here: https://github.com/mike-levenick/mut#classic-mode-groupprestage-updates

As always with MUT, I strongly recommend trying out a small, test run of just a few devices before doing a massive update to your entire fleet. MUT is a very powerful tool, and while I've done plenty of testing, it is good to be careful, especially with a change as massive as this.

Thanks Mike!

Hello! With version 6, I am having an issue on a group of iOS devices. Trying to change the display name and asset tag. Getting this on all 80 devices:

023-06-05 05:00:03 [INFO ]: Submitting a PUT to https://virta.jamfcloud.com/JSSResource/mobiledevices/serialnumber/**F*********KJN**
2023-06-05 05:00:03 [ERROR ]: Failed PUT. 409.
2023-06-05 05:00:03 [ERROR ]:

<title>Status page</title>

Conflict

Error: Not authorized for a user PUT

You can get technical details here.
Please continue your visit at our home page.

@mphegge64 for this issue, it seems your user needs Change/Update permissions for Users to make this modification.

This is a requirement of the Jamf Pro APIs when making modifications to computers or mobiledevices. See:
https://developer.jamf.com/jamf-pro/docs/classic-api-minimum-required-privileges-and-endpoint-mapping

image