# Deploy Cycloid worker on Microsoft Azure with Resource Manager Template
The Azure Resource Manager template is located under our stack-external-worker (opens new window) git repository.
The template will create an Azure Virtual Machine Scale Set of Cycloid workers. The default values are already pre-filled to deploy and connect workers on our public SaaS, then you will be able to modify them according to your needs.
Follow these steps to deploy the Azure Resource Manager template:
- Connect on http://console.cycloid.io (opens new window).
- Click on your top right profile picture, and select
Organization settings
- Go into the
Workers
tab and selectMicrosoft Azure
. - Follow the different steps and hit the
Deploy to Azure
button. - Configure the Custom deployment to match your needs
- Click on the
Purchase
button to create the stack.
After the Custom template deployment, go to the Workers
tab in the Cycloid dashboard. It will display all your connected workers and their status:
# Troubleshooting
# Common template errors
If your deployment from a Microsoft Template failed, please check the Status message
from Operation details
InvalidTemplate
Example:
{
"status": "Failed",
"error": {
"code": "InvalidTemplate",
"message": "Unable to process template language expressions for resource '/subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/cycloid-demo/providers/Microsoft.Compute/virtualMachineScaleSets/cycloid-demo-cycloid-ci-workers-prod' at line '496' and column '9'. 'Unable to evaluate template language function 'resourceId': function requires exactly one multi-segmented argument which must be resource type including resource provider namespace. Current function arguments 'Microsoft.Network/virtualNetworks/subnets,/subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/cycloid-demo/providers/Microsoft.Network/virtualNetworks/cycloid-virtual-network,/subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/cycloid-demo/providers/Microsoft.Network/virtualNetworks/cycloid-virtual-network/subnets/cycloid-subnet'. Please see https://aka.ms/arm-template-expressions/#resourceid for usage details.'",
"additionalInfo": [
{
"type": "TemplateViolation",
"info": {
"lineNumber": 496,
"linePosition": 9,
"path": ""
}
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Reason: The given virtualNetworkName
or subnetName
use an invalid format.
The expected format is the name of the resources. The most common mistake from user is to specify the ID URL instead of only the name.
Solution: Provide only the resource name as a simple string.
Wrong : /subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/cycloid-subnet
Good: cycloid-subnet
InvalidResourceReference
Example:
{
"status": "Failed",
"error": {
"code": "InvalidResourceReference",
"message": "Resource /subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/.../providers/Microsoft.Network/virtualNetworks/MY-WRONG-NETWORK referenced by resource /subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/.../providers/Microsoft.Compute/virtualMachineScaleSets/cycloid-demo-cycloid-ci-workers-prod was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.",
"details": [
{
"code": "NotFound",
"message": "Resource /subscriptions/abcde1234-1234-1a23-2b3b-1a21234567ab/resourceGroups/.../providers/Microsoft.Network/virtualNetworks/MY-WRONG-NETWORK not found."
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
Reason: A Resource mentioned is not found on Azure. In this example, the virtualNetworks
name provided "MY-WRONG-NETWORK" doesn't exist on Azure cloud.
Solution: make sure the resource name provided is correctly spelled.
If your worker still not running correctly, you can follow the Troubleshooting section.