5.Job.Scheduler/CCWS/deploy.ps1 (45 lines of code) (raw):

#################################################################################################################### # CycleCloud Workspace for Slurm (CCWS) (https://learn.microsoft.com/azure/cyclecloud/how-to/ccws/deploy-with-cli) # #################################################################################################################### az account show git clone --depth 1 --branch release https://github.com/Azure/cyclecloud-slurm-workspace.git $regionName = "SouthCentralUS" $deploymentName = "CycleCloud.Workspace.Slurm" $templateFile = "../../cyclecloud-slurm-workspace/bicep/mainTemplate.bicep" $parameterFile = "parameters.json" az deployment sub create --name $deploymentName --location $regionName --template-file $templateFile --parameters $parameterFile # shell.azure.com cd cyclecloud-slurm-workspace resourceGroupName="ArtistAnywhere.Cluster.JobScheduler.CCWS" ./util/delete_roles.sh --resource-group $resourceGroupName --delete-resource-group ############################################################################################################################## # CycleCloud Portal Bastion Tunnel (https://learn.microsoft.com/azure/cyclecloud/how-to/ccws/connect-to-portal-with-bastion) # ############################################################################################################################## $cycleCloud = @{ machineName = "ccw-cyclecloud-vm" resourceGroupName = "ArtistAnywhere.Cluster.JobScheduler.CCWS" resourcePort = 443 tunnelPort = 8443 } $bastionHost = @{ name = "Bastion-Studio" resourceGroupName = "ArtistAnywhere.Network.SouthCentralUS" } $ccMachine = az vm show --resource-group $cycleCloud.resourceGroupName --name $cycleCloud.machineName --query id --output tsv az network bastion tunnel --resource-group $bastionHost.resourceGroupName --name $bastionHost.name --target-resource-id $ccMachine --resource-port $cycleCloud.resourcePort --port $cycleCloud.tunnelPort ######################################################################################################################## # Login Node Bastion SSH (https://learn.microsoft.com/azure/cyclecloud/how-to/ccws/connect-to-login-node-with-bastion) # ######################################################################################################################## $loginNode = @{ resourceGroupName = "ArtistAnywhere.Cluster.JobScheduler.CCWS" authType = "ssh-key" userName = "xadmin" sshKeyFile = "~/.ssh/id_rsa" } $bastionHost = @{ name = "Bastion-Studio" resourceGroupName = "ArtistAnywhere.Network.SouthCentralUS" } $loginVMSSName = az vmss list --resource-group $loginNode.resourceGroupName --query [0].name --output tsv $loginInstance = az vmss list-instances --resource-group $loginNode.resourceGroupName --name $loginVMSSName --query [0].id --output tsv az network bastion ssh --resource-group $bastionHost.resourceGroupName --name $bastionHost.name --target-resource-id $loginInstance --auth-type $loginNode.authType --username $loginNode.userName --ssh-key $loginNode.sshKeyFile