munkiadmin
munkiadmin copied to clipboard
Manifests on Munki Repo Empty After Saving/Rebuilding Catalogues Through MunkiAdmin
This has been mentioned a couple of times in the Slack #Munki forum today, so adding this issue here.
After importing a package and rebuilding the catalogues through MunkiAdmin, all of our manifests on our Munki Server came up blank. They manifests themselves were still there but all of the values were empty. Running the latest pre-release version of MunkiAdmin, 16.1 Checked the MunkiAdmin logs and found this entry at the time at which this occurred:
}), NSValidationErrorKey=manifestURL, NSLocalizedDescription=manifestURL is a required value.} 2018/08/15 14:35:23:774 Private context failed to save: Error Domain=NSCocoaErrorDomain Code=1570 "manifestURL is a required value." UserInfo={NSValidationErrorObject=<ManifestMO: 0x61c000096530> (entity: Manifest; id: 0x618000622be0 <x-coredata:///Manifest/tE47BCE96-59F7-4CAE-8F6F-8F1A546BC6B0129> ; data: { allFeaturedItems = "<relationship fault: 0x61c000a449e0 'allFeaturedItems'>"; allIncludedManifests = "<relationship fault: 0x61c000a446e0 'allIncludedManifests'>"; allManagedInstalls = "<relationship fault: 0x61c000a44710 'allManagedInstalls'>"; allManagedUninstalls = "<relationship fault: 0x61c000a44a70 'allManagedUninstalls'>"; allManagedUpdates = "<relationship fault: 0x61c000a44740 'allManagedUpdates'>"; allOptionalInstalls = "<relationship fault: 0x61c000a44770 'allOptionalInstalls'>"; allReferencingManifests = "<relationship fault: 0x61c000a447a0 'allReferencingManifests'>"; applications = "<relationship fault: 0x61c000e2d160 'applications'>"; catalogInfos = "<relationship fault: 0x61c0012243c0 'catalogInfos'>"; catalogs = "<relationship fault: 0x61c000c3e740 'catalogs'>"; conditionalItems = "<relationship fault: 0x61c001024400 'conditionalItems'>"; featuredItems = "<relationship fault: 0x61c001027e80 'featuredItems'>"; hasUnstagedChanges = 0; includedManifests = "<relationship fault: 0x61c000a37ec0 'includedManifests'>"; includedManifestsFaster = "<relationship fault: 0x61c000e28da0 'includedManifestsFaster'>"; managedInstalls = "<relationship fault: 0x61c001037120 'managedInstalls'>"; managedInstallsFaster = "<relationship fault: 0x61c000c3d080 'managedInstallsFaster'>"; managedUninstalls = "<relationship fault: 0x61c000c34740 'managedUninstalls'>"; managedUninstallsFaster = "<relationship fault: 0x61c000c34760 'managedUninstallsFaster'>"; managedUpdates = "<relationship fault: 0x61c00103a9a0 'managedUpdates'>"; managedUpdatesFaster = "<relationship fault: 0x61c000e270e0 'managedUpdatesFaster'>"; manifestAdminNotes = nil; manifestDateCreated = nil; manifestDateLastOpened = nil; manifestDateModified = nil; manifestDisplayName = nil; manifestInfos = "<relationship fault: 0x61c000a3da60 'manifestInfos'>"; manifestParentDirectoryURL = nil; manifestURL = nil; manifestUserName = nil; optionalInstalls = "<relationship fault: 0x61c00102f4a0 'optionalInstalls'>"; optionalInstallsFaster = "<relationship fault: 0x61c000e2a520 'optionalInstallsFaster'>"; originalManifest = "{\n}"; referencingManifests = "<relationship fault: 0x61c000a3de40 'referencingManifests'>"; title = nil;
We had to Time Machine the entire /munki/manifests folder to recover from this one!
Thank you for reporting this. Unexpected modification of repo content and data loss is something I take very seriously.
I’m having trouble recreating this on my testing repo so additional details are highly welcome. For example:
- What’s the macOS version you’re using?
- Were you accessing a local repo on your internal hard drive or a repo over a network mount?
- If you were editing a repo over a network, what’s on the other side (another Mac, Linux, Windows server)?
- Network protocol (SMB, NFS, etc) and server version?
- What other functionality did you use in MunkiAdmin before reloading the repo and saving?
- How long was MunkiAdmin running before reloading?
- Can you reproduce this or was it just that one time?
What’s the macOS version you’re using?
macOS 10.13.6 (17G65)
Were you accessing a local repo on your internal hard drive or a repo over a network mount?
Internal APFS formatted iMac Pro 1TB drive
If you were editing a repo over a network, what’s on the other side (another Mac, Linux, Windows server)?
The edits were from the local /Applications/MunkiAdmin.app working on same internal drive, the repo is a separate APFS volume from the volume with macOS
Network protocol (SMB, NFS, etc) and server version?
SMB shared from macOS built-in file sharing
Can you reproduce this or was it just that one time?
One time thing since it happened Wednesday.
What other functionality did you use in MunkiAdmin before reloading the repo and saving?
How long was MunkiAdmin running before reloading?
Here is the log just before it happened:
2018/08/15 14:31:30:814 Starting MunkiAdmin version 1.6.1
2018/08/15 14:32:23:661
2018/08/15 14:34:51:777 Deleting file /Volumes/Repository/Deployment/manifests/Lab/AV/HighSierraLabLaptop
2018/08/15 14:34:51:870 Deleting file /Volumes/Repository/Deployment/manifests/Lab/AV/ScriptsTesting
2018/08/15 14:34:56:480 Deleting file /Volumes/Repository/Deployment/manifests/Lab/AV/AVLaptop-02(2)
2018/08/15 14:34:56:572 Deleting file /Volumes/Repository/Deployment/manifests/Lab/AV/AVLaptop-03-old
2018/08/15 14:35:00:921 Terminating MunkiAdmin version 1.6.1
2018/08/15 14:35:02:950 Starting MunkiAdmin version 1.6.1
2018/08/15 14:35:10:230
2018/08/15 14:35:23:406 Private context failed to save: Error Domain=NSCocoaErrorDomain Code=1570 "manifestURL is a required value." UserInfo={NSValidationErrorObject=<ManifestMO: 0x60800009d5b0> (entity: Manifest; id: 0x618000823b40 <x-coredata:///Manifest/tE47BCE96-59F7-4CAE-8F6F-8F1A546BC6B0272> ; data: {
allFeaturedItems = "<relationship fault: 0x614000253e00 'allFeaturedItems'>";
allIncludedManifests = "<relationship fault: 0x614000253d10 'allIncludedManifests'>";
allManagedInstalls = "<relationship fault: 0x6140002539e0 'allManagedInstalls'>";
allManagedUninstalls = "<relationship fault: 0x6140002539b0 'allManagedUninstalls'>";
allManagedUpdates = "<relationship fault: 0x6140002537a0 'allManagedUpdates'>";
allOptionalInstalls = "<relationship fault: 0x614000253770 'allOptionalInstalls'>";
allReferencingManifests = "<relationship fault: 0x614000253170 'allReferencingManifests'>";
applications = "<relationship fault: 0x61400022dce0 'applications'>";
catalogInfos = "<relationship fault: 0x61400022d180 'catalogInfos'>";
catalogs = "<relationship fault: 0x61400022d5e0 'catalogs'>";
conditionalItems = "<relationship fault: 0x61400022ddc0 'conditionalItems'>";
featuredItems = "<relationship fault: 0x61400022dde0 'featuredItems'>";
hasUnstagedChanges = 0;
includedManifests = "<relationship fault: 0x61400022d2a0 'includedManifests'>";
includedManifestsFaster = "<relationship fault: 0x61400022d4c0 'includedManifestsFaster'>";
managedInstalls = "<relationship fault: 0x614000e2cd60 'managedInstalls'>";
managedInstallsFaster = "<relationship fault: 0x614000e2cd20 'managedInstallsFaster'>";
managedUninstalls = "<relationship fault: 0x614000e2cce0 'managedUninstalls'>";
managedUninstallsFaster = "<relationship fault: 0x614000e2cca0 'managedUninstallsFaster'>";
managedUpdates = "<relationship fault: 0x614000e2cc60 'managedUpdates'>";
managedUpdatesFaster = "<relationship fault: 0x614000e30840 'managedUpdatesFaster'>";
manifestAdminNotes = nil;
manifestDateCreated = nil;
manifestDateLastOpened = nil;
manifestDateModified = nil;
manifestDisplayName = nil;
manifestInfos = "<relationship fault: 0x614000e307e0 'manifestInfos'>";
manifestParentDirectoryURL = nil;
manifestURL = nil;
manifestUserName = nil;
optionalInstalls = "<relationship fault: 0x614000e32b00 'optionalInstalls'>";
optionalInstallsFaster = "<relationship fault: 0x614000e32aa0 'optionalInstallsFaster'>";
originalManifest = "{\n}";
referencingManifests = "<relationship fault: 0x614000e33e60 'referencingManifests'>";
title = nil;
}), NSValidationErrorKey=manifestURL, NSLocalizedDescription=manifestURL is a required value.}```
The same is happening to us. As I type MunkiAdmin shows one manifest as empty. On the server the manifest is populated with data. If I Save from MunkiAdmin now it will replace that populated manifest and it will become empty? Our answers to the questions above would be almost identical except this has happened on numerous occasions to us. We have back up so can restore but this is not ideal. I have closed and opened the MunkiAdmin app and opened the repo from within the app and it still shows that particular manifest file as empty?
This has happened to me three times over the past year or two. It seems to happen when I've left MunkiAdmin open for a while, so I've been suspicious of something happening when the computer slept.
What’s the macOS version you’re using? Seen on 10.14.2 and 10.13.6 Were you accessing a local repo on your internal hard drive or a repo over a network mount? Repo over a network mount If you were editing a repo over a network, what’s on the other side (another Mac, Linux, Windows server)? Windows Network protocol (SMB, NFS, etc) and server version? SMB. Windows Enterprise Server 2012 R2. What other functionality did you use in MunkiAdmin before reloading the repo and saving? I'm not sure, but I'll post back if I'm able to catch exactly what happens How long was MunkiAdmin running before reloading? I'm not sure, but I'll post back if I'm able to catch exactly what happens Can you reproduce this or was it just that one time? I've seen it 3 times in the past year. I cannot yet reproduce, though I don't have a test repo I can test on, so I'm not going to try to reproduce.