Suggested improvements to the ISG scripting framework

Standard Template that Preserves the Environment

This is needed both for the login script and the web interface to the public tests.

Right now, a non-standard template is used which just stores and loads target environment variables via command-line arguments. This should be more general and less brittle. The entire set of environment variables really should be saved, with the exception of PATH, because of the exceptional circumstances under which these particular commands are invoked. In these cases, there's a reason to put some degree of trust in the user's environment.

Target servers in ISG setup

Right now there are explicitly named variables for ISG_PREFERRED_SOLARIS and ISG_PREFERRED_LINUX. While a couple of scripts currently are absolutely dependent on access to a particular server family, in the future this should be removed entirely and it should just be ensured that all necessary software is available (likely on the cs_build account). Then, there will be no need to know a particular server is being referred to.

This leaves the primary purpose of these variables as compilation on different environments. This can instead be made into an ISG_PREFERRED_SERVERS array; every other variable currently dependent on these variables can then be made into an array too. Then, executables for particular environments can be named after the position in the array rather than by the architecture itself. This should give an unambiguous way to refer to everything.

This behaviour would be helped by use of hash tables instead of arrays, but that requires that all bash scripts be updated to bash 4, which means this version of bash would need to be installed on all supported environments.

Topic revision: r1 - 2010-04-30 - TerryVaskor
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback