oracle/terraform-examples

Issue for Creating the dbcs-instance-classic

Opened this issue · 1 comments

Hi following the Guide I came across the issue with the part :
backups {

cloud_storage_container = "Storage-${var.domain}/my-terraformed-database-backup"
create_if_missing       = true

}
so while creating the DBCS it fails at this step and says:

Failed to configure Oracle Database Server...[ SCRIPT execution errors in [129.157.177.107]: *
getaddrinfo(3) failed for idcs-abcdefghijklmnopqrstuvwxyz.storage.oraclecloud.com:443 *
Couldn't resolve host 'idcs-abcdefghijklmnopqrstuvwxyz.storage.oraclecloud.com' * Closing
connection #0 ERROR : Connectivity problem with OSS server. ERROR : Assistant bkup has failed,
please check ocde logfile /var/opt/oracle/log/ORCL/ocde/ocde_2018-08-28_15:24:06.log INFO: Total
time taken by ocde is 863 seconds #### Completed OCDE with errors, please check logs ####
data/ORCL/control01.ctl" control_files = "/u03/app/oracle/fast_recovery_area/ORCL/control02.ctl" ]

image

For the vars I am using :
domain="idcs-abcdefghijklmnopqrstuvwxyz" (whatever circled in the image )
user="cloud.admin"
password="******"
endpoint=https://dbaas.oraclecloud.com

and for the main file I am using :
https://github.com/oracle/terraform-examples/blob/master/examples/oraclepaas/dbcs-instance-classic/main.tf
Let me know if I am missing something here or if things have got changed.

I see that API endpoint for storage :
https://gse*******.us.storage.oraclecloud.com/v1/Storage-*******
so in file it is Storage-${var.domain}/my-terraformed-database-backup which I think needs modification.

The example needs to be updated to distinguish between using the domain id in the provider details and the domain name in the storage container name - for Traditional accounts these are the same value, but for IDCS Cloud Accounts the domain id is the IDCS id (e.g. idcs-abcdefghijklmnopqrstuvwxyz) and the domain name is the cloud account name (e.g gse12345)

variable "domain_id" {}
variable "domain_name" {}

provider "oraclepaas" {
  identity_domain   = "${var.domain_id}"
  ...
}

...
  backups {
    cloud_storage_container = "Storage-${var.domain_name}/my-terraformed-database-backup"
    ...
  }
...

There also appears to be a separate issue specific to GSE environments that are not exposing the storage endpoint in the required format for the DBCS provisioning - as gse*****.storage.oraclecloud.com is not accessible, but gse*****.us.storage.oraclecloud.com is.