Skip to content
This repository has been archived by the owner on Mar 25, 2022. It is now read-only.

Error creating Java Service instance from snapshot #16

Open
mbfrahry opened this issue Mar 27, 2018 · 0 comments
Open

Error creating Java Service instance from snapshot #16

mbfrahry opened this issue Mar 27, 2018 · 0 comments
Labels
jcs Java Cloud Service

Comments

@mbfrahry
Copy link
Contributor

When creating a Java Service instance from a snapshot by setting the snapshot_name the adminPort and secureAdminPort values must be omitted from the components.WLS in the create service REST API request

* oraclepaas_java_service_instance.jcs: Error creating JavaServiceInstance: unable to create Java Service Instance "my-terraformed-java-service-from-snapshot": 412: {"details":{"message":"CLONING-5101: The request parameter [adminPort] is not settable to different value other than [7001]"}}

Even if the admin_port and secure_admin_port are omitted from the config, the provider is still passing the default values to the SDK, and even with the defaults the request fails.

Example config.

resource "oraclepaas_java_service_instance" "jcs" {
  name = "${local.java_service_name}"
  description = "Created by Terraform"

  edition            = "EE"
  service_version    = "12cRelease212"
  metering_frequency = "HOURLY"
  force_delete       = true

  ssh_public_key = "${join(" ",slice(split(" ",file("~/.ssh/id_rsa.pub")),0,2))}"

  // Create from Snapshot
  source_service_name = "${local.source_service_name}"
  snapshot_name       = "my-snapshot"

  weblogic_server {
    shape = "oc1m"

    database {
      name     = "${local.database_name}"
      username = "sys"
      password = "Pa55_Word"
    }

    admin {
      username = "weblogic"
      password = "Weblogic_1"
    }
  }

  backups {
    cloud_storage_container = "Storage-${var.domain}/${local.java_service_name}-backup"
    auto_generate           = true
  }
}

Note: to run this test, a separate JCS instance must have first been created and a Snapshot of the instance taken using the UI Console or the psm command line tool.

$ psm jcs create-snapshot -s my-terraformed-java-service -n my-snapshot

Create request JSON created by Terraform

{
  "backupDestination": "BOTH",
  "cloudStorageContainer": "Storage-ptstest/my-terraformed-java-service-from-snapshot-backup",
  "cloudStorageContainerAutoGenerate": true,
  "cloudStoragePassword": "ptstest2Gobits",
  "cloudStorageUser": "stephen.cross@oracle.com",
  "components": {
    "WLS": {
      "adminPassword": "Weblogic_1",
      "adminPort": 7001,
      "adminUserName": "weblogic",
      "dbaName": "sys",
      "dbaPassword": "Pa55_Word",
      "dbServiceName": "my-terraformed-database-test1",
      "securedAdminPort": 7002,
      "shape": "oc1m"
    }
  },
  "edition": "EE",
  "meteringFrequency": "HOURLY",
  "serviceDescription": "Created by Terraform",
  "serviceLevel": "PAAS",
  "serviceName": "my-terraformed-java-service-from-snapshot",
  "serviceVersion": "12cRelease212",
  "snapshotName": "my-snapshot",
  "sourceServiceName": "my-terraformed-java-service-test1",
  "vmPublicKeyText": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxiT0lxecbm6089kqblah=="
}

Desired Create request JSON

{
  "backupDestination": "BOTH",
  "cloudStorageContainer": "Storage-ptstest/my-terraformed-java-service-from-snapshot-backup",
  "cloudStorageContainerAutoGenerate": true,
  "cloudStoragePassword": "ptstest2Gobits",
  "cloudStorageUser": "stephen.cross@oracle.com",
  "components": {
    "WLS": {
      "adminPassword": "Weblogic_1",
      "adminUserName": "weblogic",
      "dbaName": "sys",
      "dbaPassword": "Pa55_Word",
      "dbServiceName": "my-terraformed-database-test1",
      "shape": "oc1m"
    }
  },
  "edition": "EE",
  "meteringFrequency": "HOURLY",
  "serviceDescription": "Created by Terraform",
  "serviceLevel": "PAAS",
  "serviceName": "my-terraformed-java-service-from-snapshot",
  "serviceVersion": "12cRelease212",
  "snapshotName": "my-snapshot",
  "sourceServiceName": "my-terraformed-java-service-test1",
  "vmPublicKeyText": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxiT0lxecbm6089kqblah=="
}

In all other (non snapshot) create request cases the adminPort and securedAdminPort attributes should be included.

@scross01 scross01 added the jcs Java Cloud Service label Jun 12, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
jcs Java Cloud Service
Projects
None yet
Development

No branches or pull requests

2 participants