Skip to content

Commit b9aade4

Browse files
alex-muisrinioci
authored andcommitted
TERSI-3772 - bug fix: do not recreate database on admin_password update and do not set unchanged size fields during cvm update.
1 parent 9bd49a8 commit b9aade4

File tree

3 files changed

+28
-29
lines changed

3 files changed

+28
-29
lines changed

internal/integrationtest/database_database_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ var (
207207
"database": acctest.RepresentationGroup{RepType: acctest.Required, Group: databaseDatabaseRepresentation},
208208
"db_home_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_db_home.test_db_home.id}`},
209209
"source": acctest.Representation{RepType: acctest.Required, Create: `NONE`},
210-
"db_version": acctest.Representation{RepType: acctest.Optional, Create: `19.20.0.0`},
210+
"db_version": acctest.Representation{RepType: acctest.Optional, Create: `19.24.0.0`},
211211
"key_store_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_database_key_store.test_key_store.id}`},
212212
"kms_key_id": acctest.Representation{RepType: acctest.Optional, Create: `${var.kms_key_id}`},
213213
"kms_key_rotation": acctest.Representation{RepType: acctest.Optional, Update: `1`},
@@ -218,14 +218,14 @@ var (
218218
"database": acctest.RepresentationGroup{RepType: acctest.Required, Group: databaseDatabaseRepresentation2},
219219
"db_home_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_db_home.test_db_home.id}`, Update: `${oci_database_db_home.test_db_home_dbrs.id}`},
220220
"source": acctest.Representation{RepType: acctest.Required, Create: `NONE`},
221-
"db_version": acctest.Representation{RepType: acctest.Optional, Create: `19.20.0.0`},
221+
"db_version": acctest.Representation{RepType: acctest.Optional, Create: `19.24.0.0`},
222222
"kms_key_id": acctest.Representation{RepType: acctest.Optional, Create: `${var.kms_key_id}`},
223223
"kms_key_rotation": acctest.Representation{RepType: acctest.Optional, Update: `1`},
224224
"lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: databaseIgnoreDefinedTagsRepresentation},
225225
}
226226

227227
databaseDatabaseRepresentation2 = map[string]interface{}{
228-
"admin_password": acctest.Representation{RepType: acctest.Required, Create: `BEstrO0ng_#11`},
228+
"admin_password": acctest.Representation{RepType: acctest.Required, Create: `BEstrO0ng_#11`, Update: `BEstrO0ng_#12`},
229229
"db_name": acctest.Representation{RepType: acctest.Required, Create: `myTestDb`},
230230
"character_set": acctest.Representation{RepType: acctest.Optional, Create: `AL32UTF8`},
231231
"db_backup_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: databaseDatabaseDbBackupConfigRepresentation2},
@@ -381,13 +381,13 @@ var (
381381
}
382382

383383
dbHomeRepresentationSourceNone2 = acctest.RepresentationCopyWithNewProperties(DatabaseDbHomeRepresentationBase2, map[string]interface{}{
384-
"db_version": acctest.Representation{RepType: acctest.Required, Create: `19.20.0.0`},
384+
"db_version": acctest.Representation{RepType: acctest.Required, Create: `19.24.0.0`},
385385
"source": acctest.Representation{RepType: acctest.Optional, Create: `NONE`},
386386
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `createdDbHomeNone`},
387387
})
388388

389389
dbHomeDbrsRepresentation = acctest.RepresentationCopyWithNewProperties(dbHomeRepresentationSourceNone2, map[string]interface{}{
390-
"db_version": acctest.Representation{RepType: acctest.Required, Create: `19.20.0.0`},
390+
"db_version": acctest.Representation{RepType: acctest.Required, Create: `19.24.0.0`},
391391
})
392392

393393
DatabaseDatabaseResourceDependencies = ExaBaseDependencies + DefinedTagsDependencies + AvailabilityDomainConfig + KeyResourceDependencyConfig +
@@ -514,7 +514,7 @@ func TestDatabaseDatabaseResource_basic(t *testing.T) {
514514
resource.TestCheckResourceAttrSet(resourceName, "db_home_id"),
515515
resource.TestCheckResourceAttrSet(resourceName, "db_name"),
516516
resource.TestCheckResourceAttrSet(resourceName, "db_unique_name"),
517-
resource.TestCheckResourceAttr(resourceName, "db_version", "19.20.0.0"),
517+
resource.TestCheckResourceAttr(resourceName, "db_version", "19.24.0.0"),
518518
resource.TestCheckResourceAttrSet(resourceName, "id"),
519519
//resource.TestCheckResourceAttrSet(resourceName, "kms_key_id"),
520520
resource.TestCheckResourceAttr(resourceName, "source", "NONE"),
@@ -540,7 +540,7 @@ func TestDatabaseDatabaseResource_basic(t *testing.T) {
540540
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
541541
resource.TestCheckResourceAttrSet(resourceName, "compartment_id"),
542542
resource.TestCheckResourceAttr(resourceName, "database.#", "1"),
543-
resource.TestCheckResourceAttr(resourceName, "database.0.admin_password", "BEstrO0ng_#11"),
543+
resource.TestCheckResourceAttr(resourceName, "database.0.admin_password", "BEstrO0ng_#12"),
544544
resource.TestCheckResourceAttr(resourceName, "character_set", "AL32UTF8"),
545545
resource.TestCheckResourceAttr(resourceName, "db_backup_config.#", "1"),
546546
resource.TestCheckResourceAttr(resourceName, "db_backup_config.0.auto_backup_enabled", "true"),
@@ -557,7 +557,7 @@ func TestDatabaseDatabaseResource_basic(t *testing.T) {
557557
resource.TestCheckResourceAttrSet(resourceName, "db_home_id"),
558558
resource.TestCheckResourceAttrSet(resourceName, "db_name"),
559559
resource.TestCheckResourceAttrSet(resourceName, "db_unique_name"),
560-
resource.TestCheckResourceAttr(resourceName, "db_version", "19.20.0.0"),
560+
resource.TestCheckResourceAttr(resourceName, "db_version", "19.24.0.0"),
561561
resource.TestCheckResourceAttrSet(resourceName, "id"),
562562
//resource.TestCheckResourceAttrSet(resourceName, "kms_key_id"),
563563
resource.TestCheckResourceAttr(resourceName, "source", "NONE"),

internal/service/database/database_cloud_vm_cluster_resource.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -907,7 +907,7 @@ func (s *DatabaseCloudVmClusterResourceCrud) Update() error {
907907
flex, err := s.flexAvailableDbStorageInGBs(compartmentId.(string), flexShape)
908908

909909
if err == nil {
910-
if storageSizeInGBs, ok := s.D.GetOkExists("storage_size_in_gbs"); ok {
910+
if storageSizeInGBs, ok := s.D.GetOkExists("storage_size_in_gbs"); ok && s.D.HasChange("storage_size_in_gbs") {
911911
tmp := flex**s.Infra.StorageCount - storageSizeInGBs.(int)
912912
request.StorageSizeInGBs = &tmp
913913
}
@@ -935,12 +935,12 @@ func (s *DatabaseCloudVmClusterResourceCrud) Update() error {
935935
}
936936
}
937937

938-
if dataStorageSizeInTBs, ok := s.D.GetOkExists("data_storage_size_in_tbs"); ok {
938+
if dataStorageSizeInTBs, ok := s.D.GetOkExists("data_storage_size_in_tbs"); ok && s.D.HasChange("data_storage_size_in_tbs") {
939939
tmp := dataStorageSizeInTBs.(float64)
940940
request.DataStorageSizeInTBs = &tmp
941941
}
942942

943-
if dbNodeStorageSizeInGBs, ok := s.D.GetOkExists("db_node_storage_size_in_gbs"); ok {
943+
if dbNodeStorageSizeInGBs, ok := s.D.GetOkExists("db_node_storage_size_in_gbs"); ok && s.D.HasChange("db_node_storage_size_in_gbs") {
944944
tmp := dbNodeStorageSizeInGBs.(int)
945945
request.DbNodeStorageSizeInGBs = &tmp
946946
}
@@ -953,7 +953,7 @@ func (s *DatabaseCloudVmClusterResourceCrud) Update() error {
953953
request.DefinedTags = convertedDefinedTags
954954
}
955955

956-
if displayName, ok := s.D.GetOkExists("display_name"); ok {
956+
if displayName, ok := s.D.GetOkExists("display_name"); ok && s.D.HasChange("display_name") {
957957
tmp := displayName.(string)
958958
request.DisplayName = &tmp
959959
}
@@ -983,7 +983,7 @@ func (s *DatabaseCloudVmClusterResourceCrud) Update() error {
983983
request.LicenseModel = oci_database.UpdateCloudVmClusterDetailsLicenseModelEnum(licenseModel.(string))
984984
}
985985

986-
if memorySizeInGBs, ok := s.D.GetOkExists("memory_size_in_gbs"); ok {
986+
if memorySizeInGBs, ok := s.D.GetOkExists("memory_size_in_gbs"); ok && s.D.HasChange("memory_size_in_gbs") {
987987
tmp := memorySizeInGBs.(int)
988988
request.MemorySizeInGBs = &tmp
989989
}

internal/service/database/database_database_resource.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ func DatabaseDatabaseResource() *schema.Resource {
5656
"admin_password": {
5757
Type: schema.TypeString,
5858
Required: true,
59-
ForceNew: true,
6059
Sensitive: true,
6160
},
6261
"db_name": {
@@ -1404,28 +1403,28 @@ func (s *DatabaseDatabaseResourceCrud) DatabaseToMap(obj *oci_database.Database)
14041403
}
14051404

14061405
func (s *DatabaseDatabaseResourceCrud) setDbKeyVersion(databaseId string) error {
1407-
setDbKeyVersionRequest := oci_database.SetDbKeyVersionRequest{}
1408-
setDbKeyVersionRequest.DatabaseId = &databaseId
1409-
setDbKeyVersionRequest.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "database")
1410-
details := oci_database.OciProviderSetKeyVersionDetails{}
1411-
14121406
if kmsKeyVersionId, ok := s.D.GetOkExists("kms_key_version_id"); ok && s.D.HasChange("kms_key_version_id") {
14131407
oldRaw, newRaw := s.D.GetChange("kms_key_version_id")
14141408
if oldRaw == "" && newRaw != "" {
1409+
setDbKeyVersionRequest := oci_database.SetDbKeyVersionRequest{}
1410+
setDbKeyVersionRequest.DatabaseId = &databaseId
1411+
setDbKeyVersionRequest.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "database")
1412+
details := oci_database.OciProviderSetKeyVersionDetails{}
1413+
14151414
temp := kmsKeyVersionId.(string)
14161415
details.KmsKeyVersionId = &temp
14171416
setDbKeyVersionRequest.SetKeyVersionDetails = details
1418-
}
1419-
}
14201417

1421-
response, err := s.Client.SetDbKeyVersion(context.Background(), setDbKeyVersionRequest)
1422-
if err != nil {
1423-
return err
1424-
}
1425-
workId := response.OpcWorkRequestId
1426-
if workId != nil {
1427-
_, err = tfresource.WaitForWorkRequestWithErrorHandling(s.WorkRequestClient, workId, "database", oci_work_requests.WorkRequestResourceActionTypeUpdated, s.D.Timeout(schema.TimeoutUpdate), s.DisableNotFoundRetries)
1428-
if err != nil {
1418+
response, err := s.Client.SetDbKeyVersion(context.Background(), setDbKeyVersionRequest)
1419+
if err != nil {
1420+
return err
1421+
}
1422+
workId := response.OpcWorkRequestId
1423+
if workId != nil {
1424+
_, err = tfresource.WaitForWorkRequestWithErrorHandling(s.WorkRequestClient, workId, "database", oci_work_requests.WorkRequestResourceActionTypeUpdated, s.D.Timeout(schema.TimeoutUpdate), s.DisableNotFoundRetries)
1425+
if err != nil {
1426+
}
1427+
}
14291428
}
14301429
}
14311430
return nil

0 commit comments

Comments
 (0)