Kadeploy-v2.1.8
From Grid5000
Contents |
Changelog
Features
It supports all features of Kadeploy 2.1.7. Please refer to the relative documentation to know all of them.
It adds moreover some new features but mostly of the changes are under-the-hood.
Especially the interface and ka-* tools eco-system remain the same from a user point of view.
Details
Several bugs are addressed by this release :
Users targeted new features
A Kadeploy dedicated directory into user's home
A specific directory is now used by Kadeploy for storing its run-time generated files :
- Sorted lists of nodes sorted by cluster in case of multi-cluster deployment.
- Those files are stored in
~/.kadeploy.
- Those files are stored in
- Lists of nodes which deployed successfully and which failed.
- Those files are stored in
~/.kadeploy.
- Those files are stored in
Customization of nodes lists filenames
The lists of nodes successfully deployed and failed are by default suffixed by a timestamp.
User can provide a dedicated suffix for this files by using a new option in Kadeploy's call :
- -a | --append <suffix>
GRUB request
Default boot method on all clusters uses PXE. But some clusters (the oldest ones) are able to boot with GRUB method too, wich allows specific deployments (like BSD systems).
User can request GRUB usage for booting nodes by adding the following option :
- --grub
| Warning | |
|---|---|
Don't forget to pass the option to | |
| Note | |
|---|---|
If you request GRUB method on a cluster which does'nt support it, the nodes will be booted by PXE. | |
Migration from 2.1.7 to 2.1.8
2.1.7 installation layout expected
- ka-commands should be found under
/usr/local/binand/usr/local/sbin.- They should conform to the following schema :
/usr/local/bin/<ka-command>->/usr/local/bin/kadeploy-2.1.7/<ka-command>->/usr/local/kadeploy-2.1.7/bin/kasudowrapper.sh(same layout for ka-commands under/usr/local/sbin).
- Configuration directory :
/etc/kadeploy-2.1.7 - Main installation directory :
/usr/local/kadeploy-2.1.7- On sub-level the following sub-directories must be found :
bin/,sbin/,libkadeploy2/
- On sub-level the following sub-directories must be found :
- Perl directories should look like :
/usr/share/perl/5.8/libkadeploy2->kadeploy-2.1.7/libkadeploy2
What to do
Preamble
Make backup of following items :
-
/etc/sudoers -
/etc/kadeploy(the configuration directory of the release in production).
Files installation
- Retrieve archive
kadeploy-2.1.8.tar.gz - Untar this file under
/tmp. - Enter the directory created
- Check and adapt eventually some Makefile variables located ahead in the file.
- It's already configured for standard installation schema.
- Run :
make install - Copy and adapt the 2.1.7 production working configuration into 2.1.8 configuration directory (
/etc/kadeploy-2.1.7/*==>/etc/kadeploy-2.1.8/).
Make 2.1.8 the default Kadeploy flavour
It's a matter to make links poiting on 2.1.8 resources (configuration, user commands, ...).
- User commands :
-
/usr/local/bin/<ka-command>->/usr/local/bin/kadeploy-2.1.8/<ka-command> -
/usr/local/sbin/<ka-command>->/usr/local/sbin/kadeploy-2.1.8/<ka-command>
-
- Configuration :
-
/etc/kadeploy->/etc/kadeploy-2.1.8
-
- Perl libraries :
-
/usr/share/perl/5.8/libkadeploy2->/usr/share/perl/5.8/kadeploy-2.1.8/libkadeploy2
-
Uninstallation
Be sure to use the same Makefile as for installation.
- Just run :
make uninstall
| Note | |
|---|---|
Links made by site administrator are not managed by the Makefile ; they have to be removed apart from this operation. | |
DB issue
Note that DB schema has not changed since 2.1.7. In other words, the 2.1.7 DB is fully compliant with this release.
What to check
Configuration
Files located under /etc/kadeploy(-<version>) :
-
deploy(-<cluster>).conf:- Check variables kadeploy2_directory, deploy_rcmd.
- Check DB configuration.
-
deploy_cmd-*.conf:- Check pathnames.
-
SSH keys
Kadeploy uses ssh as connector to the deploying nodes for executing all necessary actions.
It uses dedicated ssh keys. They're located under $HOME/.ssh of deploy user.
By default, you might expect to find them under /etc/kadeploy/.ssh and they are named
id_deploy and id_deploy.pub.
Please check the points below :
-
/etc/kadeploy/deploy(-<cluster>).conf:- deploy_rcmd specify the SSH command, and might reference ssh keys (-i /etc/kadeploy/.ssh/id_deploy).
- The ssh keys present under
$HOME/.sshof deploy users.
If kaaddkeys or kadeploy [...] -k doesn't work as expected and ask for a password, consider changing ssh key names
to id_rsa and id_rsa.pub respectively.
What if I want to use 2.1.8 and default Kadeploy is 2.1.7
Procedure
It's only a matter to specify whole pathnames to access Kadeploy 2.1.8.
The basic assumption is that installation's schema is compliant with the model described above.
You have to specify only 2 additional things while using kadeploy :
- whole pathname to 2.1.8 commands (
/usr/local/bin/kadeploy-2.1.8/<ka-command>) - Configuration directory (
/etc/kadeploy-2.1.8) ; you might specify it :- either by adding a supplementary Kadeploy option to each ka-command used :
-C /etc/kadeploy-2.1.8 - or by valuating an environment variable :
export KADEPLOY_CONFIG_DIR=/etc/kadeploy-2.1.8(in Bash)
- either by adding a supplementary Kadeploy option to each ka-command used :
Then simply use commands like this :
/usr/local/bin/kadeploy-2.1.8/kadeploy-e environment-f $OAR_NODE_FILE [...]/usr/local/bin/kadeploy-2.1.8/kareboot[...]/usr/local/bin/kadeploy-2.1.8/kaconsole[...]/usr/local/bin/kadeploy-2.1.8/kaenvironment[...]
