in src/hpcadvisor/batch_handler.py [0:0]
def setup_environment(filename):
global batch_client
global anf_client
if not os.path.exists(filename):
log.critical(f"Environment file does not exist: {filename}")
sys.exit(1)
with open(filename) as f:
lines = f.readlines()
for line in lines:
if "#" in line or "=" not in line:
continue
line = line.strip()
variable = line.split("=")[0]
value = line.split("=")[1]
env[variable] = value
required_env_vars = [
"SUBSCRIPTION",
"RG",
"BATCHACCOUNT",
"STORAGEACCOUNT",
"VNETNAME",
"VSUBNETNAME",
"REGION",
]
for var in required_env_vars:
if var not in env:
log.critical(f"{filename}: Environment variable {var} is not set")
log.critical("Perhaps environment deployer script was not run?")
sys.exit(1)
# TODO: need more testing here
# perhaps create subscription and subscriptionid variables
env["SUBSCRIPTION"] = get_subscription_id(env["SUBSCRIPTION"])
if not resource_group_exists(env["SUBSCRIPTION"], env["RG"]):
return False
env["SUBVNETID"] = _get_subnet_id(
env["SUBSCRIPTION"], env["RG"], env["VNETNAME"], env["VSUBNETNAME"]
)
batch_client = _get_batch_client(env["SUBSCRIPTION"], env["RG"])
anf_client = _get_anf_client(env["SUBSCRIPTION"], env["RG"])
env["NODEAGENTSKU"] = _get_node_agent_sku(VMIMAGE)
# TODO: need to check if environment is indeed setup
log.debug(f"Environment setup finished: {env}")
return True