I've read most of the threads I can find relating to this, but nothing which definitively answered my question.
I have an application for Dell's OMSA agent defined, which was created from the SysMgmt.msi installer. That worked just fine, but on a subset of machines a reboot was required to complete installation.
The machine which restarted has no maintenance windows defined, and in the deployment the available time and deadline time were both set to as soon as possible. I selected to allow installation outside of maintenance windows. It was my understanding that no maintenance windows was equivalent to never being able to do things at deadline without specifically excepting them.
This particular machine failed to install the app because a previous version of OMSA was installed which didn't support upgrade. I manually removed the old OMSA and hit retry in Software Center and it successfully installed - and noted a reboot required in the interface. "No problem" says I and put a request through to the stakeholder for a restart time.
24 hours later, it rebooted.
This is what I found in various logs. Firstly from System event log:
The process C:\Windows\CCM\CcmExec.exe (XXX) has initiated the restart of computer XXX on behalf of user NT AUTHORITY\SYSTEM for the following reason: No title for this reason could be foundReason Code: 0x80020001
Shutdown Type: restart
Comment: Your computer will restart at 05/07/2013 02:11:56 PM to complete the installation of applications and software updates.
Moved on to RebootCoordinator:
Entered ScheduleRebootImpl - requested from 'DCMAgent'. Rebootby = 1367899016. RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) Scheduled reboot from agent DCMAgent. Deadline local time: 05/07/2013 01:56:56 PM RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) No CCM Identification blob RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) Not in Service Mode, check ServiceWindowsManager next RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) ServiceWindowsManager has allowed us to Reboot RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) MTC task does not exist. Creating new request. RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) MTC allowed us to reboot RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) Raising client SDK event for class NULL, instance NULL, actionType 4l, value 1367899016 900 600, user NULL, session 4294967295l, level 0l, verbosity 30l RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324) Notified UI grace period start with 900 grace seconds and 600 final seconds. RebootCoordinator 7/05/2013 1:56:56 PM 8996 (0x2324)
Then on to DCMAgent:
DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::SetupJob - Add assignment Dell OpenManage Systems Management Software_Servers - Physcial_Install({E2EE3E72-070F-4512-B857-33F6E1676113}) DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::PopulateCIsFromAssignment - CI policy Id:ScopeId_E76FFDBE-064E-4BC8-98E3-04BEA611B13E/RequiredApplication_d2e82aa2-22fd-47f0-9ee2-fe5039f055e5 version:2 with actions: Evaluation, Install, Uninstall, Update DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::SetUserParams DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::SetTimeout DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) CDCMAgentJobMgr::StartJob - Starting DCM Agent job {BFA65F91-7408-42B3-9819-8C30800701E1} DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::GetUserTokenParams DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore Transition DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=Transition, CurrentState=Idle) DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgent::InitiateCIAgentJob - Starting CI Agent Job {FDD72AFD-45D4-4C16-BDAF-3282D9E0A678} for target: machine. Refer to this CI agent job ID in ciagent.log for more details DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): TransitionState(From=Idle, To=Evaluating) for Event=Transition DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore Transition DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=Transition, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:51 PM 15208 (0x3B68) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:51 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:51 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:51 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:51 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:52 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:52 PM 16720 (0x4150) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore NotifyProgress DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::HandleEvent(Event=NotifyProgress, CurrentState=Evaluating) DCMAgent 7/05/2013 1:56:56 PM 31748 (0x7C04) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): NotifyComplete DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): TransitionState(From=Evaluating, To=Success) for Event=Transition DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): CDCMAgentJob::QueueEvent - Queuing Event and incrementing semaphore Transition DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324) DCMAgentJob({BFA65F91-7408-42B3-9819-8C30800701E1}): Registering for Immediate reboot DCMAgent 7/05/2013 1:56:56 PM 8996 (0x2324)
So, I'm not sure why DCMAgent initiated the reboot. It seems a little rude to me. I have read about application definitions could cause application installers to reboot, but why was it 24 hours later?
The app enforcement looked like this: (no there was no /noreboot or ReallySuppress, but there will be in future)
+++ Starting Install enforcement for App DT "Dell OpenManage Systems Management Software - Windows Installer (*.msi file) x64" ApplicationDeliveryType - ScopeId_E76FFDBE-064E-4BC8-98E3-04BEA611B13E/DeploymentType_d59c9aa5-0b64-46b6-9b8e-7dd2e1adca41, Revision - 2, ContentPath - C:\Windows\ccmcache\4, Execution Context - System AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) A user is logged on to the system. AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Performing detection of app deployment type Dell OpenManage Systems Management Software - Windows Installer (*.msi file) x64(ScopeId_E76FFDBE-064E-4BC8-98E3-04BEA611B13E/DeploymentType_d59c9aa5-0b64-46b6-9b8e-7dd2e1adca41, revision 2) for system. AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C)+++ Application not discovered. [AppDT Id: ScopeId_E76FFDBE-064E-4BC8-98E3-04BEA611B13E/DeploymentType_d59c9aa5-0b64-46b6-9b8e-7dd2e1adca41, Revision: 2] AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) App enforcement environment: Context: Machine Command line: msiexec /i "SysMgmtx64.msi" /qb Allow user interaction: No UI mode: 0 User token: null Session Id: 3 Content path: C:\Windows\ccmcache\4 Working directory: AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Prepared working directory: C:\Windows\ccmcache\4 AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Found executable file msiexec with complete path C:\Windows\system32\msiexec.exe AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Prepared command line: "C:\Windows\system32\msiexec.exe" /i "SysMgmtx64.msi" /qb /qn AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Valid MSI Package path = C:\Windows\ccmcache\4\SysMgmtx64.msi AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Advertising MSI package [C:\Windows\ccmcache\4\SysMgmtx64.msi] to the system. AppEnforce 6/05/2013 2:20:31 PM 19564 (0x4C6C) Executing Command line: "C:\Windows\system32\msiexec.exe" /i "SysMgmtx64.msi" /qb /qn with user context AppEnforce 6/05/2013 2:20:32 PM 19564 (0x4C6C) Working directory C:\Windows\ccmcache\4 AppEnforce 6/05/2013 2:20:32 PM 19564 (0x4C6C) Post install behavior is BasedOnExitCode AppEnforce 6/05/2013 2:20:32 PM 19564 (0x4C6C) Waiting for process 11568 to finish. Timeout = 120 minutes. AppEnforce 6/05/2013 2:20:32 PM 19564 (0x4C6C) Process 11568 terminated with exitcode: 3010 AppEnforce 6/05/2013 2:23:16 PM 19564 (0x4C6C) Looking for exit code 3010 in exit codes table... AppEnforce 6/05/2013 2:23:16 PM 19564 (0x4C6C) Matched exit code 3010 to a PendingSoftReboot entry in exit codes table. AppEnforce 6/05/2013 2:23:16 PM 19564 (0x4C6C)++++++ App enforcement completed (165 seconds) for App DT "Dell OpenManage Systems Management Software - Windows Installer (*.msi file) x64" [ScopeId_E76FFDBE-064E-4BC8-98E3-04BEA611B13E/DeploymentType_d59c9aa5-0b64-46b6-9b8e-7dd2e1adca41], Revision: 2, User SID: ] ++++++ AppEnforce 6/05/2013 2:23:16 PM 19564 (0x4C6C)
In anyone can point me in the right direction for an explanation, that'd be grand. This wasn't a one-off - at least 3 servers exhibited the same behaviour. So I'm assuming something in my configuration is leading to this reboot almost exactly 24 hours later.
Thanks.