зеркало из https://github.com/Azure/Avere.git
Azure rendering solution deployment framework
This commit is contained in:
Родитель
04a06f7922
Коммит
3a45220e9e
|
@ -1 +1 @@
|
|||
*.blend filter=lfs diff=lfs merge=lfs -text
|
||||
*.blend filter=lfs diff=lfs merge=lfs -text
|
||||
|
|
|
@ -106,4 +106,4 @@ jobs:
|
|||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: `Terraform Apply (${{env.solutionModule}})\n\n${{steps.apply.outputs.stdout}}`
|
||||
})
|
||||
})
|
||||
|
|
|
@ -109,4 +109,4 @@ jobs:
|
|||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: `Terraform Plan (${{env.solutionModule}})\n\n${{steps.plan.outputs.stdout}}`
|
||||
})
|
||||
})
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
|
||||
resource_group_name = "ArtistAnywhere" # Set to the same value as securityResourceGroupName in global variables.tf file
|
||||
storage_account_name = "azrender0" # Set to the same value as securityStorageAccountName in global variables.tf file
|
||||
container_name = "terraform" # Set to the same value as terraformStorageContainerName in global variables.tf file
|
||||
container_name = "terraform" # Set to the same value as terraformStorageContainerName in global variables.tf file
|
||||
|
|
|
@ -90,4 +90,4 @@ output "keyVaultKeyNameCacheEncryption" {
|
|||
|
||||
output "monitorWorkspaceName" {
|
||||
value = var.monitorWorkspaceName
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,4 +78,4 @@ monitorWorkspace = {
|
|||
name = "AzRender"
|
||||
sku = "PerGB2018"
|
||||
retentionDays = 90
|
||||
}
|
||||
}
|
||||
|
|
|
@ -236,4 +236,4 @@ output "keyVault" {
|
|||
|
||||
output "monitorWorkspace" {
|
||||
value = var.monitorWorkspace
|
||||
}
|
||||
}
|
||||
|
|
|
@ -183,4 +183,4 @@ expressRouteGateway = {
|
|||
authorizationKey = ""
|
||||
enableFastPath = false # https://learn.microsoft.com/azure/expressroute/about-fastpath
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -792,4 +792,4 @@ output "storageEndpointSubnets" {
|
|||
|
||||
output "privateDns" {
|
||||
value = var.privateDns
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,6 +127,7 @@ hammerspace = {
|
|||
sshPublicKey = "" # "ssh-rsa ..."
|
||||
disablePasswordAuth = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
}
|
||||
data = {
|
||||
machine = {
|
||||
|
@ -151,6 +152,7 @@ hammerspace = {
|
|||
sshPublicKey = "" # "ssh-rsa ..."
|
||||
disablePasswordAuth = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
}
|
||||
enableProximityPlacement = false
|
||||
enableMarketplaceAgreement = true
|
||||
|
@ -172,4 +174,4 @@ storageNetwork = {
|
|||
virtualNetworkName = ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,4 +10,4 @@ fi
|
|||
|
||||
# hscli interface-update --node-name hs1Dsx1.hs1.azure --interface-name ib0 --ip 172.16.0.21/16
|
||||
# hscli interface-update --node-name hs1Dsx2.hs1.azure --interface-name ib0 --ip 172.16.0.20/16
|
||||
# hscli volume-update --internal-id 18 --additional-ip-add 172.16.0.21,,rdma
|
||||
# hscli volume-update --internal-id 18 --additional-ip-add 172.16.0.21,,rdma
|
||||
|
|
|
@ -621,7 +621,7 @@ resource "azurerm_network_interface" "storage_primary" {
|
|||
subnet_id = data.azurerm_subnet.storage_primary.id
|
||||
private_ip_address_allocation = "Dynamic"
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
|
||||
resource "azurerm_network_interface" "storage_secondary" {
|
||||
|
@ -636,7 +636,7 @@ resource "azurerm_network_interface" "storage_secondary" {
|
|||
subnet_id = data.azurerm_subnet.storage_secondary.id
|
||||
private_ip_address_allocation = "Dynamic"
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
|
||||
resource "azurerm_managed_disk" "storage" {
|
||||
|
@ -929,4 +929,4 @@ output "resourceGroupNameNetApp" {
|
|||
|
||||
output "resourceGroupNameHammerspace" {
|
||||
value = var.hammerspace.namePrefix == "" ? "" : azurerm_resource_group.hammerspace[0].name
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,4 +105,4 @@ computeNetwork = {
|
|||
zoneName = ""
|
||||
enableAutoRegistration = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -462,4 +462,4 @@ output "cacheMountAddresses" {
|
|||
|
||||
output "cachePrivateDnsFqdn" {
|
||||
value = azurerm_private_dns_a_record.cache.fqdn
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ imageTemplates = [
|
|||
}
|
||||
},
|
||||
{
|
||||
name = "LnxFarm"
|
||||
name = "LnxFarm1"
|
||||
image = {
|
||||
definitionName = "Linux"
|
||||
customizeScript = "customize.sh"
|
||||
|
@ -85,13 +85,35 @@ imageTemplates = [
|
|||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT"
|
||||
# "Unity",
|
||||
# "Unreal"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "LnxArtist"
|
||||
name = "LnxFarm2"
|
||||
image = {
|
||||
definitionName = "Linux"
|
||||
customizeScript = "customize.sh"
|
||||
terminateScript = "onTerminate.sh"
|
||||
inputVersion = "Latest"
|
||||
}
|
||||
build = {
|
||||
machineType = "Farm"
|
||||
machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX
|
||||
osDiskSizeGB = 480
|
||||
timeoutMinutes = 240
|
||||
outputVersion = "1.1.0"
|
||||
renderManager = "Deadline" # RoyalRender or Deadline
|
||||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT",
|
||||
"Unity",
|
||||
"Unreal"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "LnxArtist1"
|
||||
image = {
|
||||
definitionName = "Linux"
|
||||
customizeScript = "customize.sh"
|
||||
|
@ -109,8 +131,30 @@ imageTemplates = [
|
|||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT"
|
||||
# "Unity",
|
||||
# "Unreal.PixelStream"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "LnxArtist2"
|
||||
image = {
|
||||
definitionName = "Linux"
|
||||
customizeScript = "customize.sh"
|
||||
terminateScript = "onTerminate.sh"
|
||||
inputVersion = "Latest"
|
||||
}
|
||||
build = {
|
||||
machineType = "Workstation"
|
||||
machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX
|
||||
osDiskSizeGB = 512
|
||||
timeoutMinutes = 240
|
||||
outputVersion = "2.1.0"
|
||||
renderManager = "Deadline" # RoyalRender or Deadline
|
||||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT",
|
||||
"Unity",
|
||||
"Unreal.PixelStream"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -134,7 +178,7 @@ imageTemplates = [
|
|||
}
|
||||
},
|
||||
{
|
||||
name = "WinFarm"
|
||||
name = "WinFarm1"
|
||||
image = {
|
||||
definitionName = "WinFarm"
|
||||
customizeScript = "customize.ps1"
|
||||
|
@ -152,13 +196,35 @@ imageTemplates = [
|
|||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT"
|
||||
# "Unity",
|
||||
# "Unreal"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "WinArtist"
|
||||
name = "WinFarm2"
|
||||
image = {
|
||||
definitionName = "WinFarm"
|
||||
customizeScript = "customize.ps1"
|
||||
terminateScript = "onTerminate.ps1"
|
||||
inputVersion = "Latest"
|
||||
}
|
||||
build = {
|
||||
machineType = "Farm"
|
||||
machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX
|
||||
osDiskSizeGB = 480
|
||||
timeoutMinutes = 420
|
||||
outputVersion = "1.1.0"
|
||||
renderManager = "Deadline" # RoyalRender or Deadline
|
||||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT",
|
||||
"Unity",
|
||||
"Unreal"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "WinArtist1"
|
||||
image = {
|
||||
definitionName = "WinArtist"
|
||||
customizeScript = "customize.ps1"
|
||||
|
@ -176,8 +242,30 @@ imageTemplates = [
|
|||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT"
|
||||
# "Unity",
|
||||
# "Unreal.PixelStream"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
name = "WinArtist2"
|
||||
image = {
|
||||
definitionName = "WinArtist"
|
||||
customizeScript = "customize.ps1"
|
||||
terminateScript = "onTerminate.ps1"
|
||||
inputVersion = "Latest"
|
||||
}
|
||||
build = {
|
||||
machineType = "Workstation"
|
||||
machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX
|
||||
osDiskSizeGB = 512
|
||||
timeoutMinutes = 420
|
||||
outputVersion = "2.1.0"
|
||||
renderManager = "Deadline" # RoyalRender or Deadline
|
||||
renderEngines = [
|
||||
"Blender",
|
||||
"PBRT",
|
||||
"Unity",
|
||||
"Unreal.PixelStream"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -190,4 +278,4 @@ imageTemplates = [
|
|||
computeNetwork = {
|
||||
name = ""
|
||||
resourceGroupName = ""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,24 +21,31 @@ Write-Host "Customize (Start): Git"
|
|||
$versionInfo = "2.38.1"
|
||||
$installFile = "Git-$versionInfo-64-bit.exe"
|
||||
$downloadUrl = "$storageContainerUrl/Git/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath $installFile -ArgumentList "/SILENT /NORESTART" -Wait
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "/silent /norestart" -Wait -RedirectStandardOutput "git.output.txt" -RedirectStandardError "git.error.txt"
|
||||
$binPathGit = "C:\Program Files\Git\bin"
|
||||
$binPaths += ";$binPathGit"
|
||||
Write-Host "Customize (End): Git"
|
||||
|
||||
Write-Host "Customize (Start): Visual Studio Build Tools"
|
||||
Write-Host "Customize (Start): CMake"
|
||||
$versionInfo = "3.25.0"
|
||||
$installFile = "cmake-$versionInfo-windows-x86_64.msi"
|
||||
$downloadUrl = "$storageContainerUrl/CMake/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i $installFile /quiet /norestart" -Wait -RedirectStandardOutput "cmake.output.txt" -RedirectStandardError "cmake.error.txt"
|
||||
$binPathCMake = "C:\Program Files\CMake\bin"
|
||||
$binPaths += ";$binPathCMake"
|
||||
Write-Host "Customize (End): CMake"
|
||||
|
||||
Write-Host "Customize (Start): MSBuild"
|
||||
$versionInfo = "2022"
|
||||
$installFile = "vs_buildtools.exe"
|
||||
$downloadUrl = "https://aka.ms/vs/17/release/$installFile"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
$componentIds = "--add Microsoft.VisualStudio.Component.Windows11SDK.22621"
|
||||
$componentIds += " --add Microsoft.VisualStudio.Component.VC.CMake.Project"
|
||||
Start-Process -FilePath $installFile -ArgumentList "--quiet --norestart $componentIds" -Wait
|
||||
$binPathCMake = "C:\Program Files (x86)\Microsoft Visual Studio\$versionInfo\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin"
|
||||
$installFile = "vs_BuildTools.exe"
|
||||
$downloadUrl = "$storageContainerUrl/VS/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "--add Microsoft.Component.MSBuild --quiet --norestart" -Wait -RedirectStandardOutput "msbuild.output.txt" -RedirectStandardError "msbuild.error.txt"
|
||||
$binPathMSBuild = "C:\Program Files (x86)\Microsoft Visual Studio\$versionInfo\BuildTools\MSBuild\Current\Bin"
|
||||
$binPaths += ";$binPathCMake;$binPathMSBuild"
|
||||
Write-Host "Customize (End): Visual Studio Build Tools"
|
||||
$binPaths += ";$binPathMSBuild"
|
||||
Write-Host "Customize (End): MSBuild"
|
||||
|
||||
Write-Host "Customize (Start): Image Build Parameters"
|
||||
$buildConfigBytes = [System.Convert]::FromBase64String($buildConfigEncoded)
|
||||
|
@ -57,8 +64,8 @@ if ($gpuPlatform -contains "GRID") {
|
|||
Write-Host "Customize (Start): NVIDIA GPU (GRID)"
|
||||
$installFile = "nvidia-gpu-grid.exe"
|
||||
$downloadUrl = "https://go.microsoft.com/fwlink/?linkid=874181"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath ./$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-grid.output.txt" -RedirectStandardError "nvidia-grid.error.txt"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-grid.output.txt" -RedirectStandardError "nvidia-grid.error.txt"
|
||||
Write-Host "Customize (End): NVIDIA GPU (GRID)"
|
||||
}
|
||||
|
||||
|
@ -67,8 +74,8 @@ if ($gpuPlatform -contains "CUDA" -or $gpuPlatform -contains "CUDA.OptiX") {
|
|||
$versionInfo = "11.8.0"
|
||||
$installFile = "cuda_${versionInfo}_522.06_windows.exe"
|
||||
$downloadUrl = "$storageContainerUrl/NVIDIA/CUDA/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath ./$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-cuda.output.txt" -RedirectStandardError "nvidia-cuda.error.txt"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-cuda.output.txt" -RedirectStandardError "nvidia-cuda.error.txt"
|
||||
[System.Environment]::SetEnvironmentVariable("CUDA_TOOLKIT_ROOT_DIR", "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8", [System.EnvironmentVariableTarget]::Machine)
|
||||
Write-Host "Customize (End): NVIDIA GPU (CUDA)"
|
||||
}
|
||||
|
@ -78,8 +85,8 @@ if ($gpuPlatform -contains "CUDA.OptiX") {
|
|||
$versionInfo = "7.6.0"
|
||||
$installFile = "NVIDIA-OptiX-SDK-$versionInfo-win64-31894579.exe"
|
||||
$downloadUrl = "$storageContainerUrl/NVIDIA/OptiX/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath ./$installFile -ArgumentList "/s /n" -Wait -RedirectStandardOutput "nvidia-optix.output.txt" -RedirectStandardError "nvidia-optix.error.txt"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "/s /n" -Wait -RedirectStandardOutput "nvidia-optix.output.txt" -RedirectStandardError "nvidia-optix.error.txt"
|
||||
$sdkDirectory = "C:\ProgramData\NVIDIA Corporation\OptiX SDK $versionInfo\SDK"
|
||||
$buildDirectory = "$sdkDirectory\build"
|
||||
New-Item -ItemType Directory $buildDirectory
|
||||
|
@ -93,7 +100,7 @@ if ($machineType -eq "Scheduler") {
|
|||
Write-Host "Customize (Start): Azure CLI"
|
||||
$installFile = "az-cli.msi"
|
||||
$downloadUrl = "https://aka.ms/installazurecliwindows"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i $installFile /quiet /norestart" -Wait
|
||||
Write-Host "Customize (End): Azure CLI"
|
||||
|
||||
|
@ -108,9 +115,7 @@ if ($machineType -eq "Scheduler") {
|
|||
}
|
||||
} else {
|
||||
Write-Host "Customize (Start): NFS Client"
|
||||
$installFile = "dism.exe"
|
||||
$featureName = "ClientForNFS-Infrastructure"
|
||||
Start-Process -FilePath $installFile -ArgumentList "/Enable-Feature /FeatureName:$featureName /Online /All /NoRestart" -Wait -Verb RunAs
|
||||
Start-Process -FilePath "dism.exe" -ArgumentList "/Enable-Feature /FeatureName:ClientForNFS-Infrastructure /Online /All /NoRestart" -Wait -RedirectStandardOutput "nfs-client.output.txt" -RedirectStandardError "nfs-client.error.txt"
|
||||
Write-Host "Customize (End): NFS Client"
|
||||
}
|
||||
|
||||
|
@ -135,7 +140,6 @@ $rendererPathBlender = "C:\Program Files\Blender Foundation\Blender3"
|
|||
$rendererPathPBRT3 = "C:\Program Files\PBRT\v3"
|
||||
$rendererPathPBRT4 = "C:\Program Files\PBRT\v4"
|
||||
$rendererPathUnreal = "C:\Program Files\Epic Games\Unreal5"
|
||||
$rendererPathUnrealStream = "$rendererPathUnreal\Stream"
|
||||
$rendererPathUnrealEditor = "$rendererPathUnreal\Engine\Binaries\Win64"
|
||||
|
||||
if ($renderEngines -contains "Blender") {
|
||||
|
@ -151,7 +155,7 @@ switch ($renderManager) {
|
|||
Write-Host "Customize (Start): Royal Render Download"
|
||||
$installFile = "RoyalRender__${schedulerVersion}__installer.zip"
|
||||
$downloadUrl = "$storageContainerUrl/RoyalRender/$schedulerVersion/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Expand-Archive -Path $installFile
|
||||
Write-Host "Customize (End): Royal Render Download"
|
||||
|
||||
|
@ -179,7 +183,7 @@ switch ($renderManager) {
|
|||
Write-Host "Customize (Start): Deadline Download"
|
||||
$installFile = "Deadline-$schedulerVersion-windows-installers.zip"
|
||||
$downloadUrl = "$storageContainerUrl/Deadline/$schedulerVersion/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Expand-Archive -Path $installFile
|
||||
Write-Host "Customize (End): Deadline Download"
|
||||
|
||||
|
@ -213,7 +217,7 @@ switch ($renderManager) {
|
|||
}
|
||||
Start-Process -FilePath $installFile -ArgumentList $installArgs -Wait
|
||||
Move-Item -Path $env:TMP\bitrock_installer.log -Destination .\bitrock_installer_client.log
|
||||
Start-Process -FilePath "$schedulerClientBinPath\deadlinecommand.exe" -ArgumentList "-ChangeRepositorySkipValidation Direct $schedulerRepositoryLocalMount $schedulerRepositoryCertificate ''" -Wait
|
||||
Start-Process -FilePath "$schedulerClientBinPath\deadlinecommand.exe" -ArgumentList "-ChangeRepositorySkipValidation Direct $schedulerRepositoryLocalMount $schedulerRepositoryCertificate ''" -Wait -RedirectStandardOutput "deadline-change-repository.output.txt" -RedirectStandardError "deadline-change-repository.error.txt"
|
||||
Set-Location -Path $binDirectory
|
||||
Write-Host "Customize (End): Deadline Client"
|
||||
|
||||
|
@ -233,8 +237,8 @@ if ($renderEngines -contains "Blender") {
|
|||
$versionInfo = "3.3.1"
|
||||
$installFile = "blender-$versionInfo-windows-x64.msi"
|
||||
$downloadUrl = "$storageContainerUrl/Blender/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList ('/i ' + $installFile + ' INSTALL_ROOT="' + $rendererPathBlender + '" /quiet /norestart') -Wait
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList ('/i ' + $installFile + ' INSTALL_ROOT="' + $rendererPathBlender + '" /quiet /norestart') -Wait -RedirectStandardOutput "blender.output.txt" -RedirectStandardError "blender.error.txt"
|
||||
Write-Host "Customize (End): Blender"
|
||||
}
|
||||
|
||||
|
@ -257,86 +261,105 @@ if ($renderEngines -contains "PBRT") {
|
|||
}
|
||||
|
||||
if ($renderEngines -contains "PBRT.Moana") {
|
||||
Write-Host "Customize (Start): PBRT (Moana Island)"
|
||||
Write-Host "Customize (Start): PBRT Data (Moana Island)"
|
||||
$dataDirectory = "moana"
|
||||
New-Item -ItemType Directory -Path $dataDirectory
|
||||
$installFile = "island-basepackage-v1.1.tgz"
|
||||
$downloadUrl = "$storageContainerUrl/PBRT/$dataDirectory/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
tar -xzf $installFile -C $dataDirectory
|
||||
$installFile = "island-pbrt-v1.1.tgz"
|
||||
$downloadUrl = "$storageContainerUrl/PBRT/$dataDirectory/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
tar -xzf $installFile -C $dataDirectory
|
||||
$installFile = "island-pbrtV4-v2.0.tgz"
|
||||
$downloadUrl = "$storageContainerUrl/PBRT/$dataDirectory/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
tar -xzf $installFile -C $dataDirectory
|
||||
Write-Host "Customize (End): PBRT (Moana Island)"
|
||||
Write-Host "Customize (End): PBRT Data (Moana Island)"
|
||||
}
|
||||
|
||||
if ($renderEngines -contains "Unity") {
|
||||
Write-Host "Customize (Start): Unity"
|
||||
$installFile = "UnityHubSetup.exe"
|
||||
$downloadUrl = "https://public-cdn.cloud.unity3d.com/hub/prod/$installFile"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath $installFile -ArgumentList "/S" -Wait
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "/S" -Wait -RedirectStandardOutput "unity-hub.output.txt" -RedirectStandardError "unity-hub.error.txt"
|
||||
Write-Host "Customize (End): Unity"
|
||||
}
|
||||
|
||||
if ($renderEngines -contains "Unreal" || $renderEngines -contains "Unreal.PixelStream") {
|
||||
Write-Host "Customize (Start): Unreal"
|
||||
# netsh advfirewall firewall add rule name="Allow Unreal Editor" dir=in action=allow program="$rendererPathUnrealEditor\UnrealEditor.exe"
|
||||
# $installFile = "dism.exe"
|
||||
# $featureName = "NetFX3"
|
||||
# Start-Process -FilePath $installFile -ArgumentList "/Enable-Feature /FeatureName:$featureName /Online /All /NoRestart" -Wait -Verb RunAs
|
||||
Write-Host "Customize (Start): Unreal Engine"
|
||||
Start-Process -FilePath "dism.exe" -ArgumentList "/Enable-Feature /FeatureName:NetFX3 /Online /All /NoRestart" -Wait -RedirectStandardOutput "net-fx3.output.txt" -RedirectStandardError "net-fx3.error.txt"
|
||||
Set-Location -Path C:\
|
||||
$versionInfo = "5.1.0"
|
||||
$installFile = "UnrealEngine-$versionInfo-release.zip"
|
||||
$downloadUrl = "$storageContainerUrl/Unreal/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Expand-Archive -Path $installFile
|
||||
|
||||
|
||||
New-Item -ItemType Directory -Path "$rendererPathUnreal"
|
||||
Move-Item -Path "Unreal*\Unreal*\*" -Destination "$rendererPathUnreal"
|
||||
Remove-Item -Path "Unreal*" -Exclude "*.zip" -Recurse
|
||||
Set-Location -Path $binDirectory
|
||||
$installFile = "$rendererPathUnreal\Setup.bat"
|
||||
$setupScript = Get-Content -Path $installFile
|
||||
$setupScript = $setupScript.Replace("/register", "/register /unattended")
|
||||
$setupScript = $setupScript.Replace("pause", "rem pause")
|
||||
Set-Content -Path $installFile -Value $setupScript
|
||||
Start-Process -FilePath "$installFile" -Wait
|
||||
$scriptFilePath = $installFile
|
||||
$scriptFileText = Get-Content -Path $scriptFilePath
|
||||
$scriptFileText = $scriptFileText.Replace("/register", "/register /unattended")
|
||||
$scriptFileText = $scriptFileText.Replace("pause", "rem pause")
|
||||
Set-Content -Path $scriptFilePath -Value $scriptFileText
|
||||
Start-Process -FilePath "$installFile" -Wait -RedirectStandardOutput "unreal-engine.output.txt" -RedirectStandardError "unreal-engine.error.txt"
|
||||
Write-Host "Customize (End): Unreal Engine"
|
||||
|
||||
if ($machineType -eq "Workstation") {
|
||||
Write-Host "Customize (Start): Visual Studio"
|
||||
$versionInfo = "2022"
|
||||
$installFile = "VisualStudioSetup.exe"
|
||||
$downloadUrl = "$storageContainerUrl/VS/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
# $componentIds = "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
|
||||
# $componentIds += " --add Microsoft.VisualStudio.Component.Windows11SDK.22621"
|
||||
# $componentIds += " --add Microsoft.VisualStudio.Component.VSSDK"
|
||||
# $componentIds += " --add Microsoft.NetCore.Component.SDK"
|
||||
# $componentIds += " --add Microsoft.Net.Component.4.8.SDK"
|
||||
# Start-Process -FilePath .\$installFile -ArgumentList "$componentIds --quiet --norestart" -Wait -RedirectStandardOutput "vs.output.txt" -RedirectStandardError "vs.error.txt"
|
||||
# [System.Environment]::SetEnvironmentVariable("MSBuildSDKsPath", "C:\Program Files\dotnet\sdk\7.0.100\Sdks", [System.EnvironmentVariableTarget]::Machine)
|
||||
# [System.Environment]::SetEnvironmentVariable("MSBuildEnableWorkloadResolver", "false", [System.EnvironmentVariableTarget]::Machine)
|
||||
# $binPathDotNet = "C:\Program Files\dotnet"
|
||||
Write-Host "Customize (End): Visual Studio"
|
||||
|
||||
Write-Host "Customize (Start): Unreal Project Files"
|
||||
& "$rendererPathUnreal\GenerateProjectFiles.bat"
|
||||
[System.Environment]::SetEnvironmentVariable("PATH", "$env:PATH;C:\Program Files\dotnet", [System.EnvironmentVariableTarget]::Machine)
|
||||
Start-Process -FilePath "$binPathMSBuild\MSBuild.exe" -ArgumentList "-restore -p:Platform=Win64 -p:Configuration=""Development Editor"" ""$rendererPathUnreal\UE5.sln""" -Wait
|
||||
$installFile = "$rendererPathUnreal\GenerateProjectFiles.bat"
|
||||
$scriptFilePath = $installFile
|
||||
$scriptFileText = Get-Content -Path $scriptFilePath
|
||||
$scriptFileText = $scriptFileText.Replace("pause", "rem pause")
|
||||
Set-Content -Path $scriptFilePath -Value $scriptFileText
|
||||
$scriptFilePath = "$rendererPathUnreal\Engine\Build\BatchFiles\GenerateProjectFiles.bat"
|
||||
$scriptFileText = Get-Content -Path $scriptFilePath
|
||||
$scriptFileText = $scriptFileText.Replace("pause", "rem pause")
|
||||
Set-Content -Path $scriptFilePath -Value $scriptFileText
|
||||
# Start-Process -FilePath "$installFile" -Wait -RedirectStandardOutput "unreal-files-generate.output.txt" -RedirectStandardError "unreal-files-generate.error.txt"
|
||||
# Start-Process -FilePath "$binPathMSBuild\MSBuild.exe" -ArgumentList """$rendererPathUnreal\UE5.sln"" -p:Configuration=""Development Editor"" -p:Platform=Win64 -restore" -Wait -RedirectStandardOutput "unreal-files-build.output.txt" -RedirectStandardError "unreal-files-build.error.txt"
|
||||
# Start-Process -FilePath "$binPathDotNet\dotnet.exe" -ArgumentList "build ""$rendererPathUnreal\UE5.sln"" -c ""Development Editor""" -Wait -RedirectStandardOutput "unreal-files-build.output.txt" -RedirectStandardError "unreal-files-build.error.txt"
|
||||
Write-Host "Customize (End): Unreal Project Files"
|
||||
Write-Host "Customize (Start): Unreal Editor Shortcut"
|
||||
$shortcutPath = "$env:AllUsersProfile\Desktop\Epic Unreal Editor.lnk"
|
||||
$scriptShell = New-Object -ComObject WScript.Shell
|
||||
$shortcut = $scriptShell.CreateShortcut($shortcutPath)
|
||||
$shortcut.WorkingDirectory = "$rendererPathUnrealEditor"
|
||||
$shortcut.TargetPath = "$rendererPathUnrealEditor\UnrealEditor.exe"
|
||||
$shortcut.Save()
|
||||
Write-Host "Customize (End): Unreal Editor Shortcut"
|
||||
|
||||
# Write-Host "Customize (Start): Unreal Editor"
|
||||
# netsh advfirewall firewall add rule name="Allow Unreal Editor" dir=in action=allow program="$rendererPathUnrealEditor\UnrealEditor.exe"
|
||||
# $shortcutPath = "$env:AllUsersProfile\Desktop\Unreal Editor.lnk"
|
||||
# $scriptShell = New-Object -ComObject WScript.Shell
|
||||
# $shortcut = $scriptShell.CreateShortcut($shortcutPath)
|
||||
# $shortcut.WorkingDirectory = "$rendererPathUnrealEditor"
|
||||
# $shortcut.TargetPath = "$rendererPathUnrealEditor\UnrealEditor.exe"
|
||||
# $shortcut.Save()
|
||||
# Write-Host "Customize (End): Unreal Editor"
|
||||
}
|
||||
Write-Host "Customize (End): Unreal"
|
||||
|
||||
# if ($renderEngines -contains "Unreal.PixelStream") {
|
||||
# Write-Host "Customize (Start): Unreal Pixel Streaming"
|
||||
# $installFile = "PixelStreamingInfrastructure-UE5.1.zip"
|
||||
# $downloadUrl = "$storageContainerUrl/Unreal/$installFile$storageContainerSas"
|
||||
# (New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
# Expand-Archive -Path $installFile
|
||||
# New-Item -ItemType Directory -Path "$rendererPathUnrealStream"
|
||||
# Move-Item -Path "PixelStreaming*\PixelStreaming*\*" -Destination "$rendererPathUnrealStream"
|
||||
# $installFile = "setup.bat"
|
||||
# Set-Location -Path "$rendererPathUnrealStream/SignallingWebServer/platform_scripts/cmd"
|
||||
# Start-Process -FilePath $installFile -Wait
|
||||
# $installFile = "setup.bat"
|
||||
# Set-Location -Path "$rendererPathUnrealStream/MatchMaker/platform_scripts/cmd"
|
||||
# Start-Process -FilePath $installFile -Wait
|
||||
# Set-Location -Path $binDirectory
|
||||
# Start-Process -FilePath "$binPathGit\git.exe" -ArgumentList "clone --recursive https://github.com/EpicGames/PixelStreamingInfrastructure" -Wait -RedirectStandardOutput "unreal-stream-git.output.txt" -RedirectStandardError "unreal-stream-git.error.txt"
|
||||
# $installFile = "PixelStreamingInfrastructure\SignallingWebServer\platform_scripts\cmd\setup.bat"
|
||||
# Start-Process -FilePath .\$installFile -Wait -RedirectStandardOutput "unreal-stream-signalling.output.txt" -RedirectStandardError "unreal-stream-signalling.error.txt"
|
||||
# $installFile = "PixelStreamingInfrastructure\Matchmaker\platform_scripts\cmd\setup.bat"
|
||||
# Start-Process -FilePath .\$installFile -Wait -RedirectStandardOutput "unreal-stream-matchmaker.output.txt" -RedirectStandardError "unreal-stream-matchmaker.error.txt"
|
||||
# Write-Host "Customize (End): Unreal Pixel Streaming"
|
||||
# }
|
||||
}
|
||||
|
@ -361,7 +384,7 @@ if ($machineType -eq "Workstation") {
|
|||
$versionInfo = "22.09.2"
|
||||
$installFile = "pcoip-agent-graphics_$versionInfo.exe"
|
||||
$downloadUrl = "$storageContainerUrl/Teradici/$versionInfo/$installFile$storageContainerSas"
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $pwd.Path + "\" + $installFile)
|
||||
Start-Process -FilePath $installFile -ArgumentList "/S /NoPostReboot /Force" -Wait
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile))
|
||||
Start-Process -FilePath .\$installFile -ArgumentList "/S /NoPostReboot /Force" -Wait -RedirectStandardOutput "pcopi-agent.output.txt" -RedirectStandardError "pcoip-agent.error.txt"
|
||||
Write-Host "Customize (End): Teradici PCoIP"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,22 +10,20 @@ storageContainerSas="?sv=2021-04-10&st=2022-01-01T08%3A00%3A00Z&se=2222-12-31T08
|
|||
echo "Customize (Start): Image Build Platform"
|
||||
yum -y install epel-release
|
||||
yum -y install gcc gcc-c++
|
||||
yum -y install python-pip
|
||||
yum -y install nfs-utils
|
||||
# yum -y install cmake
|
||||
# yum -y install unzip
|
||||
# yum -y install cmake
|
||||
yum -y install git
|
||||
yum -y install jq
|
||||
|
||||
versionInfo="3.25.0"
|
||||
installFile="cmake-$versionInfo-linux-x86_64.sh"
|
||||
downloadUrl="https://github.com/Kitware/CMake/releases/download/v$versionInfo/$installFile"
|
||||
installFile="cmake-$versionInfo-linux-x86_64.tar.gz"
|
||||
downloadUrl="$storageContainerUrl/CMake/$versionInfo/$installFile$storageContainerSas"
|
||||
curl -o $installFile -L $downloadUrl
|
||||
chmod +x $installFile
|
||||
tar -xzf $installFile
|
||||
installDirectory="cmake"
|
||||
mkdir $installDirectory
|
||||
./$installFile --skip-license --prefix="$binDirectory/$installDirectory" 1> "cmake.output.txt" 2> "cmake.error.txt"
|
||||
binPathCMake="$binDirectory/$installDirectory/bin"
|
||||
mv cmake-$versionInfo-linux-x86_64 $installDirectory
|
||||
binPathCMake="$(pwd)/$installDirectory/bin"
|
||||
binPaths="$binPaths:$binPathCMake"
|
||||
echo "Customize (End): Image Build Platform"
|
||||
|
||||
|
@ -115,7 +113,6 @@ if [ $machineType == "Scheduler" ]; then
|
|||
yum -y install cyclecloud8
|
||||
binPaths="$binPaths:$cycleCloudPath/bin"
|
||||
cd /opt/cycle_server
|
||||
pip install ./tools/cyclecloud_api*.whl
|
||||
unzip -q ./tools/cyclecloud-cli.zip
|
||||
./cyclecloud-cli-installer/install.sh --installdir $cycleCloudPath
|
||||
cd $binDirectory
|
||||
|
@ -170,7 +167,6 @@ rendererPathBlender="/usr/local/blender3"
|
|||
rendererPathPBRT3="/usr/local/pbrt/v3"
|
||||
rendererPathPBRT4="/usr/local/pbrt/v4"
|
||||
rendererPathUnreal="/usr/local/unreal5"
|
||||
rendererPathUnrealStream="$rendererPathUnreal/stream"
|
||||
|
||||
if [[ $renderEngines == *Blender* ]]; then
|
||||
binPaths="$binPaths:$rendererPathBlender"
|
||||
|
@ -291,7 +287,7 @@ if [[ $renderEngines == *PBRT* ]]; then
|
|||
fi
|
||||
|
||||
if [[ $renderEngines == *PBRT.Moana* ]]; then
|
||||
echo "Customize (Start): PBRT (Moana Island)"
|
||||
echo "Customize (Start): PBRT Data (Moana Island)"
|
||||
dataDirectory="moana"
|
||||
mkdir $dataDirectory
|
||||
installFile="island-basepackage-v1.1.tgz"
|
||||
|
@ -306,7 +302,7 @@ if [[ $renderEngines == *PBRT.Moana* ]]; then
|
|||
downloadUrl="$storageContainerUrl/PBRT/$dataDirectory/$installFile$storageContainerSas"
|
||||
curl -o $installFile -L $downloadUrl
|
||||
tar -xzf $installFile -C $dataDirectory
|
||||
echo "Customize (End): PBRT (Moana Island)"
|
||||
echo "Customize (End): PBRT Data (Moana Island)"
|
||||
fi
|
||||
|
||||
if [[ $renderEngines == *Unity* ]]; then
|
||||
|
@ -323,48 +319,38 @@ if [[ $renderEngines == *Unity* ]]; then
|
|||
echo "Customize (End): Unity"
|
||||
fi
|
||||
|
||||
if [[ $renderEngines == *Unreal* ] || [ $renderEngines == *Unreal.PixelStream* ]]; then
|
||||
echo "Customize (Start): Unreal"
|
||||
# yum -y install libicu
|
||||
if [[ $renderEngines == *Unreal* ]] || [[ $renderEngines == *Unreal.PixelStream* ]]; then
|
||||
echo "Customize (Start): Unreal Engine"
|
||||
yum -y install libicu
|
||||
versionInfo="5.1.0"
|
||||
installFile="UnrealEngine-$versionInfo-release.tar.gz"
|
||||
downloadUrl="$storageContainerUrl/Unreal/$versionInfo/$installFile$storageContainerSas"
|
||||
curl -o $installFile -L $downloadUrl
|
||||
tar -xzf $installFile
|
||||
mkdir $rendererPathUnreal
|
||||
mv UnrealEngine*/* $rendererPathUnreal
|
||||
rm -rf UnrealEngine-$versionInfo-release
|
||||
$rendererPathUnreal/Setup.sh 1> "unreal-engine.output.txt" 2> "unreal-engine.error.txt"
|
||||
echo "Customize (End): Unreal Engine"
|
||||
|
||||
|
||||
cd UnrealEngine-$versionInfo
|
||||
mkdir -p $rendererPathUnreal
|
||||
mv * $rendererPathUnreal
|
||||
$rendererPathUnreal/Setup.sh
|
||||
cd $binDirectory
|
||||
if [ $machineType == "Workstation" ]; then
|
||||
echo "Customize (Start): Unreal Project Files"
|
||||
$rendererPathUnreal/GenerateProjectFiles.sh
|
||||
make -j -C $rendererPathUnreal
|
||||
$rendererPathUnreal/GenerateProjectFiles.sh 1> "unreal-files-generate.output.txt" 2> "unreal-files-generate.error.txt"
|
||||
make -j -C $rendererPathUnreal 1> "unreal-files-make.output.txt" 2> "unreal-files-make.error.txt"
|
||||
echo "Customize (End): Unreal Project Files"
|
||||
fi
|
||||
echo "Customize (End): Unreal"
|
||||
|
||||
# if [[ $renderEngines == *Unreal.PixelStream* ]]; then
|
||||
# echo "Customize (Start): Unreal Pixel Streaming"
|
||||
# versionInfo="5.1"
|
||||
# installFile="PixelStreamingInfrastructure-UE$versionInfo.zip"
|
||||
# downloadUrl="$storageContainerUrl/Unreal/$installFile$storageContainerSas"
|
||||
# curl -o $installFile -L $downloadUrl
|
||||
# unzip -q $installFile
|
||||
# cd PixelStreamingInfrastructure-UE$versionInfo
|
||||
# mkdir -p $rendererPathUnrealStream
|
||||
# mv * $rendererPathUnrealStream
|
||||
# cd $rendererPathUnrealStream/SignallingWebServer/platform_scripts/bash
|
||||
# chmod +x *.sh
|
||||
# ./setup.sh
|
||||
# cd $rendererPathUnrealStream/MatchMaker/platform_scripts/bash
|
||||
# chmod +x *.sh
|
||||
# ./setup.sh
|
||||
# cd $binDirectory
|
||||
# echo "Customize (End): Unreal Pixel Streaming"
|
||||
# fi
|
||||
if [[ $renderEngines == *Unreal.PixelStream* ]]; then
|
||||
echo "Customize (Start): Unreal Pixel Streaming"
|
||||
git clone --recursive https://github.com/EpicGames/PixelStreamingInfrastructure 1> "unreal-stream-git.output.txt" 2> "unreal-stream-git.error.txt"
|
||||
installFile="PixelStreamingInfrastructure/SignallingWebServer/platform_scripts/bash/setup.sh"
|
||||
chmod +x $installFile
|
||||
./$installFile 1> "unreal-stream-signalling.output.txt" 2> "unreal-stream-signalling.error.txt"
|
||||
installFile="PixelStreamingInfrastructure/Matchmaker/platform_scripts/bash/setup.sh"
|
||||
chmod +x $installFile
|
||||
./$installFile 1> "unreal-stream-matchmaker.output.txt" 2> "unreal-stream-matchmaker.error.txt"
|
||||
echo "Customize (End): Unreal Pixel Streaming"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $machineType == "Farm" ]; then
|
||||
|
@ -379,7 +365,6 @@ fi
|
|||
|
||||
if [ $machineType == "Workstation" ]; then
|
||||
echo "Customize (Start): Desktop Environment"
|
||||
# dnf config-manager --set-enabled crb
|
||||
yum -y groups install "KDE Plasma Workspaces" 1> "kde.output.txt" 2> "kde.error.txt"
|
||||
echo "Customize (End): Desktop Environment"
|
||||
|
||||
|
@ -388,11 +373,11 @@ if [ $machineType == "Workstation" ]; then
|
|||
installFile="pcoip-agent-offline-centos7.9_$versionInfo-1.el7.x86_64.tar.gz"
|
||||
downloadUrl="$storageContainerUrl/Teradici/$versionInfo/$installFile$storageContainerSas"
|
||||
curl -o $installFile -L $downloadUrl
|
||||
installDirectory="pcoip"
|
||||
installDirectory="pcoip-agent"
|
||||
mkdir $installDirectory
|
||||
tar -xzf $installFile -C $installDirectory
|
||||
cd $installDirectory
|
||||
./install-pcoip-agent.sh "pcoip-agent-graphics usb-vhci" 1> "pcoip.output.txt" 2> "pcoip.error.txt"
|
||||
cd $installDirectory
|
||||
./install-pcoip-agent.sh pcoip-agent-graphics usb-vhci 1> "$installDirectory.output.txt" 2> "$installDirectory.error.txt"
|
||||
cd $binDirectory
|
||||
echo "Customize (End): Teradici PCoIP"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -454,9 +454,3 @@ output "imageGallery" {
|
|||
output "imageTemplates" {
|
||||
value = var.imageTemplates
|
||||
}
|
||||
|
||||
output "imageDefinitionsLinux" {
|
||||
value = [
|
||||
for imageDefinition in var.imageGallery.imageDefinitions: imageDefinition if imageDefinition.type == "Linux"
|
||||
]
|
||||
}
|
|
@ -6,15 +6,8 @@ resourceGroupName = "ArtistAnywhere.Scheduler"
|
|||
|
||||
virtualMachines = [
|
||||
{
|
||||
name = "LnxScheduler"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/0.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "LnxScheduler"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/0.0.0"
|
||||
machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
operatingSystem = {
|
||||
type = "Linux"
|
||||
|
@ -53,17 +46,11 @@ virtualMachines = [
|
|||
monitorExtension = {
|
||||
enable = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
},
|
||||
{
|
||||
name = "" # "WinScheduler"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinScheduler/versions/0.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "" # "WinScheduler"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinScheduler/versions/0.0.0"
|
||||
machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
operatingSystem = {
|
||||
type = "Windows"
|
||||
|
@ -102,6 +89,7 @@ virtualMachines = [
|
|||
monitorExtension = {
|
||||
enable = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -136,4 +124,4 @@ computeGallery = { # Only applies if customExtension.cycleCloud.enable = true
|
|||
name = ""
|
||||
resourceGroupName = ""
|
||||
imageVersionIdDefault = ""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,4 +44,4 @@ $taskAction = New-ScheduledTaskAction -Execute $mountFile
|
|||
$taskTrigger = New-ScheduledTaskTrigger -AtStartup
|
||||
Register-ScheduledTask -TaskName $taskName -Action $taskAction -Trigger $taskTrigger -AsJob -User System -Force
|
||||
|
||||
Start-Process -FilePath $mountFile -Wait -RedirectStandardOutput "$mountFile.output.txt" -RedirectStandardError "$mountFile.error.txt"
|
||||
Start-Process -FilePath $mountFile -Wait -RedirectStandardOutput "$mountFile.output.txt" -RedirectStandardError "$mountFile.error.txt"
|
||||
|
|
|
@ -200,13 +200,4 @@ if [ ${cycleCloud.enable} == true ]; then
|
|||
cyclecloud initialize --url=https://localhost:8443 --username="${adminUsername}" --password="${adminPassword}" --batch --verify-ssl=false
|
||||
cyclecloud account create -f $cycleAccountFile
|
||||
cyclecloud import_template -f $clusterTemplateFile
|
||||
|
||||
versionInfo="0.2.11"
|
||||
installFile="cyclecloud-scalelib-$versionInfo.tar.gz"
|
||||
downloadUrl="https://github.com/Azure/cyclecloud-scalelib/archive/refs/tags/$versionInfo.tar.gz"
|
||||
curl -o $installFile -L $downloadUrl
|
||||
tar -xzf $installFile
|
||||
cd cyclecloud-scalelib-$versionInfo
|
||||
pip install -r dev-requirements.txt
|
||||
python setup.py build
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -104,6 +104,7 @@ variable "virtualMachines" {
|
|||
enable = bool
|
||||
}
|
||||
)
|
||||
enableAcceleratedNetworking = bool
|
||||
}
|
||||
))
|
||||
}
|
||||
|
@ -227,18 +228,6 @@ locals {
|
|||
imageGalleryName = !local.stateExistsImage ? var.computeGallery.name : try(data.terraform_remote_state.image.outputs.imageGallery.name, "")
|
||||
imageResourceGroupName = !local.stateExistsImage ? var.computeGallery.resourceGroupName : try(data.terraform_remote_state.image.outputs.resourceGroupName, "")
|
||||
imageVersionIdDefault = !local.stateExistsImage ? var.computeGallery.imageVersionIdDefault : "/subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${local.imageResourceGroupName}/providers/Microsoft.Compute/galleries/${local.imageGalleryName}/images/Linux/versions/0.0.0"
|
||||
virtualMachinesLinux = [
|
||||
for virtualMachine in var.virtualMachines : merge(virtualMachine, {
|
||||
image = {
|
||||
id = virtualMachine.image.id
|
||||
plan = {
|
||||
name = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].sku), "")
|
||||
product = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].offer), "")
|
||||
publisher = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].publisher), "")
|
||||
}
|
||||
}
|
||||
}) if virtualMachine.operatingSystem.type == "Linux"
|
||||
]
|
||||
schedulerMachineNames = [
|
||||
for virtualMachine in var.virtualMachines : virtualMachine.name if virtualMachine.name != ""
|
||||
]
|
||||
|
@ -265,12 +254,12 @@ resource "azurerm_network_interface" "scheduler" {
|
|||
subnet_id = data.azurerm_subnet.farm.id
|
||||
private_ip_address_allocation = "Dynamic"
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
|
||||
resource "azurerm_linux_virtual_machine" "scheduler" {
|
||||
for_each = {
|
||||
for virtualMachine in local.stateExistsImage ? local.virtualMachinesLinux : var.virtualMachines : virtualMachine.name => virtualMachine if virtualMachine.name != "" && virtualMachine.operatingSystem.type == "Linux" && !var.batchAccount.enable
|
||||
for virtualMachine in var.virtualMachines : virtualMachine.name => virtualMachine if virtualMachine.name != "" && virtualMachine.operatingSystem.type == "Linux" && !var.batchAccount.enable
|
||||
}
|
||||
name = each.value.name
|
||||
resource_group_name = azurerm_resource_group.scheduler.name
|
||||
|
@ -299,14 +288,6 @@ resource "azurerm_linux_virtual_machine" "scheduler" {
|
|||
boot_diagnostics {
|
||||
storage_account_uri = null
|
||||
}
|
||||
dynamic plan {
|
||||
for_each = each.value.image.plan.name == "" ? [] : [1]
|
||||
content {
|
||||
name = each.value.image.plan.name
|
||||
product = each.value.image.plan.product
|
||||
publisher = each.value.image.plan.publisher
|
||||
}
|
||||
}
|
||||
dynamic admin_ssh_key {
|
||||
for_each = each.value.adminLogin.sshPublicKey == "" ? [] : [1]
|
||||
content {
|
||||
|
@ -402,14 +383,6 @@ resource "azurerm_windows_virtual_machine" "scheduler" {
|
|||
boot_diagnostics {
|
||||
storage_account_uri = null
|
||||
}
|
||||
dynamic plan {
|
||||
for_each = each.value.image.plan.name == "" ? [] : [1]
|
||||
content {
|
||||
name = each.value.image.plan.name
|
||||
product = each.value.image.plan.product
|
||||
publisher = each.value.image.plan.publisher
|
||||
}
|
||||
}
|
||||
depends_on = [
|
||||
azurerm_network_interface.scheduler
|
||||
]
|
||||
|
@ -536,4 +509,4 @@ output "virtualMachines" {
|
|||
|
||||
output "privateDnsRecord" {
|
||||
value = azurerm_private_dns_a_record.scheduler
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,4 +44,4 @@ if ($queuedTasks -gt 0) { # Scale Up
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,4 +52,4 @@ else # Scale Down
|
|||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -6,15 +6,8 @@ resourceGroupName = "ArtistAnywhere.Farm"
|
|||
|
||||
virtualMachineScaleSets = [
|
||||
{
|
||||
name = "LnxFarm"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/1.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "LnxFarm"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/1.0.0"
|
||||
machine = {
|
||||
size = "Standard_HB120rs_v2"
|
||||
count = 10
|
||||
|
@ -67,17 +60,11 @@ virtualMachineScaleSets = [
|
|||
enable = true
|
||||
timeoutDelay = "PT5M"
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
},
|
||||
{
|
||||
name = "" # "WinFarm"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinFarm/versions/1.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "" # "WinFarm"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinFarm/versions/1.0.0"
|
||||
machine = {
|
||||
size = "Standard_HB120rs_v2"
|
||||
count = 10
|
||||
|
@ -130,6 +117,7 @@ virtualMachineScaleSets = [
|
|||
enable = true
|
||||
timeoutDelay = "PT5M"
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -141,4 +129,4 @@ computeNetwork = {
|
|||
name = ""
|
||||
subnetName = ""
|
||||
resourceGroupName = ""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,4 +26,4 @@ for ($i = 0; $i -lt 12; $i++) {
|
|||
%{ for fsPermission in fileSystemPermissions }
|
||||
${fsPermission}
|
||||
%{ endfor }
|
||||
%{ endif }
|
||||
%{ endif }
|
||||
|
|
|
@ -33,4 +33,4 @@ systemctl --now enable terminate.timer
|
|||
%{ for fsPermission in fileSystemPermissions }
|
||||
${fsPermission}
|
||||
%{ endfor }
|
||||
%{ endif }
|
||||
%{ endif }
|
||||
|
|
|
@ -116,6 +116,7 @@ variable "virtualMachineScaleSets" {
|
|||
timeoutDelay = string
|
||||
}
|
||||
)
|
||||
enableAcceleratedNetworking = bool
|
||||
}
|
||||
))
|
||||
}
|
||||
|
@ -183,19 +184,6 @@ data "azurerm_subnet" "farm" {
|
|||
|
||||
locals {
|
||||
stateExistsNetwork = try(length(data.terraform_remote_state.network.outputs) >= 0, false)
|
||||
stateExistsImage = try(length(data.terraform_remote_state.image.outputs) >= 0, false)
|
||||
virtualMachineScaleSetsLinux = [
|
||||
for virtualMachineScaleSet in var.virtualMachineScaleSets : merge(virtualMachineScaleSet, {
|
||||
image = {
|
||||
id = virtualMachineScaleSet.image.id
|
||||
plan = {
|
||||
name = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].sku), "")
|
||||
product = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].offer), "")
|
||||
publisher = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].publisher), "")
|
||||
}
|
||||
}
|
||||
}) if virtualMachineScaleSet.operatingSystem.type == "Linux"
|
||||
]
|
||||
}
|
||||
|
||||
resource "azurerm_role_assignment" "farm" {
|
||||
|
@ -211,7 +199,7 @@ resource "azurerm_resource_group" "farm" {
|
|||
|
||||
resource "azurerm_linux_virtual_machine_scale_set" "farm" {
|
||||
for_each = {
|
||||
for virtualMachineScaleSet in local.stateExistsImage ? local.virtualMachineScaleSetsLinux : var.virtualMachineScaleSets : virtualMachineScaleSet.name => virtualMachineScaleSet if virtualMachineScaleSet.name != "" && virtualMachineScaleSet.operatingSystem.type == "Linux"
|
||||
for virtualMachineScaleSet in var.virtualMachineScaleSets : virtualMachineScaleSet.name => virtualMachineScaleSet if virtualMachineScaleSet.name != "" && virtualMachineScaleSet.operatingSystem.type == "Linux"
|
||||
}
|
||||
name = each.value.name
|
||||
resource_group_name = azurerm_resource_group.farm.name
|
||||
|
@ -235,7 +223,7 @@ resource "azurerm_linux_virtual_machine_scale_set" "farm" {
|
|||
primary = true
|
||||
subnet_id = data.azurerm_subnet.farm.id
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
os_disk {
|
||||
storage_account_type = each.value.operatingSystem.disk.storageType
|
||||
|
@ -257,14 +245,6 @@ resource "azurerm_linux_virtual_machine_scale_set" "farm" {
|
|||
boot_diagnostics {
|
||||
storage_account_uri = null
|
||||
}
|
||||
dynamic plan {
|
||||
for_each = each.value.image.plan.name == "" ? [] : [1]
|
||||
content {
|
||||
name = each.value.image.plan.name
|
||||
product = each.value.image.plan.product
|
||||
publisher = each.value.image.plan.publisher
|
||||
}
|
||||
}
|
||||
dynamic admin_ssh_key {
|
||||
for_each = each.value.adminLogin.sshPublicKey == "" ? [] : [1]
|
||||
content {
|
||||
|
@ -352,7 +332,7 @@ resource "azurerm_windows_virtual_machine_scale_set" "farm" {
|
|||
primary = true
|
||||
subnet_id = data.azurerm_subnet.farm.id
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
os_disk {
|
||||
storage_account_type = each.value.operatingSystem.disk.storageType
|
||||
|
@ -435,4 +415,4 @@ output "resourceGroupName" {
|
|||
|
||||
output "virtualMachineScaleSets" {
|
||||
value = var.virtualMachineScaleSets
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,15 +6,8 @@ resourceGroupName = "ArtistAnywhere.Workstation"
|
|||
|
||||
virtualMachines = [
|
||||
{
|
||||
name = "LnxArtist"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/2.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "LnxArtist"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/2.0.0"
|
||||
machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
operatingSystem = {
|
||||
type = "Linux"
|
||||
|
@ -42,17 +35,11 @@ virtualMachines = [
|
|||
monitorExtension = {
|
||||
enable = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
},
|
||||
{
|
||||
name = "WinArtist"
|
||||
image = {
|
||||
id = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinArtist/versions/2.0.0"
|
||||
plan = {
|
||||
name = ""
|
||||
product = ""
|
||||
publisher = ""
|
||||
}
|
||||
}
|
||||
name = "WinArtist"
|
||||
imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinArtist/versions/2.0.0"
|
||||
machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes
|
||||
operatingSystem = {
|
||||
type = "Windows"
|
||||
|
@ -80,6 +67,7 @@ virtualMachines = [
|
|||
monitorExtension = {
|
||||
enable = false
|
||||
}
|
||||
enableAcceleratedNetworking = true
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -91,4 +79,4 @@ computeNetwork = {
|
|||
name = ""
|
||||
subnetName = ""
|
||||
resourceGroupName = ""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,4 +18,4 @@ $ErrorActionPreference = "Stop"
|
|||
Register-ScheduledTask -TaskName $taskName -Action $taskAction -Trigger $taskTrigger -AsJob -User System -Force
|
||||
|
||||
Start-Process -FilePath $mountFile -Wait -RedirectStandardOutput "$mountFile.output.txt" -RedirectStandardError "$mountFile.error.txt"
|
||||
%{ endif }
|
||||
%{ endif }
|
||||
|
|
|
@ -13,4 +13,4 @@ source /etc/profile.d/aaa.sh # https://github.com/Azure/WALinuxAgent/issues/1561
|
|||
echo "${fsMount}" >> /etc/fstab
|
||||
%{ endfor }
|
||||
mount -a
|
||||
%{ endif }
|
||||
%{ endif }
|
||||
|
|
|
@ -84,6 +84,7 @@ variable "virtualMachines" {
|
|||
enable = bool
|
||||
}
|
||||
)
|
||||
enableAcceleratedNetworking = bool
|
||||
}
|
||||
))
|
||||
}
|
||||
|
@ -151,19 +152,6 @@ data "azurerm_subnet" "workstation" {
|
|||
|
||||
locals {
|
||||
stateExistsNetwork = try(length(data.terraform_remote_state.network.outputs) >= 0, false)
|
||||
stateExistsImage = try(length(data.terraform_remote_state.image.outputs) >= 0, false)
|
||||
virtualMachinesLinux = [
|
||||
for virtualMachine in var.virtualMachines : merge(virtualMachine, {
|
||||
image = {
|
||||
id = virtualMachine.image.id
|
||||
plan = {
|
||||
name = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].sku), "")
|
||||
product = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].offer), "")
|
||||
publisher = try(lower(data.terraform_remote_state.image.outputs.imageDefinitionsLinux[0].publisher), "")
|
||||
}
|
||||
}
|
||||
}) if virtualMachine.operatingSystem.type == "Linux"
|
||||
]
|
||||
}
|
||||
|
||||
resource "azurerm_resource_group" "workstation" {
|
||||
|
@ -183,12 +171,12 @@ resource "azurerm_network_interface" "workstation" {
|
|||
subnet_id = data.azurerm_subnet.workstation.id
|
||||
private_ip_address_allocation = "Dynamic"
|
||||
}
|
||||
enable_accelerated_networking = true
|
||||
enable_accelerated_networking = each.value.enableAcceleratedNetworking
|
||||
}
|
||||
|
||||
resource "azurerm_linux_virtual_machine" "workstation" {
|
||||
for_each = {
|
||||
for virtualMachine in local.stateExistsImage ? local.virtualMachinesLinux : var.virtualMachines : virtualMachine.name => virtualMachine if virtualMachine.name != "" && virtualMachine.operatingSystem.type == "Linux"
|
||||
for virtualMachine in var.virtualMachines : virtualMachine.name => virtualMachine if virtualMachine.name != "" && virtualMachine.operatingSystem.type == "Linux"
|
||||
}
|
||||
name = each.value.name
|
||||
resource_group_name = azurerm_resource_group.workstation.name
|
||||
|
@ -214,14 +202,6 @@ resource "azurerm_linux_virtual_machine" "workstation" {
|
|||
boot_diagnostics {
|
||||
storage_account_uri = null
|
||||
}
|
||||
dynamic plan {
|
||||
for_each = each.value.image.plan.name == "" ? [] : [1]
|
||||
content {
|
||||
name = each.value.image.plan.name
|
||||
product = each.value.image.plan.product
|
||||
publisher = each.value.image.plan.publisher
|
||||
}
|
||||
}
|
||||
dynamic admin_ssh_key {
|
||||
for_each = each.value.adminLogin.sshPublicKey == "" ? [] : [1]
|
||||
content {
|
||||
|
@ -354,4 +334,4 @@ output "resourceGroupName" {
|
|||
|
||||
output "virtualMachines" {
|
||||
value = var.virtualMachines
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,8 +16,8 @@ The following *core principles* are implemented throughout the AAA solution depl
|
|||
| [2 Network](#2-network) | Deploys [Virtual Network](https://learn.microsoft.com/azure/virtual-network/virtual-networks-overview) and [Bastion](https://learn.microsoft.com/azure/bastion/bastion-overview) with [VPN](https://learn.microsoft.com/azure/vpn-gateway/vpn-gateway-about-vpngateways) or [ExpressRoute](https://learn.microsoft.com/azure/expressroute/expressroute-about-virtual-network-gateways) hybrid networking services. | Yes, if [Virtual Network](https://learn.microsoft.com/azure/virtual-network/virtual-networks-overview) not deployed. Otherwise, No | Yes, if [Virtual Network](https://learn.microsoft.com/azure/virtual-network/virtual-networks-overview) not deployed. Otherwise, No |
|
||||
| [3 Storage](#3-storage) | Deploys [Blob (NFS v3 with sample content)](https://learn.microsoft.com/azure/storage/blobs/network-file-system-protocol-support), [Files](https://learn.microsoft.com/azure/storage/files/storage-files-introduction), [NetApp Files](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-introduction) or [Hammerspace](https://azuremarketplace.microsoft.com/marketplace/apps/hammerspace.hammerspace_4_6_5) storage. | No | Yes |
|
||||
| [4 Storage Cache](#4-storage-cache) | Deploys [HPC Cache](https://learn.microsoft.com/azure/hpc-cache/hpc-cache-overview) or [Avere vFXT](https://learn.microsoft.com/azure/avere-vfxt/avere-vfxt-overview) for highly-available and scalable file caching. | Yes | Maybe, depends on your<br>render scale requirements |
|
||||
| [5 Compute Image](#5-compute-image) | Deploys [Compute Gallery](https://learn.microsoft.com/azure/virtual-machines/shared-image-galleries) images that are built via the managed [Image Builder](https://learn.microsoft.com/azure/virtual-machines/image-builder-overview) service. | No, specify your custom *image.id* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/7.compute.farm/config.auto.tfvars#L11) | No, specify your custom *image.id* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/7.compute.farm/config.auto.tfvars#L11) |
|
||||
| [6 Compute Scheduler](#6-compute-scheduler) | Deploys [Virtual Machines](https://learn.microsoft.com/azure/virtual-machines) for job scheduling with optional [CycleCloud](https://learn.microsoft.com/azure/cyclecloud/overview) integration. | No, continue to use your current job scheduler | No, specify your custom *image.id* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/6.compute.scheduler/config.auto.tfvars#L11) |
|
||||
| [5 Compute Image](#5-compute-image) | Deploys [Compute Gallery](https://learn.microsoft.com/azure/virtual-machines/shared-image-galleries) images that are built via the managed [Image Builder](https://learn.microsoft.com/azure/virtual-machines/image-builder-overview) service. | No, specify your custom *imageId* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/7.compute.farm/config.auto.tfvars#L10) | No, specify your custom *imageId* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/7.compute.farm/config.auto.tfvars#L10) |
|
||||
| [6 Compute Scheduler](#6-compute-scheduler) | Deploys [Virtual Machines](https://learn.microsoft.com/azure/virtual-machines) for job scheduling with optional [CycleCloud](https://learn.microsoft.com/azure/cyclecloud/overview) integration. | No, continue to use your current job scheduler | No, specify your custom *imageId* reference [here](https://github.com/Azure/Avere/blob/main/src/terraform/examples/e2e/6.compute.scheduler/config.auto.tfvars#L10) |
|
||||
| [7 Compute Farm](#7-compute-farm) | Deploys [Virtual Machine Scale Sets](https://learn.microsoft.com/azure/virtual-machine-scale-sets/overview) for [Linux](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine_scale_set) and/or [Windows](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_virtual_machine_scale_set) render farms. | Yes, if [CycleCloud](https://learn.microsoft.com/azure/cyclecloud/overview) not deployed. Otherwise, No | Yes, if [CycleCloud](https://learn.microsoft.com/azure/cyclecloud/overview) not deployed. Otherwise, No |
|
||||
| [8 Compute Workstation](#8-compute-workstation) | Deploys [Virtual Machines](https://learn.microsoft.com/azure/virtual-machines) for [Linux](https://learn.microsoft.com/azure/virtual-machines/linux/overview) and/or [Windows](https://learn.microsoft.com/azure/virtual-machines/windows/overview) remote artist workstations. | No | Yes |
|
||||
| [9 GitOps](#9-gitops) | Enables [Terraform Plan](https://www.terraform.io/cli/commands/plan) and [Apply](https://www.terraform.io/cli/commands/apply) workflows via [GitHub Actions](https://docs.github.com/actions) triggered by [Pull Requests](https://docs.github.com/pull-requests). | No | No |
|
||||
|
@ -135,7 +135,7 @@ $localDirectory = "$Env:AppData\terraform.d\plugins\registry.terraform.io\hashic
|
|||
New-Item -ItemType Directory -Path $localDirectory -Force
|
||||
</code></p>
|
||||
<p><code>
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, $localDirectory + "\terraform-provider-avere_$latestVersion.exe")
|
||||
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $localDirectory -ChildPath "terraform-provider-avere_$latestVersion.exe"))
|
||||
</code></p>
|
||||
|
||||
### Deployment Steps
|
||||
|
@ -322,4 +322,4 @@ deadlinecommand -SubmitCommandLineJob -name Moana-Island-v3 -executable pbrt3 -a
|
|||
deadlinecommand -SubmitCommandLineJob -name Moana-Island-v4 -executable pbrt4 -arguments "--outfile W:\pbrt\moana\island-v4.png R:\pbrt\moana\island\pbrt-v4\island.pbrt"
|
||||
</code></p>
|
||||
|
||||
If you have any questions or issues, please contact rick.shahid@microsoft.com
|
||||
If you have any questions or issues, please contact rick.shahid@microsoft.com
|
||||
|
|
Загрузка…
Ссылка в новой задаче