As a developer, I understand the importance of automation tools in streamlining workflows and improving productivity. One such tool that has gained popularity in recent years is vRealize Orchestrator (vRO), previously known as VMware Aria Automation Orchestrator. vRO allows for seamless integration of various information systems built on different technologies and protocols, providing a unified system. In this blog post, I will discuss my experience with developing a plugin for oVirt, an open-source virtualization platform, to integrate it with vRO.
Background
———-
oVirt is an open-source virtualization platform that offers features similar to VMware vSphere. However, vRO does not have any built-in support for oVirt, and there are no ready-made plugins available from third-party developers. This lack of support posed a challenge for me as I wanted to work with different virtualization platforms within the same environment.
Developing the Plugin
————————
To integrate oVirt with vRO, I had two options:
1. Develop a plugin from scratch using vRealize Orchestrator Plug-in SDK and oVirt Java SDK.
2. Use an existing plugin for vSphere and modify it to work with oVirt.
I chose option 1, as it allowed me to customize the plugin to my specific needs and ensure a more seamless integration with oVirt. The development process was not without its challenges, primarily due to the lack of comprehensive documentation for vRO plug-in SDK. However, I was able to overcome these obstacles by leveraging online resources and experimenting with different approaches.
The plugin I developed supports the following features:
* Inventory discovery: The plugin can discover and list all the virtual machines (VMs) in oVirt.
* VM power operations: Users can power on, power off, or suspend VMs through vRO.
* VM reboot: Users can initiate a reboot of a VM directly from vRO.
* VM delete: Users can delete VMs directly from vRO.
The plugin also supports the use of tags to filter VMs based on their properties. For example, users can tag VMs by their department or project name, and then use these tags to filter the list of VMs in vRO.
Challenges and Future Improvements
————————————
During the development process, I encountered several challenges:
1. Lack of documentation: The lack of comprehensive documentation for vRO plug-in SDK made it difficult to understand certain aspects of the API.
2. Limited functionality: oVirt does not have a built-in feature to distribute VMs across different clusters, so the plugin had to rely on manual intervention to achieve this.
3. Inconsistencies in API structure: The APIs for vSphere and oVirt are structured differently, which made it challenging to implement a unified interface for both platforms.
To address these challenges, I plan to continue developing the plugin and expanding its functionality. I also hope to see more comprehensive documentation for vRO plug-in SDK in the future.
Conclusion
———-
In conclusion, integrating oVirt with vRO has been a rewarding experience that has taught me valuable lessons about the importance of documentation and the challenges of developing plugins for different platforms. While there are still limitations to the plugin’s functionality, I am confident that continued development will address these issues and provide a more seamless integration between oVirt and vRO.
I encourage readers to try out the plugin and provide feedback on any observed errors, missing features, or other suggestions. Your input will be invaluable in helping me improve the plugin and make it more useful for the community.
The plugin can be found on GitHub at