Oracle by Example brandingUsing REST APIs to Enable and Disable CPU Cores on Exadata Cloud at Customer

section 0Before You Begin

This tutorial shows you how to use REST APIs to enable and disable CPU cores on Exadata Cloud at Customer.

Background

If a service instance requires more compute node processing power, you can scale the number of enabled CPU cores in the Oracle Exadata Database Machine.

If your Exadata Cloud at Customer instance is subject to a standard non-metered subscription, then you can temporarily modify the compute node processing power (bursting) or add compute node processing power on a more permanent basis. The maximum number of enabled CPU cores depends on your system configuration. However, your subscription may impose additional limits.

If your Exadata Cloud at Customer instance is subject to the Universal Credits subscription model, then you can enable and disable CPU cores within the limits of your system configuration.

In this tutorial, you will see how to enable and disable CPU cores on an Exadata Cloud at Customer instance. The process covers two main operations:

  • First, you will adjust the number of enabled CPU cores on the Exadata Cloud at Customer rack. This operation affects the Exadata Cloud at Customer system environment, but it does not allocate cores to any of the user domains (DomUs) running on the system.
  • Then, you will modify the allocation of enabled CPU cores in one of the virtual machine (VM) clusters that is configured on the rack. This operation makes the additional CPU resources available to the DomUs that are associated with the VM cluster.

The example running throughout the tutorial is primarily focused on using CPU bursting on a non-metered Exadata Cloud at Customer instance. However, the tutorial also covers the API differences that are used to enable and disable CPU cores on Exadata Cloud at Customer instances that are subject to the Universal Credits subscription model.

What Do You Need?

An Exadata Cloud at Customer environment with the following characteristics:

  • Exadata Cloud at Customer release 18.1.4.3, or later.
  • A service instance is already created.
  • At least one VM cluster is already created.

section 2Gather Information

