in src/hpcadvisor/utils.py [0:0]
def generate_env_file(rg_prefix, user_data):
subscription = user_data["subscription"]
region = user_data["region"]
create_jumpbox = user_data.get("createjumpbox", False)
peer_vpn = user_data.get("peervpn", False)
deployment_dir = os.path.join(hpcadvisor_dir, rg_prefix)
if not os.path.exists(deployment_dir):
log.debug("Create deployment dir: " + deployment_dir)
os.makedirs(deployment_dir)
env_file = os.path.join(deployment_dir, environment_filename)
with open(env_file, "w") as f:
f.write("SUBSCRIPTION=" + subscription + "\n")
f.write("REGION=" + region + "\n")
f.write("RG=" + rg_prefix + "\n")
f.write("BATCHACCOUNT=" + rg_prefix + "ba\n")
f.write("STORAGEACCOUNT=" + rg_prefix + "sa\n")
f.write("ANFACCOUNT=" + rg_prefix + "anf\n")
f.write("ANFVOLUMENAME=anfvolume\n")
f.write("ANFPOOLNAME=anfpool\n")
f.write("ANFMOUNTDIR="+anfmountdir+"\n")
f.write("KEYVAULT=" + rg_prefix + "kv\n")
f.write("VNETNAME=" + rg_prefix + "VNET\n")
f.write("VSUBNETNAME=" + rg_prefix + "SUBNET\n")
f.write("CREATEJUMPBOX=" + str(create_jumpbox) + "\n")
f.write("PEERVPN=" + str(peer_vpn) + "\n")
# TODO: some thougth is required here
if "vpnrg" in user_data:
f.write("VPNRG=" + user_data["vpnrg"] + "\n")
if "vpnvnet" in user_data:
f.write("VPNVNET=" + user_data["vpnvnet"] + "\n")
if "vnetaddress" in user_data:
f.write("VNETADDRESS=" + user_data["vnetaddress"] + "\n")
else:
# TODO: may improve this in future
#
# no particular reason for this range
# this has some limitation as mask is fixed
# and may conflict with other vnets for peering
f.write(f"VNETADDRESS=10.{random.randint(35, 55)}.0.0\n")
return env_file