School of Informatics
University of Edinburgh
Inventory System
Project update
Ken Dawson
●
The importance of the inventory
●
The current inventory/orders database
●
Pitfalls and problems
●
An evolutionary strategy
●
Typical ‘ life cycle’ of inventory records
●
LCFG sysinfo data
●
Table definitions
Feb 2008 Inventory System: Project Update 2
The Importance of the Inventory
●
Purchase details: when, cost, description, who
paid, supplier
●
Detailed record of equipment owned including
changeable elements such as current location
●
Disposal details: when, how, residual value
●
Basis for insurance record
●
Planning (e.g. for replacing old equipment)
●
Legal requirements
Feb 2008 Inventory System 3
The Current Inventory/Orders System
●
Order data
– PO #, supplier, date, (VAT); description, delivery
date, price, budget, warranty, serial #
●
Some data held in machine LCFG profiles
– Owner, location, maker, model, serial #, manager,
allocated, OS and hostname (group and domain)
●
Disposed kit data
– Serial #, hostname, model, reason, date
Feb 2008 Inventory System 4
The Current Inventory/Orders System 2
Orders entered and edited via rfe using a custom
data format with template:
date:
supplier:
.item:
.warranty:
.quantity:
.price:
.sno:
.delivered:NOTYET
.budget
vat:1.175
Feb 2008 Inventory System 5
The Current Inventory/Orders System 3
●
Data held in a postgresql database
●
Web access for queries via http://ordershost.inf.ed.ac.uk/
●
More complex queries require manual
construction of the SQL queries
●
Some checks done against data obtained
directly from hosts
Feb 2008 Inventory System 6
Pitfalls and Problems 1
●
Equipment purchases have not always been
recorded on the orders database (e.g. institutes
have ordered computing equipment directly)
– 220 records in LCFG have no corresponding item
recorded in the School database
●
More commonly (for laptops) no serial number
recorded at all in LCFG profile
– 338 records in LCFG have no serial number
Feb 2008 Inventory System 7
Pitfalls and Problems 2
●
Human error in recording correct serial number
in LCFG profile
– I have corrected a large number in the process of
cleaning the data
●
EEPROM values missing or incorrect
– 40 have missing data
– 7 have incorrect data
●
Beowulf nodes not in LCFG inventory and their
LCFG server doesn’ t publish inventory data
Feb 2008 Inventory System 8
An Evolutionary Strategy 1
●
The new system is being introduced in parallel
with the existing system with synchronized data
●
Functionality is being developed without
disturbing the old ways of doing things
●
Get benefits of new system as they become
available without losing any functionality from
the old
●
Once the new system is mature enough we can
drop the old system
Feb 2008 Inventory System 9
An Evolutionary Strategy 2
●
Order data is automatically translated from the
custom format to the XML format as it is added
and updated (and vice versa).
●
Data for the orders in XML format is now
automatically synchronized with data held in the
School database that holds data on orders,
items, locations, people etc
●
Can query the database using the TEC GUI or
using scripts like invedit from the command line
●
Reports can be generated
Feb 2008 Inventory System 10
‘ Life Cycle’ of Inventory Records – DICE 1
●
Order placed
– details of order and items ordered entered using
standard form
– details automatically transferred to database
●
Order arrives
– record arrival date and serial numbers of equipment
on form
– existing item records automatically updated
example order:
http://ordershost.inf.ed.ac.uk/xml/ikb0153.xml
Feb 2008 Inventory System 11
‘ Life Cycle’ of Inventory Records – DICE 2
●
Desktop installation
– profile created (hostname and MAC address specified)
●
client-report runs
– details of hostname, serial number and MAC address
(plus make and model) reported centrally to ordershost
– then transferred to School database
●
switch reports analyzed
– Data on which MAC address seen on which port used
to automatically note the location of networked
computers and record any change in location
Feb 2008 Inventory System 12
‘ Life Cycle’ of Inventory Records
Networked 1
●
Order placed
– details of order and items ordered entered using
standard form
– details automatically transferred to database
●
Order arrives
– record arrival date and serial numbers of equipment
on form
– existing item records automatically updated
●
example order:
http://ordershost.inf.ed.ac.uk/xml/ikb0413.xml
Feb 2008 Inventory System 13
‘ Life Cycle’ of Inventory Records
Networked 2
●
Manual update
– hostname and MAC address specified via command
line tool (invedit)
●
switch reports analyzed
– Data on which MAC address seen on which port used
to automatically note the location of networked
equipment and record any change in location
Feb 2008 Inventory System 14
‘ Life Cycle’ of Inventory Records
Non-networked 1
●
Order placed
– details of order and items ordered entered using
standard form
– details automatically transferred to database
●
Order arrives
– record arrival date and serial numbers of equipment
on form
– existing item records automatically updated
Feb 2008 Inventory System 15
‘ Life Cycle’ of Inventory Records
Non-networked 2
●
Manual update
– location specified via command line tool (invedit)
Feb 2008 Inventory System 16
LCFG Sysinfo Data
Inventory data is currently held in the LCFG
profiles (e.g. inv.model, inv.sno,
inv.location,inv.owner,inv.allocated)
Much of this will shortly be mastered in the
School database and exported in per-machine
header files so that it will not be manually
entered into the profile.
Feb 2008 Inventory System 17
Table Definitions 1
●
Existing tables are:
– order,item, system, part, hostname, software,
location, (department, grant, type)
●
Table definitions are published on the web at
http://www.dice.inf.ed.ac.uk/doc/database/dm/cluster/CLU_DAI_INV.html
Feb 2008 Inventory System 18
Table Definitions 2
●
Future changes:
– new switch port table showing switch ports and the
locations they are linked to
– new port-use table linking switch port to MAC
address
Feb 2008 Inventory System 19
Complex ad hoc Queries – the TEC GUI
●
TEC is a GUI that allows access to any single
table in an Ingres (and other) database
●
One can also more importantly define custom
forms that allow one to query, edit and add data
from several joined tables
●
It is the GUI used by staff for accessing the
School database
●
There is full support under DICE for the TEC
GUI for Ingres
●
It is being developed for postgresql
Feb 2008 Inventory System 20