Before you make any REST calls, you must gather key items of information that you will use in the REST calls.

  1. Connect to the My Services dashboard and select the View Details menu option from the menu associated with Exadata Cloud at Customer.
    Selecting the View Details option
  2. Take note of the following values in the Additional Details section:
    • Identity Service Id: You will use this value to set the account context in your REST calls.
    • Service Instance ID: Also known as the Entitlement ID, you will require this value in some REST calls to provide additional context.
    The Identity Service Id and Service Instance ID
  3. Take note of the following values that are associated with the Exadata Cloud at Customer instance that you want to modify:
    • Instance Id: You will use this value in your REST calls to identify the specific Exadata Cloud at Customer instance that you want to act on.
    • Rack Size: When you perform a bursting operation on the Exadata Cloud at Customer instance you will need to specify the correct bursting attribute that corresponds to the Rack Size.
    • REST Endpoint: You will use a modified version of this REST endpoint as the endpoint for the bursting REST calls.
    The Instance Id, Rack Size, and REST Endpoint
  4. Perform a REST call to get the current configuration of the Exadata Cloud at Customer instance.

    Use the following example as a guide and substitute your previously gathered values using these guidelines:

    • REST endpoint: Take the REST Endpoint value that you observed in the My Services application and replace the initial host name (psm) with itra. Use the resulting endpoint value as the REST endpoint is your REST calls. Note that the domain name for your Exadata Cloud at Customer environment will differ from the domain name used in this tutorial.
    • Instance Id: The examples in this tutorial use 500060331 as the Instance Id. Substitute this value and use the value for your Exadata Cloud at Customer instance, which you observed in the My Services application.
    • Identity Service Id: The examples in this tutorial use idcs-e71dcf22d2b84fdb982749d7ad15f540 as the Identity Service Id. Substitute this value and use the value for your Exadata Cloud at Customer environment, which you observed in the My Services application.
    • User information: The examples in this tutorial use Username:Pa55word as the username and password for authentication to the service. Substitute these values and use your own user information.
    • X-Oracle-ServiceInstanceId header value: This header uses the same value as the Instance Id. The examples in this tutorial use 500060331.
    curl -X GET https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/ecra/endpoint/exaservice/500060331/resourceinfo -u Username:Pa55word -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -H 'X-Oracle-ServiceInstanceId: 500060331'
    
    {
      "id": "500060331",
      "AllocatedExaServiceResources": {
        "BaseNumOfCores": 44,
        "AdditionalNumOfCores": 12,
        "BurstCores": 8,
        "OverSubscriptionFactor": 1,
        "TotalMemoryInGb": 2880,
        "StorageInTb": 213,
        "ExaServiceName": "x7half",
        "Racksize": "half",
        "Model": "X7-2",
        "PurchaseType": "subscription"
      },
      "DistributedClusterResources": [{
          "ExaunitId": 270,
          "TotalNumOfCoresForCluster": 12,
          "TotalMemoryInGb": 90,
          "StorageInTb": 3,
          "OracleHomeDiskSizeInGb": 60,
          "ExaunitName": "slhalf3n",
          "CreateSparse": "N",
          "BackupToDisk": "N",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-1",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }, {
          "ExaunitId": 269,
          "TotalNumOfCoresForCluster": 48,
          "TotalMemoryInGb": 240,
          "StorageInTb": 10,
          "OracleHomeDiskSizeInGb": 80,
          "ExaunitName": "cluster2",
          "CreateSparse": "Y",
          "BackupToDisk": "Y",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-2",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-3",
              "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }
      ],
      "state": "ACTIVE",
      "DistributedResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 12
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 16
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 60
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 90
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 80
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 140
          }
        ]
      },
      "AvailableResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 0
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 660
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 630
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 594
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 212
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 536
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 580
          }
        ]
      },
      "AllocatedResourcesPerCompute": {
        "AllocatedPurchasedCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 14
          }
        ],
        "AllocatedBurstCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 2
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 1588
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 720
          }
        ]
      },
      "status": 200,
      "op": "get-exaservice",
      "status-detail": "success"
    
    }
    

    Observe the following characteristics of the Exadata Cloud at Customer instance that is being used in this example:

    • The example Exadata Cloud at Customer instance uses a Half Rack X7 system ("Racksize": "half" and "Model": "X7-2").
    • At this point the system has a total of 64 enabled CPU cores ("BaseNumOfCores": 44 + "AdditionalNumOfCores": 12 + "BurstCores": 8).
    • 56 CPU cores are provided by the subscription ("BaseNumOfCores": 44 + "AdditionalNumOfCores": 12).
    • 8 CPU cores are already enabled using bursting ("BurstCores": 8).
    • The instance currently supports two clusters:
      • One cluster ("ExaunitId": 270, "ExaunitName": "slhalf3n") is enabled across 3 nodes ("ComputeNodeAlias": "node-1", "node-2", "node-4"). It currently consumes 12 CPU cores ("TotalNumOfCoresForCluster": 12); that is, 4 CPU cores on each of the 3 active nodes.
      • The other cluster ("ExaunitId": 269, "ExaunitName": "cluster2") is enable across all 4 nodes in the rack. It currently consumes 48 CPU cores ("TotalNumOfCoresForCluster": 48); that is, 12 CPU cores on each of the 4 active nodes.
    • All CPU resources are currently allocated on the 3 nodes that host both clusters, and there are 4 unallocated CPU cores on the remaining node ("ComputeNodeAlias": "node-3").

