OpenStack Projects For WHMCS
(62 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<meta name="keywords" content="<meta name="keywords" content="openstack projects for whmcs, openstack projects configuration, whmcs openstack projects management, whmcs openstack projects installation, whmcs openstack projects common problems, about whmcs openstack projects, whmcs openstack projects documentation, whmcs openstack projects faq, whmcs openstack projects help, whmcs openstack projects guide, whmcs openstack projects wiki, whmcs openstack projects tutorial, whmcs openstack projects tips, whmcs openstack projects wiki"> | <meta name="keywords" content="<meta name="keywords" content="openstack projects for whmcs, openstack projects configuration, whmcs openstack projects management, whmcs openstack projects installation, whmcs openstack projects common problems, about whmcs openstack projects, whmcs openstack projects documentation, whmcs openstack projects faq, whmcs openstack projects help, whmcs openstack projects guide, whmcs openstack projects wiki, whmcs openstack projects tutorial, whmcs openstack projects tips, whmcs openstack projects wiki"> | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack Projects For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack Projects For WHMCS Module."></meta> | ||
+ | |||
+ | <h4 style="color: #ff0000; font-weight:bold; text-align:center;">Are you going to update your module to version 1.8.X?<br/> | ||
+ | Be sure to review our tips in "[[#Update_Instructions|Update Instructions]]" to prevent any potential issues</h4> | ||
=About [https://www.modulesgarden.com/products/whmcs/openstack-projects OpenStack Projects For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/openstack-projects OpenStack Projects For WHMCS]= | ||
Line 12: | Line 15: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Change Package | + | |style="padding: 0px 0px 0px 30px;"|✔ Change Package/Password |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Log In To Panel | + | |style="padding: 0px 0px 0px 30px;"|✔ Log In To Panel: |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ With Single Sign-On Support To Virtuozzo Hybrid Infrastructure | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ View Created Project/User/Domain IDs | |style="padding: 0px 0px 0px 30px;"|✔ View Created Project/User/Domain IDs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View Scheduled Tasks | ||
|} | |} | ||
{| | {| | ||
Line 46: | Line 55: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Define User Roles | |style="padding: 0px 0px 0px 45px;"|✔ Define User Roles | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Hide User Password In Client Area | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Inherit Domain Roles | ||
|} | |} | ||
{| | {| | ||
Line 54: | Line 69: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Select WHMCS Domain | + | |style="padding: 0px 0px 0px 45px;"|✔ Select WHMCS Domain Field Content: |
|} | |} | ||
{| | {| | ||
Line 70: | Line 85: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Logging API Requests | |style="padding: 0px 0px 0px 45px;"|✔ Toggle Logging API Requests | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Enable Login Restrictions | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Toggle Password Removal After Project Creation | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Toggle Opening Management Panel In New Window | ||
|} | |} | ||
{| | {| | ||
Line 102: | Line 126: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Set Up Module Custom | + | |style="padding: 0px 0px 0px 30px;"|✔ Set Up Module Custom Web And Shell Hooks |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Set Up Usage Billing Settings | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Set Up Configurable Options Settings | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Generate Configurable Options | |style="padding: 0px 0px 0px 30px;"|✔ Generate Configurable Options | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Set Up OpenID Connect For Single Sign-On To Virtuozzo Hybrid Infrastructure | ||
|} | |} | ||
{| | {| | ||
Line 128: | Line 161: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ View Project Servers |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Manage Login Restrictions: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Enable Temporary Passwords Valid Only For Predefined Time | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Secure User Accounts To Prevent Access | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Log In To Panel | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ With Single Sign-On Support To Virtuozzo Hybrid Infrastructure | ||
|} | |} | ||
Line 266: | Line 314: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports OpenStack | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports Latest Stable OpenStack and Previous |
|} | |} | ||
{| | {| | ||
Line 275: | Line 323: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 7.4 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ 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, | + | |style="padding: 0px 0px 0px 30px;"|✔ 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, Floating IP Addresses, IP Addresses, Load Balancers, Memory, Memory Usage, Network Incoming Bytes, Network Incoming Packets, Network Outgoing Bytes, Network Outgoing Packets, OS Images, VCPUs, Volume Size, Volumes Usage |
|} | |} | ||
{| | {| | ||
Line 284: | Line 332: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/openstack-projects#open-source-version Open Source Version] | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/openstack-projects#open-source-version Open Source Version] | ||
|} | |} | ||
Line 329: | Line 380: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_5.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br /> | ||
+ | Log in to your WHMCS administrator area. Go to '' 'System Settings' '' → '' 'Addon Modules'. ''<br /> | ||
+ | Afterwards, find '' 'OpenStack Projects' '' and press '' 'Activate' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_5_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step, you need to permit access to the module.'''<br /> | ||
+ | To do so, click on the'' 'Configure' '' button, select administrator groups that should have access to this addon and press '' 'Save Changes'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_5_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''8. Finally, set up the cron command line provided below and define its frequency (1 minute interval is suggested).''' | ||
+ | php -q /yourWHMCS/modules/servers/OpenstackProjects/cron/cron.php queue | ||
+ | This enables tasks such as '' 'suspend resources,' '' '' 'unsuspend resources,' '' '' 'terminate resources,' '' and '' 'lock account' '' to queue and run. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|'''9. You have just successfully installed OpenStack Projects For WHMCS!'''<br /> | ||
+ | You can access your module under '' 'Addons' '' → '' 'OpenStack Projects'. '' | ||
+ | |} | ||
+ | <!-- | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_5_4.png]] | ||
|} | |} | ||
+ | --> | ||
==Configuration of Server== | ==Configuration of Server== | ||
Line 352: | Line 432: | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:OSP_8.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_8.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Integration with Virtuozzo Hybrid Infrastructure'''<br/> | ||
+ | If you you use Virtuozzo Hybrid Infrastructure (VHI) – OpenStack from Virtuozzo, please use the following guide:<br/> | ||
+ | |||
+ | '''1.''' WHMCS server must have access to VHI OpenStack API, please open the required ports according to the [https://docs.virtuozzo.com/virtuozzo_hybrid_infrastructure_5_1_admins_guide/index.html#network-ports.html guide] <br/> | ||
+ | |||
+ | '''2.''' Configure OpenStack endpoint [https://docs.virtuozzo.com/virtuozzo_hybrid_infrastructure_5_1_admins_guide/index.html#setting-dns-name-for-the-compute-api.html OpenStack endpoint] <br/> | ||
+ | |||
+ | '''3.''' Use system admin or domain admin credentials to access the cluster from WHMCS side: | ||
+ | |||
+ | * '''Name:''' any name | ||
+ | |||
+ | * '''Hostname:''' VHI domain name | ||
+ | |||
+ | * '''Module:''' OpenStack Projects | ||
+ | |||
+ | * '''Username:''' admin | ||
+ | |||
+ | * '''Identity Port/Path:''' 5000 | ||
+ | |||
+ | * '''Identity Version:''' V3 | ||
+ | |||
+ | * '''Domain:''' Default | ||
+ | |||
+ | * '''Project ID:''' ID of the “admin” project from the Default domain | ||
+ | |||
+ | * '''Secure:''' Yes <br/> | ||
+ | |||
+ | Use the above data to fill out the server creation form in the WHMCS admin area. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_8_1.png]] | ||
|} | |} | ||
{| | {| | ||
Line 360: | Line 473: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''9. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes' ''.''' | + | |style="padding: 0px 0px 20px 15px;"|'''9. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes' ''.'''<br/> |
+ | '''''Important:''' Please '''do not''' add more than one server into a single server group, as the module always fetches data from the first server listed in the group.<br/> It is recommended to create one group per server configuration to prevent potential issues.'' | ||
|} | |} | ||
{| | {| | ||
Line 403: | Line 517: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''15. Now, let's start configuring the settings.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''15. Now, let's start configuring the settings.'''<br /> | ||
+ | '''''Note:''' The below description refers to the "VHI" product configuration.'' <br /> | ||
+ | |||
'' '''Configuration:''' '' | '' '''Configuration:''' '' | ||
* '''Default Domain''' - choose a default domain for new projects based on this product. | * '''Default Domain''' - choose a default domain for new projects based on this product. | ||
* '''Client Projects Mode''' - select a preferred mode that defines how new hostings will be created. | * '''Client Projects Mode''' - select a preferred mode that defines how new hostings will be created. | ||
− | * '''Project User Roles''' - define default roles for a new user. | + | * '''Project User Roles''' - define default roles for a new user. Keep in mind that the choice of roles determines the level of allowed permissions. For example, select the ''image_upload'' role if you wish to be allowed to upload OS images. |
** '''Inherit Domain Roles''' - enable if the Domain User Role should be inherited from the Project User Roles or defined separately.<br/> Note that this option is dependent on the '' 'Default Domain' '' setting. More about User Roles can be found [[#User_Roles_Configuration|here]]. | ** '''Inherit Domain Roles''' - enable if the Domain User Role should be inherited from the Project User Roles or defined separately.<br/> Note that this option is dependent on the '' 'Default Domain' '' setting. More about User Roles can be found [[#User_Roles_Configuration|here]]. | ||
− | ** '''Domain User Roles''' - if the above '' 'Inherit Domain Roles' '' is disabled, this setting appears; here you may choose a default role in the domain for a new user based on this product.<br/> This setting, if not left empty, overwrites the '' 'with and without domain permissions' '' selections in the '' 'Client Projects Mode' '' option | + | ** '''Domain User Roles''' - if the above '' 'Inherit Domain Roles' '' is disabled, this setting appears; here you may choose a default role in the domain for a new user based on this product.<br/> This setting, if not left empty, overwrites the '' 'with and without domain permissions' '' selections in the '' 'Client Projects Mode' '' option. |
+ | |||
+ | * '''Hide User Password''' - enable to hide the user password after project creation, the feature is particularly useful for authentication with the OpenID protocol. | ||
* '''OpenStack Panel Web Address''' - is the web address for the login page to the OpenStack panel. | * '''OpenStack Panel Web Address''' - is the web address for the login page to the OpenStack panel. | ||
− | * '''Default Domain Name''' - enter a domain that will be used when the domain name is not provided. Available variables: ''{clientId}, {serviceId}'' and ''{rand}'' | + | * '''Default Domain Name''' - enter a domain that will be used when the domain name is not provided. Available variables: ''{clientId}, {serviceId}'' and ''{rand}''. |
− | * '''Default Project Name''' - enter a project name that will be used when creating a new project. If left empty, the domain name will be used instead. Available variables: ''{clientId}, {serviceId}'' and ''{rand}'' | + | * '''Default Project Name''' - enter a project name that will be used when creating a new project. If left empty, the domain name will be used instead. Available variables: ''{clientId}, {serviceId}'' and ''{rand}''. |
− | * '''Default User Name''' - enter a user name that will be used when creating a new user. Available variables: ''{clientId}, {serviceId}'' and ''{rand}'' | + | * '''Default User Name''' - enter a user name that will be used when creating a new user. Available variables: ''{clientId}, {serviceId}'' and ''{rand}''. |
− | * '''Domain Field Content''' - specify the content data that will overwrite the WHMCS Domain Field | + | * '''Domain Field Content''' - specify the content data that will overwrite the WHMCS Domain Field. |
* '''Client Area Login Information''' - select which of the login elements should be visible in the "Server Information" table in the client area. Choose from: ''username, password, domain'' and ''web address.'' | * '''Client Area Login Information''' - select which of the login elements should be visible in the "Server Information" table in the client area. Choose from: ''username, password, domain'' and ''web address.'' | ||
− | * '''Log API Requests''' - if you enable, information on API requests will be stored in the 'Module Log' section in your WHMCS | + | * '''Log API Requests''' - if you enable, information on API requests will be stored in the 'Module Log' section in your WHMCS. |
+ | * '''Login Restrictions''' - this enables a feature, that enhances security by only issuing temporary passwords which ensure access is granted only for as long as it is needed. | ||
+ | * '''Remove Password''' - if enabled, the password will be removed from the database as soon as the project is created. | ||
<!-- | <!-- | ||
− | * '''Overwrite WHMCS Domain''' - if enabled, during create action, the domain assigned to hosting in WHMCS will be overwritten with the domain name assigned to the project in the OpenStack panel. | + | * '''Overwrite WHMCS Domain''' - if enabled, during the create action, the domain assigned to hosting in WHMCS will be overwritten with the domain name assigned to the project in the OpenStack panel. |
− | * '''Show Domain ''' - if you enable, the domain will be visible in the client area.--> | + | * '''Show Domain ''' - if you enable it, the domain will be visible in the client area.--> |
|} | |} | ||
{| | {| | ||
Line 439: | Line 559: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''16. At the end of the configuration process, you can enable | + | |style="padding: 0px 0px 20px 15px;"| |
− | Configurable options can be used by your clients to select each virtual machine | + | '' '''Module Custom Shell Hooks''' '' - enter the commands with WHMCS parameters to perform additional actions after the ''create/suspend/unsuspend/terminate/change package'' actions.<br/> |
− | If you decide to use configurable options, select the configurable options unit and then press the 'Create Configurable Options' button. | + | Please refer to the following section to correctly set up the [[#OpenID_Configuration_.28VHI.29|openID configuration]] to connect to VHI correctly. |
+ | |||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_16_0.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''16. Optionally, you may configure the "Usage Billing Settings" that will be utilized for the Advanced Billing For WHMCS integration.'''<br/> | ||
+ | Select specific networks and IP address versions for custom parameter calculations. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_16_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''17. At the end of the configuration process, you can enable '' 'Metric Billing' '' and decide whether you want to generate configurable options for the product.'''<br/> | ||
+ | |||
+ | Configurable options can be used by your clients to select each virtual machine parameter individually during order placement.<br/> Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.<br/> If you decide to use configurable options, select the configurable options unit and then press the 'Create Configurable Options' button.<br/> | ||
+ | |||
+ | There is also an '' 'Alternative Mode' '' available, which changes the way the configurable options values are verified and calculated. <br/> Select single configurable options and their values will be summed with the default product configuration values instead of overwriting them. | ||
|} | |} | ||
{| | {| | ||
Line 481: | Line 619: | ||
**'''Only one domain and user per client''' - the first service of the client creates a domain and a user, every next service creates a project only within the existing domain | **'''Only one domain and user per client''' - the first service of the client creates a domain and a user, every next service creates a project only within the existing domain | ||
− | *'''Project User Roles''' - assigning project roles to a user | + | *'''Project User Roles''' - assigning project roles to a user, for example you need to select here the "image_upload" role to allow uploading images |
*'''Inherit Domain Roles''' - if enabled, the user has the same roles assigned for both the domain and for the project | *'''Inherit Domain Roles''' - if enabled, the user has the same roles assigned for both the domain and for the project | ||
Line 492: | Line 630: | ||
=Management= | =Management= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|'''OpenStack Projects For WHMCS is a module that will allow you to provision virtual projects to your customers in a fully automatic manner.''' <br/> | ||
+ | Check the manual below to learn how to configure the module to take all the advantages it has to offer. | ||
+ | |} | ||
+ | ==Addon Module== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|While management of specific projects mostly takes place in the admin area, functions that affect the whole module can be found in the addon.<br /> See the section below for an in depth explanation of each of them. | ||
+ | |||
+ | |} | ||
+ | ===Queue=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Cron job tasks sent to the server through the module can be viewed and managed here. <br/> The basic information includes: | ||
+ | *'''ID''' - identification number unique to each task. | ||
+ | *'''Related Item''' - the product related to the task. Clicking on it will take you to its product page. | ||
+ | *'''Status''' - the current status of the task (finished, running, pending, waiting or error). | ||
+ | *'''Task''' - specific action that the task attempts to run, these are: | ||
+ | ** Lock Account | ||
+ | ** Suspend Resources | ||
+ | ** Unsuspend Resources | ||
+ | ** Terminate Resources | ||
+ | *'''Attempts''' - the number of times the task was attempted. | ||
+ | *'''Created At''' - the date when the task was first created. | ||
+ | *'''Updated At''' - the date when the status of the task was last updated. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_18_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| On the right side of the tasks list you will find the action buttons. These are in order: | ||
+ | *'''Details''' - access more in-depth information about the task, including error logs. | ||
+ | *'''Run''' - attempt to run the task one more time. | ||
+ | *'''Delete''' - remove the task from the queue and the list. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_18_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"| Moreover, you can change additional settings by clicking on the three dots above the basic actions. | ||
+ | *'''Auto Prune''' - toggle the switch on to enable the task auto prune feature, which will delete the tasks after the specified time has passed. | ||
+ | *''' Auto Prune Older Than''' - specify the number of days that have to pass before a task is automatically pruned. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_18_6.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"| Remember to make use of the search bar when you need to find a specific task, and the mass action feature, when you need to delete multiple tasks at once. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_18_4.png]] | ||
+ | |} | ||
+ | |||
+ | ===[https://www.docs.modulesgarden.com/Translations_Tool Translations]=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/> | ||
+ | Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it [https://www.docs.modulesgarden.com/Translations_Tool here]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_18_5.png]] | ||
+ | |} | ||
+ | |||
==Admin Area== | ==Admin Area== | ||
{| | {| | ||
Line 497: | Line 695: | ||
This includes supervision of such features as: | This includes supervision of such features as: | ||
* Log In To Control Panel – redirecting to the OpenStack login page. | * Log In To Control Panel – redirecting to the OpenStack login page. | ||
− | * Configurable options | + | * Configurable options that enable you to view the chosen server details ''(if applicable)'' |
− | * Module commands to allow easy and quick management of the server | + | * Module commands to allow easy and quick management of the server |
** Create – creating a new user, a new project with a set of limits. | ** Create – creating a new user, a new project with a set of limits. | ||
** Suspend – unassigning a project from the user to prevent a user from managing their resources. | ** Suspend – unassigning a project from the user to prevent a user from managing their resources. | ||
** Unsuspend – assigning back a project from a user. | ** Unsuspend – assigning back a project from a user. | ||
− | ** Terminate – removing a project and removing a user (if they do not have any other projects assigned at OpenStack).<br/> '''Important!''' From the 1.1.0 version of the module, the following cron command is required to terminate a project ('''5-minute interval suggested'''). <br/> Do not forget to replace 'yourWHMCS' with your WHMCS root location. <pre> php -q /yourWHMCS/modules/servers/OpenstackProjects/cron/cron.php queue </pre> | + | ** Terminate – removing a project and removing a user (if they do not have any other projects assigned at OpenStack).<br/> <!-- '''Important!''' From the 1.1.0 version of the module, the following cron command is required to terminate a project ('''5-minute interval suggested'''). <br/> Do not forget to replace 'yourWHMCS' with your WHMCS root location. <pre> php -q /yourWHMCS/modules/servers/OpenstackProjects/cron/cron.php queue </pre> --> |
** Change Package – upgrading resources of the project. | ** Change Package – upgrading resources of the project. | ||
+ | ** Change Password – changing the password of the main user in the project. <br /> ''Note: To change the password input the new password in the 'Password' field, scroll down to the bottom of the page to 'Save Changes' and when the page reloads, click on 'Change Password'.'' | ||
* Scheduled Tasks - data on all scheduled tasks, their status, attempts, and dates | * Scheduled Tasks - data on all scheduled tasks, their status, attempts, and dates | ||
* Metric Statistics - the section is completed with all metrics the module can observe. | * Metric Statistics - the section is completed with all metrics the module can observe. | ||
Line 511: | Line 710: | ||
|} | |} | ||
− | ==Ordering== | + | ==Ordering New Projects== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Thanks to configurable options, you are able to offer a product | + | |style="padding: 10px 0px 15px 15px;"|Thanks to configurable options, you are able to offer a product that your clients can match to their needs.<br />Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive. |
− | + | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:OSP_20.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_20.png]] | ||
|} | |} | ||
+ | |||
+ | ==Importing Existing Project== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|You can easily import existing projects into the module by following the instructions provided below:<br/> | ||
+ | 1. Find a client to whom you want to assign a project. <br/> | ||
+ | 2. Create a new service, but do not use the '' 'Create' '' action.<br/> | ||
+ | 3. Edit the service by entering the information in every field highlighted in the image below, besides the Dedicated IP.<br/> | ||
+ | 4. Ensure that product settings mirror the ones set up on the OpenStack side.<br/> | ||
+ | 5. Change the service status to active.<br/> | ||
+ | 6. Press the '' 'Save Changes' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_20_1.png]] | ||
+ | |} | ||
+ | |||
==Client Area== | ==Client Area== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|The client area interface of OpenStack Projects For WHMCS looks like | + | |style="padding: 10px 0px 15px 15px;"|The client area interface of OpenStack Projects For WHMCS looks like this.<br /> |
+ | As you can see, you may easily be redirected to the '' 'OpenStack' '' login page. Moreover, you can check the '' 'Configurable Options'' ' and '' 'Metrics Billing'. ''<br /> | ||
+ | At the bottom of the page, you may find the '' 'Project Servers' '' list, which allows you to tell each server's status at a glance. <br /> | ||
+ | You can change your password by clicking on the button under '' 'Actions' '' in the side menu. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_21.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|If the '' 'Login Restrictions'' feature is enabled for your product, you will also find an additional quick access shortcut.<br /> | ||
+ | * '''Secure Account''' - use the lock icon to secure the user account to make it inaccessible until an administrator manually intervenes to reset the password or restore user access. | ||
+ | * '''Temporary Access''' - use the key icon to generate a password for the user, that will work only for a specified time. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_21_2.png]] | ||
+ | |} | ||
+ | |||
+ | ==OpenID Configuration (VHI)== | ||
+ | ===Customer Domain=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Follow the below instruction step by step to allow adding OpenID configuration automatically:<br/> | ||
+ | '''1.''' Configure OpenID in WHMCS, read the [https://docs.whmcs.com/OpenID_Connect following article] to learn how to proceed.<br/> | ||
+ | '''2.''' Open file: '''''vhi-integration/vinfra-cmd''''' and enter the below enumerated data: | ||
+ | |||
+ | ### VHI ACCESS DETAILS | ||
+ | export VINFRA_PORTAL= | ||
+ | export VINFRA_USERNAME= | ||
+ | export VINFRA_PASSWORD="" | ||
+ | export VINFRA_PROJECT="" | ||
+ | |||
+ | ### WHMCS OPENID CONFIGURATION | ||
+ | ISSUER="" | ||
+ | CLIENT_ID="" | ||
+ | CLIENT_SECRET="" | ||
+ | |||
+ | '''3.''' Move to the product '' 'Module settings' → 'Module Custom Shell Hooks' '' section. There add content to the '' 'Create' '' and ' ''Terminate' '' actions, for example:<br/> | ||
+ | '''Create:''' | ||
+ | /home/yourWHMCS/vhi-integration/vinfra-cmd -d {$customfields.DomainName} -a create -n {$customfields.DomainName} | ||
+ | |||
+ | '''Terminate:''' | ||
+ | /home/yourWHMCS/vhi-integration/vinfra-cmd -d {$customfields.DomainName} -a delete -n {$customfields.DomainName} | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|'''4.''' Again, in the '' 'Module Settings → 'Configuration' → 'Default Domain' '' select the '''Create New One''' option. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_0.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| | ||
+ | '''5.''' Run '' 'Create' '' module command. <br/> | ||
+ | '''6.''' Press the '' 'Log into Panel ' '' button, and you will be redirected to the "Sign in" pop-up, press ''Sign in with 'your_user_name'.''<br/> | ||
+ | |||
+ | '''''Important:''' You must have the ''vinfra'' program installed in ''/usr/bin'' catalog. Please contact the Virtuozzo team to get it.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_6.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Additional steps required:''' | ||
+ | '''1.''' OpenID Connect → Authorized Redirect URIs. Type in the VHI address that connects to your WHMCS, use the formula: | ||
+ | <nowiki>https://VHI_DOMAIN:8800</nowiki> | ||
+ | and/or | ||
+ | <nowiki>https://VHI_DOMAIN:8800/api/v2/login/idp/</nowiki> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''2.''' Add the below lines to the ''.htaccess'' file: | ||
+ | Order allow,deny | ||
+ | Allow from 138.128.150.246 | ||
+ | Allow from 192.168.5.91 | ||
+ | satisfy any | ||
+ | |||
+ | |||
+ | RewriteEngine On | ||
+ | RewriteRule ^.well-known/openid-configuration ./oauth/openid-configuration.php [L,NC] | ||
+ | |||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|'''3.''' Domain and WHMCS system URLs must have '''https''' protocol: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|'''4.''' Enter the login link into the OpenStack Panel web address | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_22_4.png]] | ||
+ | |} | ||
+ | ===Predefined Domain=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Follow the below instruction step by step to use a predefined domain for OpenID configuration:<br/> | ||
+ | '''1.''' Configure OpenID in WHMCS, read the [https://docs.whmcs.com/OpenID_Connect following article] to learn how to proceed.<br/> | ||
+ | '''2.''' Make sure your product '' 'project_admin' '' included in '' 'Project User Roles' '' and a domain under '' 'Default Domain' '' in the product configuration.<br/> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''3.''' Configure OpenID in VHI.<br/> Remember to include the same domain that has been used during product configuration in WHMCS after the '' '=' '' symbol in '' 'Metadata URL'.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSP_22_7.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|'''4.''' Select '' 'Authorization Code Flow'.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSP_22_8.png]] | ||
|} | |} | ||
Line 544: | Line 868: | ||
=Update Instructions= | =Update Instructions= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 15px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> '''Before updating''' your OpenStack Projects For WHMCS module '''to version 1.8.0''', it is strongly recommended to '''delete all files (excluding license.php) located in: /yourWHMCS/modules/servers/OpenStackProjects/'''. <br> After a successful upgrade, please proceed to the product's module settings section to ensure a smooth transition. |
− | + | |} | |
− | + | =Upgrade Guide= | |
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
+ | |||
+ | Opt for the [https://www.modulesgarden.com/products/whmcs/openstack-projects#open-source-version Open Source version] of your OpenStack Projects For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | ||
+ | |||
+ | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | ||
|} | |} | ||
=Common Problems= | =Common Problems= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.''' |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|2. If you encounter a connection error in the module settings: <br/> | ||
+ | '' 'Error:Connection Error: No route to host (Action: GET https://compute-api.svc.vstoragedomain.:8784/v2.1/5dcda23cb9bd4718b32610bbe18a1382/os-availability-zone). Check WHMCS module log for more information' ''<br/> | ||
+ | |||
+ | Please make sure the API IP address is public or there is a domain setup. For more details please refer to the official Virtuozzo Hybrid Infrastructure [https://docs.virtuozzo.com/virtuozzo_hybrid_infrastructure_5_4_admins_guide/index.html#setting-dns-name-for-the-compute-api.html documentation]. | ||
|} | |} |
Latest revision as of 14:43, 2 October 2024
Are you going to update your module to version 1.8.X?
Be sure to review our tips in "Update Instructions" to prevent any potential issues
Contents |
[edit] 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/Password |
✔ Log In To Panel: |
✔ With Single Sign-On Support To Virtuozzo Hybrid Infrastructure |
✔ View Created Project/User/Domain IDs |
✔ View Scheduled Tasks |
✔ 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 |
✔ Hide User Password In Client Area |
✔ Inherit Domain Roles |
✔ Provide OpenStack Panel Web Address |
✔ Provide Default Domain/Project/User Name |
✔ Select WHMCS Domain Field Content: |
✔ Project Name |
✔ Domain Name |
✔ Disabled |
✔ Select Client Area Login Information |
✔ Toggle Logging API Requests |
✔ Enable Login Restrictions |
✔ Toggle Password Removal After Project Creation |
✔ Toggle Opening Management Panel In New Window |
✔ 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 Web And Shell Hooks |
✔ Set Up Usage Billing Settings |
✔ Set Up Configurable Options Settings |
✔ Generate Configurable Options |
✔ Set Up OpenID Connect For Single Sign-On To Virtuozzo Hybrid Infrastructure |
✔ Run Server Connection Test |
- Client Area Features:
✔ View Project Details: |
✔ Web Address |
✔ Domain |
✔ Username |
✔ Password |
✔ View Project Servers |
✔ Manage Login Restrictions: |
✔ Enable Temporary Passwords Valid Only For Predefined Time |
✔ Secure User Accounts To Prevent Access |
✔ Log In To Panel |
✔ With Single Sign-On Support To Virtuozzo Hybrid Infrastructure |
- 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 Latest Stable OpenStack and Previous |
✔ Supports OpenStack Gnocchi |
✔ Supports Virtuozzo Hybrid Infrastructure |
✔ Supports PHP 8.2 Back 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, Floating IP Addresses, IP Addresses, Load Balancers, 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.11 Back To WHMCS V8.8 |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] 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. |
[edit] 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/'. |
6. Now you have to activate the module in your WHMCS system. Log in to your WHMCS administrator area. Go to 'System Settings' → 'Addon Modules'. |
7. In the next step, you need to permit access to the module. To do so, click on the 'Configure' button, select administrator groups that should have access to this addon and press 'Save Changes'. |
8. Finally, set up the cron command line provided below and define its frequency (1 minute interval is suggested).
php -q /yourWHMCS/modules/servers/OpenstackProjects/cron/cron.php queue This enables tasks such as 'suspend resources,' 'unsuspend resources,' 'terminate resources,' and 'lock account' to queue and run. |
9. You have just successfully installed OpenStack Projects For WHMCS! You can access your module under 'Addons' → 'OpenStack Projects'. |
[edit] 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' . Important: Please do not add more than one server into a single server group, as the module always fetches data from the first server listed in the group. |
[edit] 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. Note: The below description refers to the "VHI" product configuration. 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. |
Module Custom Shell Hooks - enter the commands with WHMCS parameters to perform additional actions after the create/suspend/unsuspend/terminate/change package actions. |
16. Optionally, you may configure the "Usage Billing Settings" that will be utilized for the Advanced Billing For WHMCS integration. Select specific networks and IP address versions for custom parameter calculations. |
17. At the end of the configuration process, you can enable '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 parameter individually during order placement. There is also an 'Alternative Mode' available, which changes the way the configurable options values are verified and calculated. |
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. |
[edit] 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. |
[edit] Management
OpenStack Projects For WHMCS is a module that will allow you to provision virtual projects to your customers in a fully automatic manner. Check the manual below to learn how to configure the module to take all the advantages it has to offer. |
[edit] Addon Module
While management of specific projects mostly takes place in the admin area, functions that affect the whole module can be found in the addon. See the section below for an in depth explanation of each of them. |
[edit] Queue
Cron job tasks sent to the server through the module can be viewed and managed here. The basic information includes:
|
On the right side of the tasks list you will find the action buttons. These are in order:
|
Moreover, you can change additional settings by clicking on the three dots above the basic actions.
|
Remember to make use of the search bar when you need to find a specific task, and the mass action feature, when you need to delete multiple tasks at once. |
[edit] Translations
Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon. Its user-friendly design makes managing various language file tweaks a smooth and efficient process. Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here. |
[edit] 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:
|
[edit] Ordering New Projects
Thanks to configurable options, you are able to offer a product that 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. |
[edit] Importing Existing Project
You can easily import existing projects into the module by following the instructions provided below: 1. Find a client to whom you want to assign a project. |
[edit] Client Area
The client area interface of OpenStack Projects For WHMCS looks like this. As you can see, you may easily be redirected to the 'OpenStack' login page. Moreover, you can check the 'Configurable Options ' and 'Metrics Billing'. |
If the 'Login Restrictions feature is enabled for your product, you will also find an additional quick access shortcut.
|
[edit] OpenID Configuration (VHI)
[edit] Customer Domain
Follow the below instruction step by step to allow adding OpenID configuration automatically: 1. Configure OpenID in WHMCS, read the following article to learn how to proceed. ### VHI ACCESS DETAILS export VINFRA_PORTAL= export VINFRA_USERNAME= export VINFRA_PASSWORD="" export VINFRA_PROJECT="" ### WHMCS OPENID CONFIGURATION ISSUER="" CLIENT_ID="" CLIENT_SECRET="" 3. Move to the product 'Module settings' → 'Module Custom Shell Hooks' section. There add content to the 'Create' and ' Terminate' actions, for example: /home/yourWHMCS/vhi-integration/vinfra-cmd -d {$customfields.DomainName} -a create -n {$customfields.DomainName} Terminate: /home/yourWHMCS/vhi-integration/vinfra-cmd -d {$customfields.DomainName} -a delete -n {$customfields.DomainName} |
4. Again, in the 'Module Settings → 'Configuration' → 'Default Domain' select the Create New One option. |
5. Run 'Create' module command. Important: You must have the vinfra program installed in /usr/bin catalog. Please contact the Virtuozzo team to get it. |
Additional steps required:
1. OpenID Connect → Authorized Redirect URIs. Type in the VHI address that connects to your WHMCS, use the formula: https://VHI_DOMAIN:8800 and/or https://VHI_DOMAIN:8800/api/v2/login/idp/ |
2. Add the below lines to the .htaccess file:
Order allow,deny Allow from 138.128.150.246 Allow from 192.168.5.91 satisfy any
RewriteEngine On RewriteRule ^.well-known/openid-configuration ./oauth/openid-configuration.php [L,NC] |
3. Domain and WHMCS system URLs must have https protocol: |
4. Enter the login link into the OpenStack Panel web address |
[edit] Predefined Domain
Follow the below instruction step by step to use a predefined domain for OpenID configuration: 1. Configure OpenID in WHMCS, read the following article to learn how to proceed. |
3. Configure OpenID in VHI. Remember to include the same domain that has been used during product configuration in WHMCS after the '=' symbol in 'Metadata URL'. |
4. Select 'Authorization Code Flow'. |
[edit] 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:
|
[edit] Update Instructions
An essential guidance through the process of updating the module is offered here. Before updating your OpenStack Projects For WHMCS module to version 1.8.0, it is strongly recommended to delete all files (excluding license.php) located in: /yourWHMCS/modules/servers/OpenStackProjects/. After a successful upgrade, please proceed to the product's module settings section to ensure a smooth transition. |
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your OpenStack Projects For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. If you encounter a connection error in the module settings: 'Error:Connection Error: No route to host (Action: GET https://compute-api.svc.vstoragedomain.:8784/v2.1/5dcda23cb9bd4718b32610bbe18a1382/os-availability-zone). Check WHMCS module log for more information' Please make sure the API IP address is public or there is a domain setup. For more details please refer to the official Virtuozzo Hybrid Infrastructure documentation. |