Skip to content

Commit 8a3ec60

Browse files
Shrey KapoorMaxrovr
authored andcommitted
Added - Support for BDS - Automatic Replacement of failed Master (MN0/MN1) and Utility nodes (UN0/UN1)
1 parent 1347cd6 commit 8a3ec60

File tree

35 files changed

+4705
-155
lines changed

35 files changed

+4705
-155
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
resource "oci_bds_bds_instance_node_backup" "test_bds_instance_node_backup" {
2+
backup_type = "FULL"
3+
bds_instance_id = "${oci_bds_bds_instance.test_bds_instance.id}"
4+
level_type_details {
5+
level_type = "NODE_TYPE_LEVEL"
6+
node_type = "MASTER"
7+
}
8+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
resource "oci_bds_bds_instance_node_backup_configuration" "test_bds_instance_node_backup_configuration" {
2+
backup_type = "FULL"
3+
bds_instance_id = "${oci_bds_bds_instance.test_bds_instance.id}"
4+
level_type_details {
5+
level_type = "NODE_TYPE_LEVEL"
6+
node_type = "MASTER"
7+
}
8+
number_of_backups_to_retain = "1"
9+
schedule = "FREQ=WEEKLY;BYDAY=MO;BYHOUR=10"
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
resource "oci_bds_bds_instance_node_replace_configuration" "test_bds_instance_node_replace_configuration" {
2+
bds_instance_id = "${oci_bds_bds_instance.test_bds_instance.id}"
3+
cluster_admin_password = "T3JhY2xlVGVhbVVTQSExMjM="
4+
display_name = "displayName"
5+
duration_in_minutes = "20"
6+
level_type_details {
7+
level_type = "NODE_TYPE_LEVEL"
8+
node_type = "UTILITY"
9+
}
10+
metric_type = "INSTANCE_STATUS"
11+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
variable "node_backup_id" {
2+
}
3+
4+
variable "node_host_name" {
5+
}
6+
7+
resource "oci_bds_bds_instance_replace_node_action" "test_bds_instance_replace_node_action" {
8+
bds_instance_id = "${oci_bds_bds_instance.test_bds_instance.id}"
9+
cluster_admin_password = "T3JhY2xlVGVhbVVTQSExMjM="
10+
node_backup_id = var.node_backup_id
11+
node_host_name = var.node_host_name
12+
}

examples/big_data_service/main.tf

Lines changed: 60 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ variable "tenancy_ocid" {
55
}
66

77
variable "cluster_profile" {
8-
default = "HADOOP"
8+
default = "HADOOP"
99
}
1010

1111
variable "user_ocid" {
@@ -57,11 +57,11 @@ variable "bds_instance_freeform_tags" {
5757
}
5858

5959
variable "bds_instance_is_high_availability" {
60-
default = false
60+
default = true
6161
}
6262

6363
variable "bds_instance_is_secure" {
64-
default = false
64+
default = true
6565
}
6666

6767
variable "bds_instance_network_config_cidr_block" {
@@ -85,7 +85,7 @@ variable "bds_instance_nodes_shape" {
8585
}
8686

8787
variable "bds_instance_worker_node_shape" {
88-
default = "VM.DenseIO.E5.Flex"
88+
default = "VM.Standard.Generic"
8989
}
9090

9191
variable "bds_instance_compute_only_worker_node_shape" {
@@ -146,85 +146,80 @@ resource "oci_bds_bds_instance" "test_bds_instance" {
146146
display_name = var.bds_instance_display_name
147147
is_high_availability = var.bds_instance_is_high_availability
148148
is_secure = var.bds_instance_is_secure
149-
kms_key_id = var.kms_key_id
149+
// kms_key_id = var.kms_key_id
150150
cluster_profile = var.cluster_profile
151-
bootstrap_script_url = "https://objectstorage.us-ashburn-1.oraclecloud.com/p/Lk5JT9tnUIOG4yLm6S21QVR7m3Rm2uj1RAS2Olx5v14onLU2Y-b0lIc_N0RuUIge/n/idpbwtq1b3ta/b/bucket-20230214-1316/o/execute_bootstrap_script.sh"
152-
is_force_stop_jobs = "true"
153-
state = "ACTIVE"
154-
155-
start_cluster_shape_configs{
156-
node_type_shape_configs {
157-
node_type = "WORKER"
158-
shape = "VM.Standard.Generic"
159-
160-
}
161-
}
151+
bootstrap_script_url = "https://objectstorage.us-ashburn-1.oraclecloud.com/p/Lk5JT9tnUIOG4yLm6S21QVR7m3Rm2uj1RAS2Olx5v14onLU2Y-b0lIc_N0RuUIge/n/idpbwtq1b3ta/b/bucket-20230214-1316/o/execute_bootstrap_script.sh"
162152

163153
master_node {
164154
#Required
165-
shape = "VM.Standard.E4.Flex"
155+
shape = "VM.DenseIO.E5.Flex"
166156

167157
subnet_id = var.subnet_id
168-
block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
169-
number_of_nodes = 1
158+
// block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
159+
number_of_nodes = 2
170160
shape_config {
171-
memory_in_gbs = 120
172-
ocpus = 8
173-
}
161+
memory_in_gbs = 96
162+
ocpus = 8
163+
nvmes = 1
164+
}
174165
}
175166

176167
util_node {
177168
#Required
178-
shape = "VM.Standard.E4.Flex"
169+
shape = "VM.DenseIO.Generic"
179170

180171
subnet_id = var.subnet_id
181-
block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
182-
number_of_nodes = 1
172+
// block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
173+
number_of_nodes = 3
183174
shape_config {
184-
memory_in_gbs = 120
185-
ocpus = 8
186-
}
175+
memory_in_gbs = 96
176+
ocpus = 8
177+
nvmes = 1
178+
}
187179
}
188180

189181
worker_node {
190182
#Required
191183
shape = var.bds_instance_worker_node_shape
192-
subnet_id = var.subnet_id
193-
number_of_nodes = 3
194-
shape_config {
195-
memory_in_gbs = 120
196-
ocpus = 8
197-
nvmes = 1
198-
}
199-
}
200-
201-
edge_node {
202-
#Required
203-
shape = var.bds_instance_edge_node_shape
204-
205-
subnet_id = var.subnet_id
206-
block_volume_size_in_gbs = var.bds_instance_worker_nodes_block_volume_size_in_gbs
207-
number_of_nodes = 1
208-
shape_config {
209-
memory_in_gbs = var.bds_instance_edge_memory_per_node
210-
ocpus = var.bds_instance_edge_ocpu_per_node
211-
}
212-
}
213-
214-
compute_only_worker_node {
215-
#Required
216-
shape = var.bds_instance_compute_only_worker_node_shape
217-
184+
block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
185+
shape = "VM.DenseIO.E5.Flex"
186+
// block_volume_size_in_gbs = var.bds_instance_nodes_block_volume_size_in_gbs
218187
subnet_id = var.subnet_id
219-
block_volume_size_in_gbs = var.bds_instance_worker_nodes_block_volume_size_in_gbs
220-
number_of_nodes = 1
221-
shape_config {
222-
memory_in_gbs = var.bds_instance_compute_only_worker_memory_per_node
223-
ocpus = var.bds_instance_compute_only_worker_ocpu_per_node
188+
number_of_nodes = 4
189+
shape_config {
190+
memory_in_gbs = 96
191+
ocpus = 8
192+
nvmes = 1
193+
}
194+
}
195+
196+
edge_node {
197+
#Required
198+
shape = var.bds_instance_edge_node_shape
199+
200+
subnet_id = var.subnet_id
201+
block_volume_size_in_gbs = var.bds_instance_worker_nodes_block_volume_size_in_gbs
202+
number_of_nodes = 1
203+
shape_config {
204+
memory_in_gbs = var.bds_instance_edge_memory_per_node
205+
ocpus = var.bds_instance_edge_ocpu_per_node
206+
}
207+
}
208+
209+
compute_only_worker_node {
210+
#Required
211+
shape = var.bds_instance_compute_only_worker_node_shape
212+
213+
subnet_id = var.subnet_id
214+
block_volume_size_in_gbs = var.bds_instance_worker_nodes_block_volume_size_in_gbs
215+
number_of_nodes = 1
216+
shape_config {
217+
memory_in_gbs = var.bds_instance_compute_only_worker_memory_per_node
218+
ocpus = var.bds_instance_compute_only_worker_ocpu_per_node
224219
}
225220
}
226221

227-
ignore_existing_nodes_shape = ["worker", "master", "utility"]
222+
ignore_existing_nodes_shape = ["worker", "master", "utility"]
228223

229224
is_cloud_sql_configured = false
230225

@@ -234,7 +229,7 @@ resource "oci_bds_bds_instance" "test_bds_instance" {
234229

235230
#Uncomment kafka_broker_node block for use of Kafka cluster
236231
#kafka_broker_node {
237-
#Required
232+
#Required
238233
# shape = var.bds_instance_compute_only_worker_node_shape
239234

240235
# subnet_id = var.subnet_id
@@ -247,10 +242,10 @@ resource "oci_bds_bds_instance" "test_bds_instance" {
247242
#}
248243

249244
#Optional
250-
#Uncomment this when running in home region (PHX)
251-
# defined_tags = {
252-
# "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}" = var.bds_instance_defined_tags_value
253-
# }
245+
#Uncomment this when running in home region (PHX)
246+
# defined_tags = {
247+
# "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}" = var.bds_instance_defined_tags_value
248+
# }
254249
freeform_tags = var.bds_instance_freeform_tags
255250
network_config {
256251
#Optional

0 commit comments

Comments
 (0)