Skip to content

Commit ce605ef

Browse files
authored
Added retries to federated token fetching (#19902)
Added retries to federated token fetching in shared powershell library
1 parent 032707c commit ce605ef

File tree

62 files changed

+150
-141
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+150
-141
lines changed

Tasks/AzureCloudPowerShellDeploymentV1/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 1,
1919
"Minor": 240,
20-
"Patch": 2
20+
"Patch": 4
2121
},
2222
"demands": [
2323
"azureps"

Tasks/AzureCloudPowerShellDeploymentV1/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 1,
1919
"Minor": 240,
20-
"Patch": 2
20+
"Patch": 4
2121
},
2222
"demands": [
2323
"azureps"

Tasks/AzureCloudPowerShellDeploymentV2/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 2,
1919
"Minor": 240,
20-
"Patch": 2
20+
"Patch": 4
2121
},
2222
"demands": [
2323
"azureps"

Tasks/AzureCloudPowerShellDeploymentV2/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 2,
1919
"Minor": 240,
20-
"Patch": 2
20+
"Patch": 4
2121
},
2222
"demands": [
2323
"azureps"

Tasks/AzureFileCopyV1/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 1,
1616
"Minor": 240,
17-
"Patch": 4
17+
"Patch": 6
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV1/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 1,
1616
"Minor": 240,
17-
"Patch": 4
17+
"Patch": 6
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV2/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV2/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV3/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 3,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV3/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 3,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV4/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 4,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV4/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 4,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV5/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 5,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV5/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 5,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV6/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 6,
1616
"Minor": 240,
17-
"Patch": 8
17+
"Patch": 10
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzureFileCopyV6/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 6,
1616
"Minor": 240,
17-
"Patch": 8
17+
"Patch": 10
1818
},
1919
"demands": [
2020
"azureps"

Tasks/AzurePowerShellV2/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 2,
2020
"Minor": 240,
21-
"Patch": 3
21+
"Patch": 4
2222
},
2323
"demands": [
2424
"azureps"

Tasks/AzurePowerShellV2/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 2,
2020
"Minor": 240,
21-
"Patch": 3
21+
"Patch": 4
2222
},
2323
"demands": [
2424
"azureps"

Tasks/AzurePowerShellV3/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 3,
2020
"Minor": 240,
21-
"Patch": 3
21+
"Patch": 4
2222
},
2323
"releaseNotes": "Added support for Fail on standard error and ErrorActionPreference",
2424
"demands": [

Tasks/AzurePowerShellV3/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 3,
2020
"Minor": 240,
21-
"Patch": 3
21+
"Patch": 4
2222
},
2323
"releaseNotes": "ms-resource:loc.releaseNotes",
2424
"demands": [

Tasks/AzurePowerShellV4/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 4,
2020
"Minor": 240,
21-
"Patch": 4
21+
"Patch": 6
2222
},
2323
"releaseNotes": "Added support for Az Module and cross platform agents.",
2424
"groups": [

Tasks/AzurePowerShellV4/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 4,
2020
"Minor": 240,
21-
"Patch": 4
21+
"Patch": 6
2222
},
2323
"releaseNotes": "ms-resource:loc.releaseNotes",
2424
"groups": [

Tasks/AzurePowerShellV5/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 5,
2020
"Minor": 240,
21-
"Patch": 4
21+
"Patch": 6
2222
},
2323
"releaseNotes": "Added support for Az Module and cross platform agents.",
2424
"groups": [

Tasks/AzurePowerShellV5/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"version": {
1919
"Major": 5,
2020
"Minor": 240,
21-
"Patch": 4
21+
"Patch": 6
2222
},
2323
"releaseNotes": "ms-resource:loc.releaseNotes",
2424
"groups": [

Tasks/Common/VstsAzureHelpers_/Utility.ps1

+26-17
Original file line numberDiff line numberDiff line change
@@ -245,20 +245,29 @@ function Get-VstsFederatedToken {
245245
$hub = Get-VstsTaskVariable -Name 'System.HostType' -Require
246246
$projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require
247247

248-
$tokenResponse = $taskHttpClient.CreateOidcTokenAsync(
249-
$projectId,
250-
$hub,
251-
$planId,
252-
$jobId,
253-
$connectedServiceNameARM,
254-
$null
255-
).Result
256-
$federatedToken = $tokenResponse.OidcToken
257-
if ($null -eq $federatedToken) {
258-
Write-Verbose "Failed to create OIDC token."
259-
throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken))
260-
}
261-
return $federatedToken
248+
$timeToWait = 4000
249+
for (($retryAttempt = 1), ($retryLimit = 3); $retryAttempt -le $retryLimit; $retryAttempt++) {
250+
$tokenResponse = $taskHttpClient.CreateOidcTokenAsync(
251+
$projectId,
252+
$hub,
253+
$planId,
254+
$jobId,
255+
$connectedServiceNameARM,
256+
$null
257+
).Result
258+
$federatedToken = $tokenResponse.OidcToken
259+
if ($null -ne $federatedToken) {
260+
return $federatedToken
261+
}
262+
263+
if ($retryAttempt -lt $retryLimit) {
264+
Write-Verbose "Failed to fetch federated token. Remaining retries count = '$($retryLimit - $retryAttempt)'"
265+
Start-Sleep -m $timeToWait * $retryAttempt
266+
}
267+
}
268+
269+
Write-Verbose "Failed to create OIDC token."
270+
throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken))
262271
}
263272

