Sha256: 8f462fbeb813e57c1bae3d92abf7b5ea8fa5ba30686e5e7068bb68f15888cea9
Contents?: true
Size: 1.54 KB
Versions: 5
Compression:
Stored size: 1.54 KB
Contents
# kill the task so we can recreate it schtasks /delete /tn "chef-solo" /f 2>&1 | out-null # Ensure the chef task running file doesn't exist from a previous failure if (Test-Path "<%= options[:chef_task_running] %>") { del "<%= options[:chef_task_running] %>" } # schedule the task to run once in the far distant future schtasks /create /tn 'chef-solo' /xml '<%= options[:chef_task_xml] %>' /ru '<%= options[:user] %>' /rp '<%= options[:pass] %>' | Out-Null # start the scheduled task right now schtasks /run /tn "chef-solo" | Out-Null # wait for run_chef.ps1 to start or timeout after 1 minute $timeoutSeconds = 60 $elapsedSeconds = 0 while ( (!(Test-Path "<%= options[:chef_task_running] %>")) -and ($elapsedSeconds -lt $timeoutSeconds) ) { Start-Sleep -s 1 $elapsedSeconds++ } if ($elapsedSeconds -ge $timeoutSeconds) { Write-Error "Timed out waiting for chef scheduled task to start" exit -2 } # read the entire file, but only write out new lines we haven't seen before $numLinesRead = 0 $success = $TRUE while (Test-Path "<%= options[:chef_task_running] %>") { Start-Sleep -m 100 if (Test-Path "<%= options[:chef_stdout_log] %>") { $text = (get-content "<%= options[:chef_stdout_log] %>") $numLines = ($text | Measure-Object -line).lines $numLinesToRead = $numLines - $numLinesRead if ($numLinesToRead -gt 0) { $text | select -first $numLinesToRead -skip $numLinesRead | ForEach { Write-Host "$_" } $numLinesRead += $numLinesToRead } } } exit Get-Content "<%= options[:chef_task_exitcode] %>"
Version data entries
5 entries across 5 versions & 1 rubygems