Skip to content

Commit

Permalink
add UTKG acc test case
Browse files Browse the repository at this point in the history
Signed-off-by: Xianping <zxianping@vmware.com>

add cluster nodepool acc test case
  • Loading branch information
Axpz committed Mar 4, 2024
1 parent aa47e00 commit 09975a6
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 20 deletions.
9 changes: 7 additions & 2 deletions internal/resources/tanzukubernetescluster/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"context"
"encoding/json"
"fmt"
"log"
"time"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
Expand Down Expand Up @@ -115,7 +116,9 @@ func waitClusterReady(ctx context.Context, config *authctx.TanzuContext, cluster
}

for !isStopStatus {
time.Sleep(5 * time.Second)
log.Printf("[INFO] waitClusterReady------waiting 30 seconds---------")

time.Sleep(30 * time.Second)

err := ctx.Err()

Expand Down Expand Up @@ -193,7 +196,9 @@ func waitNodePoolsReady(ctx context.Context, config *authctx.TanzuContext, clust
}

if !nodePoolsReady {
time.Sleep(5 * time.Second)
log.Printf("[INFO] waitNodePoolsReady------waiting 30 seconds---------")

time.Sleep(30 * time.Second)

err := ctx.Err()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ const (
TKGMManagementClusterNameEnv ClusterEnvVar = "TKGM_MANAGEMENT_CLUSTER_NAME"
TKGMProvisionerNameEnv ClusterEnvVar = "TKGM_PROVISIONER_NAME"
TKGMClusterVersionEnv ClusterEnvVar = "TKGM_CLUSTER_VERSION"
TKGMClusterUpgradeVersionEnv ClusterEnvVar = "TKGM_CLUSTER_UPGRADE_VERSION"
TKGMClusterUpdateGroupEnv ClusterEnvVar = "TKGM_CLUSTER_UPDATE_GROUP"
TKGMClusterClassEnv ClusterEnvVar = "TKGM_CLUSTER_CLASS"
TKGMClusterVariablesEnv ClusterEnvVar = "TKGM_CLUSTER_VARIABLES"
TKGMOSImageNameEnv ClusterEnvVar = "TKGM_OS_IMAGE_NAME"
Expand All @@ -32,6 +34,8 @@ const (
TKGSManagementClusterNameEnv ClusterEnvVar = "TKGS_MANAGEMENT_CLUSTER_NAME"
TKGSProvisionerNameEnv ClusterEnvVar = "TKGS_PROVISIONER_NAME"
TKGSClusterVersionEnv ClusterEnvVar = "TKGS_CLUSTER_VERSION"
TKGSClusterUpgradeVersionEnv ClusterEnvVar = "TKGS_CLUSTER_UPGRADE_VERSION"
TKGSClusterUpdateGroupEnv ClusterEnvVar = "TKGS_CLUSTER_UPDATE_GROUP"
TKGSClusterClassEnv ClusterEnvVar = "TKGS_CLUSTER_CLASS"
TKGSClusterVariablesEnv ClusterEnvVar = "TKGS_CLUSTER_VARIABLES"
TKGSOSImageNameEnv ClusterEnvVar = "TKGS_OS_IMAGE_NAME"
Expand All @@ -58,6 +62,8 @@ var (
TKGMManagementClusterNameEnv: true,
TKGMProvisionerNameEnv: true,
TKGMClusterVersionEnv: true,
TKGMClusterUpgradeVersionEnv: true,
TKGMClusterUpdateGroupEnv: true,
TKGMClusterClassEnv: true,
TKGMClusterVariablesEnv: true,
TKGMOSImageNameEnv: true,
Expand All @@ -74,6 +80,8 @@ var (
TKGSManagementClusterNameEnv: true,
TKGSProvisionerNameEnv: true,
TKGSClusterVersionEnv: true,
TKGSClusterUpgradeVersionEnv: true,
TKGSClusterUpdateGroupEnv: true,
TKGSClusterClassEnv: true,
TKGSClusterVariablesEnv: true,
TKGSOSImageNameEnv: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func InitResourceTFConfigBuilder() *ResourceTFConfigBuilder {
spec {
worker_class = "%s"
replicas = 1
replicas = %d
overrides = jsonencode(%s)
meta {
Expand All @@ -59,7 +59,7 @@ func InitResourceTFConfigBuilder() *ResourceTFConfigBuilder {
return tfConfigBuilder
}

func (builder *ResourceTFConfigBuilder) GetTKGMClusterConfig(tkgmEnvVars map[ClusterEnvVar]string, nodePoolsNum int) string {
func (builder *ResourceTFConfigBuilder) GetTKGMClusterConfig(tkgmEnvVars map[ClusterEnvVar]string, nodePoolsNum int, clusterGroup, clusterVersion string) string {
nodePools := builder.BuildNodePools(tkgmEnvVars[TKGMWorkerClassEnv], tkgmEnvVars[TKGMNodePoolOverridesEnv],
tkgmEnvVars[TKGMOSImageNameEnv], tkgmEnvVars[TKGMOSImageVersionEnv], tkgmEnvVars[TKGMOSImageArchEnv],
nodePoolsNum)
Expand All @@ -71,6 +71,8 @@ func (builder *ResourceTFConfigBuilder) GetTKGMClusterConfig(tkgmEnvVars map[Clu
provisioner_name = "%s"
spec {
cluster_group_name = "%s"
topology {
version = "%s"
cluster_class = "%s"
Expand Down Expand Up @@ -129,7 +131,8 @@ func (builder *ResourceTFConfigBuilder) GetTKGMClusterConfig(tkgmEnvVars map[Clu
TKGMClusterName,
tkgmEnvVars[TKGMManagementClusterNameEnv],
tkgmEnvVars[TKGMProvisionerNameEnv],
tkgmEnvVars[TKGMClusterVersionEnv],
clusterGroup,
clusterVersion,
tkgmEnvVars[TKGMClusterClassEnv],
tkgmEnvVars[TKGMClusterVariablesEnv],
tkgmEnvVars[TKGMOSImageNameEnv],
Expand All @@ -139,7 +142,7 @@ func (builder *ResourceTFConfigBuilder) GetTKGMClusterConfig(tkgmEnvVars map[Clu
)
}

func (builder *ResourceTFConfigBuilder) GetTKGSClusterConfig(tkgsEnvVars map[ClusterEnvVar]string, nodePoolsNum int) string {
func (builder *ResourceTFConfigBuilder) GetTKGSClusterConfig(tkgsEnvVars map[ClusterEnvVar]string, nodePoolsNum int, clusterGroup, clusterVersion string) string {
nodePools := builder.BuildNodePools(tkgsEnvVars[TKGSWorkerClassEnv], tkgsEnvVars[TKGSNodePoolOverridesEnv],
tkgsEnvVars[TKGSOSImageNameEnv], tkgsEnvVars[TKGSOSImageVersionEnv], tkgsEnvVars[TKGSOSImageArchEnv],
nodePoolsNum)
Expand All @@ -151,6 +154,8 @@ func (builder *ResourceTFConfigBuilder) GetTKGSClusterConfig(tkgsEnvVars map[Clu
provisioner_name = "%s"
spec {
cluster_group_name = "%s"
topology {
version = "%s"
cluster_class = "%s"
Expand Down Expand Up @@ -194,7 +199,8 @@ func (builder *ResourceTFConfigBuilder) GetTKGSClusterConfig(tkgsEnvVars map[Clu
TKGSClusterName,
tkgsEnvVars[TKGSManagementClusterNameEnv],
tkgsEnvVars[TKGSProvisionerNameEnv],
tkgsEnvVars[TKGSClusterVersionEnv],
clusterGroup,
clusterVersion,
tkgsEnvVars[TKGSClusterClassEnv],
tkgsEnvVars[TKGSClusterVariablesEnv],
tkgsEnvVars[TKGSOSImageNameEnv],
Expand All @@ -209,7 +215,8 @@ func (builder *ResourceTFConfigBuilder) BuildNodePools(workerClass string, overr
nodePools := ""

for i := 0; i < nodePoolsNum; i++ {
np := fmt.Sprintf(builder.NodePoolDefinition, i, workerClass, overrides, osImageName, osImageVersion, osImageArch)
replica := nodePoolsNum
np := fmt.Sprintf(builder.NodePoolDefinition, i, workerClass, replica, overrides, osImageName, osImageVersion, osImageArch)
nodePools = fmt.Sprintf("%s\n%s", nodePools, np)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,41 +58,65 @@ func TestAcceptanceUTKGResource(t *testing.T) {
var (
provider = initTestProvider(t)
tfResourceConfigBuilder = InitResourceTFConfigBuilder()
tkgmEnvironmentVars = environmentVars[TKGMClusterType]
tkgsEnvironmentVars = environmentVars[TKGSClusterType]
// tkgmEnvironmentVars = environmentVars[TKGMClusterType]
tkgsEnvironmentVars = environmentVars[TKGSClusterType]
)

resource.Test(t, resource.TestCase{
PreCheck: testhelper.TestPreCheck(t),
ProviderFactories: testhelper.GetTestProviderFactories(provider),
CheckDestroy: nil,
Steps: []resource.TestStep{
// {
// Config: tfResourceConfigBuilder.GetTKGMClusterConfig(tkgmEnvironmentVars, 1, "default", tkgmEnvironmentVars[TKGMClusterVersionEnv]),
// Check: resource.ComposeTestCheckFunc(
// resource.TestCheckResourceAttr(TKGMClusterResourceFullName, "name", TKGMClusterName),
// verifyTanzuKubernetesClusterResourceCreation(provider, TKGMClusterResourceFullName, tkgmEnvironmentVars[TKGMManagementClusterNameEnv],
// tkgmEnvironmentVars[TKGMProvisionerNameEnv], TKGMClusterName),
// ),
// },
// {
// Config: tfResourceConfigBuilder.GetTKGMClusterConfig(tkgmEnvironmentVars, 2, "default", tkgmEnvironmentVars[TKGMClusterVersionEnv]),
// Check: resource.ComposeTestCheckFunc(
// resource.TestCheckResourceAttr(TKGMClusterResourceFullName, "name", TKGMClusterName),
// verifyTanzuKubernetesClusterResourceCreation(provider, TKGMClusterResourceFullName, tkgmEnvironmentVars[TKGMManagementClusterNameEnv],
// tkgmEnvironmentVars[TKGMProvisionerNameEnv], TKGMClusterName),
// ),
// },
// {
// Config: tfResourceConfigBuilder.GetTKGMClusterConfig(tkgmEnvironmentVars, 1, tkgmEnvironmentVars[TKGMClusterUpdateGroupEnv], tkgmEnvironmentVars[TKGMClusterUpgradeVersionEnv]),
// Check: resource.ComposeTestCheckFunc(
// resource.TestCheckResourceAttr(TKGMClusterResourceFullName, "name", TKGMClusterName),
// verifyTanzuKubernetesClusterResourceCreation(provider, TKGMClusterResourceFullName, tkgmEnvironmentVars[TKGMManagementClusterNameEnv],
// tkgmEnvironmentVars[TKGMProvisionerNameEnv], TKGMClusterName),
// ),
// },
{
Config: tfResourceConfigBuilder.GetTKGMClusterConfig(tkgmEnvironmentVars, 1),
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 1, "default", tkgsEnvironmentVars[TKGSClusterVersionEnv]),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(TKGMClusterResourceFullName, "name", TKGMClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGMClusterResourceFullName, tkgmEnvironmentVars[TKGMManagementClusterNameEnv],
tkgmEnvironmentVars[TKGMProvisionerNameEnv], TKGMClusterName),
resource.TestCheckResourceAttr(TKGSClusterResourceFullName, "name", TKGSClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGSClusterResourceFullName, tkgsEnvironmentVars[TKGSManagementClusterNameEnv],
tkgsEnvironmentVars[TKGSProvisionerNameEnv], TKGSClusterName),
),
},
{
Config: tfResourceConfigBuilder.GetTKGMClusterConfig(tkgmEnvironmentVars, 2),
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 1, tkgsEnvironmentVars[TKGSClusterUpdateGroupEnv], tkgsEnvironmentVars[TKGSClusterUpgradeVersionEnv]),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(TKGMClusterResourceFullName, "name", TKGMClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGMClusterResourceFullName, tkgmEnvironmentVars[TKGMManagementClusterNameEnv],
tkgmEnvironmentVars[TKGMProvisionerNameEnv], TKGMClusterName),
resource.TestCheckResourceAttr(TKGSClusterResourceFullName, "name", TKGSClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGSClusterResourceFullName, tkgsEnvironmentVars[TKGSManagementClusterNameEnv],
tkgsEnvironmentVars[TKGSProvisionerNameEnv], TKGSClusterName),
),
},
{
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 1),
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 2, tkgsEnvironmentVars[TKGSClusterUpdateGroupEnv], tkgsEnvironmentVars[TKGSClusterUpgradeVersionEnv]),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(TKGSClusterResourceFullName, "name", TKGSClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGSClusterResourceFullName, tkgsEnvironmentVars[TKGSManagementClusterNameEnv],
tkgsEnvironmentVars[TKGSProvisionerNameEnv], TKGSClusterName),
),
},
{
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 2),
Config: tfResourceConfigBuilder.GetTKGSClusterConfig(tkgsEnvironmentVars, 1, "default", tkgsEnvironmentVars[TKGSClusterUpgradeVersionEnv]),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(TKGSClusterResourceFullName, "name", TKGSClusterName),
verifyTanzuKubernetesClusterResourceCreation(provider, TKGSClusterResourceFullName, tkgsEnvironmentVars[TKGSManagementClusterNameEnv],
Expand Down

0 comments on commit 09975a6

Please sign in to comment.