Hi, everyone,
I have a suggestion. we can use LDAP service to mange all openstak components and nodes(including physical nodes and vm nodes). 
Because ldap is easy to read and ldap can support DNS and DHCP service. if a node get ip address by DHCP server with ldap. You and get the Mac address information from the LDAP server. and if all components are communicated by domain name. all records are on the LDAP server. if the one node will change IP address, you can just modify on the ldap server. 
The ldap server can easy to backup and extend. use ldap command to export as a ldf file.   you can easy to backup before update configuration. if a new component will join, you can extend the schema by .sch file.