in bicep/files-to-load/create_cc_param.py [0:0]
def set_slurm_params(params, dbPassword, outputs):
params['Region'] = outputs['location']['value']
if outputs['vnet']['value']['type'] == 'new':
subnetID = outputs['vnet']['value']['computeSubnetId']
subnet_toks = subnetID.split("/")
if len(subnet_toks) >= 11:
params['SubnetId'] = "/".join([subnet_toks[4], subnet_toks[8], subnet_toks[10]])
else:
print(f"Unexpected subnet id {subnetID} - passing as SubnetId directly instead of resource_group/vnet_name/subnet_name", file=sys.stderr)
params['SubnetId'] = subnetID
else:
params['SubnetId'] = '/'.join([outputs['vnet']['value']['rg'], outputs['vnet']['value']['name'], outputs['vnet']['value']['computeSubnetName']])
#HTC
params['HTCMachineType'] = outputs['partitions']['value']['htc']['sku']
params['MaxHTCExecuteNodeCount'] = int(outputs['partitions']['value']['htc']['maxNodes'])
params['HTCImageName'] = outputs['partitions']['value']['htc']['osImage']
params['HTCUseLowPrio'] = outputs['partitions']['value']['htc']['useSpot']
#HPC
params['HPCMachineType'] = outputs['partitions']['value']['hpc']['sku']
params['MaxHPCExecuteNodeCount'] = int(outputs['partitions']['value']['hpc']['maxNodes'])
params['HPCImageName'] = outputs['partitions']['value']['hpc']['osImage']
#GPU
params['GPUMachineType'] = outputs['partitions']['value']['gpu']['sku']
params['MaxGPUExecuteNodeCount'] = int(outputs['partitions']['value']['gpu']['maxNodes'])
params['GPUImageName'] = outputs['partitions']['value']['gpu']['osImage']
#scheduler node
#params['slurm'] #is this the slurm version??? no, so what is it?
params['SchedulerMachineType'] = outputs['schedulerNode']['value']['sku']
params['SchedulerImageName'] = outputs['schedulerNode']['value']['osImage']
params['configuration_slurm_version'] = outputs['slurmSettings']['value']['version']
# if outputs['slurmSettings']['value']['canUseSlurmHA']:
# params['configuration_slurm_ha_enabled'] = outputs['slurmSettings']['value']['slurmHA']
params['configuration_slurm_accounting_enabled'] = bool(outputs['databaseInfo']['value'])
if params['configuration_slurm_accounting_enabled']:
params['configuration_slurm_accounting_user'] = outputs['databaseInfo']['value']['databaseUser']
if params['configuration_slurm_accounting_enabled']:
params['configuration_slurm_accounting_password'] = dbPassword
if params['configuration_slurm_accounting_enabled']:
params['configuration_slurm_accounting_url'] = outputs['databaseInfo']['value']['url']
#params['configuration_slurm_accounting_certificate_url']
#login node(s)
params['loginMachineType'] = (outputs['loginNodes']['value']['sku']).strip()
params['NumberLoginNodes'] = int(outputs['loginNodes']['value']['initialNodes'])
params['LoginImageName'] = outputs['loginNodes']['value']['osImage']
params['EnableNodeHealthChecks'] = outputs['slurmSettings']['value']['healthCheckEnabled']
#Execute node tags
params['NodeTags'] = outputs['nodeArrayTags']['value']
#Network Attached Storage
params['UseBuiltinShared'] = outputs['filerInfoFinal']['value']['home']['type'] == 'nfs-new'
if params['UseBuiltinShared']:
params['FilesystemSize'] = outputs['filerInfoFinal']['value']['home']['nfsCapacityInGb']
else:
params['NFSType'] = 'nfs' if outputs['filerInfoFinal']['value']['home']['type'] in ['nfs-existing','anf-new'] else 'lustre'
# We no longer need to handle these differently based on the fs type, as each
# fs module's common outputs map to these.
params['NFSSharedExportPath'] = outputs['filerInfoFinal']['value']['home']['exportPath']
params['NFSSharedMountOptions'] = outputs['filerInfoFinal']['value']['home']['mountOptions']
params['NFSAddress'] = outputs['filerInfoFinal']['value']['home']['ipAddress']
params['AdditionalNFS'] = outputs['filerInfoFinal']['value']['additional']['type'] != 'disabled'
if params['AdditionalNFS']:
params['AdditionalNFSType'] = 'nfs' if outputs['filerInfoFinal']['value']['additional']['type'] in ['nfs-existing','anf-new'] else 'lustre'
params['AdditionalNFSMountPoint'] = outputs['filerInfoFinal']['value']['additional']['mountPath']
params['AdditionalNFSExportPath'] = outputs['filerInfoFinal']['value']['additional']['exportPath']
params['AdditionalNFSMountOptions'] = outputs['filerInfoFinal']['value']['additional']['mountOptions']
params['AdditionalNFSAddress'] = outputs['filerInfoFinal']['value']['additional']['ipAddress']