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

Larger disk options and expose disk options in Portal UI #207

Merged
merged 7 commits into from
Jul 18, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,8 +264,8 @@ in conjunction with other parameters.
</td><td><a href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes">Maximum number supported disks for data node VM size</a></td></tr>

<tr><td>vmDataDiskSize</td><td>string</td>
<td>The disk size of each attached disk. Choose <code>Large</code> (1023Gb), <code>Medium</code> (512Gb) or <code>Small</code> (128Gb).
For Premium Storage, disk sizes equate to <a href="https://docs.microsoft.com/en-us/azure/storage/storage-premium-storage#premium-storage-disks-limits">P30, P20 and P10</a>
<td>The disk size of each attached disk. Choose <code>XXLarge</code> (4095Gb), <code>XLarge</code> (2048Gb), <code>Large</code> (1024Gb), <code>Medium</code> (512Gb) or <code>Small</code> (128Gb).
For Premium Storage, disk sizes equate to <a href="https://docs.microsoft.com/en-us/azure/storage/storage-premium-storage#premium-storage-disks-limits">P50, P40, P30, P20 and P10</a>
storage disk types, respectively.
</td>
</td><td><code>Large</code></td></tr>
Expand Down
2 changes: 1 addition & 1 deletion build/allowedValues.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
],
"numberOfDataNodes" : 50,
"numberOfClientNodes" : 20,
"diskSizes" : ["Small", "Medium", "Large"],
"diskSizes" : ["Small", "Medium", "Large", "XLarge", "XXLarge"],
"vmSizes": [
["Standard_A0", 1, "Standard", false],
["Standard_A1", 2, "Standard", false],
Expand Down
4 changes: 1 addition & 3 deletions build/tasks/patch-values.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ gulp.task("patch", function(cb) {
main.parameters.vmSizeDataNodes.allowedValues = vmSizes;
main.parameters.vmDataDiskCount.defaultValue = _(allowedValues.vmSizes).map((vm) => vm[1]).max();
main.parameters.vmDataDiskSize.allowedValues = diskSizes;
main.parameters.vmDataDiskSize.defaultValue = _.last(diskSizes);
main.parameters.vmDataDiskSize.defaultValue = "Large";
main.parameters.vmSizeMasterNodes.allowedValues = vmSizes;
main.parameters.vmSizeClientNodes.allowedValues = vmSizes;
main.parameters.vmSizeKibana.allowedValues = kibanaVmSizes;
Expand Down Expand Up @@ -126,8 +126,6 @@ gulp.task("patch", function(cb) {
userJobFunctionsControl.constraints.allowedValues = userJobTitles;
userJobFunctionsControl.defaultValue = userJobTitles[0].label;

ui.parameters.outputs.vmDataDiskCount = _(allowedValues.vmSizes).map((vm) => vm[1]).max();

jsonfile.writeFile(uiTemplate, ui, function (err) {
cb();
});
Expand Down
103 changes: 87 additions & 16 deletions src/createUiDefinition.json
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
{
"name": "virtualNetworkConfiguration",
"type": "Microsoft.Common.Section",
"label": "Virtual Network Configuration",
"label": "Virtual network configuration",
"elements": [
{
"name": "virtualNetwork",
Expand Down Expand Up @@ -230,14 +230,14 @@
{
"name": "dataNodes",
"type": "Microsoft.Common.Section",
"label": "Data Nodes",
"label": "Data nodes",
"elements": [
{
"name": "vmDataNodeCount",
"type": "Microsoft.Common.DropDown",
"label": "Number of data nodes (if not using dedicated master nodes, recommended >= 3 data nodes)",
"label": "Number of data nodes",
"defaultValue": "3",
"toolTip": "Specify the number of data nodes for this cluster. When not using dedicated master nodes, it is strongly recommended to have at least 3 data nodes in order to avoid split brain scenarios.",
"toolTip": "Specify the number of data nodes for this cluster. When not using dedicated master nodes, it is strongly recommended to have a minimum 3 data nodes in order to avoid split brain scenarios.",
"constraints": {
"allowedValues": [
{
Expand Down Expand Up @@ -327,7 +327,7 @@
"name": "vmSizeDataNodes",
"type": "Microsoft.Compute.SizeSelector",
"label": "Data node VM size",
"toolTip": "Choose VM SKU, Standard D1, D2, D3",
"toolTip": "Choose VM SKU size for data nodes",
"recommendedSizes": [
"Standard_DS1_v2",
"Standard_DS2_v2",
Expand Down Expand Up @@ -469,17 +469,88 @@
}
]
},
{
"name": "dataNodesDisks",
"type": "Microsoft.Common.Section",
"label": "Data node disks",
"elements": [
{
"name": "vmDataDiskCount",
"type": "Microsoft.Common.TextBox",
"label": "Number of managed disks per data node",
"defaultValue": "1",
"toolTip": "Number of disks to attach to each data node in RAID 0 setup. If the number of disks selected is more than can be attached to the selected data node VM size, the maximum number of disks that can be attached will be used. If 1 disk is selected, it is not RAIDed. If 0 disks are selected, the temporary disk will be used to store Elasticsearch data. IMPORTANT: The temporary disk is ephemeral in nature so be sure you know the trade-offs when choosing 0 disks.",
"constraints": {
"required": true,
"regex": "^\\d+$",
"validationMessage": "Value must be numeric and greater than or equal to 0"
}
},
{
"name": "vmDataDiskSize",
"type": "Microsoft.Common.DropDown",
"label": "Size of each managed disk",
"visible": "[greater(steps('nodesStep').dataNodesDisks.vmDataDiskCount, 0)]",
"defaultValue": "Large (1024Gb)",
"toolTip": "The size of each data disk to attach to each data node",
"constraints": {
"allowedValues": [
{
"label": "Small (128Gb)",
"value": "Small"
},
{
"label": "Medium (512Gb)",
"value": "Medium"
},
{
"label": "Large (1024Gb)",
"value": "Large"
},
{
"label": "Extra Large (2048Gb)",
"value": "XLarge"
},
{
"label": "Extra Extra Large (4095Gb)",
"value": "XXLarge"
}
]
}
},
{
"name": "storageAccountType",
"type": "Microsoft.Common.DropDown",
"label": "Type of managed disks",
"visible": "[greater(steps('nodesStep').dataNodesDisks.vmDataDiskCount, 0)]",
"defaultValue": "Default disks for Data node VM size",
"toolTip": "The storage type of managed disks. The default will be Premium disks for VMs that support Premium disks and Standard disks for those that do not.",
"constraints": {
"allowedValues": [
{
"label": "Standard disks",
"value": "Standard"
},
{
"label": "Default disks for Data node VM size",
"value": "Default"
}
]
}
}
]
},
{
"name": "masterNodes",
"type": "Microsoft.Common.Section",
"label": "Master Nodes",
"label": "Master nodes",
"visible": "[equals(steps('nodesStep').dataNodes.dataNodesAreMasterEligible, 'No')]",
"elements": [
{
"name": "vmSizeMasterNodes",
"type": "Microsoft.Compute.SizeSelector",
"label": "Master node VM size",
"toolTip": "Choose VM SKU, Standard D1, D2, D3",
"toolTip": "Choose VM SKU size for master nodes",
"recommendedSizes": [
"Standard_D1",
"Standard_D2",
Expand Down Expand Up @@ -603,7 +674,7 @@
{
"name": "clientNodes",
"type": "Microsoft.Common.Section",
"label": "Client Nodes",
"label": "Client nodes",
"elements": [
{
"name": "vmClientNodeCount",
Expand Down Expand Up @@ -680,7 +751,7 @@
"name": "vmSizeClientNodes",
"type": "Microsoft.Compute.SizeSelector",
"label": "Client node VM size",
"toolTip": "Choose VM SKU, Standard D1, D2, D3",
"toolTip": "Choose VM SKU size for client (coordinating) nodes",
"visible": "[greater(steps('nodesStep').clientNodes.vmClientNodeCount, 0)]",
"recommendedSizes": [
"Standard_D1",
Expand Down Expand Up @@ -816,7 +887,7 @@
{
"name": "es_admin",
"type": "Microsoft.Common.Section",
"label": "Elastic User",
"label": "Elastic user account",
"elements": [
{
"name": "securityAdminPassword",
Expand All @@ -840,7 +911,7 @@
{
"name": "es_kibana",
"type": "Microsoft.Common.Section",
"label": "Kibana User",
"label": "Kibana user account",
"elements": [
{
"name": "securityKibanaPassword",
Expand All @@ -864,7 +935,7 @@
{
"name": "es_logstash",
"type": "Microsoft.Common.Section",
"label": "Logstash System User",
"label": "Logstash system user account",
"elements": [
{
"name": "securityLogstashPassword",
Expand All @@ -888,7 +959,7 @@
{
"name": "es_read",
"type": "Microsoft.Common.Section",
"label": "es_read (read only) User",
"label": "es_read (read only) user account",
"elements": [
{
"name": "securityReadPassword",
Expand Down Expand Up @@ -1266,10 +1337,10 @@
"kibanaAdditionalYaml": "",
"jumpbox": "[steps('externalAccessStep').jumpbox]",
"vmSizeDataNodes": "[steps('nodesStep').dataNodes.vmSizeDataNodes]",
"vmDataDiskCount": 64,
"vmDataDiskSize": "Large",
"vmDataDiskCount": "[steps('nodesStep').dataNodesDisks.vmDataDiskCount]",
"vmDataDiskSize": "[steps('nodesStep').dataNodesDisks.vmDataDiskSize]",
"vmDataNodeCount": "[steps('nodesStep').dataNodes.vmDataNodeCount]",
"storageAccountType": "Default",
"storageAccountType": "[steps('nodesStep').dataNodesDisks.storageAccountType]",
"dataNodesAreMasterEligible": "[steps('nodesStep').dataNodes.dataNodesAreMasterEligible]",
"vmHostNamePrefix": "[steps('nodesStep').vmHostNamePrefix]",
"vmSizeMasterNodes": "[steps('nodesStep').masterNodes.vmSizeMasterNodes]",
Expand Down
10 changes: 7 additions & 3 deletions src/mainTemplate.json
Original file line number Diff line number Diff line change
Expand Up @@ -497,10 +497,12 @@
"allowedValues": [
"Small",
"Medium",
"Large"
"Large",
"XLarge",
"XXLarge"
],
"metadata": {
"description": "The disk size of each attached disk, Small (128Gb), Medium (512Gb) or Large (1024Gb). For Premium Storage, this equates to P10, P20 and P30, respectively."
"description": "The disk size of each attached disk, Small (128Gb), Medium (512Gb), Large (1024Gb), XLarge (2048Gb) and XXLarge (4095Gb). For Premium Storage, this equates to P10, P20, P30, P40 and P50, respectively."
}
},
"vmDataNodeCount": {
Expand Down Expand Up @@ -1528,7 +1530,9 @@
}
},
"dataDiskSizes": {
"Large": 1023,
"XXLarge": 4095,
"XLarge": 2048,
"Large": 1024,
"Medium": 512,
"Small": 128
},
Expand Down