Skip to content

Commit 5471595

Browse files
tongyimingmikatong
andauthored
fix: emr clear metadb (#943)
* fix: emr clear metadb * fix: fmt resource_tc_eni_test.go * fix: emr unit test * fix: no metadb case Co-authored-by: mikatong <mikatong@tencent.com>
1 parent 6a24f17 commit 5471595

File tree

3 files changed

+33
-49
lines changed

3 files changed

+33
-49
lines changed

tencentcloud/basic_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ const (
7676

7777
defaultTkeOSImageId = "img-2lr9q49h"
7878
defaultTkeOSImageName = "tlinux2.2(tkernel3)x86_64"
79-
defaultEMRSgId = "sg-qyy7jd2b"
79+
defaultEMRSgId = "sg-mag8k2fj"
8080
)
8181

8282
// Tke Exclusive Network Environment

tencentcloud/data_source_tc_emr_nodes_test.go

Lines changed: 4 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func TestAccDataSourceTencentCloudEMRNodes(t *testing.T) {
1313
Providers: testAccProviders,
1414
Steps: []resource.TestStep{
1515
{
16-
Config: testAccEMRNodes,
16+
Config: testAccEMRNodes(),
1717
Check: resource.ComposeTestCheckFunc(
1818
testAccCheckTencentCloudDataSourceID("data.tencentcloud_emr_nodes.my_emr_nodes"),
1919
resource.TestCheckResourceAttr("data.tencentcloud_emr_nodes.my_emr_nodes", "nodes.#", "1"),
@@ -23,52 +23,11 @@ func TestAccDataSourceTencentCloudEMRNodes(t *testing.T) {
2323
})
2424
}
2525

26-
const testAccEMRNodes = `
27-
28-
resource "tencentcloud_emr_cluster" "emrrrr" {
29-
product_id=4
30-
display_strategy="clusterList"
31-
vpc_settings={
32-
vpc_id="vpc-4owdpnwr"
33-
subnet_id:"subnet-ahv6swf2"
34-
}
35-
softwares=["zookeeper-3.6.1"]
36-
support_ha=0
37-
instance_name="emr-test"
38-
resource_spec {
39-
master_resource_spec {
40-
mem_size=8192
41-
cpu=4
42-
disk_size=100
43-
disk_type="CLOUD_PREMIUM"
44-
spec="CVM.S2"
45-
storage_type=5
46-
}
47-
core_resource_spec {
48-
mem_size=8192
49-
cpu=4
50-
disk_size=100
51-
disk_type="CLOUD_PREMIUM"
52-
spec="CVM.S2"
53-
storage_type=5
54-
}
55-
master_count=1
56-
core_count=2
57-
}
58-
login_settings={
59-
password="tencent@cloud123"
60-
}
61-
time_span=3600
62-
time_unit="s"
63-
pay_mode=0
64-
placement={
65-
zone="ap-guangzhou-3"
66-
project_id=0
67-
}
68-
sg_id="sg-qyy7jd2b"
69-
}
26+
func testAccEMRNodes() string {
27+
return testEmrBasic() + `
7028
data "tencentcloud_emr_nodes" "my_emr_nodes" {
7129
node_flag="master"
7230
instance_id=tencentcloud_emr_cluster.emrrrr.instance_id
7331
}
7432
`
33+
}

tencentcloud/resource_tc_emr_cluster.go

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -321,11 +321,19 @@ func resourceTencentCloudEmrClusterDelete(d *schema.ResourceData, meta interface
321321
emrService := EMRService{
322322
client: meta.(*TencentCloudClient).apiV3Conn,
323323
}
324-
if err := emrService.DeleteInstance(ctx, d); err != nil {
324+
instanceId := d.Id()
325+
clusters, err := emrService.DescribeInstancesById(ctx, instanceId, DisplayStrategyIsclusterList)
326+
if len(clusters) == 0 {
327+
return innerErr.New("Not find clusters.")
328+
}
329+
metaDB := clusters[0].MetaDb
330+
if err != nil {
325331
return err
326332
}
327-
instanceId := d.Id()
328-
err := resource.Retry(10*readRetryTimeout, func() *resource.RetryError {
333+
if err = emrService.DeleteInstance(ctx, d); err != nil {
334+
return err
335+
}
336+
err = resource.Retry(10*readRetryTimeout, func() *resource.RetryError {
329337
clusters, err := emrService.DescribeInstancesById(ctx, instanceId, DisplayStrategyIsclusterList)
330338

331339
if e, ok := err.(*errors.TencentCloudSDKError); ok {
@@ -353,6 +361,23 @@ func resourceTencentCloudEmrClusterDelete(d *schema.ResourceData, meta interface
353361
if err != nil {
354362
return err
355363
}
364+
365+
if metaDB != nil && *metaDB != "" {
366+
// remove metadb
367+
mysqlService := MysqlService{client: meta.(*TencentCloudClient).apiV3Conn}
368+
369+
err = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
370+
err := mysqlService.OfflineIsolatedInstances(ctx, *metaDB)
371+
if err != nil {
372+
return retryError(err, InternalError)
373+
}
374+
return nil
375+
})
376+
377+
if err != nil {
378+
return err
379+
}
380+
}
356381
return nil
357382
}
358383

0 commit comments

Comments
 (0)