section 2Add CPU Cores to the Exadata Cloud at Customer Instance

  1. Create an initial JSON payload.

    The following example shows the number of bursting cores being increased to 24.

    {"ExaServiceProperties": [{"name": "ExaserviceId", "value": "500060331"}, {"name": "Operation", "value": "ReshapeExaService"}, {"name": "BurstCores", "value": "24"}, {"name": "SubscriptionCores", "value": "56"}]}

    Use the previous JSON example and substitute your values as follows:

    • ExaserviceId: Specify the Instance Id value for your Exadata Cloud at Customer instance.
    • BurstCores: Specifies the total number of bursting CPU cores that are enabled on the Exadata Cloud at Customer instance.
      • If you want to use CPU bursting in conjunction with a non-metered Exadata Cloud at Customer instance, specify the total number of bursting cores that you want to enable on the Exadata Cloud at Customer instance.
      • If you want to adjust an Exadata Cloud at Customer instance using Universal Credits, then specify a value of zero. For example: {"name": "BurstCores", "value": "0"}
    • SubscriptionCores: Specifies the total number of subscription CPU cores that are enabled on the Exadata Cloud at Customer instance.
      • If you want to use CPU bursting in conjunction with a non-metered Exadata Cloud at Customer instance, this value is the sum of the values for BaseNumOfCores and AdditionalNumOfCores, which you observed in the previous step.
      • If you want to adjust an Exadata Cloud at Customer instance using Universal Credits, or if you want to add processing power to a non-metered instance on a more permanent basis, then specify the new total number of CPU cores that you want to enable on the Exadata Cloud at Customer instance. For example, if you wanted to enable a total of 64 CPU cores then specify: {"name": "SubscriptionCores", "value": "64"}
  2. Create a Base64 encoded version of the payload that you defined in the previous step. For example:
    eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjI0In0sIHsibmFtZSI6ICJTdWJzY3JpcHRpb25Db3JlcyIsICJ2YWx1ZSI6ICI1NiJ9XX0=
  3. Prepare a POST payload.

    The following example shows the POST payload for a bursting operation that enables 16 additional CPU cores.

    {"operationItems": [{"attributes": [{"name": "instanceId", "value": "500060331"}, {"name": "requestPayload.serviceEntitlementId", "value": "500047808"}, {"name": "requestPayload.size", "value": "CUSTOM"}, {"name": "requestPayload.serviceType", "value": "ExadataCM"}, {"name": "requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7", "value": "16"}, {"name": "requestPayload.customAttributes.CORE_BURSTING", "value": "Y"}, {"name": "requestPayload.customAttributes.EXASERVICE_ALLOCATIONS", "value": "eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjI0In0sIHsibmFtZSI6ICJTdWJzY3JpcHRpb25Db3JlcyIsICJ2YWx1ZSI6ICI1NiJ9XX0="}], "operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}

    Use the previous JSON example and substitute your values as follows:

    • instanceId: Specify the Instance Id value for your Exadata Cloud at Customer instance.
    • requestPayload.serviceEntitlementId: Specify the Service Instance ID value that you observed in the My Services application.
    • requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7: In the value for this attribute, specify the number of additional CPU cores that are being enabled in this call. In the example the number of bursting cores is being raised from 8 to 24, so the value for this attribute is set to 16.

      Also, the name of this attribute differs depending on your subscription type and the Rack Size of your Exadata Cloud at Customer instance:

      • If you are using a non-metered Exadata Cloud at Customer instance, set the attribute name as follows:

        Rack Size

        Attribute Name

        All X6 racks: Eighth Rack, Quarter Rack, Half Rack, Full Rack

        requestPayload.customAttributes.
        AdditionalNumOfCoresHourlyExaCM

        X7 racks without BYOL option: Base System, Quarter Rack X7, Half Rack X7, Full Rack X7

        requestPayload.customAttributes.
        AdditionalNumberOfCoresHourlyX7

        X7 racks with BYOL option: Base System BYOL, Quarter Rack X7 BYOL, Half Rack X7 BYOL, Full Rack X7 BYOL

        requestPayload.customAttributes.
        AdditionalNumberOfCoresHourlyBYOL

      • If you want to adjust an Exadata Cloud at Customer instance using Universal Credits, then always set the attribute name to requestPayload.customAttributes.NumOfCores.
    • requestPayload.customAttributes.CORE_BURSTING: If you want to use CPU bursting in conjunction with a non-metered Exadata Cloud at Customer instance, set this value to Y. Otherwise, set this value to N.
    • requestPayload.customAttributes.EXASERVICE_ALLOCATIONS: Specify the Base64 encoded payload that you constructed in the previous step.
  4. Add the CPUs to the Exadata Cloud at Customer instance. Use the POST payload that you constructed in the previous step.

    When the operation is initiated, you should expect a response similar to that shown in the example. However, it may take a few minutes for the operation to complete. Wait 5 minutes before proceeding to ensure that the operation has completed.

    curl -i -X POST https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations --user Username:Pa55word -H 'Content-Type: application/json' -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -d '{"operationItems": [{"attributes": [{"name": "instanceId", "value": "500060331"}, {"name": "requestPayload.serviceEntitlementId", "value": "500047808"}, {"name": "requestPayload.size", "value": "CUSTOM"}, {"name": "requestPayload.serviceType", "value": "ExadataCM"}, {"name": "requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7", "value": "16"}, {"name": "requestPayload.customAttributes.CORE_BURSTING", "value": "Y"}, {"name": "requestPayload.customAttributes.EXASERVICE_ALLOCATIONS", "value": "eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjI0In0sIHsibmFtZSI6ICJTdWJzY3JpcHRpb25Db3JlcyIsICJ2YWx1ZSI6ICI1NiJ9XX0="}], "operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}'
    
    HTTP/1.1 201 Created
    Server: LBAAS
    Date: Wed, 10 Oct 2018 03:36:25 GMT
    Content-Length: 0
    Connection: keep-alive
    Location: http://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations/CIM-1590
    X-ORACLE-DMS-ECID: 4c94d01c-9351-4dd3-91be-cb1840d43ce0-0003fe27
    X-ORACLE-DMS-RID: 0
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=31536000; includeSubdomains;
  5. Repeat the call to get the configuration of the Exadata Cloud at Customer instance and verify that the CPU attribute values are updated as expected.

    In the following example, note that the BurstCores value has increased to 24. Note also the consequential effect on the available cores and the allocated burst cores for each node.

    curl -X GET https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/ecra/endpoint/exaservice/500060331/resourceinfo -u Username:Pa55word -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -H 'X-Oracle-ServiceInstanceId: 500060331'
    
    {
      "id": "500060331",
      "AllocatedExaServiceResources": {
        "BaseNumOfCores": 44,
        "AdditionalNumOfCores": 12,
        "BurstCores": 24,
        "OverSubscriptionFactor": 1,
        "TotalMemoryInGb": 2880,
        "StorageInTb": 213,
        "ExaServiceName": "x7half",
        "Racksize": "half",
        "Model": "X7-2",
        "PurchaseType": "subscription"
      },
      "DistributedClusterResources": [{
          "ExaunitId": 270,
          "TotalNumOfCoresForCluster": 12,
          "TotalMemoryInGb": 90,
          "StorageInTb": 3,
          "OracleHomeDiskSizeInGb": 60,
          "ExaunitName": "slhalf3n",
          "CreateSparse": "N",
          "BackupToDisk": "N",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-1",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }, {
          "ExaunitId": 269,
          "TotalNumOfCoresForCluster": 48,
          "TotalMemoryInGb": 240,
          "StorageInTb": 10,
          "OracleHomeDiskSizeInGb": 80,
          "ExaunitName": "cluster2",
          "CreateSparse": "Y",
          "BackupToDisk": "Y",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-2",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-3",
              "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }
      ],
      "state": "ACTIVE",
      "DistributedResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 12
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 16
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 60
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 90
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 80
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 140
          }
        ]
      },
      "AvailableResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 8
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 4
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 660
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 630
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 594
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 212
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 536
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 580
          }
        ]
      },
      "AllocatedResourcesPerCompute": {
        "AllocatedPurchasedCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 14
          }
        ],
        "AllocatedBurstCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 6
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 1588
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 720
          }
        ]
      },
      "status": 200,
      "op": "get-exaservice",
      "status-detail": "success"
    }

