A non-transitory computer-readable medium comprising instruction executable in a computer system, wherein the instructions when executed in the computer system cause the computer system to carry out a method of collecting and reporting inventory of resources deployed in a first data center to a central orchestrator that is tracking inventory of resources deployed across a plurality of data centers, wherein the first data center is one of the plurality of data centers and includes hardware resources, a virtualization management server that is running a virtualization management software to provision virtual resources from the hardware resources, and a cloud management server running a cloud computing management software to provision the virtual resources for a plurality of tenants of the first data center, said method comprising:
- executing a first API call to the virtualization management software to collect first inventory of virtual resources deployed in the first data center and a second API call to the cloud computing management software to collect second inventory of virtual resources deployed in the first data center;
- storing the first inventory and the second inventory;
- and
- in response to an inventory request from the central orchestrator, initially sending a subset of the stored first inventory and the stored second inventory to the central orchestrator in accordance with parameters included in the inventory request, and thereafter sending updates to the subset to the central orchestrator periodically.