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.
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
Screenshots
Contact
opensource_at_vidavee.com