section 3Allocate Additional CPU Cores to a Specific Cluster

This example shows increasing the CPU allocation from 48 cores to 64 cores for the cluster that spans all of the compute nodes ("ExaunitId": 269, "ExaunitName": "cluster2").

  1. Create an initial payload for the CPU allocation operation.

    The following example shows the number of cores being increased to 64.

    {"ExaunitProperties": [{"name": "Operation","value": "ReshapeCluster"},{"name": "ExaunitID","value": "269"},{"name": "TotalNumOfCoresForCluster","value": "64"}]}

    Use the previous JSON example and substitute your values as follows:

    • ExaunitID: Specify the ExaunitId value for cluster that you want to modify.
    • TotalNumOfCoresForCluster: Specify the total number of cores that you want to allocate to the cluster.
  2. Create a Base64 encoded version of the payload that you defined in the previous step. For example:
    eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI2NCJ9XX0=
  3. Prepare a POST payload for the CPU allocation operation.

    Substitute your values for the highlighted values as you have done for previous POST operations and use the Base64 encoded payload that you constructed in the previous step.

    {"operationItems": [{"attributes": [{"name": "instanceId","value": "500060331"},{"name": "requestPayload.serviceEntitlementId","value": "500047808"},{"name": "requestPayload.size","value": "CUSTOM"},{"name": "requestPayload.serviceType","value": "ExadataCM"},{"name": "requestPayload.customAttributes.EXAUNIT_ALLOCATIONS","value": "eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI2NCJ9XX0="},{"name": "requestPayload.customAttributes.MULTIVM_ENABLED","value": "true"}],"operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}
  4. Allocate the additional CPU cores to the cluster. Use the POST payload that you constructed in the previous step.

    When the operation is initiated, you should expect a response similar to that shown in the example. However, it takes a few minutes for the operation to complete. Wait 10 minutes before proceeding to ensure that the operation has completed.

    curl -i -X POST https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations --user Username:Pa55word -H 'Content-Type: application/json' -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -d '{"operationItems": [{"attributes": [{"name": "instanceId","value": "500060331"},{"name": "requestPayload.serviceEntitlementId","value": "500047808"},{"name": "requestPayload.size","value": "CUSTOM"},{"name": "requestPayload.serviceType","value": "ExadataCM"},{"name": "requestPayload.customAttributes.EXAUNIT_ALLOCATIONS","value": "eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI2NCJ9XX0="},{"name": "requestPayload.customAttributes.MULTIVM_ENABLED","value": "true"}],"operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}'
    
    HTTP/1.1 201 Created
    Server: LBAAS
    Date: Wed, 10 Oct 2018 03:47:18 GMT
    Content-Length: 0
    Connection: keep-alive
    Location: http://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations/CIM-1591
    X-ORACLE-DMS-ECID: 4c94d01c-9351-4dd3-91be-cb1840d43ce0-0003fe79
    X-ORACLE-DMS-RID: 0
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=31536000; includeSubdomains;
  5. Repeat the call to get the configuration of the Exadata Cloud at Customer instance and verify that the cluster's TotalNumOfCoresForCluster value has been increased as expected. Examine the rest of the response and confirm that available cores are correct for each node.
    curl -X GET https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/ecra/endpoint/exaservice/500060331/resourceinfo -u Username:Pa55word -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -H 'X-Oracle-ServiceInstanceId: 500060331'
    
    {
      "id": "500060331",
      "AllocatedExaServiceResources": {
        "BaseNumOfCores": 44,
        "AdditionalNumOfCores": 12,
        "BurstCores": 24,
        "OverSubscriptionFactor": 1,
        "TotalMemoryInGb": 2880,
        "StorageInTb": 213,
        "ExaServiceName": "x7half",
        "Racksize": "half",
        "Model": "X7-2",
        "PurchaseType": "subscription"
      },
      "DistributedClusterResources": [{
          "ExaunitId": 270,
          "TotalNumOfCoresForCluster": 12,
          "TotalMemoryInGb": 90,
          "StorageInTb": 3,
          "OracleHomeDiskSizeInGb": 60,
          "ExaunitName": "slhalf3n",
          "CreateSparse": "N",
          "BackupToDisk": "N",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-1",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }, {
          "ExaunitId": 269,
          "TotalNumOfCoresForCluster": 64,
          "TotalMemoryInGb": 240,
          "StorageInTb": 10,
          "OracleHomeDiskSizeInGb": 80,
          "ExaunitName": "cluster2",
          "CreateSparse": "Y",
          "BackupToDisk": "Y",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-2",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-3",
              "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }
      ],
      "state": "ACTIVE",
      "DistributedResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 20
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 20
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 20
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 60
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 90
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 80
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 140
          }
        ]
      },
      "AvailableResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 0
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 660
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 630
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 594
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 212
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 536
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 580
          }
        ]
      },
      "AllocatedResourcesPerCompute": {
        "AllocatedPurchasedCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 14
          }
        ],
        "AllocatedBurstCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 6
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 1588
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 720
          }
        ]
      },
      "status": 200,
      "op": "get-exaservice",
      "status-detail": "success"
    }

