Skip to content

Commit 4e5a119

Browse files
Shravan ThatikondaMaxrovr
authored andcommitted
Added - Support for Customer Facing Scalable agent upgrade | ExaCC and ExaCS
1 parent 52bce5c commit 4e5a119

File tree

53 files changed

+1248
-66
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1248
-66
lines changed

examples/database/db_systems/db_exacs/resources.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@ resource "oci_database_cloud_vm_cluster" "test_cloud_vm_cluster" {
4444
is_health_monitoring_enabled = "true"
4545
is_incident_logs_enabled = "true"
4646
}
47+
48+
cloud_automation_update_details{
49+
is_early_adoption_enabled = "true"
50+
apply_update_time_preference {
51+
apply_update_preferred_start_time = "02:00"
52+
apply_update_preferred_end_time = "08:00"
53+
}
54+
}
4755
}
4856

4957
resource "oci_database_db_home" "test_db_home_vm_cluster" {

examples/database/exadata_cc/autonomous_virtual_machine.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ variable "autonomous_virtual_machine_state" {
55
data "oci_database_autonomous_virtual_machines" "test_autonomous_virtual_machines" {
66
#Required
77
autonomous_vm_cluster_id = oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id
8-
compartment_id = var.compartment_id
8+
compartment_id = var.compartment_ocid
99

1010
#Optional
1111
state = var.autonomous_virtual_machine_state

examples/database/exadata_cc/autonomous_vm_cluster.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ resource "oci_database_autonomous_vm_cluster" "test_autonomous_vm_cluster" {
55
compartment_id = var.compartment_ocid
66
display_name = "autonomousVmCluster"
77
exadata_infrastructure_id = oci_database_exadata_infrastructure.test_exadata_infrastructure.id
8-
vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network.id
8+
vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network2.id
99
cpu_core_count_per_node = "20"
1010
autonomous_data_storage_size_in_tbs = "2.0"
1111
memory_per_oracle_compute_unit_in_gbs = "5"

examples/database/exadata_cc/vm_cluster.tf

Lines changed: 103 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,94 @@ resource "oci_database_vm_cluster_network" "test_vm_cluster_network" {
8888
}
8989
}
9090

91+
resource "oci_database_vm_cluster_network" "test_vm_cluster_network2" {
92+
compartment_id = var.compartment_ocid
93+
display_name = "testVmClusterRecommendedNetwork2"
94+
dns = ["192.178.10.10"]
95+
ntp = ["192.178.10.20"]
96+
97+
exadata_infrastructure_id = oci_database_exadata_infrastructure.test_exadata_infrastructure.id
98+
99+
scans {
100+
hostname = "myprefix3-nsubz-scan"
101+
102+
ips = [
103+
"192.178.19.7",
104+
"192.178.19.6",
105+
"192.178.19.8",
106+
]
107+
108+
port = 1521
109+
scan_listener_port_tcp = 1521
110+
scan_listener_port_tcp_ssl = 2484
111+
}
112+
113+
vm_networks {
114+
domain_name = "oracle.com"
115+
gateway = "192.179.20.1"
116+
netmask = "255.255.0.0"
117+
network_type = "BACKUP"
118+
119+
nodes {
120+
hostname = "myprefix4-cghdm1"
121+
ip = "192.179.19.18"
122+
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id
123+
}
124+
125+
nodes {
126+
hostname = "myprefix4-cghdm2"
127+
ip = "192.179.19.20"
128+
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id
129+
}
130+
131+
vlan_id = "31"
132+
}
133+
134+
vm_networks {
135+
domain_name = "oracle.com"
136+
gateway = "192.178.20.1"
137+
netmask = "255.255.0.0"
138+
network_type = "CLIENT"
139+
140+
nodes {
141+
hostname = "myprefix5-r64zc1"
142+
ip = "192.178.19.10"
143+
vip = "192.178.19.11"
144+
vip_hostname = "myprefix5-r64zc1-vip"
145+
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id
146+
}
147+
148+
nodes {
149+
hostname = "myprefix5-r64zc2"
150+
ip = "192.178.19.14"
151+
vip = "192.178.19.15"
152+
vip_hostname = "myprefix5-r64zc2-vip"
153+
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id
154+
}
155+
156+
vlan_id = "41"
157+
}
158+
159+
#Optional
160+
defined_tags = {
161+
"${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}" = "updatedvalue"
162+
}
163+
164+
freeform_tags = {
165+
"Department" = "Accounting"
166+
}
167+
168+
validate_vm_cluster_network = true
169+
170+
action = "ADD_DBSERVER_NETWORK"
171+
172+
lifecycle {
173+
ignore_changes = [
174+
vm_networks,
175+
]
176+
}
177+
}
178+
91179
data "oci_database_gi_versions" "gi_version" {
92180
compartment_id = var.compartment_ocid
93181
shape = "ExadataCC.Quarter3.100"
@@ -125,6 +213,14 @@ resource "oci_database_vm_cluster" "test_vm_cluster" {
125213
is_incident_logs_enabled = "true"
126214
}
127215

216+
cloud_automation_update_details{
217+
is_early_adoption_enabled = "true"
218+
apply_update_time_preference {
219+
apply_update_preferred_start_time = "02:00"
220+
apply_update_preferred_end_time = "08:00"
221+
}
222+
}
223+
128224
}
129225

130226
data "oci_database_db_servers" "test_db_servers" {
@@ -172,7 +268,12 @@ data "oci_database_vm_cluster_recommended_network" "test_vm_cluster_recommended_
172268

173269
resource "oci_database_db_home" "test_db_home_vm_cluster" {
174270
vm_cluster_id = oci_database_vm_cluster.test_vm_cluster.id
271+
source = "VM_CLUSTER_NEW"
272+
db_version = "12.1.0.2"
273+
display_name = "createdDbHome"
274+
}
175275

276+
resource "oci_database_database" "test_exacc_database"{
176277
database {
177278
admin_password = "BEstrO0ng_#11"
178279
db_name = "dbVMClus"
@@ -195,10 +296,8 @@ resource "oci_database_db_home" "test_db_home_vm_cluster" {
195296
}
196297
}
197298
}
198-
199-
source = "VM_CLUSTER_NEW"
200-
db_version = "12.1.0.2"
201-
display_name = "createdDbHome"
299+
db_home_id = oci_database_db_home.test_db_home_vm_cluster.id
300+
source = "NONE"
202301
}
203302

204303
resource "oci_database_backup_destination" "test_backup_destination_nfs" {

internal/integrationtest/database_autonomous_database_software_image_test.go

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
22
// Licensed under the Mozilla Public License v2.0
33

44
package integrationtest
@@ -25,6 +25,8 @@ import (
2525
)
2626

2727
var (
28+
randString = utils.RandomString(10, utils.CharsetWithoutDigits)
29+
randString2 = utils.RandomString(10, utils.CharsetWithoutDigits)
2830
ExaccDatabaseAutonomousDatabaseSoftwareImageRequiredOnlyResource = ExaccDatabaseAutonomousDatabaseSoftwareImageResourceDependencies +
2931
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation)
3032

@@ -48,7 +50,7 @@ var (
4850
DatabaseAutonomousDatabaseSoftwareImageDataSourceRepresentation = map[string]interface{}{
4951
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
5052
"image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXADATA_SHAPE`},
51-
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1`},
53+
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1` + randString},
5254
"state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`},
5355
"filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: DatabaseAutonomousDatabaseSoftwareImageDataSourceFilterRepresentation}}
5456

@@ -60,7 +62,7 @@ var (
6062
ExaccDatabaseAutonomousDatabaseSoftwareImageDataSourceRepresentation = map[string]interface{}{
6163
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
6264
"image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXACC_SHAPE`},
63-
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1`},
65+
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1` + randString},
6466
"state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`},
6567
"filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: ExaccDatabaseAutonomousDatabaseSoftwareImageDataSourceFilterRepresentation}}
6668

@@ -71,7 +73,7 @@ var (
7173

7274
DatabaseAutonomousDatabaseSoftwareImageRepresentation = map[string]interface{}{
7375
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
74-
"display_name": acctest.Representation{RepType: acctest.Required, Create: `image1`},
76+
"display_name": acctest.Representation{RepType: acctest.Required, Create: `image1` + randString},
7577
"image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXADATA_SHAPE`},
7678
"source_cdb_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_container_database.test_autonomous_container_database.id}`},
7779
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
@@ -80,7 +82,7 @@ var (
8082

8183
ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation = map[string]interface{}{
8284
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
83-
"display_name": acctest.Representation{RepType: acctest.Required, Create: `image1`},
85+
"display_name": acctest.Representation{RepType: acctest.Required, Create: `image1` + randString},
8486
"image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXACC_SHAPE`},
8587
"source_cdb_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_container_database.test_autonomous_container_database.id}`},
8688
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
@@ -125,7 +127,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
125127
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation),
126128
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
127129
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
128-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
130+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
129131
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"),
130132
resource.TestCheckResourceAttrSet(resourceName, "source_cdb_id"),
131133

@@ -147,7 +149,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
147149
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
148150
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
149151
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
150-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
152+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
151153
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
152154
resource.TestCheckResourceAttrSet(resourceName, "id"),
153155
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"),
@@ -178,7 +180,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
178180
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
179181
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
180182
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
181-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
183+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
182184
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
183185
resource.TestCheckResourceAttrSet(resourceName, "id"),
184186
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"),
@@ -204,7 +206,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
204206
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
205207
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
206208
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
207-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
209+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
208210
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
209211
resource.TestCheckResourceAttrSet(resourceName, "id"),
210212
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"),
@@ -230,7 +232,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
230232
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Optional, acctest.Update, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation),
231233
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
232234
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
233-
resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"),
235+
resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"+randString),
234236
resource.TestCheckResourceAttr(datasourceName, "image_shape_family", "EXACC_SHAPE"),
235237
resource.TestCheckResourceAttr(datasourceName, "state", "AVAILABLE"),
236238

@@ -249,7 +251,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T
249251
resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_dsi_one_off_patches.#", "0"),
250252
resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId),
251253
resource.TestCheckResourceAttrSet(singularDatasourceName, "database_version"),
252-
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"),
254+
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"+randString),
253255
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
254256
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
255257
resource.TestCheckResourceAttr(singularDatasourceName, "image_shape_family", "EXACC_SHAPE"),
@@ -299,7 +301,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
299301
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, DatabaseAutonomousDatabaseSoftwareImageRepresentation),
300302
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
301303
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
302-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
304+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
303305
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"),
304306
resource.TestCheckResourceAttrSet(resourceName, "source_cdb_id"),
305307

@@ -321,7 +323,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
321323
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
322324
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
323325
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
324-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
326+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
325327
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
326328
resource.TestCheckResourceAttrSet(resourceName, "id"),
327329
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"),
@@ -352,7 +354,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
352354
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
353355
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
354356
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
355-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
357+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
356358
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
357359
resource.TestCheckResourceAttrSet(resourceName, "id"),
358360
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"),
@@ -378,7 +380,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
378380
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
379381
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
380382
resource.TestCheckResourceAttrSet(resourceName, "database_version"),
381-
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"),
383+
resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString),
382384
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
383385
resource.TestCheckResourceAttrSet(resourceName, "id"),
384386
resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"),
@@ -404,7 +406,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
404406
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Optional, acctest.Update, DatabaseAutonomousDatabaseSoftwareImageRepresentation),
405407
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
406408
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
407-
resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"),
409+
resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"+randString),
408410
resource.TestCheckResourceAttr(datasourceName, "image_shape_family", "EXADATA_SHAPE"),
409411
resource.TestCheckResourceAttr(datasourceName, "state", "AVAILABLE"),
410412

@@ -423,7 +425,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) {
423425
resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_dsi_one_off_patches.#", "0"),
424426
resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId),
425427
resource.TestCheckResourceAttrSet(singularDatasourceName, "database_version"),
426-
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"),
428+
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"+randString),
427429
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
428430
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
429431
resource.TestCheckResourceAttr(singularDatasourceName, "image_shape_family", "EXADATA_SHAPE"),

internal/integrationtest/database_autonomous_vm_cluster_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,11 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) {
168168
// verify Create
169169
{
170170
Config: config + compartmentIdVariableStr + DatabaseAutonomousVmClusterResourceDependencies +
171-
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseAutonomousVmClusterRepresentation),
171+
acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(DatabaseAutonomousVmClusterRepresentation, map[string]interface{}{
172+
"compute_model": acctest.Representation{RepType: acctest.Required, Create: `ECPU`},
173+
"memory_per_oracle_compute_unit_in_gbs": acctest.Representation{RepType: acctest.Required, Create: "4"},
174+
"cpu_core_count_per_node": acctest.Representation{RepType: acctest.Required, Create: `20`},
175+
})),
172176
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
173177
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
174178
resource.TestCheckResourceAttr(resourceName, "display_name", "autonomousVmCluster"),

0 commit comments

Comments
 (0)