Skip to content

Commit ffbf490

Browse files
tongyimingmikatong
and
mikatong
authored
fix(emr): [119015728] update read need_master_wan (#2768)
* fix emr need_master_wan * add changelog --------- Co-authored-by: mikatong <[email protected]>
1 parent b6e5577 commit ffbf490

File tree

4 files changed

+98
-16
lines changed

4 files changed

+98
-16
lines changed

.changelog/2768.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_emr_cluster: fix read need_master_wan
3+
```

tencentcloud/acctest/basic.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ variable "default_project" {
116116

117117
// EMR
118118
const (
119-
DefaultEMRVpcId = DefaultVpcId
120-
DefaultEMRSubnetId = DefaultSubnetId
121-
DefaultEMRSgId = "sg-694qit0p"
119+
DefaultEMRVpcId = "vpc-axrsmmrv"
120+
DefaultEMRSubnetId = "subnet-j5vja918"
121+
DefaultEMRSgId = "sg-bzbu5ezt"
122122
)
123123

124124
const DefaultEMRVariable = `

tencentcloud/services/emr/resource_tc_emr_cluster.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -328,10 +328,8 @@ func resourceTencentCloudEmrClusterCreate(d *schema.ResourceData, meta interface
328328
err = resource.Retry(10*tccommon.ReadRetryTimeout, func() *resource.RetryError {
329329
clusters, err := emrService.DescribeInstancesById(ctx, instanceId, displayStrategy)
330330

331-
if e, ok := err.(*errors.TencentCloudSDKError); ok {
332-
if e.GetCode() == "InternalError.ClusterNotFound" {
333-
return nil
334-
}
331+
if err != nil {
332+
return resource.RetryableError(err)
335333
}
336334

337335
if len(clusters) > 0 {
@@ -342,9 +340,6 @@ func resourceTencentCloudEmrClusterCreate(d *schema.ResourceData, meta interface
342340
}
343341
}
344342

345-
if err != nil {
346-
return resource.RetryableError(err)
347-
}
348343
return nil
349344
})
350345
if err != nil {
@@ -377,10 +372,7 @@ func resourceTencentCloudEmrClusterDelete(d *schema.ResourceData, meta interface
377372
clusters, err := emrService.DescribeInstancesById(ctx, instanceId, DisplayStrategyIsclusterList)
378373

379374
if e, ok := err.(*errors.TencentCloudSDKError); ok {
380-
if e.GetCode() == "InternalError.ClusterNotFound" {
381-
return nil
382-
}
383-
if e.GetCode() == "UnauthorizedOperation" {
375+
if e.GetCode() == "ResourceNotFound.InstanceNotFound" {
384376
return nil
385377
}
386378
}
@@ -619,7 +611,7 @@ func resourceTencentCloudEmrClusterRead(d *schema.ResourceData, meta interface{}
619611
"zone": *instance.Zone,
620612
})
621613
_ = d.Set("placement_info", []interface{}{placement})
622-
if instance.MasterIp != nil {
614+
if instance.MasterIp != nil && len(*instance.MasterIp) > 2 {
623615
_ = d.Set("need_master_wan", "NEED_MASTER_WAN")
624616
} else {
625617
_ = d.Set("need_master_wan", "NOT_NEED_MASTER_WAN")

tencentcloud/services/emr/resource_tc_emr_cluster_test.go

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ var testEmrClusterResourceKey = "tencentcloud_emr_cluster.emrrrr"
133133
func TestAccTencentCloudEmrClusterResource(t *testing.T) {
134134
t.Parallel()
135135
resource.Test(t, resource.TestCase{
136-
PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_COMMON) },
136+
PreCheck: func() { tcacctest.AccPreCheck(t) },
137137
Providers: tcacctest.AccProviders,
138138
Steps: []resource.TestStep{
139139
{
@@ -167,6 +167,23 @@ func TestAccTencentCloudEmrClusterResource(t *testing.T) {
167167
})
168168
}
169169

170+
func TestAccTencentCloudEmrClusterResource_NotNeedMasterWan(t *testing.T) {
171+
t.Parallel()
172+
resource.Test(t, resource.TestCase{
173+
PreCheck: func() { tcacctest.AccPreCheck(t) },
174+
Providers: tcacctest.AccProviders,
175+
Steps: []resource.TestStep{
176+
{
177+
Config: testEmrNotNeedMasterWan,
178+
Check: resource.ComposeTestCheckFunc(
179+
testAccCheckEmrExists(testEmrClusterResourceKey),
180+
resource.TestCheckResourceAttr(testEmrClusterResourceKey, "need_master_wan", "NOT_NEED_MASTER_WAN"),
181+
),
182+
},
183+
},
184+
})
185+
}
186+
170187
func testAccCheckEmrExists(n string) resource.TestCheckFunc {
171188
return func(s *terraform.State) error {
172189

@@ -277,3 +294,73 @@ resource "tencentcloud_emr_cluster" "emrrrr" {
277294
}
278295
}
279296
`
297+
298+
const testEmrNotNeedMasterWan = tcacctest.DefaultEMRVariable + `
299+
data "tencentcloud_instance_types" "cvm4c8m" {
300+
exclude_sold_out=true
301+
cpu_core_count=4
302+
memory_size=8
303+
filter {
304+
name = "instance-charge-type"
305+
values = ["POSTPAID_BY_HOUR"]
306+
}
307+
filter {
308+
name = "zone"
309+
values = ["ap-guangzhou-3"]
310+
}
311+
}
312+
313+
resource "tencentcloud_emr_cluster" "emrrrr" {
314+
product_id=38
315+
vpc_settings={
316+
vpc_id=var.vpc_id
317+
subnet_id=var.subnet_id
318+
}
319+
softwares = [
320+
"hdfs-2.8.5",
321+
"knox-1.6.1",
322+
"openldap-2.4.44",
323+
"yarn-2.8.5",
324+
"zookeeper-3.6.3",
325+
]
326+
support_ha=0
327+
instance_name="emr-test-demo"
328+
resource_spec {
329+
master_resource_spec {
330+
mem_size=8192
331+
cpu=4
332+
disk_size=100
333+
disk_type="CLOUD_PREMIUM"
334+
spec="CVM.${data.tencentcloud_instance_types.cvm4c8m.instance_types.0.family}"
335+
storage_type=5
336+
root_size=50
337+
}
338+
core_resource_spec {
339+
mem_size=8192
340+
cpu=4
341+
disk_size=100
342+
disk_type="CLOUD_PREMIUM"
343+
spec="CVM.${data.tencentcloud_instance_types.cvm4c8m.instance_types.0.family}"
344+
storage_type=5
345+
root_size=50
346+
}
347+
master_count=1
348+
core_count=2
349+
}
350+
login_settings={
351+
password="Tencent@cloud123"
352+
}
353+
time_span=3600
354+
time_unit="s"
355+
pay_mode=0
356+
placement_info {
357+
zone="ap-guangzhou-3"
358+
project_id=0
359+
}
360+
sg_id=var.sg_id
361+
tags = {
362+
emr-key = "emr-value"
363+
}
364+
need_master_wan = "NOT_NEED_MASTER_WAN"
365+
}
366+
`

0 commit comments

Comments
 (0)