||
Skip to end of metadata
Go to start of metadata

You can add an auto-scaling policy using the CLI tool, REST API or the PPaaS Console as shown below:

 

Adding an auto-scaling policy via the CLI

Overview
CLI command
add-autoscaling-policy
DescriptionAdd an auto-scaling policy definition.
Command format
add-autoscaling-policy -p <JSON_FILE_PATH>

The path to the JSON file that defines the auto-scaling policy needs to be defined as the <JSON_FILE_PATH> value.

Parameter definition
Short optionLong optionDescriptionRequiredExample value
-p--resource-pathFolder path where the JSON file that defines theauto-scaling policy is stored.Yes

<PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples
/autoscaling-policies/autoscaling-policy-1.json

Example

Add the auto-scaling policy defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples /autoscaling-policies/autoscaling-policy-1.json  file.

add-autoscaling-policy -p <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/autoscaling-policies/autoscaling-policy-1.json
Sample output
Autoscaling policy added successfully: [autoscale-policy] autoscaling-policy-1

Adding an auto-scaling policy via the REST API

Overview
DescriptionAdd an auto-scaling policy.
Resource Path
/autoscalingPolicies
HTTP MethodPOST
Request/Response Formatapplication/json
Command format
curl -X POST -H "Content-Type: application/json" -d @'<JSON_PAYLOAD>' -k -v -u <USERNAME>:<PASSWORD> https://<PRIVATE_PAAS_HOST>:<PRIVATE_PAAS_HTTPS_PORT>/api/autoscalingPolicies
  • The path to the JSON file that defines the auto-scaling policy that needs to be defined as the <JSON_PAYLOAD> value.
  • By default, <USERNAME>:<PASSWORD> is admin:admin.
  • By default, <PRIVATE_PAAS_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <PRIVATE_PAAS_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.
Example

Add the auto-scaling policy defined in the <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples/autoscaling-policies/autoscaling-policy-1.json file.

cd <PRIVATE_PAAS_CARTRIDGES>/wso2am/1.9.0/samples
curl -X POST -H "Content-Type: application/json" -d @'autoscaling-policies/autoscaling-policy-1.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
Sample output
> POST /api/autoscalingPolicies HTTP/1.1
> Host: localhost:9443
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 257
> 
< HTTP/1.1 201 Created
< Date: Mon, 05 Oct 2015 09:28:57 GMT
< Location: https://localhost:9443/api/autoscalingPolicies/autoscaling-policy-1
< Content-Type: application/json
< Transfer-Encoding: chunked
< Server: WSO2 Carbon Server
< 
{"status":"success","message":"Autoscaling policy added successfully: [autoscale-policy] autoscaling-policy-1"}

You will come across the following HTTP status codes while adding an auto-scaling policy:

HTTP status code

201, 400, 409, 500

See the descriptions of the HTTP status codes here.

Location header URLhttps://<STRATOS_HOST>:<STRATOS-HTTPS-PORT>/api/autoscalingPolicies/<AUTOSCALING_POLICY_ID>

Adding an auto-scaling policy via the PPaaS Console

Adding an auto-scaling policy via the UI editor

Follow the instructions below to add an auto-scaling policy:

  1. Click Configurations on the home page.
  2. Click on Auto-scaling Policies.
  3. Click ADD AUTO-SCALING POLICY.
  4. Enter the required details. For property definitions, see Auto-scaling policy property definitions.
  5. Click SAVE AUTO-SCALING POLICY DEFINITION.

Adding an auto-scaling policy via the JSON editor

Follow the instructions below to add an auto-scaling policy:

  1. Click Configurations on the home page.
  2. Click Auto-scaling Policies.
  3. Click ADD AUTO-SCALING POLICY.
  4. Click on the editor control to switch to the JSON editor. The JSON code for the basic format of an auto-scaling policy will appear.
  5. Optionally, check the Auto correct with schema option to ensure that you do not accidentally delete any mandatory fields from the auto-scaling policy JSON code.
  6. Code the auto-scaling policy using JSON. For property definitions, see Auto-scaling Policy Resource Definition.
  7. Click SAVE AUTO-SCALING POLICY DEFINITION.

 


Sample auto-scaling policy JSON

{
  "id": "autoscaling-policy-1",
  "loadThresholds": {
    "requestsInFlight": {
      "threshold": 20
    },
    "memoryConsumption": {
      "threshold": 80
    },
    "loadAverage": {
      "threshold": 120
    }
  }
}
  • No labels