Kadeploy-v2.1.8

From Grid5000
Jump to: navigation, search
See also: Kadeploy

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.
  • Lists of nodes which deployed successfully and which failed.
    • Those files are stored in ~/.kadeploy.

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.png Warning

Don't forget to pass the option to kareboot if you deployed your nodes with GRUB boot method.

Note.png 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/bin and /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/
  • 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

  1. Retrieve archive kadeploy-2.1.8.tar.gz
  2. Untar this file under /tmp.
  3. Enter the directory created
  4. Check and adapt eventually some Makefile variables located ahead in the file.
    • It's already configured for standard installation schema.
  5. Run : make install
  6. 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, ...).

  1. 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>
  2. Configuration :
    • /etc/kadeploy -> /etc/kadeploy-2.1.8
  3. Perl libraries :
    • /usr/share/perl/5.8/libkadeploy2 -> /usr/share/perl/5.8/kadeploy-2.1.8/libkadeploy2
Warning.png Warning

Check your Perl installation layout according to the frontend distribution.

Uninstallation

Be sure to use the same Makefile as for installation.

  • Just run : make uninstall
Note.png 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 :

  1. /etc/kadeploy/deploy(-<cluster>).conf :
    • deploy_rcmd specify the SSH command, and might reference ssh keys (-i /etc/kadeploy/.ssh/id_deploy).
  2. The ssh keys present under $HOME/.ssh of 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)

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  [...]
Personal tools
Namespaces

Variants
Actions
Public Portal
Users Portal
Admin portal
Wiki special pages
Toolbox