section 4Remove Previously Allocated CPU Cores from a Specific Cluster

Removing previously allocated CPU cores involves reversing the previous operations. This example shows decreasing the CPU allocation from 64 cores back to 48 cores for the cluster that spans all of the compute nodes ("ExaunitId": 269, "ExaunitName": "cluster2").

  1. Create an initial payload for the CPU allocation operation. For example:
    {"ExaunitProperties": [{"name": "Operation","value": "ReshapeCluster"},{"name": "ExaunitID","value": "269"},{"name": "TotalNumOfCoresForCluster","value": "48"}]}
  2. Create a Base64 encoded version of the payload that you defined in the previous step. For example:
    eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI0OCJ9XX0=
  3. Prepare a POST payload for the CPU allocation operation.

    Substitute your values for the highlighted values as you have done for previous POST operations and use the Base64 encoded payload that you constructed in the previous step.

    {"operationItems": [{"attributes": [{"name": "instanceId","value": "500060331"},{"name": "requestPayload.serviceEntitlementId","value": "500047808"},{"name": "requestPayload.size","value": "CUSTOM"},{"name": "requestPayload.serviceType","value": "ExadataCM"},{"name": "requestPayload.customAttributes.EXAUNIT_ALLOCATIONS","value": "eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI0OCJ9XX0="},{"name": "requestPayload.customAttributes.MULTIVM_ENABLED","value": "true"}],"operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}
  4. Remove the previously allocated CPU cores from the cluster. Use the POST payload that you constructed in the previous step.

    When the operation is initiated, you should expect a response similar to that shown in the example. However, it takes a few minutes for the operation to complete. Wait 10 minutes before proceeding to ensure that the operation has completed.

    curl -i -X POST https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations --user Username:Pa55word -H 'Content-Type: application/json' -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -d '{"operationItems": [{"attributes": [{"name": "instanceId","value": "500060331"},{"name": "requestPayload.serviceEntitlementId","value": "500047808"},{"name": "requestPayload.size","value": "CUSTOM"},{"name": "requestPayload.serviceType","value": "ExadataCM"},{"name": "requestPayload.customAttributes.EXAUNIT_ALLOCATIONS","value": "eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI0OCJ9XX0="},{"name": "requestPayload.customAttributes.MULTIVM_ENABLED","value": "true"}],"operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}'
    
    HTTP/1.1 201 Created
    Server: LBAAS
    Date: Wed, 10 Oct 2018 03:59:59 GMT
    Content-Length: 0
    Connection: keep-alive
    Location: http://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations/CIM-1592
    X-ORACLE-DMS-ECID: 3ca4189a-0461-4a5d-9ecc-7b6ca6144214-00040252
    X-ORACLE-DMS-RID: 0
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=31536000; includeSubdomains;
  5. Repeat the call to get the configuration of the Exadata Cloud at Customer instance and verify that the cluster's TotalNumOfCoresForCluster value is decreased as expected. Examine the rest of the response and confirm that available cores are correct for each node.
    curl -X GET https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/ecra/endpoint/exaservice/500060331/resourceinfo -u Username:Pa55word -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -H 'X-Oracle-ServiceInstanceId: 500060331'
    
    {
      "id": "500060331",
      "AllocatedExaServiceResources": {
        "BaseNumOfCores": 44,
        "AdditionalNumOfCores": 12,
        "BurstCores": 24,
        "OverSubscriptionFactor": 1,
        "TotalMemoryInGb": 2880,
        "StorageInTb": 213,
        "ExaServiceName": "x7half",
        "Racksize": "half",
        "Model": "X7-2",
        "PurchaseType": "subscription"
      },
      "DistributedClusterResources": [{
          "ExaunitId": 270,
          "TotalNumOfCoresForCluster": 12,
          "TotalMemoryInGb": 90,
          "StorageInTb": 3,
          "OracleHomeDiskSizeInGb": 60,
          "ExaunitName": "slhalf3n",
          "CreateSparse": "N",
          "BackupToDisk": "N",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-1",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }, {
          "ExaunitId": 269,
          "TotalNumOfCoresForCluster": 48,
          "TotalMemoryInGb": 240,
          "StorageInTb": 10,
          "OracleHomeDiskSizeInGb": 80,
          "ExaunitName": "cluster2",
          "CreateSparse": "Y",
          "BackupToDisk": "Y",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-2",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-3",
              "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }
      ],
      "state": "ACTIVE",
      "DistributedResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 12
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 16
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 60
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 90
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 80
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 140
          }
        ]
      },
      "AvailableResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 8
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 4
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 660
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 630
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 594
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 212
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 536
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 580
          }
        ]
      },
      "AllocatedResourcesPerCompute": {
        "AllocatedPurchasedCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 14
          }
        ],
        "AllocatedBurstCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 6
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 6
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 1588
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 720
          }
        ]
      },
      "status": 200,
      "op": "get-exaservice",
      "status-detail": "success"
    }

