Skip to content

Commit b2bd59f

Browse files
bczomaPhilippeKhalife
authored andcommitted
Rebranding updates and fixes (#21)
* readme and image updates, added scaling tiers, enabled small size for monitor, enabled docker image fetch from server, improved logs * Increase image load retries to 5 * Move to dynamic IPs and non static Router names * Support optional workspace and fix dynamic syslog port * documentation updates from review * link updates * removal of old references * cropped images
1 parent 25dc8c4 commit b2bd59f

13 files changed

+600
-498
lines changed

README.md

Lines changed: 59 additions & 49 deletions
Large diffs are not rendered by default.

azuredeploy.json

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,23 @@
2222
},
2323
"securityGroupName": {
2424
"type": "string",
25-
"defaultValue": "vmr-security",
25+
"defaultValue": "solace-security",
2626
"metadata": {
27-
"description": "Security group defined to support VMR system level and default message vpn ports."
27+
"description": "Security group defined to support PubSub+ message broker system level and default message vpn ports."
2828
}
2929
},
3030
"workspaceName": {
3131
"type": "string",
32+
"defaultValue": "",
3233
"metadata": {
33-
"description": "Unique OMS Workspace Name for Log Analytics."
34+
"description": "Unique OMS Workspace Name for Log Analytics. Leave this field empty to not deploy an OMS Workspace."
3435
}
3536
},
3637
"workspaceRegion": {
3738
"type": "string",
3839
"defaultValue": "East US",
3940
"metadata": {
40-
"description": "OMS Workspace Region for Log Analytics."
41+
"description": "OMS Workspace Region for Log Analytics. Not used if Workspace Name is empty."
4142
},
4243
"allowedValues": [
4344
"East US",
@@ -59,7 +60,7 @@
5960
"dnsLabelForVmIp": {
6061
"type": "string",
6162
"metadata": {
62-
"description": "Unique DNS Label for the Public IP used to access the Virtual Machine(s)."
63+
"description": "Unique DNS Label for the Public IP used to access the Virtual Machine(s). Do not use '-'"
6364
}
6465
},
6566
"centosVersion": {
@@ -89,11 +90,13 @@
8990
},
9091
"monitorVmSize": {
9192
"type": "string",
92-
"defaultValue": "Standard_D2_v2",
93+
"defaultValue": "Standard_D1_v2",
9394
"metadata": {
94-
"description": "The size of the Solace Monitor Node VM. Requires at least 2 cores and 4GB of memory. Allowed values: D2_v2, DS2_v2, D2_v3, D2s_v3"
95+
"description": "The size of the Solace Monitor Node VM. Requires at least 1 core and 1GB of memory. Allowed values: D1_v2, DS1_v2, D2_v2, DS2_v2, D2_v3, D2s_v3"
9596
},
9697
"allowedValues": [
98+
"Standard_D1_v2",
99+
"Standard_DS1_v2",
97100
"Standard_D2_v2",
98101
"Standard_DS2_v2",
99102
"Standard_D2_v3",
@@ -114,10 +117,10 @@
114117
"160"
115118
]
116119
},
117-
"solaceVmrUri": {
120+
"solaceDockerImageUri": {
118121
"type": "string",
119122
"metadata": {
120-
"description": "The URI location of the Solace VMR Docker container tarball"
123+
"description": "The URI location of the PubSub+ message broker Docker container tarball"
121124
}
122125
},
123126
"deploymentModel": {
@@ -140,24 +143,25 @@
140143
"OSDiskName": "osdiskfordockersimple",
141144
"dataDiskName": "datadiskfordockersimple",
142145
"nicName": "myVMNicD",
143-
"scriptUrl": "https://raw.githubusercontent.com/SolaceProducts/solace-azure-quickstart-template/master/",
146+
"baseUrl": "https://raw.githubusercontent.com/SolaceProducts/solace-azure-quickstart-template/master/",
147+
"nestedUrl": "[concat(variables('baseUrl'), 'nested/')]",
148+
"scriptsUrl": "[concat(variables('baseUrl'), 'scripts/')]",
144149
"solaceSecurityName": "SolaceSecurity.Template",
145150
"securitySharedTemplateName": "security-shared-resources.json",
146151
"solaceLoadBalancerName": "SolaceLoadBalancer.Template",
147152
"loadBalancerSharedTemplateName": "loadbalancer-shared-resources.json",
148153
"solaceWorkspaceName": "SolaceWorkspace.Template",
149-
"workspaceSharedTemplateName": "workspace-shared-resources.json",
150-
"solaceInstallScriptName": "deploy_vmr.sh",
154+
"workspaceEnabledSharedTemplateName": "workspace-enabled-shared-resources.json",
155+
"workspaceDisabledSharedTemplateName": "workspace-disabled-shared-resources.json",
156+
"solaceInstallScriptName": "deploy_solace.sh",
151157
"sempQueryScriptName": "semp_query.sh",
152158
"publicIPAddressName": "myPublicIPD",
153159
"publicIPAddressNameLB": "myLBPublicIPD",
154160
"publicIPAddressType": "Dynamic",
155161
"vmStorageAccountVHDsName": "vhds",
156162
"vmStorageAccountContainersName": "containers",
157-
"vmName": "SolaceVMR",
158163
"addressPrefix": "10.0.0.0/16",
159164
"subnetPrefix": "10.0.0.0/24",
160-
"nodeAddressPrefix": "10.0.0.10",
161165
"storageAccountType": "Standard_LRS",
162166
"subnetName": "Subnet",
163167
"virtualNetworkName": "MyVNETD",
@@ -169,13 +173,12 @@
169173
"monitorNodeIndex": 2,
170174
"lbName" : "myLB",
171175
"lbID": "[resourceId('Microsoft.Network/loadBalancers',variables('lbName'))]",
172-
"lbPoolName": "vmr-ha-group",
176+
"lbPoolName": "solace-ha-group",
173177
"lbPoolID": "[concat(variables('lbID'),'/backendAddressPools/',variables('lbPoolName'))]",
174-
"dataDiskVolume" : "/dev/sdc",
175178
"dataDisksChoices": {
176179
"0": [
177180
{
178-
"name": "[concat(variables('vmName'), 0, '-datadisk1')]",
181+
"name": "[concat(parameters('dnsLabelForVmIp'), 0, '-datadisk1')]",
179182
"diskSizeGB": "[parameters('dataDiskSize')]",
180183
"lun": 0,
181184
"vhd": {
@@ -187,7 +190,7 @@
187190
],
188191
"1": [
189192
{
190-
"name": "[concat(variables('vmName'), 1, '-datadisk1')]",
193+
"name": "[concat(parameters('dnsLabelForVmIp'), 1, '-datadisk1')]",
191194
"diskSizeGB": "[parameters('dataDiskSize')]",
192195
"lun": 0,
193196
"vhd": {
@@ -210,7 +213,7 @@
210213
"properties": {
211214
"mode": "Incremental",
212215
"templateLink": {
213-
"uri": "[concat(variables('scriptUrl'), variables('securitySharedTemplateName'))]",
216+
"uri": "[concat(variables('nestedUrl'), variables('securitySharedTemplateName'))]",
214217
"contentVersion": "1.0.0.0"
215218
},
216219
"parameters": {
@@ -230,7 +233,7 @@
230233
"properties": {
231234
"mode": "Incremental",
232235
"templateLink": {
233-
"uri": "[concat(variables('scriptUrl'), variables('loadBalancerSharedTemplateName'))]",
236+
"uri": "[concat(variables('nestedUrl'), variables('loadBalancerSharedTemplateName'))]",
234237
"contentVersion": "1.0.0.0"
235238
},
236239
"parameters": {
@@ -259,7 +262,7 @@
259262
"properties": {
260263
"mode": "Incremental",
261264
"templateLink": {
262-
"uri": "[concat(variables('scriptUrl'), variables('workspaceSharedTemplateName'))]",
265+
"uri": "[if(empty(parameters('workspaceName')), concat(variables('nestedUrl'), variables('workspaceDisabledSharedTemplateName')), concat(variables('nestedUrl'), variables('workspaceEnabledSharedTemplateName')))]",
263266
"contentVersion": "1.0.0.0"
264267
},
265268
"parameters": {
@@ -337,8 +340,7 @@
337340
{
338341
"name": "ipconfig1",
339342
"properties": {
340-
"privateIPAllocationMethod": "Static",
341-
"privateIPAddress": "[concat(variables('nodeAddressPrefix'), copyindex())]",
343+
"privateIPAllocationMethod": "Dynamic",
342344
"publicIPAddress": {
343345
"id": "[resourceId('Microsoft.Network/publicIPAddresses', concat(variables('publicIPAddressName'), copyindex()))]"
344346
},
@@ -379,7 +381,7 @@
379381
{
380382
"apiVersion": "2015-06-15",
381383
"type": "Microsoft.Compute/virtualMachines",
382-
"name": "[concat(variables('vmName'), copyindex())]",
384+
"name": "[concat(parameters('dnsLabelForVmIp'), copyindex())]",
383385
"location": "[resourceGroup().location]",
384386
"copy": {
385387
"name": "virtualMachineLoop",
@@ -398,7 +400,7 @@
398400
"vmSize": "[if(equals(copyindex(), variables('monitorNodeIndex')), parameters('monitorVmSize'), parameters('messageRoutingVmSize'))]"
399401
},
400402
"osProfile": {
401-
"computerName": "[concat(variables('vmName'), copyindex())]",
403+
"computerName": "[concat(parameters('dnsLabelForVmIp'), copyindex())]",
402404
"adminUsername": "[parameters('adminUsername')]",
403405
"adminPassword": "[parameters('adminPassword')]"
404406
},
@@ -410,7 +412,7 @@
410412
"version": "latest"
411413
},
412414
"osDisk": {
413-
"name": "[concat(variables('vmName'), copyindex(), '-osdisk1')]",
415+
"name": "[concat(parameters('dnsLabelForVmIp'), copyindex(), '-osdisk1')]",
414416
"vhd": {
415417
"uri": "[concat('http://',parameters('storageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountVHDsName'),'/',variables('OSDiskName'),copyindex(),'.vhd')]"
416418
},
@@ -431,14 +433,14 @@
431433
{
432434
"apiVersion": "2016-03-30",
433435
"type": "Microsoft.Compute/virtualMachines/extensions",
434-
"name": "[concat(variables('vmName'), copyindex(), '/DockerExtension')]",
436+
"name": "[concat(parameters('dnsLabelForVmIp'), copyindex(), '/DockerExtension')]",
435437
"location": "[resourceGroup().location]",
436438
"copy": {
437439
"name": "DockerLoop",
438440
"count": "[variables('numberOfInstances')]"
439441
},
440442
"dependsOn": [
441-
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'), copyindex())]"
443+
"[concat('Microsoft.Compute/virtualMachines/', parameters('dnsLabelForVmIp'), copyindex())]"
442444
],
443445
"properties": {
444446
"publisher": "Microsoft.Azure.Extensions",
@@ -449,16 +451,17 @@
449451
}
450452
},
451453
{
454+
"condition": "[not(empty(parameters('workspaceName')))]",
452455
"apiVersion": "2015-06-15",
453456
"type": "Microsoft.Compute/virtualMachines/extensions",
454-
"name": "[concat(variables('vmName'), copyindex(), '/OmsAgentExtension')]",
457+
"name": "[concat(parameters('dnsLabelForVmIp'), copyindex(), '/OmsAgentExtension')]",
455458
"location": "[resourceGroup().location]",
456459
"copy": {
457460
"name": "OmsAgentLoop",
458461
"count": "[variables('numberOfInstances')]"
459462
},
460463
"dependsOn": [
461-
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'), copyindex(), '/extensions/DockerExtension')]",
464+
"[concat('Microsoft.Compute/virtualMachines/', parameters('dnsLabelForVmIp'), copyindex(), '/extensions/DockerExtension')]",
462465
"[concat('Microsoft.Resources/deployments/', variables('solaceWorkspaceName'))]"
463466
],
464467
"properties": {
@@ -476,14 +479,14 @@
476479
{
477480
"apiVersion": "2016-03-30",
478481
"type": "Microsoft.Compute/virtualMachines/extensions",
479-
"name": "[concat(variables('vmName'), copyindex(), '/configureVMRContainer')]",
482+
"name": "[concat(parameters('dnsLabelForVmIp'), copyindex(), '/configureSolaceContainer')]",
480483
"location": "[resourceGroup().location]",
481484
"copy": {
482485
"name": "SolaceLoop",
483486
"count": "[variables('numberOfInstances')]"
484487
},
485488
"dependsOn": [
486-
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'), copyindex(), '/extensions/DockerExtension')]"
489+
"[if(empty(parameters('workspaceName')), concat('Microsoft.Compute/virtualMachines/', parameters('dnsLabelForVmIp'), copyindex(), '/extensions/DockerExtension'), concat('Microsoft.Compute/virtualMachines/', parameters('dnsLabelForVmIp'), copyindex(), '/extensions/OmsAgentExtension'))]"
487490
],
488491
"properties": {
489492
"publisher": "Microsoft.Azure.Extensions",
@@ -492,15 +495,15 @@
492495
"autoUpgradeMinorVersion": true,
493496
"settings": {
494497
"fileUris": [
495-
"[parameters('solaceVmrUri')]",
496-
"[concat(variables('scriptUrl'), 'scripts/', variables('solaceInstallScriptName'))]",
497-
"[concat(variables('scriptUrl'), 'scripts/', variables('sempQueryScriptName'))]"
498+
"[parameters('solaceDockerImageUri')]",
499+
"[concat(variables('scriptsUrl'), variables('solaceInstallScriptName'))]",
500+
"[concat(variables('scriptsUrl'), variables('sempQueryScriptName'))]"
498501
]
499502
},
500503
"protectedSettings": {
501-
"commandToExecute": "[concat('mkdir -p -m 600 ', variables('adminPasswordDir'), '; echo ', parameters('adminPassword'), ' > ', variables('adminPasswordFile'), '; bash ', variables('solaceInstallScriptName'), ' -c ', copyindex(), ' -i ', variables('nodeAddressPrefix'), ' -n ', variables('numberOfInstances'), ' -p ', variables('adminPasswordFile'), ' -s ', if(equals(copyindex(), variables('monitorNodeIndex')), '0', parameters('dataDiskSize')), if(equals(copyindex(), variables('monitorNodeIndex')), '', concat(' -v ', variables('dataDiskVolume'))), ' -u ', parameters('solaceVmrUri'))]"
502-
}
504+
"commandToExecute": "[concat('mkdir -p -m 600 ', variables('adminPasswordDir'), '; echo ', parameters('adminPassword'), ' > ', variables('adminPasswordFile'), '; bash ', variables('solaceInstallScriptName'), ' -c ', copyindex(), ' -d ', parameters('dnsLabelForVmIp'), ' -n ', variables('numberOfInstances'), ' -p ', variables('adminPasswordFile'), ' -s ', if(equals(copyindex(), variables('monitorNodeIndex')), '0', parameters('dataDiskSize')), if(empty(parameters('workspaceName')), '', concat(' -w ', reference(variables('solaceWorkspaceName')).outputs.workspaceId.value)), ' -u ', parameters('solaceDockerImageUri'))]"
505+
}
503506
}
504507
}
505508
]
506-
}
509+
}

images/ha-cluster.png

-17 KB
Loading

images/register.png

-1.72 KB
Binary file not shown.

images/single-node.png

38.9 KB
Loading

images/single-vmr.png

-69.2 KB
Binary file not shown.

metadata.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"itemDisplayName": "Deploy Solace Message Router(s) onto Azure Linux VM(s)",
3-
"description": "This template allows you to deploy either a standalone Solace Message Router or a three node High Availability cluster of Solace Message Routers onto Azure Linux VM(s).",
4-
"summary": "This template deploys either a standalone Solace Message Router or a three node High Availability cluster of Solace Message Routers onto Azure Linux VM(s).",
5-
"githubUsername": "KenBarr",
6-
"dateUpdated": "2018-01-31"
2+
"itemDisplayName": "Deploy Solace PubSub+ message broker(s) onto Azure Linux VM(s)",
3+
"description": "This template allows you to deploy either a standalone Solace PubSub+ message broker or a three node High Availability cluster of Solace PubSub+ message brokers onto Azure Linux VM(s).",
4+
"summary": "This template deploys either a standalone Solace PubSub+ message broker or a three node High Availability cluster of Solace PubSub+ message brokers onto Azure Linux VM(s).",
5+
"githubUsername": "SolaceDev",
6+
"dateUpdated": "2018-05-31"
77
}

loadbalancer-shared-resources.json renamed to nested/loadbalancer-shared-resources.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
},
3232
"lbPoolName": {
3333
"type": "string",
34-
"defaultValue": "vmr-ha-group",
34+
"defaultValue": "solace-ha-group",
3535
"metadata": {
3636
"description": "Load Balancer Backend Address Pool Name."
3737
}
@@ -42,7 +42,7 @@
4242
"frontEndIPConfigName": "LoadBalancerFrontEnd",
4343
"frontEndIPConfigID": "[concat(variables('lbID'),'/frontendIPConfigurations/',variables('frontEndIPConfigName'))]",
4444
"lbPoolID": "[concat(variables('lbID'),'/backendAddressPools/',parameters('lbPoolName'))]",
45-
"lbProbeName": "vmr-ha-ad-health-check",
45+
"lbProbeName": "solace-ha-ad-health-check",
4646
"lbProbeID": "[concat(variables('lbID'),'/probes/',variables('lbProbeName'))]"
4747
},
4848
"resources": [

security-shared-resources.json renamed to nested/security-shared-resources.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
"parameters": {
55
"securityGroupName": {
66
"type": "string",
7-
"defaultValue": "vmr-security",
7+
"defaultValue": "solace-security",
88
"metadata": {
9-
"description": "Security group defined to support VMR system level and default message vpn ports."
9+
"description": "Security group defined to support PubSub+ message broker system level and default message vpn ports."
1010
}
1111
},
1212
"subnetPrefix": {
1313
"type": "string",
1414
"defaultValue": "10.0.0.0/24",
1515
"metadata": {
16-
"description": "Subnet for VMRs."
16+
"description": "Subnet for PubSub+ message brokers."
1717
}
1818
}
1919
},
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
3+
"contentVersion": "1.0.0.0",
4+
"parameters": {
5+
"workspaceName": {
6+
"type": "string",
7+
"defaultValue": ""
8+
},
9+
"workspaceRegion": {
10+
"type": "string",
11+
"defaultValue": ""
12+
}
13+
},
14+
"variables": {
15+
},
16+
"outputs": {
17+
"workspaceId": {
18+
"type": "string",
19+
"value": ""
20+
},
21+
"workspaceKey": {
22+
"type": "string",
23+
"value": ""
24+
}
25+
},
26+
"resources": [
27+
]
28+
}

0 commit comments

Comments
 (0)