Database Structure Reference

This page contains the reference documentation of RacksDB database structure, with all objects models and properties. The document starts with a legend of some symbols used for schematic representation of properties. Then, the root content of the database is described, followed by all subsequents objects. At the end, the defined types are described.

Symbols legend

Some icons are used in the tables of this page for symbolic representations of advanced data types:

Other symbols are used for attributes of properties:

The optional/required attribute is indicated in the Required column of properties definition table. When defined, the default value attribute is mentioned in the Description column.

Database Root

Library class type: RacksDB

Properties
Property Description Type Required

types

Datacenter equipments types definitions.

 Types

datacenters

List of datacenters definitions.

  Datacenter

infrastructures

List of infrastructures definitions.

  Infrastructure

Objects

Datacenter

Library class type: RacksDBDatacenter

Properties
Property Description Type Required

name 

Unique name of the datacenter.

str

rooms

List of rooms in this datacenter.

  DatacenterRoom

tags

The list of tags associated to this datacenter.

 str

-

DatacenterRoom

Library class type: RacksDBDatacenterRoom

Properties
Property Description Type Required

name 

Unique name of the room in this datacenter.

str

dimensions

Dimensions of this room.

 DatacenterRoomDimensions

rows

List of racks rows on this room.

  RacksRow

-

Automatic back references
Property Description Type

datacenter

Back reference to the datacenter where this room is located.

  Datacenter

DatacenterRoomDimensions

Library class type: RacksDBDatacenterRoomDimensions

Properties
Property Description Type Required

width

Width of datacenter room.

 ~dimension

depth

Depth of datacenter room.

 ~dimension

Infrastructure

Library class type: RacksDBInfrastructure

Properties
Property Description Type Required

name 

The name of the infrastructure.

str

description

Text description of the infrastructure.

str

layout

The list of parts composing the infrastructure.

  InfrastructurePart

tags

List of tags associated to the infrastructure.

 str

-

InfrastructurePart

Library class type: RacksDBInfrastructurePart

This represents all the equipments of an infrastructure in one particular datacenter rack.

Properties
Property Description Type Required

rack

The name of the rack.

  Rack.name

nodes

The list of nodes of the infrastructure in this rack.

Default value: []

  Node

-

storage

The list of storage equipments of the infrastructure in this rack.

Default value: []

  StorageEquipment

-

network

The list of network equipments of the infrastructure in this rack.

Default value: []

  NetworkEquipment

-

tags

The list of tags associated to the equipments of the infrastructure in this rack.

 str

-

NetworkEquipment

Library class type: RacksDBNetworkEquipment

Please refer to equipment positioning how-to for more details.
Properties
Property Description Type Required

name 

The names of the network equipments in this set.

expandable

type

The type of network equipment unique identifier.

  NetworkEquipmentType.id

slot

The slot in the rack used by the first network equipment in this set.

rangeid

tags

The list of tags associated to these network equipments.

 str

-

Automatic back references
Property Description Type

infrastructure

The infrastructure of these network equipments.

  Infrastructure

rack

The rack of these network equipments.

  InfrastructurePart.rack

NetworkEquipmentType

Library class type: RacksDBNetworkEquipmentType

Properties
Property Description Type Required

id 

Unique identifier of the network equipment type.

str

model

Network equipment model name.

str

height

Height of network equipment.

 ~rack_height

width

Width of network equipment.

Default value: full

 ~rack_width

-

specs

URL to network equipment specsheet.

str

-

netifs

List of network interfaces on this network equipment.

  NetworkEquipmentTypeNetif

-

NetworkEquipmentTypeNetif

Library class type: RacksDBNetworkEquipmentTypeNetif

Properties
Property Description Type Required

type

The type of network interface.

 ~netif_type

bandwidth

The bandwidth (per second) of the network interface.

 ~bytes

number

The number of this network interface available in the network equipment.

int

Node

Library class type: RacksDBNode

Please refer to equipment positioning how-to for more details.
Properties
Property Description Type Required

name 

The names of the nodes in this set.

expandable

type

The type of nodes unique identifier.

  NodeType.id

slot

The slot in the rack used by the first node in this set.

rangeid

tags

The list of tags associated to these nodes.

 str

-

Automatic back references
Property Description Type

infrastructure

The infrastructure of these nodes.

  Infrastructure

rack

The rack of these nodes.

  InfrastructurePart.rack

NodeType

Library class type: RacksDBNodeType

Properties
Property Description Type Required

id 

Unique identifier of node type.

str

model

Node type model name.

str

height

Height of the node.

 ~rack_height

width

Width of the node.

 ~rack_width

specs

URL to node specsheet.

str

-

cpu

CPU configuration of the node.

 NodeTypeCpu

ram

RAM configuration of the node.

 NodeTypeRam

storage

List of storage devices of the node.

  NodeTypeStorage

-

netifs

List of network interfaces of the node.

  NodeTypeNetif

-

NodeTypeCpu

Library class type: RacksDBNodeTypeCpu

Properties
Property Description Type Required

model

The CPU model name.

str

specs

URL to CPU specsheet.

str

-

sockets

The number of sockets.

int

cores

The number of cores per socket.

int

NodeTypeNetif

Library class type: RacksDBNodeTypeNetif

