From 2a693f9e18b1801aadd1480dbebb83d2e659e02e Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Wed, 21 Oct 2020 18:42:43 +0400 Subject: [PATCH 1/7] Power off and renaming the failed VM has been addded to move-vm.ps1 --- images.CI/macos/move-vm.ps1 | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 index 17e6faea..5b7140b1 100644 --- a/images.CI/macos/move-vm.ps1 +++ b/images.CI/macos/move-vm.ps1 @@ -48,12 +48,21 @@ Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking # Connection to a vCenter Server system Connect-VCServer -try -{ - Get-VM $VMName | Move-VM -Datastore $TargetDataStore -ErrorAction Stop - Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'" +$Vm = Get-VM $VMName + +if($env:AGENT_JOBSTATUS -eq 'Failed') { + try { + Stop-Vm -Vm $Vm -Confirm:$false -ErrorAction Stop + Set-Vm -Vm $Vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop + Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]" + } catch { + Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'" + } } -catch -{ + +try { + Move-VM -Vm $Vm -Datastore $TargetDataStore -ErrorAction Stop + Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'" +} catch { Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'" } \ No newline at end of file From 81ad74e82705913ddcdb590dd2832b7ee366fe8c Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Wed, 21 Oct 2020 21:06:52 +0400 Subject: [PATCH 2/7] if($Vm.PowerState -ne "PoweredOff") condition has been added --- images.CI/macos/move-vm.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 index 5b7140b1..67efd933 100644 --- a/images.CI/macos/move-vm.ps1 +++ b/images.CI/macos/move-vm.ps1 @@ -52,7 +52,9 @@ $Vm = Get-VM $VMName if($env:AGENT_JOBSTATUS -eq 'Failed') { try { - Stop-Vm -Vm $Vm -Confirm:$false -ErrorAction Stop + if($Vm.PowerState -ne "PoweredOff") { + Stop-Vm -Vm $Vm -Confirm:$false -ErrorAction Stop + } Set-Vm -Vm $Vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]" } catch { From 8937675e2e5985b1c41baee44794ac5dba5f37c8 Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Wed, 21 Oct 2020 21:11:35 +0400 Subject: [PATCH 3/7] [Exit 1] was added to xcode-clt.sh for testing --- images/macos/provision/core/xcode-clt.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/images/macos/provision/core/xcode-clt.sh b/images/macos/provision/core/xcode-clt.sh index 49693d33..7e23cec2 100644 --- a/images/macos/provision/core/xcode-clt.sh +++ b/images/macos/provision/core/xcode-clt.sh @@ -40,4 +40,6 @@ while ! is_clt_installed; do ((retries--)) echo "Wait $sleepInterval seconds before the next check for installed Command Line Tools" sleep $sleepInterval -done \ No newline at end of file +done + +exit 1 \ No newline at end of file From ca7a6c402854473419eb8ca727067793231aefbc Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Thu, 22 Oct 2020 11:04:36 +0400 Subject: [PATCH 4/7] [Exit 1] has been removed from xcode-clt.sh --- images/macos/provision/core/xcode-clt.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/images/macos/provision/core/xcode-clt.sh b/images/macos/provision/core/xcode-clt.sh index 7e23cec2..49693d33 100644 --- a/images/macos/provision/core/xcode-clt.sh +++ b/images/macos/provision/core/xcode-clt.sh @@ -40,6 +40,4 @@ while ! is_clt_installed; do ((retries--)) echo "Wait $sleepInterval seconds before the next check for installed Command Line Tools" sleep $sleepInterval -done - -exit 1 \ No newline at end of file +done \ No newline at end of file From a80592397f7906e5f196edaee29aa81ad44fcef3 Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Thu, 22 Oct 2020 11:59:11 +0400 Subject: [PATCH 5/7] nitpick changes --- images.CI/macos/move-vm.ps1 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 index 67efd933..85f02a27 100644 --- a/images.CI/macos/move-vm.ps1 +++ b/images.CI/macos/move-vm.ps1 @@ -23,7 +23,7 @@ vCenter password (Example "12345678") param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] - [string]$VMName, + [string]$vMName, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] @@ -48,23 +48,23 @@ Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking # Connection to a vCenter Server system Connect-VCServer -$Vm = Get-VM $VMName +$vm = Get-VM $vMName -if($env:AGENT_JOBSTATUS -eq 'Failed') { +if ($env:AGENT_JOBSTATUS -eq 'Failed') { try { - if($Vm.PowerState -ne "PoweredOff") { - Stop-Vm -Vm $Vm -Confirm:$false -ErrorAction Stop + if($vm.PowerState -ne "PoweredOff") { + Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop } - Set-Vm -Vm $Vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop + Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]" } catch { - Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'" + Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$vMName'" } } try { - Move-VM -Vm $Vm -Datastore $TargetDataStore -ErrorAction Stop + Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'" } catch { - Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'" + Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$vMName' to target datastore '$TargetDataStore'" } \ No newline at end of file From de3f459f1a10b2d836ee4aa2d6da8c315dfba45b Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Thu, 22 Oct 2020 12:00:39 +0400 Subject: [PATCH 6/7] Nitpic changes --- images.CI/macos/move-vm.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 index 85f02a27..06d19a02 100644 --- a/images.CI/macos/move-vm.ps1 +++ b/images.CI/macos/move-vm.ps1 @@ -48,7 +48,7 @@ Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking # Connection to a vCenter Server system Connect-VCServer -$vm = Get-VM $vMName +$vm = Get-VM $VMName if ($env:AGENT_JOBSTATUS -eq 'Failed') { try { @@ -58,7 +58,7 @@ if ($env:AGENT_JOBSTATUS -eq 'Failed') { Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]" } catch { - Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$vMName'" + Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'" } } @@ -66,5 +66,5 @@ try { Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'" } catch { - Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$vMName' to target datastore '$TargetDataStore'" + Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'" } \ No newline at end of file From 39b79427d6f81e681baf5980ab78682efa0fa339 Mon Sep 17 00:00:00 2001 From: "Andrey Mishechkin (GITHUB INC)" Date: Thu, 22 Oct 2020 12:35:09 +0400 Subject: [PATCH 7/7] minor bugfixing --- images.CI/macos/move-vm.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images.CI/macos/move-vm.ps1 b/images.CI/macos/move-vm.ps1 index 06d19a02..69872140 100644 --- a/images.CI/macos/move-vm.ps1 +++ b/images.CI/macos/move-vm.ps1 @@ -23,7 +23,7 @@ vCenter password (Example "12345678") param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] - [string]$vMName, + [string]$VMName, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()]