Skip to content
OpenDCIM to Device42 migration script
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

OpenDCIM to Device42 Migration

Device42 is a comprehensive data center inventory management and IP Address management software that integrates centralized password management, impact charts and applications mappings with IT asset management.

This script migrates data (models:building, room, rack, hardware, device, ip) from OpenDCIM to Device42.


* python 2.7.x
* pymysql (you can install it with pip install pymysql)
* requests (you can install it with pip install requests or apt-get install python-requests)
* allow remote connections to OpenDCIM MySQL port

Any missing requirements should be able to be installed with pip (ie, pip install pymysql) or your package manager (ie, apt-get install python-pymysql)


In, modify the MySQL Source and Device42 upload settings to fit your environment.

# ====== MySQL Source (OpenDCIM) ====== #
DB_IP = 'OpenDCIM server IP'
DB_NAME = 'OpenDCIM database name'
DB_USER = 'OpenDCIM database user'
DB_PWD = 'OpenDCIM database password'
# ====== Log settings  ==================== #
LOGFILE = 'migration.log'
DEBUG = True  # write debug log
# ====== Device42 upload settings ========= #
D42_USER = 'device42 user'
D42_PWD = 'device42 password'
D42_URL = 'https:// device42 server IP address'
DRY_RUN = False # if True we don't send any REST requests

Run the script and enjoy! (python If you have any questions - feel free to reach out to us at support at


* Script runs on Linux and Windows


* Order of function calls in main() function is important. Do not change it!
  For example: subnets must be migrated before IP addresses in order for addresses to join appropriate subnets.
* Devices that are not based on device template are not going to be migrated
* TemplateID (openDCIM) == Hardware Model (Device42)
* Racks without height, are not going to be migrated
You can’t perform that action at this time.