From ed6c636bd5de81aa62544c4cca92f4ee2b04798c Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Tue, 27 Apr 2021 13:13:54 -0700 Subject: [PATCH 1/2] Add azure defender testing to e2e --- testing/.gitignore | 2 +- testing/Bootstrap.ps1 | 2 +- .../bin/k8s_extension-0.2.0-py3-none-any.whl | Bin 46987 -> 0 bytes .../bin/k8s_extension-0.3.0-py3-none-any.whl | Bin 0 -> 52893 bytes testing/settings.template.json | 4 +- .../extensions/public/AzureDefender.Tests.ps1 | 93 ++++++++++++++++++ 6 files changed, 97 insertions(+), 4 deletions(-) delete mode 100644 testing/bin/k8s_extension-0.2.0-py3-none-any.whl create mode 100644 testing/bin/k8s_extension-0.3.0-py3-none-any.whl create mode 100644 testing/test/extensions/public/AzureDefender.Tests.ps1 diff --git a/testing/.gitignore b/testing/.gitignore index 7df7f6a7294..745d8708c4e 100644 --- a/testing/.gitignore +++ b/testing/.gitignore @@ -2,7 +2,7 @@ settings.json tmp/ bin/* !bin/connectedk8s-1.0.0-py3-none-any.whl -!bin/k8s_extension-0.2.0-py3-none-any.whl +!bin/k8s_extension-0.3.0-py3-none-any.whl !bin/k8s_extension_private-0.1.0-py3-none-any.whl !bin/connectedk8s-values.yaml *.xml \ No newline at end of file diff --git a/testing/Bootstrap.ps1 b/testing/Bootstrap.ps1 index c9123ba6d03..126c13541f2 100644 --- a/testing/Bootstrap.ps1 +++ b/testing/Bootstrap.ps1 @@ -24,7 +24,7 @@ if (!$SkipInstall) { Exit 1 } Write-Host "Installing connectedk8s version $connectedk8sVersion..." - az extension add --source ./bin/connectedk8s-$connectedk8sVersion-py3-none-any.whl + az extension add --source ./bin/connectedk8s-$connectedk8sVersion-py3-none-any.whl --debug if (!$?) { Write-Host "Unable to find connectedk8s version $connectedk8sVersion, exiting..." exit 1 diff --git a/testing/bin/k8s_extension-0.2.0-py3-none-any.whl b/testing/bin/k8s_extension-0.2.0-py3-none-any.whl deleted file mode 100644 index bdb9dbafdcf64c2526a3baaafdc61ad5538a9c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46987 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 diff --git a/testing/bin/k8s_extension-0.3.0-py3-none-any.whl b/testing/bin/k8s_extension-0.3.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..feb28b80b437c8af966b3b87a4fcad1a9b74d108 GIT binary patch literal 52893 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 b*Hx{YBsky%^Yh?A4x|a#NYixu{O$h(4U{Xp literal 0 HcmV?d00001 diff --git a/testing/settings.template.json b/testing/settings.template.json index 5d459b44bee..04eda8e4dfa 100644 --- a/testing/settings.template.json +++ b/testing/settings.template.json @@ -5,8 +5,8 @@ "arcClusterName": "", "extensionVersion": { - "k8s-extension": "0.2.0", + "k8s-extension": "0.3.0", "k8s-extension-private": "0.1.0", - "connectedk8s": "0.3.5" + "connectedk8s": "1.0.0" } } \ No newline at end of file diff --git a/testing/test/extensions/public/AzureDefender.Tests.ps1 b/testing/test/extensions/public/AzureDefender.Tests.ps1 new file mode 100644 index 00000000000..2d199e31638 --- /dev/null +++ b/testing/test/extensions/public/AzureDefender.Tests.ps1 @@ -0,0 +1,93 @@ +Describe 'Azure Defender Testing' { + BeforeAll { + $extensionType = "microsoft.azuredefender.kubernetes" + $extensionName = "microsoft.azuredefender.kubernetes" + $extensionAgentNamespace = "azuredefender" + + . $PSScriptRoot/../../helper/Constants.ps1 + . $PSScriptRoot/../../helper/Helper.ps1 + } + + It 'Creates the extension and checks that it onboards correctly' { + $output = az $Env:K8sExtensionName create -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters --extension-type $extensionType -n $extensionName + $? | Should -BeTrue + + $output = az $Env:K8sExtensionName show -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName + $? | Should -BeTrue + + $isAutoUpgradeMinorVersion = ($output | ConvertFrom-Json).autoUpgradeMinorVersion + $isAutoUpgradeMinorVersion.ToString() -eq "True" | Should -BeTrue + + # Loop and retry until the extension installs + $n = 0 + do + { + # Only check the extension config, not the pod since this doesn't bring up pods + if (Get-ExtensionStatus $extensionName -eq $SUCCESS_MESSAGE) { + break + } + Start-Sleep -Seconds 10 + $n += 1 + } while ($n -le $MAX_RETRY_ATTEMPTS) + $n | Should -BeLessOrEqual $MAX_RETRY_ATTEMPTS + } + + It "Performs a show on the extension" { + $output = az $Env:K8sExtensionName show -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName + $? | Should -BeTrue + $output | Should -Not -BeNullOrEmpty + } + + It "Runs an update on the extension on the cluster" { + Set-ItResult -Skipped -Because "Update is not a valid scenario for now" + + # az $Env:K8sExtensionName update -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName --auto-upgrade-minor-version false + # $? | Should -BeTrue + + # $output = az $Env:K8sExtensionName show -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName + # $? | Should -BeTrue + + # $isAutoUpgradeMinorVersion = ($output | ConvertFrom-Json).autoUpgradeMinorVersion + # $isAutoUpgradeMinorVersion.ToString() -eq "False" | Should -BeTrue + + # # Loop and retry until the extension config updates + # $n = 0 + # do + # { + # $isAutoUpgradeMinorVersion = (Get-ExtensionData $extensionName).spec.autoUpgradeMinorVersion + # if (!$isAutoUpgradeMinorVersion) { #autoUpgradeMinorVersion doesn't exist in ExtensionConfig CRD if false + # if (Get-ExtensionStatus $extensionName -eq $SUCCESS_MESSAGE) { + # if (Get-PodStatus $extensionAgentName -Namespace $extensionAgentNamespace -eq $POD_RUNNING) { + # break + # } + # } + # } + # Start-Sleep -Seconds 10 + # $n += 1 + # } while ($n -le $MAX_RETRY_ATTEMPTS) + # $n | Should -BeLessOrEqual $MAX_RETRY_ATTEMPTS + } + + It "Lists the extensions on the cluster" { + $output = az $Env:K8sExtensionName list -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters + $? | Should -BeTrue + + $extensionExists = $output | ConvertFrom-Json | Where-Object { $_.extensionType -eq $extensionType } + $extensionExists | Should -Not -BeNullOrEmpty + } + + It "Deletes the extension from the cluster" { + az $Env:K8sExtensionName delete -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName + $? | Should -BeTrue + + # Extension should not be found on the cluster + az $Env:K8sExtensionName show -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters -n $extensionName + $? | Should -BeFalse + } + + It "Performs another list after the delete" { + $output = az $Env:K8sExtensionName list -c $ENVCONFIG.arcClusterName -g $ENVCONFIG.resourceGroup --cluster-type connectedClusters + $extensionExists = $output | ConvertFrom-Json | Where-Object { $_.extensionType -eq $extensionName } + $extensionExists | Should -BeNullOrEmpty + } +} From 4fc955f62210efa146d94c8c5b354c48d50cb8bf Mon Sep 17 00:00:00 2001 From: jonathan-innis Date: Wed, 28 Apr 2021 09:36:51 -0700 Subject: [PATCH 2/2] Remove the debug flag --- testing/Bootstrap.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/Bootstrap.ps1 b/testing/Bootstrap.ps1 index 126c13541f2..c9123ba6d03 100644 --- a/testing/Bootstrap.ps1 +++ b/testing/Bootstrap.ps1 @@ -24,7 +24,7 @@ if (!$SkipInstall) { Exit 1 } Write-Host "Installing connectedk8s version $connectedk8sVersion..." - az extension add --source ./bin/connectedk8s-$connectedk8sVersion-py3-none-any.whl --debug + az extension add --source ./bin/connectedk8s-$connectedk8sVersion-py3-none-any.whl if (!$?) { Write-Host "Unable to find connectedk8s version $connectedk8sVersion, exiting..." exit 1