OpenStack Projects For WHMCS
Contents |
About OpenStack Projects For WHMCS
OpenStack Projects For WHMCS is a module that will allow you to provision virtual projects to your customers in a fully automatic manner. The module has been designed in such a way that your customers can place orders and overview them in the client area. As an administrator, you are equipped with all key features to keep track of your customers’ projects. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate OpenStack Projects |
✔ Change Package |
✔ Log In To Panel |
✔ View Created Project/User/Domain IDs |
✔ Set Up Project Configuration: |
✔ Define Default Domain |
✔ Define Client Projects Mode: |
✔ Default |
✔ Only One Domain Per Client |
✔ With Domain Permissions |
✔ Without Domain Permissions |
✔ Only One Domain And User Per Client |
✔ Define User Roles |
✔ Provide OpenStack Panel Web Address |
✔ Provide Default Domain/Project/User Name |
✔ Select WHMCS Domain Filed Content: |
✔ Project Name |
✔ Domain Name |
✔ Disabled |
✔ Select Client Area Login Information |
✔ Toggle Logging API Requests |
✔ Set Up Limits For: |
✔ Compute |
✔ Block Storage |
✔ Network |
✔ Load Balancer |
✔ Container Infrastructure |
✔ Kubernetes |
✔ Traits (OpenStack) / Placement Groups (Virtuozzo) |
✔ QoS Policy - Minimum Bandwidth Rate Rules |
✔ QoS Policy - Maximum Bandwidth Limit Rules |
✔ Set Up Module Custom Webhooks |
✔ Generate Configurable Options |
✔ Run Server Connection Test |
- Client Area Features:
✔ View Project Details: |
✔ Web Address |
✔ Domain |
✔ Username |
✔ Password |
✔ Log In To Panel |
- Configurable Options:
✔ Backup Gigabytes |
✔ Backups |
✔ Cores |
✔ Fixed IP Addresses |
✔ Floating IP Address |
✔ Floating IP Addresses |
✔ Gigabytes |
✔ Groups |
✔ Hard Limit |
✔ Health Monitor |
✔ Injected File Content [Bytes] |
✔ Injected File Path [Bytes] |
✔ Injected Files |
✔ Instances |
✔ Key Pairs |
✔ Listener |
✔ Load Balancer |
✔ Member |
✔ Metadata Items |
✔ Network |
✔ Per Volume Gigabytes |
✔ Pool |
✔ Port |
✔ QoS Minimum Bandwidth Rates Rules |
✔ QoS Maximum Bandwidth Limit Rules |
✔ RAM [MB] |
✔ Role-based Access Control Policy (RBAC Policy) |
✔ Router |
✔ Security Group |
✔ Security Group Rule |
✔ Security Group Rules |
✔ Security Groups |
✔ Server Group Members |
✔ Server Groups |
✔ Snapshots |
✔ Subnet |
✔ Subnet Pool |
✔ Traits (OpenStack) / Placement Groups (Virtuozzo) |
✔ Volumes |
- Required Components:
✔ Gnocchi (Required For Billing) |
- General Info:
✔ Integrated With Advanced Billing For WHMCS - Actual Project Resource Usage Billing |
✔ Integrated With Products Reseller For WHMCS - End-To-End Solution For Products And Servers Reselling |
✔ Multi-Language Support |
✔ Supports OpenStack Victoria and Previous |
✔ Supports OpenStack Gnocchi |
✔ Supports Virtuozzo Hybrid Infrastructure |
✔ Supports PHP 7.2 Up To PHP 7.4 |
✔ Supports WHMCS Metric Billing - Integration: CPU, Compute Instance Booting Time, Disk Device Read Bytes, Disk Device Read Requests, Disk Device Write Bytes, Disk Device Write Requests, Disk Ephemeral Size, Disk Root Size, Memory, Memory Usage, Network Incoming Bytes, Network Incoming Packets, Network Outgoing Bytes, Network Outgoing Packets, OS Images, VCPUs, Volume Size, Volumes Usage |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.2 And Later |
✔ Easy Module Upgrade To Open Source Version |
Installation and Configuration
This tutorial will show you how to successfully install and configure OpenStack Projects For WHMCS smoothly. We will guide you step by step through the whole installation and configuration process. |
Installation
1. Log in to our client area and download the module. |
2. Upload and extract the extension into the main WHMCS directory. Extracted files in your WHMCS directory should look like this: |
3. When you install OpenStack Projects For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. The file is located in '/yourWHMCS/modules/servers/OpenStackProjects/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
4. In order to configure your license key, you have to edit the previously renamed 'license.php' file. Enter your license key between the quotation marks as presented on the following screen. |
5. Now, set up the 'storage' folder as recursively writable. This folder is available at '/yourWHMCS/modules/servers/OpenStackProjects/'. |
Configuration of Server
Before you can go on, you need to copy your 'API Details' . You will need them to connect with the server successfully. Proceed to your 'OpenStack' panel. All necessary information will be found in the 'View Credentials' section under 'API Access' . |
6. Now, log in to your WHMCS and proceed to 'Setup' → 'Products/Services' → 'Servers' and press 'Add New Server'. |
7. Next, enter your server 'Name' , 'Hostname' , 'IP Address' and select 'Openstack Projects' from the 'Module' field. Now, provide your 'OpenStack Server Details' . To download the 'Identity Version' , you need to click 'Get Versions' next to 'Identity Port/Path' . |
Integration with Virtuozzo Hybrid Infrastructure If you you use Virtuozzo Hybrid Infrastructure (VHI) – OpenStack from Virtuozzo, please use the following guide: 1. WHMCS server must have access to VHI OpenStack API, please open the required ports according to the guide 2. Configure OpenStack endpoint OpenStack endpoint 3. Use system admin or domain admin credentials to access the cluster from WHMCS side:
Use the above data to fill out the server creation form in the WHMCS admin area. |
8. It is time to create a server group. To do so, click on 'Create New Group' . |
9. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' . |
Configuration of Product
10. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services'. Click on 'Create a New Group'. |
11. Enter your product group name and press 'Save Changes'. |
12. Once you have a product group, you can create a new product. To do so, first click on 'Create a New Product'. |
13. Afterward, choose your product type, enter your product name, choose module and the product group from the dropdown menus. Press 'Continue'. |
14. Now, go to the 'Module Settings' section, choose your previously created server group from the dropdown menu. If you did not set the proper permissions, you will be asked to do it now. |
15. Now, let's start configuring the settings. Configuration:
|
Compute, Block-Storage, Network, Load Balancer, Container Infrastructure, Traits, QoS Policy: 'Minimum Bandwidth Rate Rules' and 'Bandwidth Limit Rules' - |
Module Custom Web Hooks - here you may add the URL with WHMCS parameters to perform additional actions after the create/suspend/unsuspend/terminate/change package actions. |
16. At the end of the configuration process, you can enable the 'Metric Billing' and decide whether you want to generate configurable options for the product. Configurable options can be used by your clients to select each virtual machine parameters individually during order placement. |
Now, select which options you want to generate and confirm by clicking 'Create' . Note that the configuration for disabled options will still be taken from the configuration of the main product. More information about how to use configurable options can be found here or in the official WHMCS documentation. |
User Roles Configuration
Roles, or in other words permissions, in OpenStack can be assigned to users, they can be associated with either a domain or a project.
|
Move to 'Products/Services' → 'Module Settings' → 'Configuration'. There you will find all the options associated with the roles configuration: |
|
Important: When upgrading from 1.3.0 to 1.4.0 module version and you do not save changes in the module settings the roles will work as in the previous version. |
Management
Admin Area
OpenStack Projects For WHMCS allows you to supervise and manage your customer products from the admin area of your WHMCS system. This includes supervision of such features as:
|
Ordering
Thanks to configurable options, you are able to offer a product which your clients can match to their needs. Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive. |
Client Area
The client area interface of OpenStack Projects For WHMCS looks like below. As you can see, you may easily redirect to the 'OpenStack' login page. Moreover, you can check the 'Configurable Options ' and 'Metrics Billing' |
Tips
1. Please remember that if you integrate OpenStack Projects For WHMCS with Advanced Billing For WHMCS, the cron task should be set no more than once for an hour. |
2. Metrics can be calculated basing on total or average usage for a given period of time. You can edit this in the following file:
/yourWHMCS/modules/servers/OpenstackProjects/app/Config/configuration.yml Find the 'averageBilling' option and set:
|
Update Instructions
An essential guidance through the process of updating the module is offered here. Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price! |
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |