chore(e2e): Added checks to userdata scripts to reduce setup flakiness (#5991)
* chore(e2e): Added checks to userdata scripts to reduce setup flakiness
This commit is contained in:
1 parent
41e5cacb7c
commit
2e17f06cd2
3 files changed
+230
-78
No files matched your search
@@ -154,15 +154,56 @@ resource "aws_instance" "client" {
|
||||
|
||||
user_data = <<EOF
|
||||
<powershell>
|
||||
# set variables for retry loops
|
||||
$timeout = 300
|
||||
$interval = 30
|
||||
|
||||
# Set up SSH so we can remotely manage the instance
|
||||
## Install OpenSSH Server and Client
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
|
||||
Set-Service -Name sshd -StartupType 'Automatic'
|
||||
Start-Service sshd
|
||||
# Loop to make sure that SSH installs correctly
|
||||
$elapsed = 0
|
||||
do {
|
||||
try {
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
|
||||
Set-Service -Name sshd -StartupType 'Automatic'
|
||||
Start-Service sshd
|
||||
$result = Get-Process -Name "sshd" -ErrorAction SilentlyContinue
|
||||
if ($result) {
|
||||
Write-Host "Successfully added and started openSSH server"
|
||||
break
|
||||
}
|
||||
} catch {
|
||||
Write-Host "SSH server was not installed, retrying"
|
||||
Start-Sleep -Seconds $interval
|
||||
$elapsed += $interval
|
||||
}
|
||||
if ($elapsed -ge $timeout) {
|
||||
Write-Host "SSH server installation failed after 5 minutes. Exiting."
|
||||
exit 1
|
||||
}
|
||||
} while ($true)
|
||||
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
||||
Set-Service -Name ssh-agent -StartupType Automatic
|
||||
Start-Service ssh-agent
|
||||
$elapsed = 0
|
||||
do {
|
||||
try {
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
||||
Set-Service -Name ssh-agent -StartupType Automatic
|
||||
Start-Service ssh-agent
|
||||
$result = Get-Process -Name "ssh-agent" -ErrorAction SilentlyContinue
|
||||
if ($result) {
|
||||
Write-Host "Successfully added and started openSSH agent"
|
||||
break
|
||||
}
|
||||
} catch {
|
||||
Write-Host "SSH server was not installed, retrying"
|
||||
Start-Sleep -Seconds $interval
|
||||
$elapsed += $interval
|
||||
}
|
||||
if ($elapsed -ge $timeout) {
|
||||
Write-Host "SSH server installation failed after 5 minutes. Exiting."
|
||||
exit 1
|
||||
}
|
||||
} while ($true)
|
||||
|
||||
## Set PowerShell as the default SSH shell
|
||||
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value (Get-Command powershell.exe).Path -PropertyType String -Force
|
||||
|
||||
Reference in new issue
Block a user