Skip to content

Commit 075b909

Browse files
Merge pull request #108 from oracle-quickstart/topic_robesanc_jcs-13489
JCS-13489 Create stack with IDCS fails if LB is not selected in the UI
2 parents 4907182 + 00a10a0 commit 075b909

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

terraform/locals.tf

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,17 @@ locals {
6060
["Standard Edition", "Enterprise Edition", "Suite Edition"],
6161
)
6262

63-
new_lb_ip = !var.add_load_balancer || local.use_existing_lb ? "" : element(coalescelist(module.load-balancer[0].wls_loadbalancer_ip_addresses, [""]), 0)
63+
# Add a load balancer if
64+
# - User explicitly says he wants a load balancer, or
65+
# - User selects IDCS, because IDCS requires a load balancer
66+
add_load_balancer = var.add_load_balancer || var.is_idcs_selected
67+
68+
new_lb_ip = !local.add_load_balancer || local.use_existing_lb ? "" : element(coalescelist(module.load-balancer[0].wls_loadbalancer_ip_addresses, [""]), 0)
6469
new_lb_id = element(concat(module.load-balancer[*].wls_loadbalancer_id, [""]), 0)
6570
existing_lb_ip = local.use_existing_lb && local.valid_existing_lb ? local.existing_lb_object_as_list[0].ip_addresses[0] : ""
6671
existing_lb_object_as_list = [for lb in data.oci_load_balancer_load_balancers.existing_load_balancers_data_source.load_balancers[*] : lb if lb.id == var.existing_load_balancer_id]
6772
valid_existing_lb = length(local.existing_lb_object_as_list) == 1
68-
use_existing_lb = var.add_load_balancer && var.existing_load_balancer_id != ""
73+
use_existing_lb = local.add_load_balancer && var.existing_load_balancer_id != ""
6974
lb_backendset_name = local.use_existing_lb ? var.backendset_name_for_existing_load_balancer : "${local.service_name_prefix}-lb-backendset"
7075
existing_lb_subnet_1_id = local.use_existing_lb && local.valid_existing_lb ? local.existing_lb_object_as_list[0].subnet_ids[0] : ""
7176
existing_lb_subnet_2_id = local.use_existing_lb && local.valid_existing_lb ? (var.is_lb_private ? "" : (length(local.existing_lb_object_as_list[0].subnet_ids) > 1 ? local.existing_lb_object_as_list[0].subnet_ids[1] : "")) : ""
@@ -83,11 +88,11 @@ locals {
8388

8489
admin_ip_address = local.assign_weblogic_public_ip ? module.compute.instance_public_ips[0] : module.compute.instance_private_ips[0]
8590
admin_console_app_url = format("https://%s:%s/console", local.admin_ip_address, var.wls_extern_ssl_admin_port)
86-
sample_app_protocol = var.add_load_balancer ? "https" : "http"
87-
sample_app_url_lb_ip = var.deploy_sample_app && var.add_load_balancer ? format("%s://%s/sample-app", local.sample_app_protocol, local.lb_ip) : ""
91+
sample_app_protocol = local.add_load_balancer ? "https" : "http"
92+
sample_app_url_lb_ip = var.deploy_sample_app && local.add_load_balancer ? format("%s://%s/sample-app", local.sample_app_protocol, local.lb_ip) : ""
8893
sample_app_url_wls_ip = var.deploy_sample_app ? format("https://%s:%s/sample-app", local.admin_ip_address, var.wls_ms_extern_ssl_port) : ""
89-
sample_app_url = var.wls_edition != "SE" ? (var.deploy_sample_app && var.add_load_balancer ? local.sample_app_url_lb_ip : local.sample_app_url_wls_ip) : ""
90-
sample_idcs_app_url = var.deploy_sample_app && var.add_load_balancer && var.is_idcs_selected ? format(
94+
sample_app_url = var.wls_edition != "SE" ? (var.deploy_sample_app && local.add_load_balancer ? local.sample_app_url_lb_ip : local.sample_app_url_wls_ip) : ""
95+
sample_idcs_app_url = var.deploy_sample_app && local.add_load_balancer && var.is_idcs_selected ? format(
9196
"%s://%s/__protected/idcs-sample-app",
9297
local.sample_app_protocol,
9398
local.lb_ip,

terraform/main.tf

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ module "network-vcn-config" {
4141

4242
wls_security_list_name = !local.assign_weblogic_public_ip ? "bastion-security-list" : "wls-security-list"
4343
wls_subnet_cidr = local.wls_subnet_cidr
44-
wls_ms_source_cidrs = var.add_load_balancer ? [local.lb_subnet_1_subnet_cidr] : ["0.0.0.0/0"]
45-
load_balancer_min_value = var.add_load_balancer ? var.wls_ms_extern_port : var.wls_ms_extern_ssl_port
46-
load_balancer_max_value = var.add_load_balancer ? var.wls_ms_extern_port : var.wls_ms_extern_ssl_port
47-
create_load_balancer = var.add_load_balancer
44+
wls_ms_source_cidrs = local.add_load_balancer ? [local.lb_subnet_1_subnet_cidr] : ["0.0.0.0/0"]
45+
load_balancer_min_value = local.add_load_balancer ? var.wls_ms_extern_port : var.wls_ms_extern_ssl_port
46+
load_balancer_max_value = local.add_load_balancer ? var.wls_ms_extern_port : var.wls_ms_extern_ssl_port
47+
create_load_balancer = local.add_load_balancer
4848
resource_name_prefix = local.service_name_prefix
4949
bastion_subnet_cidr = local.bastion_subnet_cidr
5050
is_bastion_instance_required = var.is_bastion_instance_required
@@ -76,7 +76,7 @@ module "network-vcn-config" {
7676

7777
module "network-lb-nsg" {
7878
source = "./modules/network/nsg"
79-
count = local.use_existing_lb ? 0 : var.add_load_balancer && var.lb_subnet_1_cidr != "" ? 1 : 0
79+
count = local.use_existing_lb ? 0 : local.add_load_balancer && var.lb_subnet_1_cidr != "" ? 1 : 0
8080
compartment_id = local.network_compartment_id
8181
vcn_id = local.vcn_id
8282
nsg_name = "${local.service_name_prefix}-lb-nsg"
@@ -142,7 +142,7 @@ module "network-compute-managed-nsg" {
142142
/* Create primary subnet for Load balancer only */
143143
module "network-lb-subnet-1" {
144144
source = "./modules/network/subnet"
145-
count = local.use_existing_lb ? 0 : var.add_load_balancer && var.lb_subnet_1_id == "" ? 1 : 0
145+
count = local.use_existing_lb ? 0 : local.add_load_balancer && var.lb_subnet_1_id == "" ? 1 : 0
146146
compartment_id = local.network_compartment_id
147147
vcn_id = local.vcn_id
148148
dhcp_options_id = module.network-vcn-config[0].dhcp_options_id
@@ -207,7 +207,7 @@ module "policies" {
207207
use_autoscaling = var.use_autoscaling
208208
ocir_auth_token_id = var.ocir_auth_token_id
209209
add_fss = var.add_fss
210-
add_load_balancer = var.add_load_balancer
210+
add_load_balancer = local.add_load_balancer
211211
fss_compartment_id = var.fss_compartment_id == "" ? var.compartment_ocid : var.fss_compartment_id
212212
mount_target_compartment_id = var.mount_target_compartment_id == "" ? var.compartment_ocid : var.mount_target_compartment_id
213213
}
@@ -379,7 +379,7 @@ module "validators" {
379379
vcn_name = var.wls_vcn_name
380380
use_regional_subnet = local.use_regional_subnet
381381

382-
add_load_balancer = var.add_load_balancer
382+
add_load_balancer = local.add_load_balancer
383383
is_lb_private = var.is_lb_private
384384
existing_load_balancer_id = var.existing_load_balancer_id
385385
existing_load_balancer_found = length(local.existing_lb_object_as_list) == 1
@@ -457,7 +457,7 @@ module "fss" {
457457

458458
module "load-balancer" {
459459
source = "./modules/lb/loadbalancer"
460-
count = (var.add_load_balancer && var.existing_load_balancer_id == "") ? 1 : 0
460+
count = (local.add_load_balancer && var.existing_load_balancer_id == "") ? 1 : 0
461461

462462
compartment_id = local.network_compartment_id
463463
lb_reserved_public_ip_id = compact([var.lb_reserved_public_ip_id])
@@ -516,9 +516,9 @@ module "observability-autoscaling" {
516516

517517
module "compute" {
518518
source = "./modules/compute/wls_compute"
519-
add_loadbalancer = var.add_load_balancer
519+
add_loadbalancer = local.add_load_balancer
520520
is_lb_private = var.is_lb_private
521-
load_balancer_id = var.add_load_balancer ? (var.existing_load_balancer_id != "" ? var.existing_load_balancer_id : element(coalescelist(module.load-balancer[*].wls_loadbalancer_id, [""]), 0)) : ""
521+
load_balancer_id = local.add_load_balancer ? (var.existing_load_balancer_id != "" ? var.existing_load_balancer_id : element(coalescelist(module.load-balancer[*].wls_loadbalancer_id, [""]), 0)) : ""
522522
assign_public_ip = local.assign_weblogic_public_ip
523523
availability_domain = local.wls_availability_domain
524524
compartment_id = var.compartment_ocid
@@ -637,10 +637,10 @@ module "compute" {
637637

638638
module "load-balancer-backends" {
639639
source = "./modules/lb/backends"
640-
count = var.add_load_balancer ? 1 : 0
640+
count = local.add_load_balancer ? 1 : 0
641641

642642
resource_name_prefix = local.service_name_prefix
643-
load_balancer_id = var.add_load_balancer ? (var.existing_load_balancer_id != "" ? var.existing_load_balancer_id : element(coalescelist(module.load-balancer[*].wls_loadbalancer_id, [""]), 0)) : ""
643+
load_balancer_id = local.add_load_balancer ? (var.existing_load_balancer_id != "" ? var.existing_load_balancer_id : element(coalescelist(module.load-balancer[*].wls_loadbalancer_id, [""]), 0)) : ""
644644
use_existing_lb = local.use_existing_lb
645645
lb_backendset_name = local.lb_backendset_name
646646
num_vm_instances = var.wls_node_count

0 commit comments

Comments
 (0)