Deploying Azure CycleCloud into a subscription using an Azure Resource Manager template
Based on https://docs.microsoft.com/en-us/azure/cyclecloud/quickstart-install-cyclecloud and https://github.com/CycleCloudCommunity/cyclecloud_arm/
Currently the main differences are:
- allows to use an already existing vnet
- installs https://github.com/beameio/cyclecloud-htcondor project in the cyclecloud machine
development_install.ngs
-> automated script, will create the azure required resources and call the azure deploy using theazuredeploy.json
(seeAutomated deploy
section)azuredeploy.json
-> cyclecloud azure deploy definition file. Defines the cyclecloud infrastructure setup and contains reference to run theinstall.sh
in the cyclecloud vm (with the parameters) once available.install.sh
-> script that runs on the cyclecloud machine, calls thecyclecloud_install.py
and imports the htcondor template into the machine
development_install.ngs
-> azuredeploy.json
-> install.sh
-> cyclecloud_install.py
-> https://github.com/beameio/cyclecloud-htcondor fetch & import
-> start cluster
A script development_install.ngs
if provided and it creates the pre-requirements and calls the deploy with the defined parameters.
Some of the parameters are defaulted in the script itself and can be changed via command line parameters:
* region (default is "West Europe")
* resource_group_name (default is "htcondor-%Y%m%d%H%M")
* cluster_name (default is "htcondor-%Y%m%d%H%M")
* virtual_nerwork_name (default is "htcondor-vnet")
* virtual_nerwork_subnet_name (default is "default")
* virtual_network_subnet_address_prefix (default is "10.0.0.0/24")
Call as ./development_install.ngs --resource_group_name test123 --region "West Europe" ...
Others have to be defined in a azuredeploy.parameters.json
file with the content:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"tenantId": {
"value": ""
},
"applicationId": {
"value": ""
},
"applicationSecret": {
"value": ""
},
"SSH Public Key": {
"value": ""
},
"username": {
"value": ""
},
"password": {
"value": ""
},
"flockFrom": {
"value": "1.1.1.1, 2.2.2.2"
},
"poolPassword": {
"value": ""
}
}
}