Before 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.
Gather Information
Before you make any REST calls, you must gather key items of information that you will use in the REST calls.
- Connect to the My Services dashboard and select the View Details menu option from the menu associated with Exadata Cloud at Customer.
- 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.
- 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.
- 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
) withitra
. 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 use500060331
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 useidcs-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 theInstance Id
. The examples in this tutorial use500060331
.
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.
- One cluster (
- 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"
).
- REST endpoint: Take the REST Endpoint value that you observed in the My Services application and replace the initial host name (
Add CPU Cores to the Exadata Cloud at Customer Instance
- 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
andAdditionalNumOfCores
, 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"}
- 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
- Create a Base64 encoded version of the payload that you defined in the previous step. For example:
eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjI0In0sIHsibmFtZSI6ICJTdWJzY3JpcHRpb25Db3JlcyIsICJ2YWx1ZSI6ICI1NiJ9XX0=
- 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.
AdditionalNumOfCoresHourlyExaCMX7 racks without BYOL option:
Base System
,Quarter Rack X7
,Half Rack X7
,Full Rack X7
requestPayload.customAttributes.
AdditionalNumberOfCoresHourlyX7X7 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
.
- If you are using a non-metered Exadata Cloud at Customer instance, set the attribute name as follows:
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 toY
. Otherwise, set this value toN
.requestPayload.customAttributes.EXASERVICE_ALLOCATIONS
: Specify the Base64 encoded payload that you constructed in the previous step.
- 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;
- 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" }
Allocate 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"
).
- 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.
- Create a Base64 encoded version of the payload that you defined in the previous step. For example:
eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI2NCJ9XX0=
- 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"}}]}
- 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;
- 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" }
Remove 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"
).
- Create an initial payload for the CPU allocation operation. For example:
{"ExaunitProperties": [{"name": "Operation","value": "ReshapeCluster"},{"name": "ExaunitID","value": "269"},{"name": "TotalNumOfCoresForCluster","value": "48"}]}
- Create a Base64 encoded version of the payload that you defined in the previous step. For example:
eyJFeGF1bml0UHJvcGVydGllcyI6IFt7Im5hbWUiOiAiT3BlcmF0aW9uIiwidmFsdWUiOiAiUmVzaGFwZUNsdXN0ZXIifSx7Im5hbWUiOiAiRXhhdW5pdElEIiwidmFsdWUiOiAiMjY5In0seyJuYW1lIjogIlRvdGFsTnVtT2ZDb3Jlc0ZvckNsdXN0ZXIiLCJ2YWx1ZSI6ICI0OCJ9XX0=
- 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"}}]}
- 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;
- 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" }
Remove CPU Cores from an Exadata Cloud at Customer Instance
This example shows the number of bursting cores being decreased from 24 back to 8.
- 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"}]}
- Create a Base64 encoded version of the payload that you defined in the previous step. For example:
eyJFeGFTZXJ2aWNlUHJvcGVydGllcyI6IFt7Im5hbWUiOiAiRXhhc2VydmljZUlkIiwgInZhbHVlIjogIjUwMDA2MDMzMSJ9LCB7Im5hbWUiOiAiT3BlcmF0aW9uIiwgInZhbHVlIjogIlJlc2hhcGVFeGFTZXJ2aWNlIn0sIHsibmFtZSI6ICJCdXJzdENvcmVzIiwgInZhbHVlIjogIjgifSwgeyJuYW1lIjogIlN1YnNjcmlwdGlvbkNvcmVzIiwgInZhbHVlIjogIjU2In1dfQ==
- 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"}}]}
- 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;
- 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" }