Site Contents
Page Contents
Usher IP Magagement Plugin
IP address management for Usher VMs. This plugin allows Usher managers to use named IP address ranges (defined in a PostgreSQL database) for IP address assignment to VMs. When starting a VM, an address range can be specified by name. Access control is provided for each range so that only authorized users can assign addresses from that range. In addition, a VLAN field exists for passing to vm startup scripts to correctly initialize virtual interfaces. Our setup at UCSD uses many address ranges on multiple VLANs.
Requirements
- A server running PostgreSQL (>=8.0) (Note: this can run anywhere, not just on your Usher controller)
- With Indexable IPv4 range extension
- psycopg2 (>=2.0.5.1) installed on your Usher controller node
The Utilities section below contains information about setting up your PostgreSQL database. So, don't worry about being a PostgreSQL expert.
Download
- uipmgr (latest nightly snapshot)
- plugin archives
- Mercurial Repository
Installation
Download the uipmgr package onto the machine running your Usher controller and run:
$ tar xvzf uipmgr-latest.tgz $ cd uipmgr-revXXX
Copy the uipmgr.py file found there to your Usher installations 'plugins' directory or another directory specified by the controller's configuration file 'plugin_dir' variable.
See the Utilities section below for information on setting up the PostgreSQL database.
Configuration
Valid options along with their default values are listed below.
- server: Name of the SQL server. Default = None
- db_name: Database name. Default = None
- mgrname: Database manager username. Default = None
- mgrpw: Database manager password. Default = None
- dfltrange: Default IP range name to use when not specified with start command. Default = domU
Add these options to an [[uipmgr]] subsection of the [plugins] section of the controller's configuration file. This plugin should be registered for the following events: ctrl_start, start_request, start, start_failure, register, unregister, and state_change.
Below is a sample [[uipmgr]] subsection. Start by cutting and pasting this into the [plugins] subsection of your controller's configuration file and editing for your environment.
######################## [[uipmgr]] ######################## [[[__allsecs__]]] server = usher.mydomain.net db_name = usher mgrname = usher mgrpw = secret [[[ctrl_start]]] [[[start_request]]] order = 99 [[[start]]] [[[start_failure]]] [[[register]]] [[[unregister]]] [[[state_change]]]
See the Configuration Files section on the Documentation page for additional details on writing Usher configuration files.
Utilities
The Usher IP Manager plugin ships with a few utility scripts and sample configuration files in its /utils directory. Below are brief descriptions of the contents of this directory:
- README: Directions for setting up your PostgreSQL database
- initialize.sql: PostgreSQL script for initializing your database
- pg_hba.conf.sample: A sample PostgreSQL client authentication configuration file
- usher-ipmgr.sql: PostgreSQL script for creating your database, tables, functions, and triggers
An example of installing this plugin and setting up the PostgreSQL database can be found on the Experiences page.
Last Updated: 2007-12-22 by mmcnett
Report problems to: Marvin McNett







