From OpenDCIM Wiki
Jump to: navigation, search

Bulk Data Operations

There are three bulk load operations (as of version 4.3) that will allow you to quickly enter data from an Excel Spreadsheet. No other formats are accepted. It is suggested that you review the tutorial video before you attempt to run any of these operations.

Bulk Operations is a separate right for each user. SiteAdmin does not automatically receive the right because bulk imports are a great way to mess up your data. You will need to grant it to whoever needs it.

Import New Devices

The function to Import New Devices is just that - it is only for adding new devices into the database. If you are attempting to relocate a device that is already in the database, you should use the Process Bulk Moves function for that, instead.

There is a brief screen asking for a file to upload and you can choose from anywhere that your local client (browser) can access. After hitting the Upload screen, you will then need to map columns in the spreadsheet to various columns in the import process. Columns may be in any order, but if you want to save time simply use the same order listed below and you won't have to map them.

The following fields may be imported, with fields requiring pre-existing values being in bold. The importer uses case insensitive searches (Server01 is the same as SERVER01).

  • Data Center ID - The name of the data center (not the numeric key).
  • Cabinet - The name/location of the cabinet (not the numeric key).
  • Position - The position within the cabinet. Collision checking is performed, so the destination space must be empty. Zero is allowed for zero-U devices.
    • Special note for blade/chassis devices. To specify a blade, you use the format of {Parent}.{Slot}. (don't forget the trailing dot) and the Parent may be part of the same spreadsheet as long as it appears in a row before the blade devices.
  • Label - The name to give the device.
  • Height - Zero is allowed, but there must be a column and value for every row.
  • Manufacturer - The name of the Manufacturer of the equipment.
  • Model - The model name of the device. A Device Template matching the Manufacturer + Model must already exist in openDCIM.
  • Hostname - The hostname or IP address of the device.
  • SerialNo - The Serial Number for the device.
  • AssetTag - The property number or asset tag for the device.
  • HalfDepth - A value of y, Y, or 1 will set this to true, indication that this device only takes half of the depth of the cabinet.
  • BackSide - A value of y, Y, or 1 will set this to true, indicating that this device is mounted from the rear of the cabinet.
  • ESX - A value of y, Y, or 1 will set this to true, indicating that this device is a VMWare ESX Hypervisor that should be polled for VM clients.
  • InstallDate - The date of the installation. Any valid date format should work (not US locale specific). If left blank, the current date will be used.
  • Reservation - A value of y, Y, or 1 will indicate that that this isn't physically installed, but it simply a reservation for a future installation.
  • Owner - The name of the department that is the owner of this device. This may be left blank, but if a value is present it must already exist in the database.
  • PrimaryContact - The name of the Primary Contact, given in LastName, FirstName format. This may be left blank, but if a value is present it must already exist in the database.
  • CustomTags - A comma separated list of tags to apply to the device. If the tag does not already exist, it will be created.


After mapping the spreadsheet columns to the fields, hit the Validate button and the page will run a pre-processing validation script. If you are submitting a large spreadsheet, this could take several seconds. It will go through the entire spreadsheet as if it were going to insert values, but not actually do so, as it is checking to ensure that all of the pre-existing data requirements have been met. If not, it will let you know what values need to be added to openDCIM before proceeding. If all requirements are met, there will be a Process button. Once you hit that button, data will be inserted into openDCIM. If any errors are encountered in the import, they will be displayed on the final screen.

Import Network Connections

The page for importing network connections works very much like the bulk importer, with a few basic exceptions. First and foremost, all of the devices and ports must match in the database. Secondly, any existing connections on the indicated ports will be overridden.

As with the Bulk Import operation, the first screen after uploading the import file will allow you to map columns of the spreadsheet to required fields.

To uniquely identify the devices, you may choose one of four fields to act as your key:

  • Label
  • Hostname/IP Address
  • Serial Number
  • Asset Tag

In addition to specifying which field will be searched for the devices (a selection on the import screen), the following fields must be mapped:

  • SourceDevice - The uniquely identifying value for the Source Device
  • SourcePort - The uniquely identifying port name for the Source Device. To specify the rear port of a patch panel, add |rear (that's a pipeline character) to the number.
  • TargetDevice - The uniquely identifying value for the Target Device
  • TargetPort - The uniquely identifying port name for the Target Device
  • Media Type - If a value is present, must be a valid MediaType in openDCIM
  • Color Code - If a value is present, must be a valid Color Code in openDCIM
  • Notes - Free form text that can be applied to the Notes field

Once you hit the Process button, the page will make the connections and display any rows of the spreadsheet that may not have been able to process correctly. Unlike the new device import operation, there is no validation check for the network operations.

Bulk Import of Cabinets

The page for importing cabinets works very much like the other bulk importers, but with less fields. First and foremost, all of the devices and ports must match in the database. Secondly, any existing connections on the indicated ports will be overridden.

As with the Bulk Device Import operation, the first screen after uploading the import file will allow you to map columns of the spreadsheet to required fields.

There is no single key field in Cabinets, like in the other imports. However, the following fields must contain valid data that matches up to existing entries (if specified).

  • Data Center
  • Owner
  • Zone
  • Row

Additionally, the Height field must be specified.

The remaining fields are optional:

  • Model
  • U1Position (Defaults to site-wide configuration value)
  • MaxKW
  • MaxWeight
  • X1
  • X2
  • Y1
  • Y2
  • FrontEdge

Once you hit the Process button, the page will attempt to import the data and display any rows of the spreadsheet that may not have been able to process correctly.

Process Bulk Moves

The final operation class for bulk import through an Excel spreadsheet is for Moves and Deletions. In terms of the columns required within the spreadsheet, this is the simplest of them all, but there are some special cases that are unique to this particular bulk operation.

Special Cases

If you wish to skip the lookup and simply migrate by the key field within the database (such as you get with the Export Data Center for CFD report, or via the API), then you may choose to use the DatabaseKey as your Key Field. This will short circuit the sanity check where the field is looked up in the database to ensure that it exists. Collision detection is still performed on the move location target, so you can still get an error from that case.

An additional feature allows you to transfer a device to a Data Center's virtual "Storage Room". To do this, you simply need to specify the Cabinet as "Storage Room" - it is not case sensitive, but the space between words is required.

Field Identification

As with the Network Connections bulk operations, you may choose one of four fields to act as your unique identifier key:

  • Label
  • Hostname/IP Address
  • Serial Number
  • Asset Tag
  • Database Key

All columns below are required to be mapped:

  • Device - The unique key (as chosen during the import operation) to identify the device to be moved or deleted.
  • Data Center - The destination Data Center name, which must exist in openDCIM and be a unique identifier. For rows pertaining to a delete operation, this column should be left blank.
  • Cabinet - The Location name of the cabinet, which must exist in openDCIM as a member of the specified data center. For rows pertaining to a delete operation, this column should be left blank.
  • Position - The numeric position indicator within the cabinet. For rows pertaining to a delete operation, this column should be left blank. Collision detection is performed, so any specified destinations must be available within the cabinet.
  • ProcessDate - The date to place in the InstallDate field of the device table. If left blank, the current date will be inserted. For rows pertaining to a delete operation, this column should be left blank.

Please be aware that once a device is deleted, there is no undo so extreme caution should be utilized with this operation.

Sample Bulk Upload Template Files

There are template spreadsheets available for you to use that simply have the column headers already in place. You are welcome to use them as a starting point for your own operations.

Bulk Device Import Template

Bulk Cabinet Import Template

Bulk Network Import Template

Bulk Move/Delete Import Template