in cli_tools/gce_windows_upgrade/upgrader/workflows.go [366:416]
func populateRetryUpgradeStepsFrom2008r2To2012r2(u *upgrader, w *daisy.Workflow) error {
cleanupWorkflow, err := u.generateWorkflowWithSteps("cleanup", "10m", populateCleanupSteps)
if err != nil {
return nil
}
w.Steps = map[string]*daisy.Step{
"wait-for-boot": {
Timeout: "15m",
WaitForInstancesSignal: &daisy.WaitForInstancesSignal{
{
Name: u.instanceURI,
SerialOutput: &daisy.SerialOutput{
Port: 1,
SuccessMatch: "Beginning upgrade startup script.",
},
},
},
},
"wait-for-upgrade": {
WaitForAnyInstancesSignal: &daisy.WaitForAnyInstancesSignal{
{
Name: u.instanceURI,
SerialOutput: &daisy.SerialOutput{
Port: 1,
SuccessMatch: "windows_upgrade_current_version='Windows Server 2012 R2 Datacenter'",
FailureMatch: []string{"UpgradeFailed:"},
StatusMatch: "GCEMetadataScripts:",
},
},
{
Name: u.instanceURI,
SerialOutput: &daisy.SerialOutput{
Port: 3,
// These errors were thrown from setup.exe.
FailureMatch: []string{"Windows needs to be restarted", "CheckDiskSpaceRequirements not satisfied"},
},
},
},
},
"cleanup-temp-resources": {
IncludeWorkflow: &daisy.IncludeWorkflow{
Workflow: cleanupWorkflow,
},
},
}
w.Dependencies = map[string][]string{
"cleanup-temp-resources": {"wait-for-upgrade"},
}
return nil
}