A way to make grid environment setup easier over Grid'5000 sites.
Issues and goals
When using Kadeploy to deploy an environment, a postinstall script is associated with the environment and used to tune the deployed environment to the site it is deployed in.
Therefore you need to write a postinstall script for each site you plan to deploy your environment on. To avoid this, the prepost mechanism presented here has been implemented. Its goals are the following:
- A postinstall aware of prepost's mechanisms can run on every site
- When administrators change their cluster's configuration, it does not impact prepost-aware postinstalls
- End-users can easily tune prepost-aware postinstalls to adapt them to their own needs
- End-users have complete control of what is done by prepost-aware postinstalls
- A basic postinstall can still perform even if prepost mechanisms are available
Site specificities into preinstall
Initially preinstalls are here to tune site-specific hardware before starting to deploy. So preinstalls are by nature site-specific and we can put site-specific configurations in it instead of putting them into postinstalls.
For preinstall, this is a drift from its original role but this implementation is much more easier to apply than creating a totally new deployment step called site's postinstall.
Files of variables
Prepost provides a variable list to defined on each site and to put inside preinstall's archive. These variables contain site specificities and are intended to be used by postinstall's script to turn postinstall's site-independent templates into site-specific files.
When it is too complex to contain into one variable a site specifity, a site-specific file is used instead and it is intended to be copied by postinstall's script to deployed system.
Prepost provides a specific postinstall's script to use in order to be prepost-aware. This script, called
prepostinst, loads variables files, which were unpacked during preinstall, and then do things to transform site-independent deployed system into a site-specific one.
This postinstall's script is independent from any Grid'5000 site and any Linux distribution. It is intended to be put inside a postinstall's archive with template files to get this postinstall prepost-aware.
End-users are advised to build their own environment upon a Grid'5000-provided environment which takes advantage of prepost mechanisms like those of following list:
- Sid-x64-base-1.0: debian-based minimal environment built upon Debian's