+def configure_lutf_environment():
+ # Grab old LD_LIBRARY_PATH
+ restart = 0
+ old = os.environ.get("LD_LIBRARY_PATH")
+
+ # Find or set LUSTRE location
+ lustre = os.environ.get("LUSTRE")
+
+ if not lustre:
+ lustre = "./lustre/"
+
+ # Set LUTFPATH, used internally by LUTF
+ lutf = lustre + "/tests/lutf/"
+ os.environ["LUTFPATH"] = lutf
+
+ # Set new LD_LIBRARY_PATH
+ new_path = lutf + ":" + lutf + "src"
+
+ # Resolve LD_LIBRARY_PATH and possibly restart
+ if old:
+ if not new_path in os.environ['LD_LIBRARY_PATH']:
+ os.environ["LD_LIBRARY_PATH"] = old + ":" + new_path
+ restart = 1
+ else:
+ os.environ["LD_LIBRARY_PATH"] = new_path
+ restart = 1
+
+ if restart:
+ try:
+ os.execv(sys.argv[0], sys.argv)
+ except Exception as e:
+ sys.exit('EXCEPTION: Failed to Execute under modified environment, '+e)
+
+ # Set PYTHONPATH
+ sys.path.append(lutf)
+ sys.path.append(lutf + "src/")
+ sys.path.append(lutf + "python/")
+ sys.path.append(lutf + "python/tests/")
+ sys.path.append(lutf + "python/config/")
+ sys.path.append(lutf + "python/deploy/")
+ sys.path.append(lutf + "python/infra/")
+
+ # Update PATH
+ os.environ["PATH"] = os.environ.get("PATH") + ":" + lutf + "src/" + ":" + lutf
+
+ # Set remaining variables
+ if os.environ.get("TELNET_PORT") is None:
+ os.environ["TELNET_PORT"] = "8181"
+ if os.environ.get("MASTER_PORT") is None:
+ os.environ["MASTER_PORT"] = "8282"
+ if os.environ.get("LUTF_SHELL") is None:
+ os.environ["LUTF_SHELL"] = "batch"
+