LOGIN / SIGN UP

Web interface for accessing Ganeti clusters through the Ganeti RAPI. Provides cluster status information and management of instances (virtual machines).

ganeti-manager is written in python and uses the phew framework.

Project status

Tasks overview
Open tasks: 4
Closed tasks: 7

Total tasks: 11
Project members

Features

  • Node status
  • Instance startup, shutdown and re-installation.
  • Instance creation

Screenshot of the status page:

Requirements

The ganeti-manager requires:

  • phew, for the web interface.
  • simplejson, for communicating with Ganeti via the remote API.

Ganeti-manager is capable of managing:

  • ganeti version 2.0.X clusters.

Installation

Installation is a matter of getting the sources and using setup.py to install:

 $ git clone http://projects.pekdon.net/git/ganeti_manager.git ganeti-manager
 $ python setup.py install

Configuration

The ganeti-manager configuration location is specified by the PHEW_CONFIG environment variable, recommended location is /etc/ganeti-manager.cfg.

Create a base configuration file by executing:

 $ cat >/etc/ganeti-manager.cfg <<EOF
 [application]
 module = ganetimanager
 
 [frontend]
 cache = /tmp/ganeti-manager_cache_apache
 url = /ganeti-manager
 url_static = /ganeti-manager_static
 
 [user]
 type = memory
 user-admin = password:admin
 
 [rapi]
 host = cluster-hostname
 port = 5080
 username = ganeti-user
 password = ganeti-password
 job_cache_path = /tmp/ganeti-manager_cache_apache/rapi
 EOF

Apache

Add the following configuration in a virtual host in Apache:

 ScriptAlias /ganeti-manager /usr/lib/python2.4/site-packages/phew/handler.py
 <Location /ganeti-manager>
   SetEnv PHEW_CONFIG /etc/ganeti-manager.cfg
 </Location>
 
 Alias /ganeti-manager_static/phew /usr/lib/python2.4/site-packages/phew/static/
 Alias /ganeti-manager_static /usr/lib/python2.4/site-packages/ganetimanager/static/

Users

Users is configured with standard phew user configuration, the most straight-forward configuration is using memory users specified in the configuration file. As shown in the example above memory users is configured in the [user] section of the configuration file and the format is:

 user-login = password:role1,role2

Roles currently have no effect on ganeti-manager but will be used later on for ACLs.

RAPI

Remote access for ganeti-manager needs to be confiured in ganeti:

 # cat > /var/lib/ganeti/rapi_users <<EOF
 username password write
 EOF
 # gnt-cluster copyfile /var/lib/ganeti/rapi_users