section 5Remove CPU Cores from an Exadata Cloud at Customer Instance

This example shows the number of bursting cores being decreased from 24 back to 8.

  1. Create an initial JSON payload. Substitute your values for the highlighted values as you have done for previous operations. For example:
    {"ExaServiceProperties": [{"name": "ExaserviceId", "value": "500060331"}, {"name": "Operation", "value": "ReshapeExaService"}, {"name": "BurstCores", "value": "8"}, {"name": "SubscriptionCores", "value": "56"}]}
  2. Create a Base64 encoded version of the payload that you defined in the previous step. For example:
    eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjgifSwgeyJuYW1lIjogIlN1YnNjcmlwdGlvbkNvcmVzIiwgInZhbHVlIjogIjU2In1dfQ==
  3. Prepare a POST payload.

    Substitute your values for the highlighted values as you have done for previous POST operations and use the Base64 encoded payload that you constructed in the previous step.

    Note that because you are removing CPU cores you must specify a negative value for the requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7 attribute.

    Remember also that the attribute name varies depending on the subscription type and Rack Size for your Exadata Cloud at Customer instance, as described earlier.

    {"operationItems": [{"attributes": [{"name": "instanceId", "value": "500060331"}, {"name": "requestPayload.serviceEntitlementId", "value": "500047808"}, {"name": "requestPayload.size", "value": "CUSTOM"}, {"name": "requestPayload.serviceType", "value": "ExadataCM"}, {"name": "requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7", "value": "-16"}, {"name": "requestPayload.customAttributes.CORE_BURSTING", "value": "Y"}, {"name": "requestPayload.customAttributes.EXASERVICE_ALLOCATIONS", "value": "eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjgifSwgeyJuYW1lIjogIlN1YnNjcmlwdGlvbkNvcmVzIiwgInZhbHVlIjogIjU2In1dfQ=="}], "operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}
  4. Remove the CPU cores from the Exadata Cloud at Customer instance. Use the POST payload that you constructed in the previous step.

    When the operation is initiated, you should expect a response similar to that shown in the example. However, it may take a few minutes for the operation to complete. Wait 5 minutes before proceeding to ensure that the operation has completed.

    curl -i -X POST https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations --user Username:Pa55word -H 'Content-Type: application/json' -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -d '{"operationItems": [{"attributes": [{"name": "instanceId", "value": "500060331"}, {"name": "requestPayload.serviceEntitlementId", "value": "500047808"}, {"name": "requestPayload.size", "value": "CUSTOM"}, {"name": "requestPayload.serviceType", "value": "ExadataCM"}, {"name": "requestPayload.customAttributes.AdditionalNumberOfCoresHourlyX7", "value": "-16"}, {"name": "requestPayload.customAttributes.CORE_BURSTING", "value": "Y"}, {"name": "requestPayload.customAttributes.EXASERVICE_ALLOCATIONS", "value": "eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjgifSwgeyJuYW1lIjogIlN1YnNjcmlwdGlvbkNvcmVzIiwgInZhbHVlIjogIjU2In1dfQ=="}], "operationItemDefinition": {"id": "CIM-Exadata-CUSTOM-PRODUCTION-UPDATE"}}]}'
    
    HTTP/1.1 201 Created
    Server: LBAAS
    Date: Wed, 10 Oct 2018 04:10:01 GMT
    Content-Length: 0
    Connection: keep-alive
    Location: http://itra.ocm.scacaa05.testoraclecloudatcust.com:443/itas/idcs-e71dcf22d2b84fdb982749d7ad15f540/myservices/api/v1/operations/CIM-1593
    X-ORACLE-DMS-ECID: 3ca4189a-0461-4a5d-9ecc-7b6ca6144214-0004029a
    X-ORACLE-DMS-RID: 0
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=31536000; includeSubdomains;
  5. Repeat the call to get the configuration of the Exadata Cloud at Customer instance and verify that the CPU attribute values are updated as expected.

    In the following example, note that the BurstCores value has reduced to 8. Note also the consequential effect on the available cores and the allocated burst cores for each node.

    curl -X GET https://itra.ocm.scacaa05.testoraclecloudatcust.com:443/ecra/endpoint/exaservice/500060331/resourceinfo -u Username:Pa55word -H 'X-ID-TENANT-NAME: idcs-e71dcf22d2b84fdb982749d7ad15f540' -H 'X-Oracle-ServiceInstanceId: 500060331'
    
    {
      "id": "500060331",
      "AllocatedExaServiceResources": {
        "BaseNumOfCores": 44,
        "AdditionalNumOfCores": 12,
        "BurstCores": 8,
        "OverSubscriptionFactor": 1,
        "TotalMemoryInGb": 2880,
        "StorageInTb": 213,
        "ExaServiceName": "x7half",
        "Racksize": "half",
        "Model": "X7-2",
        "PurchaseType": "subscription"
      },
      "DistributedClusterResources": [{
          "ExaunitId": 270,
          "TotalNumOfCoresForCluster": 12,
          "TotalMemoryInGb": 90,
          "StorageInTb": 3,
          "OracleHomeDiskSizeInGb": 60,
          "ExaunitName": "slhalf3n",
          "CreateSparse": "N",
          "BackupToDisk": "N",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-1",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }, {
          "ExaunitId": 269,
          "TotalNumOfCoresForCluster": 48,
          "TotalMemoryInGb": 240,
          "StorageInTb": 10,
          "OracleHomeDiskSizeInGb": 80,
          "ExaunitName": "cluster2",
          "CreateSparse": "Y",
          "BackupToDisk": "Y",
          "status": "PROVISIONED",
          "RackName": "scaqae08adm0104clu1-clu-2",
          "NodeSubset": [{
              "ComputeNodeAlias": "node-1",
              "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-2",
              "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-3",
              "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com"
            }, {
              "ComputeNodeAlias": "node-4",
              "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com"
            }
          ]
        }
      ],
      "state": "ACTIVE",
      "DistributedResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 16
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 12
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 16
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 90
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 60
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 90
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 140
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 80
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 140
          }
        ]
      },
      "AvailableResourcesPerCompute": {
        "Cores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 0
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 4
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 0
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 630
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 660
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 630
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 594
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 212
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 536
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 580
          }
        ]
      },
      "AllocatedResourcesPerCompute": {
        "AllocatedPurchasedCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 14
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 14
          }
        ],
        "AllocatedBurstCores": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 2
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 2
          }
        ],
        "OracleHomeSpaceInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 1588
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 1588
          }
        ],
        "MemoryInGb": [{
            "ComputeNodeAlias": "node-1",
            "ComputeNodeHostName": "scaqae08adm02.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-2",
            "ComputeNodeHostName": "scaqae08adm03.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-3",
            "ComputeNodeHostName": "scaqae08adm04.testoraclecloudatcust.com",
            "Value": 720
          }, {
            "ComputeNodeAlias": "node-4",
            "ComputeNodeHostName": "scaqae08adm01.testoraclecloudatcust.com",
            "Value": 720
          }
        ]
      },
      "status": 200,
      "op": "get-exaservice",
      "status-detail": "success"
    
    }