264273
function Set-UserAgent {
@@ -591,7 +600,7 @@ function Add-AzureStackAzureRmEnvironment {
591600
AzureKeyVaultServiceEndpointResourceId = $AzureKeyVaultServiceEndpointResourceId
592601
EnableAdfsAuthentication = $aadAuthorityEndpoint.TrimEnd("/").EndsWith("/adfs", [System.StringComparison]::OrdinalIgnoreCase)
593602
}
594-
603+
595604
if ($featureFlags.retireAzureRM)
596605
{
597606
$azureEnvironmentParams.StorageEndpoint = $StorageEndpointSuffix
@@ -607,7 +616,7 @@ function Add-AzureStackAzureRmEnvironment {
607616

608617
if($null -ne $armEnv) {
609618
Write-Verbose "Updating Az environment $name" -Verbose
610-
619+
611620
if (CmdletHasMember -cmdlet Remove-AzEnvironment -memberName Force) {
612621
Remove-AzEnvironment -Name $name -Force | Out-Null
613622
}
@@ -625,7 +634,7 @@ function Add-AzureStackAzureRmEnvironment {
625634

626635
if($null -ne $armEnv) {
627636
Write-Verbose "Updating AzureRm environment $name" -Verbose
628-
637+
629638
if (CmdletHasMember -cmdlet Remove-AzureRmEnvironment -memberName Force) {
630639
Remove-AzureRmEnvironment -Name $name -Force | Out-Null
631640
}

Tasks/SqlAzureDacpacDeploymentV1/task.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 1,
1919
"Minor": 240,
20-
"Patch": 4
20+
"Patch": 6
2121
},
2222
"demands": [
2323
"sqlpackage"

Tasks/SqlAzureDacpacDeploymentV1/task.loc.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"version": {
1818
"Major": 1,
1919
"Minor": 240,
20-
"Patch": 4
20+
"Patch": 6
2121
},
2222
"demands": [
2323
"sqlpackage"
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Default|2.240.6
2-
Node20_229_2|2.240.7
1+
Default|2.240.8
2+
Node20_229_2|2.240.9

_generated/AzureFileCopyV2/task.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"
@@ -374,7 +374,7 @@
374374
"ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired."
375375
},
376376
"_buildConfigMapping": {
377-
"Default": "2.240.6",
378-
"Node20_229_2": "2.240.7"
377+
"Default": "2.240.8",
378+
"Node20_229_2": "2.240.9"
379379
}
380380
}

_generated/AzureFileCopyV2/task.loc.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 6
17+
"Patch": 8
1818
},
1919
"demands": [
2020
"azureps"
@@ -374,7 +374,7 @@
374374
"ExpiredServicePrincipal": "ms-resource:loc.messages.ExpiredServicePrincipal"
375375
},
376376
"_buildConfigMapping": {
377-
"Default": "2.240.6",
378-
"Node20_229_2": "2.240.7"
377+
"Default": "2.240.8",
378+
"Node20_229_2": "2.240.9"
379379
}
380380
}

_generated/AzureFileCopyV2_Node20/task.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 7
17+
"Patch": 9
1818
},
1919
"demands": [
2020
"azureps"
@@ -378,7 +378,7 @@
378378
"ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired."
379379
},
380380
"_buildConfigMapping": {
381-
"Default": "2.240.6",
382-
"Node20_229_2": "2.240.7"
381+
"Default": "2.240.8",
382+
"Node20_229_2": "2.240.9"
383383
}
384384
}

_generated/AzureFileCopyV2_Node20/task.loc.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"version": {
1515
"Major": 2,
1616
"Minor": 240,
17-
"Patch": 7
17+
"Patch": 9
1818
},
1919
"demands": [
2020
"azureps"
@@ -378,7 +378,7 @@
378378
"ExpiredServicePrincipal": "ms-resource:loc.messages.ExpiredServicePrincipal"
379379
},
380380
"_buildConfigMapping": {
381-
"Default": "2.240.6",
382-
"Node20_229_2": "2.240.7"
381+
"Default": "2.240.8",
382+
"Node20_229_2": "2.240.9"
383383
}
384384
}
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Default|3.240.6
2-
Node20_229_2|3.240.7
1+
Default|3.240.8
2+
Node20_229_2|3.240.9

0 commit comments

Comments
 (0)