Vidavee Open Source Projects

nVentory - Ruby on Rails Datacenter Inventory Manager

Overview

A hardware and configuration inventory manager, that will eventually output XML files, which can be used to define configurations in other tools and processes (such as software builds, cfengine configuration, Nagios configuration etc)

An application designed to assist the datacenter manager answer the following questions:

  • What servers do I have in my datacenter?
  • What is the function of server y?
  • Where is server x in the datacenter?
  • Which customer(s) is assigned to server y?
  • How much does server of type z cost?
  • How much memory does server type z have?
  • Which PDU does server x use, and which port(s)?
  • Which switch and switch port does server z connect to?
  • How many servers are in rack x?
  • How many servers are in state "need repair"?
  • How many servers are in state "ready to use"?
  • and more..

Features

  • Web based management interface, with AJAX elements, written in Ruby on Rails
  • Visualization of rack space, showing used space and free space
  • Designed specifically to help hosting companies manage datacenter typical assignment tasks
  • Future: will generate XML configuration files to be used in code/application deployment
  • Future: model complex inter-node relationships like MySQL Multi-master replication

Requirements

Working Ruby on Rails setup, supported database.
Knowledge of how to deploy Rails applications (Rake/Capistrano)
Currently deployed internally on Fedora Core 5 Linux, Apache nginx, Mongrel, MySQL

Object Model

nVentory has a rich data model which describes the relationships between the various objects common to datacenters.
Some of the most important objects in this model are:
Datacenter, Rack, Node, Customer, CustomerProgram, Environment.

Object Model Diagram

Producers and Consumers

nVentory uses the concepts of producer and consumer to model certain special node types which provide an "outlet" which another node type uses.
Currently there are 2 node types which work in this way:

  • PDU (Power Distribution Units) are producers of power outlets, which other nodes are consumers of
  • Network Switches are producers of network outlets, which other nodes are consumers of

Current Status

  • Alpha - fully working release, some major missing functionality, not much documentation yet
  • XML generation not complete yet, only Inventory control working
  • Database Relationship modeling not complete

Credits

Concept and specs: Warwick Poole, Rolando Berrios, Gilbert Iancu - Vidavee Systems Team
Ruby on Rails development, and a lot of the smart ideas in this application: Mike Zornek
Funding and support for this project generously provided by Vidavee

License

nVentory is released under the MIT License: http://www.opensource.org/osi3.0/licenses/mit-license.php

Download and SVN

DOWNLOAD

All file releases are downloadable at the nVentory SourceForge.net project site

SVN

To check out the project from sf.net SVN:

svn co https://nventory.svn.sourceforge.net/svnroot/nventory nventory

Please contact us to grant your existing sf.net user write access to this repo if you are ready to commit back to the project

Services provided by
SourceForge.net Logo

Screenshots

Main Dashboard

Racks Visualization

Contact

opensource_at_vidavee.com

Copyright © 2007 Vidavee
Powered by Skeletonz