Building custom software solutions – How we integrated WHMCS and oVirt API for a web hosting provider
Many web hosting companies use a single interface such as WHMCS to manage support, billing, account, domain management, etc.
Our Dedicated Server Engineers support several web hosts that use WHMCS to manage accounts. Some of these companies use oVirt to sell VPS services.
These customers found it difficult to provision, monitor and manage customer VMs through WHMCS. This post is about how we resolved that requirement.
WHMCS – oVirt API integration – The requirements!
Recently, a web host we supported switched to oVirt to run their VPS hosting business.
They had WHMCS for billing, PRTG for monitoring and oVirt for VM management.
Having to use different interfaces every time was a bit inconvenient for the customers and the hosting provider wanted to avoid the overhead of managing user accounts in different software.
Our customer wanted to know the feasibility of having a single interface where his customers can be billed using the WHMCS packages and they can create their VMs using templates from the oVirt engine.
oVirt is a virtualization software and doesn’t come with a billing system, but it is possible to integrate it with common billing software like Blesta, HostBill, WHMCS, etc., with some custom coding using its API.
So we decided to build and integrate an oVirt Module into the WHMCS. After a detailed requirement analysis session with the client, our Project Manager summarized his requirements:
- The module should allow customers to create their VMs from their WHMCS account by using the templates from oVirt.
- Customers should have these features in their accounts – create, start, reboot, shutdown, console and suspend the VMs.
- Already existing oVirt VMs should list in the WHMCS and hosting provider should be able to edit them and assign to customers.
- Feature to assign a static IPs to the newly created VM using the WHMCS IP Manager module.
- Auto-provisioning feature – if a client pays for a VM package, there has to be a feature to provision the VM automatically.
How we integrated oVirt module into WHMCS using oVirt API
oVirt has a REST API package, which provides application programming interface for the oVirt engine. We decided to make use of this API functions for implementing the customer requirements.
oVirt API functions include features to list, create, start, stop, and do many other tasks related to the VMs. After identifying the required API functions, our next step was to create a WHMCS addon module.
We configured the WHMCS base addon module with the oVirt API settings. Using the appropriate API calls, we created a page to display the summary of oVirt account.
- The list displayed the VMs of oVirt in the newly created WHMCS addon page.
- Customers were given a page to view their VM instance details, and they were given options for these actions: Shutdown, Start, Stop, Reboot, Suspend and Unsuspend the VMs.
- For each VM, the complete details about it, such as NICs attached, disks attached, RAM, cores etc. would be listed.
- Customers were provided with a ‘Create VM’ form, so that they can create new VMs with the templates listed in the oVirt repository.
- The template list for VMs would show all the templates created in oVirt, and customers can choose the ones they want.
- To automate the provisioning of VM instances as soon as an order is placed, we added appropriate API URLs to the billing portal.
We built a prototype of the project in the development server first. Here is a sneak-peak into some feature pages that we developed as a part of our WHMCS oVirt API integration project:
Further, to integrate the oVirt VMs with the WHMCS client services, we implemented the following features too:
- We integrated the VMs with the WHMCS client packages, so that each VM is linked to an appropriate plan/service.
- When a client plan/service is suspended, the corresponding VM would also be suspended automatically.
- In each client area, their corresponding VMs and management options would be listed for them.
- As per their plan and privilege, customers are also given ‘Edit’ options to update their VM IP and other settings.
- For the VM auto-provisioning feature, we also added an option to make the settings editable, if required.
Once the customer reviewed the prototype and features, and tested the module in the development server and confirmed it fit well into his requirements, we went ahead and deployed the module in the live server.
[ Looking for oVirt experts to manage your server infrastructure? You are in the right place. Click here to see our dedicated support plans. ]
Additional features we implemented in the WHMCS oVirt module
In addition to the oVirt integration, we also implemented a feature to list VM performance graphs also in the WHMCS module. Customers could see the monitoring reports related to their VMs as graphs, in their portal.
The graphs were pulled from the PRTG network monitoring server and displayed for each parameter, such as bandwidth, CPU, memory, HDD etc. For newly added VMs, these graphs were updated correspondingly.
Along with these basic features, users could also be given options to ‘Scale’ up their VPS instances to add more resources such as storage, IP address, memory etc.
The ‘Backups’ feature was added to give options to configure automatic VPS backups on a daily, weekly and monthly manner. ‘Reports’ tab gave summary reports of the VPS performance and resource usage over chosen period of time.
Key benefits gained from WHMCS – oVirt integration
In addition to the ease of management, preventing obsolete and redundant entries, this new integrated system also reduced the manual intervention involved in order processing of new VMs.
Making the pre-configured VM templates available in their WHMCS portals, enabled web-hosting provider to let his customers go live as soon as their order is processed and helped him garner more business in no time.
In addition to the integration feature implemented by our software development team, our server management team helps to maintain these VM templates regularly with software updates and vulnerability patches.
The modules were developed with the scope of expansion and further feature additions, if required. Bobcares’ expertise in various billing portals and management software, help us integrate these systems in very less time.
If you’d like to get a custom quote for integrating your VM management portal or other software systems into your billing system to make things easier for you and your customers, contact us now.