Skip to content

Commit

Permalink
HDI add autoscale feature support (#6158)
Browse files Browse the repository at this point in the history
* change cluster json file to support the autoscale feature

* add x-ms-examples for Autoscale

* add x-ms-examples for Autoscale

* fix valid error

* fix valid error

* Trigger notification
  • Loading branch information
gaoxiaoninghit authored and amarzavery committed Jun 25, 2019
1 parent c4b606c commit 047450d
Show file tree
Hide file tree
Showing 6 changed files with 440 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
},
"Create Hadoop cluster with Azure Data Lake Storage Gen 2": {
"$ref": "./examples/CreateLinuxHadoopAdlsGen2.json"
},
"Create HDInsight cluster with Autoscale configuration": {
"$ref": "./examples/CreateHDInsightClusterWithAutoscaleConfig.json"
}
},
"parameters": [
Expand Down Expand Up @@ -605,6 +608,90 @@
}
}
},
"AutoscaleTimeAndCapacity": {
"properties": {
"time": {
"type": "string",
"description": "24-hour time in the form xx:xx"
},
"minInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The minimum instance count of the cluster"
},
"maxInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The maximum instance count of the cluster"
}
},
"description": "Time and capacity request parameters"
},
"AutoscaleSchedule": {
"properties": {
"days": {
"type": "array",
"items": {
"type": "string",
"enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ],
"x-ms-enum": {
"name": "DaysOfWeek",
"modelAsString": false
}
},
"description": "Days of the week for a schedule-based autoscale rule"
},
"timeAndCapacity": {
"$ref": "#/definitions/AutoscaleTimeAndCapacity",
"description": "Time and capacity for a schedule-based autoscale rule"
}
},
"description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity"
},
"AutoscaleCapacity": {
"properties": {
"minInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The minimum instance count of the cluster"
},
"maxInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The maximum instance count of the cluster"
}
},
"description": "The load-based autoscale request parameters"
},
"AutoscaleRecurrence": {
"properties": {
"timeZone": {
"type": "string",
"description": "The time zone for the autoscale schedule times"
},
"schedule": {
"type": "array",
"items": {
"$ref": "#/definitions/AutoscaleSchedule"
},
"description": "Array of schedule-based autoscale rules"
}
},
"description": "Schedule-based autoscale request parameters"
},
"Autoscale": {
"properties": {
"capacity": {
"$ref": "#/definitions/AutoscaleCapacity",
"description": "Parameters for load-based autoscale"
},
"recurrence": {
"$ref": "#/definitions/AutoscaleRecurrence",
"description": "Parameters for schedule-based autoscale"
}
},
"description": "The autoscale request parameters"
},
"HardwareProfile": {
"properties": {
"vmSize": {
Expand Down Expand Up @@ -710,6 +797,11 @@
"format": "int32",
"description": "The instance count of the cluster."
},
"autoscale": {
"$ref": "#/definitions/Autoscale",
"x-ms-client-name": "autoscaleConfiguration",
"description": "The autoscale configurations."
},
"hardwareProfile": {
"$ref": "#/definitions/HardwareProfile",
"description": "The hardware profile."
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
{
"parameters": {
"clusterName": "cluster1",
"resourceGroupName": "rg1",
"api-version": "2015-03-01-preview",
"subscriptionId": "subid",
"parameters": {
"properties": {
"clusterVersion": "3.6",
"osType": "Linux",
"tier": "Standard",
"clusterDefinition": {
"kind": "hadoop",
"componentVersion": {
"Hadoop": "2.7"
},
"configurations": {
"gateway": {
"restAuthCredential.isEnabled": true,
"restAuthCredential.username": "admin",
"restAuthCredential.password": "**********"
}
}
},
"storageProfile": {
"storageaccounts": [
{
"name": "mystorage.blob.core.windows.net",
"isDefault": true,
"container": "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z",
"key": "storagekey"
}
]
},
"computeProfile": {
"roles": [
{
"autoscale": {
"capacity": null,
"recurrence": {
"timeZone": "China Standard Time",
"schedule": [
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"timeAndCapacity": {
"time": "09:00",
"minInstanceCount": 3,
"maxInstanceCount": 3
}
},
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"timeAndCapacity": {
"time": "18:00",
"minInstanceCount": 6,
"maxInstanceCount": 6
}
},
{
"days": [
"Saturday",
"Sunday"
],
"timeAndCapacity": {
"time": "09:00",
"minInstanceCount": 2,
"maxInstanceCount": 2
}
},
{
"days": [
"Saturday",
"Sunday"
],
"timeAndCapacity": {
"time": "18:00",
"minInstanceCount": 4,
"maxInstanceCount": 4
}
}
]
}
},
"name": "workernode",
"targetInstanceCount": 4,
"hardwareProfile": {
"vmSize": "Standard_D4_V2"
},
"osProfile": {
"linuxOperatingSystemProfile": {
"username": "sshuser",
"password": "**********"
}
},
"virtualNetworkProfile": null,
"scriptActions": [],
"dataDisksGroups": null
}
]
}
}
}
},
"responses": {
"200": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
"headers": {
"location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
}
},
"200": {
"headers": {
"location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
},
"Create Hadoop cluster with Azure Data Lake Storage Gen 2": {
"$ref": "./examples/CreateLinuxHadoopAdlsGen2.json"
},
"Create HDInsight cluster with Autoscale configuration": {
"$ref": "./examples/CreateHDInsightClusterWithAutoscaleConfig.json"
}
},
"parameters": [
Expand Down Expand Up @@ -605,6 +608,90 @@
}
}
},
"AutoscaleTimeAndCapacity": {
"properties": {
"time": {
"type": "string",
"description": "24-hour time in the form xx:xx"
},
"minInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The minimum instance count of the cluster"
},
"maxInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The maximum instance count of the cluster"
}
},
"description": "Time and capacity request parameters"
},
"AutoscaleSchedule": {
"properties": {
"days": {
"type": "array",
"items": {
"type": "string",
"enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ],
"x-ms-enum": {
"name": "DaysOfWeek",
"modelAsString": false
}
},
"description": "Days of the week for a schedule-based autoscale rule"
},
"timeAndCapacity": {
"$ref": "#/definitions/AutoscaleTimeAndCapacity",
"description": "Time and capacity for a schedule-based autoscale rule"
}
},
"description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity"
},
"AutoscaleCapacity": {
"properties": {
"minInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The minimum instance count of the cluster"
},
"maxInstanceCount": {
"type": "integer",
"format": "int32",
"description": "The maximum instance count of the cluster"
}
},
"description": "The load-based autoscale request parameters"
},
"AutoscaleRecurrence": {
"properties": {
"timeZone": {
"type": "string",
"description": "The time zone for the autoscale schedule times"
},
"schedule": {
"type": "array",
"items": {
"$ref": "#/definitions/AutoscaleSchedule"
},
"description": "Array of schedule-based autoscale rules"
}
},
"description": "Schedule-based autoscale request parameters"
},
"Autoscale": {
"properties": {
"capacity": {
"$ref": "#/definitions/AutoscaleCapacity",
"description": "Parameters for load-based autoscale"
},
"recurrence": {
"$ref": "#/definitions/AutoscaleRecurrence",
"description": "Parameters for schedule-based autoscale"
}
},
"description": "The autoscale request parameters"
},
"HardwareProfile": {
"properties": {
"vmSize": {
Expand Down Expand Up @@ -710,6 +797,11 @@
"format": "int32",
"description": "The instance count of the cluster."
},
"autoscale": {
"$ref": "#/definitions/Autoscale",
"x-ms-client-name": "autoscaleConfiguration",
"description": "The autoscale configurations."
},
"hardwareProfile": {
"$ref": "#/definitions/HardwareProfile",
"description": "The hardware profile."
Expand Down
Loading

0 comments on commit 047450d

Please sign in to comment.