Properties
Property Description Type Required

type

The type of network interface.

 ~netif_type

bandwidth

The bandwidth (per second) of the network interface.

 ~bytes

NodeTypeRam

Library class type: RacksDBNodeTypeRam

Properties
Property Description Type Required

dimm

The number of DIMMs.

int

size

The storage capacity of each DIMM.

 ~bytes

NodeTypeStorage

Library class type: RacksDBNodeTypeStorage

Properties
Property Description Type Required

type

The type of storage device.

 ~storage_type

size

The storage capacity of the storage device.

 ~bytes

model

The model name of the storage device.

str

-

Rack

Library class type: RacksDBRack

Properties
Property Description Type Required

name

The names of the racks in this set.

expandable

slot

The first slot used by this set of racks.

Default value: 0

rangeid

-

type

The unique ID of rack type of this racks set.

  RackType.id

Automatic back references
Property Description Type

datacenter

The datacenter where this rack is located.

  Datacenter

room

The datacenter room where this rack is located.

  DatacenterRoom

row

The racks row of this rack.

  RacksRow

RacksRow

Library class type: RacksDBRacksRow

Properties
Property Description Type Required

name 

Unique name of the racks row.

str

position

The position of the racks row in the room.

 RacksRowPosition

racks

The list of (empty) racks in the room.

  Rack

reversed

Boolean to control the side of the racks doors in the racks row. When reversed is true, the doors are on the top.

Default value: False

bool

-

RacksRowPosition

Library class type: RacksDBRacksRowPosition

Please refer to racks positioning how-to for more details.
Properties
Property Description Type Required

width

The position of the top-left corner of the racks row in the width axis of the room.

 ~dimension

depth

The position of the top-left corner of the racks row in the depth axis of the room.

 ~dimension

rotation

The rotation angle of the racks row clockwise compared to the width axis of the room (ie. an horizontal line).

Default value: 0

 ~angle

-

RackType

Library class type: RacksDBRackType

Properties
Property Description Type Required

id 

Unique identifier of the rack type.

str

height

Height of the rack.

 ~dimension

width

Width of the rack.

 ~dimension

depth

Depth of the rack.

 ~dimension

slots

Number of U slots available in the rack.

 ~rack_height

StorageEquipment

Library class type: RacksDBStorageEquipment

Please refer to equipment positioning how-to for more details.
Properties
Property Description Type Required

name 

The names of the storage equipments in this set.

expandable

type

The type of storage equipment unique identifier.

  StorageEquipmentType.id

slot

The slot in the rack used by the first storage equipment in this set.

rangeid

tags

The list of tags associated to these storage equipments.

 str

-

Automatic back references
Property Description Type

infrastructure

The infrastructure of these storage equipments.

  Infrastructure

rack

The rack of these storage equipments.

  InfrastructurePart.rack

StorageEquipmentType

Library class type: RacksDBStorageEquipmentType

Properties
Property Description Type Required

id 

Unique identifier of storage equipment type.

str

model

Storage equipment model name.

str

height

Height of storage equipment.

 ~rack_height

width

Width of storage equipment.

Default value: full

 ~rack_width

-

specs

URL to storage equipment specsheet.

str

-

disks

List of storage devices in the storage equipment.

  StorageEquipmentTypeDisk

-

netifs

List of network devices in the storage equipment.

  StorageEquipmentTypeNetif

-

StorageEquipmentTypeDisk

Library class type: RacksDBStorageEquipmentTypeDisk

Properties
Property Description Type Required

type

The type of storage device.

 ~storage_type

size

The storage capacity of the storage device.

 ~bytes

model

The model name of the storage device.

str

-

number

The number of this storage device available in the storage equipment.

int

StorageEquipmentTypeNetif

Library class type: RacksDBStorageEquipmentTypeNetif

Properties
Property Description Type Required

type

The type of network interface.

 ~netif_type

bandwidth

The bandwidth (per second) of the network interface.

 ~bytes

Types

Library class type: RacksDBTypes

Properties
Property Description Type Required

nodes

List of nodes types definitions.

Default value: []

  NodeType

-

storage

List of storage equipments types definitions.

Default value: []

  StorageEquipmentType

-

network

List of network equipments types definitions.

Default value: []

  NetworkEquipmentType

-

racks

List of (empty) racks types definitions.

  RackType

Defined Types

Name Examples Resulting type Comment

~angle

  • 90

  • 120

int

The resulting value is angle in degrees. RacksDB does not accept values below 0 or above 360.

~bytes

  • 1.2Gb

  • 3MB

int

The resulting value is the number of bytes.

~dimension

  • 23cm

  • 1.56m

  • 1900mm

int

The resulting value is the number of millimeters.

~netif_type

  • ethernet

  • infiniband

str

The resulting value is the name of network interface type.

~rack_height

  • 1u

  • 2u

int

The resulting value is the number of rack units (aka. U).

~rack_width

  • full

  • 1/2

  • 1/8

  • 1

float

The resulting value is the normalized part of the rack width (ex: 1.0 is 100% of the rack width, 0.5 is 50% of the rack width). The special value full is equals to 1.

~storage_type

  • disk

  • ssd

  • nvme

str

The resulting value is the name of storage device type.