OpenStack VPS And Cloud For WHMCS
(→About OpenStack VPS & Cloud For WHMCS) |
(→About OpenStack VPS & Cloud For WHMCS) |
||
(59 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<meta name="keywords" content="openstack vps for whmcs, openstack vps configuration, whmcs openstack vps management, whmcs openstack vps installation, whmcs openstack vps common problems, about whmcs openstack vps, whmcs openstack vps documentation, whmcs openstack vps faq, whmcs openstack vps help, whmcs openstack vps guide, whmcs openstack vps wiki, whmcs openstack vps tutorial, whmcs openstack vps tips, whmcs openstack vps wiki"></meta> | <meta name="keywords" content="openstack vps for whmcs, openstack vps configuration, whmcs openstack vps management, whmcs openstack vps installation, whmcs openstack vps common problems, about whmcs openstack vps, whmcs openstack vps documentation, whmcs openstack vps faq, whmcs openstack vps help, whmcs openstack vps guide, whmcs openstack vps wiki, whmcs openstack vps tutorial, whmcs openstack vps tips, whmcs openstack vps wiki"></meta> | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack VPS & Cloud For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack VPS & Cloud For WHMCS Module."></meta> | ||
+ | |||
+ | <h4 style="color: orange; font-weight:bold; text-align:center;"> | ||
+ | Important: Please read the [[#Migration_To_Version_3.X|upgrade guide]] before updating to version 3.0.<br/> | ||
+ | This release requires manually starting the migration tool to begin the process properly.<br/> | ||
+ | Thank you for your understanding! | ||
+ | </h4> | ||
=About [https://www.modulesgarden.com/products/whmcs/openstack-vps-and-cloud OpenStack VPS & Cloud For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/openstack-vps-and-cloud OpenStack VPS & Cloud For WHMCS]= | ||
{| | {| | ||
− | |style="padding: 10px 0px 10px 0px;"|'''OpenStack VPS & Cloud For WHMCS''' is a module | + | |style="padding: 10px 0px 10px 0px;"|'''OpenStack VPS & Cloud For WHMCS''' is a powerful module that automates the provisioning of virtual servers for your customers.<br/> |
− | + | It enables them to order and manage their instances, backups, and other resources directly from your WHMCS client area.<br/> | |
− | + | At the same time, it provides administrators with full visibility and control over all deployed servers from a single interface. | |
|} | |} | ||
<!--a comment maybe? --> | <!--a comment maybe? --> | ||
Line 24: | Line 30: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server | |style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server | ||
− | |||
− | |||
− | |||
|} | |} | ||
{| | {| | ||
Line 32: | Line 35: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From | + | |style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From Reinstallation |
|} | |} | ||
{| | {| | ||
Line 47: | Line 50: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server With Virtual Machine Image |
|} | |} | ||
{| | {| | ||
Line 84: | Line 87: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 60px;"|✔ Define Default Number Of IP Addresses | |style="padding: 0px 0px 0px 60px;"|✔ Define Default Number Of IP Addresses | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 60px;"|✔ Enable Single Network Interface | ||
|} | |} | ||
{| | {| | ||
Line 169: | Line 175: | ||
|style="padding: 0px 0px 10px 45px;"|✔ Generate Configurable Options | |style="padding: 0px 0px 10px 45px;"|✔ Generate Configurable Options | ||
|} | |} | ||
+ | *'''Addon Module Features:''' | ||
+ | {| | ||
+ | |style="padding: 10px 0px 0px 30px;"|✔ Configure App Templates: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Virtual Machine Images | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Create Application Groups And Assign App Templates | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Manage Media Library With Logotypes For App Templates | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View Queue Of Scheduled Tasks And Details | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View And Manage Logs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 30px;"|✔ Customize Module Language Files With "Translations" Tool | ||
+ | |} | ||
+ | |||
*'''Client Area Features:''' | *'''Client Area Features:''' | ||
{| | {| | ||
Line 178: | Line 207: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server | |style="padding: 0px 0px 0px 30px;"|✔ Soft/Hard Reboot Server | ||
− | |||
− | |||
− | |||
|} | |} | ||
{| | {| | ||
Line 189: | Line 215: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From | + | |style="padding: 0px 0px 0px 30px;"|✔ Toggle VM Protection From Reinstallation |
|} | |} | ||
{| | {| | ||
Line 222: | Line 248: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server With Predefined Virtual Machine From Images |
|} | |} | ||
{| | {| | ||
Line 291: | Line 317: | ||
*'''Supported Providers:''' | *'''Supported Providers:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Binero Public Cloud | + | |style="padding: 10px 0px 0px 30px;"|✔ Atlancis Private Cloud |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Binero Public Cloud | ||
|} | |} | ||
{| | {| | ||
Line 300: | Line 329: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ China Telecom Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Cleura Public Cloud & Private Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Cloud & Heat Cloud Services |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ DevStack Cloud Service | ||
|} | |} | ||
{| | {| | ||
Line 312: | Line 344: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ FishOS Private Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Infomaniak Public Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Limestone Networks | + | |style="padding: 0px 0px 0px 30px;"|✔ Limestone Networks Private Cloud |
|} | |} | ||
{| | {| | ||
Line 324: | Line 356: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ NIPA | + | |style="padding: 0px 0px 0px 30px;"|✔ NETWAYS Cloud |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ NIPA Cloud Enterprise (NCE) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ OpenMetal | ||
|} | |} | ||
{| | {| | ||
Line 333: | Line 371: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ OVHcloud Public Cloud |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ PlanetHoster Private Cloud | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Rackspace Public Cloud | |style="padding: 0px 0px 0px 30px;"|✔ Rackspace Public Cloud | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Safespring Public Cloud & Private Cloud | ||
|} | |} | ||
{| | {| | ||
Line 342: | Line 386: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Sharktech Cloud Services |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ stc Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Taikun Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ VEXXHOST Public Cloud & Private Cloud |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 30px;"|✔ | + | |style="padding: 0px 0px 10px 30px;"|✔ Other Providers That Grant Access To OpenStack API On Project Admin Level |
|} | |} | ||
Line 378: | Line 422: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/advanced-billing#features Advanced Billing For WHMCS] - Actual Server Resource Usage Billing |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/server-allocator#features Server Allocator For WHMCS] - Automatic Assignment Of Most Suitable Servers To Products |
|} | |} | ||
{| | {| | ||
Line 390: | Line 434: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports Stable OpenStack Versions From Epoxy |
|} | |} | ||
{| | {| | ||
Line 402: | Line 446: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.3 Back To PHP 8.1 |
|} | |} | ||
{| | {| | ||
Line 408: | Line 452: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.13 Back To WHMCS V8.10 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V14 Or Later |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/openstack-vps-and-cloud#open-source-version Open Source Version] | + | |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-vps-and-cloud#open-source-version Open Source Version] |
|} | |} | ||
Line 429: | Line 473: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:OSV1.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:OSV1.png]] | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory. | |style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory. | ||
Line 454: | Line 478: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSV4_2.png]] |
|} | |} | ||
{| | {| | ||
Line 461: | Line 485: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_3.png]] |
|} | |} | ||
{| | {| | ||
Line 482: | Line 506: | ||
Use cron job below but switch the '' 'your_whmcs' '' with your root WHMCS path.<br /> | Use cron job below but switch the '' 'your_whmcs' '' with your root WHMCS path.<br /> | ||
php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue | php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue | ||
+ | |} | ||
+ | |||
+ | ==Addon Activation== | ||
+ | |||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''7. Activate the OpenStack VPS & Cloud addon.''' <br /> | ||
+ | To do so, log in to your WHMCS and navigate to '' 'System Settings' →'Addon Modules'.'' Find '' 'OpenStack VPS & Cloud' '' and press '' 'Activate'.''<br/> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''8. In the next step, you need to grant access to this module.'''<br/> | ||
+ | To do so, click on the '''Configure''' button, select '''Full Administrator''', and then press '''Save Changes'''.<br/> | ||
+ | '''''Important:''' The administrator responsible for setting up OpenStack products must have access to the addon module.<br/> Otherwise, the server configuration will not be completed successfully.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC4_2.png]] | ||
|} | |} | ||
==Configuration of Server== | ==Configuration of Server== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''9. Now, we will show you how to configure a new product.'''<br /> |
− | + | ||
− | '' ''' | + | Go to the '' 'Setup' '' → '' 'Products/Services' '' → '' 'Servers' '' and press '' 'Add New Server'.'' |
|} | |} | ||
{| | {| | ||
Line 495: | Line 536: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name and connection details.<br/> |
− | + | ||
− | + | '''''Important:''' The module supports OpenStack providers that allow access to the '''OpenStack API with project admin-level permissions or higher'''.<br/> The list in the 'Features' section includes key examples, but other providers can also be used, as long as the account has the necessary rights to perform actions through the API.<br/> Learn more about access roles in the [https://docs.openstack.org/keystone/latest/admin/service-api-protection.html OpenStack API guide.]'' <br/> | |
− | * | + | * Provide your OpenStack '''IP address or hostname'''. |
− | * | + | * '''Module''' – select '''OpenStack VPS & Cloud''' from the dropdown menu. |
+ | * '''Username''' and '''Password''' – enter your OpenStack administrator credentials. | ||
+ | * Click the '''Configure''' button to open the server configuration window: | ||
+ | ** '''Identity Port/Path''' – specify the API endpoint port or path if used. You can find it in the OpenStack '''API Access''' section under '''Service Endpoint'''.<br/> The path segment appears between the hostname/IP and the port/API version. Leave this field empty if not required. | ||
+ | ** '''Identity Version''' – select the OpenStack Identity API version ('''v2''' or '''v3'''). <br/>'''''Important:''''' If the dropdown list is empty, verify that your '''IP/Hostname''', '''Identity Path''', '''Secure''', and '''Port''' fields are filled in correctly. | ||
+ | ** '''Tenant ID''' – enter your administrator Tenant ID. <br/>'''''Note:''''' To locate the Tenant ID, log in to the OpenStack panel and navigate to '''Identity → Projects'''. Find your project row and copy the value from the '''Project ID''' column. | ||
+ | ** '''Domain''' – optionally, provide your OpenStack domain name or leave as '''Default'''. | ||
+ | ** '''Certificate''' – optionally, enter the full path to your SSL certificate for verification (leave empty if not applicable). | ||
+ | ** '''Project Name''' – enter the project name associated with this server (leave empty if not applicable). | ||
− | *'' | + | * Click '''Reload Endpoints''' to automatically detect available service endpoints from OpenStack. |
− | *'' | + | * Additional fields: |
+ | ** '''Region''' – select the region (e.g., RegionOne). | ||
+ | ** '''Compute, Identity, Image, Network, Volume, Metric''' – choose between '''public''' or '''internal''' for each endpoint type, depending on your OpenStack setup. | ||
− | * | + | * If your OpenStack environment uses HTTPS or a custom port, configure them using the '''Secure''' and '''Port''' fields. |
− | + | Finally, click '''Confirm''' - the system will automatically generate the '''Access Hash''' used for server communication. | |
− | |||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_6.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC6_0.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''11. After you have configured your server correctly, you can check the connection with the OpenStack server.'''<br /> | ||
Simply, edit the previously created server and press '' 'Test Connection' '' as shown on the screen below.<br /> | Simply, edit the previously created server and press '' 'Test Connection' '' as shown on the screen below.<br /> | ||
− | During the test, the connection with all related endpoints will be checked. | + | During the test, the connection with all related endpoints will be checked. |
− | Additionally you can change the endpoint addresses to make sure that all services have been connected successfully or select '' 'Don't use' '' if no endpoint is applicable to your OpenStack.<br/> | + | |
+ | <!--Additionally, you can change the endpoint addresses to make sure that all services have been connected successfully or select '' 'Don't use' '' if no endpoint is applicable to your OpenStack.<br/> | ||
'' '''Note:''' Any chosen endpoint address will be automatically saved after its selection so there is no need to save it manually after each change introduced.'' | '' '''Note:''' Any chosen endpoint address will be automatically saved after its selection so there is no need to save it manually after each change introduced.'' | ||
− | + | --> | |
For more information about connections, visit the [[#Common Problems|Common Problems]] and [[#Tips|Tips]] sections. | For more information about connections, visit the [[#Common Problems|Common Problems]] and [[#Tips|Tips]] sections. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_7.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''12. It is time to create a server group. To do so, click on '' 'Create New Group'. '' ''' |
|} | |} | ||
{| | {| | ||
Line 537: | Line 590: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''13. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes'. '' ''' |
|} | |} | ||
{| | {| | ||
Line 545: | Line 598: | ||
==Configuration of Product== | ==Configuration of Product== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''14. In order to create and configure a product, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'.'' '''<br /> |
Click on '' 'Create a New Group' ''. | Click on '' 'Create a New Group' ''. | ||
|} | |} | ||
Line 552: | Line 605: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''15. Enter a product group name and press '' 'Save Changes'.''''' |
|} | |} | ||
{| | {| | ||
Line 558: | Line 611: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''16. When you have a product group, you can create your product.'''<br /> |
To create a product click on '' 'Create a New Product' ''. | To create a product click on '' 'Create a New Product' ''. | ||
|} | |} | ||
Line 565: | Line 618: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''17. Afterward, choose your product group and type from the dropdown menus, enter your product name and press '' 'Continue'. '' '''<br /> |
'' 'Product Type' '' should be set to '' 'Shared Hosting'. '' | '' 'Product Type' '' should be set to '' 'Shared Hosting'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC13.png]] |
|} | |} | ||
+ | |||
+ | ===App Templates=== | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 5px 15px;"|Before continuing to the product's settings, you must ensure you have at least one application or group of applications ready to use. <br/> Proceed to the ''addon module → App Templates'' section and follow below to create a ready application that will be installed by default on the server. <br/> |
+ | |||
+ | The '''App Templates''' section allows you to manage OpenStack images that clients can deploy to their virtual machines directly from the client area.<br/> | ||
+ | Use the interface to import, edit, group, and assign application templates to products. | ||
+ | |} | ||
+ | ====Applications==== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|This section allows you to load available templates ''(Virtual Machine Images)'' from your connected OpenStack environment and manage them within WHMCS. | ||
+ | * Click the refresh icon to import or update the list of templates from OpenStack. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC13_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Once templates are imported, you can use action buttons to edit, duplicate, or delete them. Mass actions are also available for bulk management. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC13_2.png]] | ||
+ | |} | ||
+ | |||
+ | ====Groups==== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|With the templates ready, all that is left is to gather them into groups and include said groups into products.<br/> | ||
+ | Navigate to '' 'App Templates' '' → '' 'Groups' '' and click on the '' 'Create' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC13_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Read the information, then provide the group with: | ||
+ | *Name | ||
+ | *Description | ||
+ | *Items to include | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC13_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|You can use the action button and the mass action function to edit and delete template groups. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC13_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|Your basic configuration of App Templates is now ready. For more advanced configuration, manual creation guides please refer to [[#App_Templates_Advanced_Configuration|App Templates Advanced Configuration]] section in this documentation.<br/> | ||
+ | For now, go back to your product's module settings and complete the configuration there. | ||
+ | |} | ||
+ | |||
+ | ===Module Settings=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''18. Now, go to the '' 'Module Settings' '' section, choose your previously created server group from the dropdown menu.'''<br /> | ||
The module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.''' | The module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.''' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_14.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''19. Start from defining '' 'Project Settings' ''<br /> |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_15.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''20. Proceed with '' 'App Templates Configuration'.'' | ||
+ | |||
+ | '''App Templates Configuration''' - To create instances based on operating systems or applications, you must first configure the App Templates in the module's addon. <br/> Once your applications and groups are set up there, you can select the desired application in the product's Module Settings tab to be used during instance creation. <br/> Please refer to the [[#App_Templates|App Templates]] and [[#App_Templates_Advanced_Configuration|App Templates Advanced Configuration]] sections of the documentation for detailed setup instructions. | ||
+ | |||
+ | * '''Default Application Group''' - The group of applications available for reinstalls. See the [[#Groups|Groups]] section for more details. | ||
+ | * '''Default Application''' - The application that will be installed by default during creation. See the [[#Applications|Applications]] section. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_14_0.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''21. Afterward, set up a network. Choose '' 'Fixed Network' '', '' 'Floating Network' '' and '' 'Default Number Of IP Addresses'.'' '''<br /> |
You can set up a network in two ways. You can find more information about the configuration [[#Network Configuration Cases|here]].<br /> | You can set up a network in two ways. You can find more information about the configuration [[#Network Configuration Cases|here]].<br /> | ||
We will create the network without a floating IP address as presented on the following screen.<br /> | We will create the network without a floating IP address as presented on the following screen.<br /> | ||
Line 591: | Line 707: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_16.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''22. At this step you can configure the backup and snapshot settings.'''<br /> |
*'''Backups'''<br/> | *'''Backups'''<br/> | ||
Enable '' 'Backups Rotation' '' if you want to allow replacing the oldest backup with a new one when the backup files limit has been reached.<br/>Afterward, enter a number of allowed backups that can be created into the '' 'Default Backups Files Limit' '' field. Enter '' '-1' '' for unlimited.<br/> | Enable '' 'Backups Rotation' '' if you want to allow replacing the oldest backup with a new one when the backup files limit has been reached.<br/>Afterward, enter a number of allowed backups that can be created into the '' 'Default Backups Files Limit' '' field. Enter '' '-1' '' for unlimited.<br/> | ||
Line 602: | Line 718: | ||
*'''Snapshots'''<br/> | *'''Snapshots'''<br/> | ||
− | Define a | + | Define a default number of allowed snapshots. Enter '' '-1' '' to set it to '' 'Unlimited'.'' <br/> |
'''''Important:''' The option '''Use Volumes''' must be enabled under the 'Virtual Machines Settings' in order to let clients create snapshots.'' | '''''Important:''' The option '''Use Volumes''' must be enabled under the 'Virtual Machines Settings' in order to let clients create snapshots.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_17.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''23. Define the virtual machine settings.''' |
*Mark a security group from '' 'Use Security Groups' '' and select '' 'Console Type'. ''<br /> Apart from the selected here groups you may also apply custom rules to the VM. You can learn more about them at [[#Custom Security Group|Custom Security Group]] section. | *Mark a security group from '' 'Use Security Groups' '' and select '' 'Console Type'. ''<br /> Apart from the selected here groups you may also apply custom rules to the VM. You can learn more about them at [[#Custom Security Group|Custom Security Group]] section. | ||
*If you wish to use SSH keys, leave '' 'Generate SSH Key' '' marked (virtualization has to support the '' 'Inject File' '' feature).<br /> | *If you wish to use SSH keys, leave '' 'Generate SSH Key' '' marked (virtualization has to support the '' 'Inject File' '' feature).<br /> | ||
− | *In order to use passwords for your VM, leave '' 'Password Management' '' marked (virtualization has to support the '' 'Set Admin Pass' '' feature).<br />Please make sure that virtualization used by you supports mentioned actions. | + | <!--*In order to use passwords for your VM, leave '' 'Password Management' '' marked (virtualization has to support the '' 'Set Admin Pass' '' feature).<br />Please make sure that virtualization used by you supports mentioned actions. |
+ | --> | ||
+ | Full list of supported features can be found [https://wiki.openstack.org/wiki/HypervisorSupportMatrix here].<br /> | ||
'' '''Important:''' It is recommended to leave '' 'Delete SSH Private Key' '' marked.''<br/> | '' '''Important:''' It is recommended to leave '' 'Delete SSH Private Key' '' marked.''<br/> | ||
Line 619: | Line 737: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_17_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''24. You can also take advantage of the dedicated Volume and set it as the location of your Virtual Machine Disk''', |
To do so, make sure to tick the '' 'Use Volumes' '' checkbox and enter the desired number into the '' 'Default Volume Size' '' field.<br /> | To do so, make sure to tick the '' 'Use Volumes' '' checkbox and enter the desired number into the '' 'Default Volume Size' '' field.<br /> | ||
− | Once this option is enabled, your clients will no longer have access to the | + | Once this option is enabled, your clients will no longer have access to the '' 'Rescue' '' function, so you may as well leave the respective fields empty.<br/> |
'''''Note:''' Scheduled backups cannot be generated when volumes are in use; only manual backups are available.'' | '''''Note:''' Scheduled backups cannot be generated when volumes are in use; only manual backups are available.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_17_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''25. In the next step you may define the firewall rules settings.'''<br/> |
Enter the firewall inbound, outbound and total rules limits. When the limit is reached, the client will not be able to create a new rule until one of the existing rules has been removed. | Enter the firewall inbound, outbound and total rules limits. When the limit is reached, the client will not be able to create a new rule until one of the existing rules has been removed. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_17_0.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''26. Next, select features available at the client area.'''<br /> |
You can also decide which images used to rebuild the server will be available to your customers. | You can also decide which images used to rebuild the server will be available to your customers. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_18.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''27. Finally, enable features available for the administrator on the service page.'''<br /> |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_18_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''28. In addition, you can also choose whether you want to send a welcome email after the VM has been successfully created by cron.'''<br /> |
This feature can prove useful if you want clients to receive the notification once their VM is ready rather than immediately after product activation.<br/>If you decide on this option, we suggest that you also set the standard WHMCS configuration of the 'Welcome Email' to 'None' in the '' 'Details' '' tab of a product.<br/>Otherwise, the customer will receive both emails - after the product has been activated and after the VM has been successfully created on OpenStack.<br/> | This feature can prove useful if you want clients to receive the notification once their VM is ready rather than immediately after product activation.<br/>If you decide on this option, we suggest that you also set the standard WHMCS configuration of the 'Welcome Email' to 'None' in the '' 'Details' '' tab of a product.<br/>Otherwise, the customer will receive both emails - after the product has been activated and after the VM has been successfully created on OpenStack.<br/> | ||
Press '' 'Save Changes' '' when you are done. | Press '' 'Save Changes' '' when you are done. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC4_18_2.png]] |
|} | |} | ||
+ | |||
===VPS With Predefined Resources=== | ===VPS With Predefined Resources=== | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|Our module allows you to offer OpenStack VPS & Cloud to your clients in two ways, with either predefined or configurable resources.<br /> | |style="padding: 10px 0px 15px 15px;"|Our module allows you to offer OpenStack VPS & Cloud to your clients in two ways, with either predefined or configurable resources.<br /> | ||
− | In this section we will show you configuration of VPS with predefined resources.<br /> | + | In this section, we will show you the configuration of a VPS with predefined resources.<br /> |
− | Detailed information about configuration of VPS with resources chosen by a client can be found [[#VPS With Configurable Resources|here]]. | + | Detailed information about the configuration of VPS with resources chosen by a client can be found [[#VPS With Configurable Resources|here]]. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''26. Select a '' 'Default Flavor' '' and '' 'Default | + | |style="padding: 0px 0px 15px 15px;"|'''26. Select a '' 'Default Flavor' '' and '' 'Default Application' ''.'''<br /> |
− | '' 'Default Flavour' '' | + | '' 'Default Flavour' '' defines resources assigned to a VM, while '' 'Default Application' '' allows you to choose the VM image used to create a new VM. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_19.png]] |
|} | |} | ||
{| | {| | ||
Line 678: | Line 797: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|'''27. Preparing VPS with configurable options consists of pressing '' 'Create Configurable Options' '' as shown on the following screen.'''<br /> | |style="padding: 10px 0px 15px 15px;"|'''27. Preparing VPS with configurable options consists of pressing '' 'Create Configurable Options' '' as shown on the following screen.'''<br /> | ||
− | It will prepare default configurable options which can be | + | It will prepare default configurable options which can be easily edited afterward as described in [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options this article].<br /> |
− | '''''Important:''' Configurable option | + | '''''Important:''' Configurable option 'flavor|Flavor' will be overwritten by 'disc|Disc', 'ram|RAM' and 'vcpus|VCPUs'.''<br /> |
Therefore, you can solve this in three ways: | Therefore, you can solve this in three ways: | ||
− | * | + | *Disable '' 'disk|Disk' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' '' configurable option and rely completely on '' 'flavor|Flavor' ''. |
− | * | + | *Disable '' 'disk|Disk' '' and '' 'vcpus|VCPUs' '', and allow '' 'flavor|Flavor' '' being overwritten by '' 'ram|RAM' '' (multiple combinations are allowed here). |
− | * | + | *Disable '' 'flavor|Flavor' '' and rely completely on '' 'disk|Disk' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' ''. |
− | ''Note: The second and the third options | + | ''Note: The second and the third options result in the creation of a new flavor on your server each time a new order is made.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_20.png]] |
|} | |} | ||
{| | {| | ||
Line 693: | Line 812: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC4_20_1.png]] |
|} | |} | ||
− | ===Custom Flavor Specification | + | ===Custom Flavor Specification=== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''28. You may also use a customized '' ' | + | |style="padding: 10px 0px 15px 15px;"|'''28. You may also use a customized '' 'Flavor Specification' '' as key and pair property of your product configuration.'''<br/> |
− | Supported '' 'Custom | + | Supported '' 'Custom Flavor Specification' '' format: |
key1=value1 | key1=value1 | ||
key2=value2 | key2=value2 | ||
Line 709: | Line 828: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC21_1.png]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
===Custom Security Group=== | ===Custom Security Group=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''29. Optionally, you may create a custom security group with | + | |style="padding: 10px 0px 15px 15px;"|'''29. Optionally, you may create a custom security group with customized rules that will be added while creating the virtual machine.'''<br/> |
Select '' 'Apply Custom Rules' '' option at Virtual Machine Settings and enable '' 'Firewall' '' option in the client area. | Select '' 'Apply Custom Rules' '' option at Virtual Machine Settings and enable '' 'Firewall' '' option in the client area. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC4_20_3.png]] |
|} | |} | ||
{| | {| | ||
Line 759: | Line 865: | ||
|style="padding: 0px 0px 30px 15px;"|Now, that your file is ready, a new security group will be created in your OpenStack panel and visible in the product's Module Settings under '' 'Use Security Groups' '' on the product creation.<br/> The rules are visible for the client in the '' 'Firewall' '' section. If you terminate the product, this group will be deleted as well.<br/> | |style="padding: 0px 0px 30px 15px;"|Now, that your file is ready, a new security group will be created in your OpenStack panel and visible in the product's Module Settings under '' 'Use Security Groups' '' on the product creation.<br/> The rules are visible for the client in the '' 'Firewall' '' section. If you terminate the product, this group will be deleted as well.<br/> | ||
− | '''''Important:''' When you are updating your module, and you do not want to overwrite your personalized ''additionalRules.json'' file you do | + | '''''Important:''' When you are updating your module, and you do not want to overwrite your personalized ''additionalRules.json'' file you do not have to do anything.<br/> The file in the newest version of the module is named: '''additionalRules.json_sample''' and it will not overwrite the file in your system.'' |
|} | |} | ||
− | === | + | =Management= |
+ | |||
+ | ==Addon Configuration== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 30px 15px;"|'''Let’s begin by exploring the key features available in the addon.'''<br/> To access it, navigate to 'Addons' → 'OpenStack VPS & Cloud' in your WHMCS. |
− | + | ||
− | ''' | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
+ | |||
+ | ===Dashboard=== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|The '' 'Dashboard' '' section ufdsfsdfdsfsd |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSCV3_21_7.png]] |
− | + | |} | |
− | + | ===App Templates Advanced Configuration=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Before you proceed, make sure you’ve reviewed the [[#App_Templates|App Templates]] section for basic configuration steps. <br/> | ||
+ | This section is intended for advanced users and administrators who want to manually manage imported virtul machine images. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Images are created and maintained directly in your OpenStack control panel. The module automatically pulls this data and displays it in the App Templates section of the addon module.<br/> | ||
− | + | To import or refresh templates in WHMCS: | |
− | + | * Navigate to '''Addon Module → App Templates.''' | |
− | + | * Use the '''refresh icon''' to load the latest images from your OpenStack server.<br/> | |
− | + | Once imported, the image templates can be grouped and assigned to specific products within WHMCS, no further manual steps are required.<br/> | |
− | + | ||
+ | '''''Important!''' Only images that already exist in OpenStack are supported. There is no need to create templates manually in WHMCS.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSCV3_21_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|Once imported, templates can be: |
− | + | *Grouped under App Templates → Groups | |
− | + | *Assigned to specific WHMCS products in the product module settings. <br/> | |
− | + | No additional manual configuration is required for them to be used in provisioning. | |
− | + | ||
|} | |} | ||
+ | |||
+ | ====Editing Imported Templates==== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|To view or update template details: |
+ | * Click the '''Edit''' icon next to a template. | ||
+ | * In the '''Virtual Machine Image Details''' section, you can: | ||
+ | ** Update the name, description, and status | ||
+ | ** Upload or change a custom icon for visual presentation | ||
+ | * Review internal configuration values ''(Setting Details)'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSCV3_21_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|These setting detils are automatically assigned by the module. '''Do not modify these values''' unless you are an advanced user who understands OpenStack internal mechanics. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSCV3_21_3.png]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
+ | ====Custom Metadata in App Templates==== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|Starting from version 3.0.0, metadata handling has been moved from the module settings to the App Templates section. You will now find a dedicated metadata field within each template.<br/> |
− | + | Metadata is now applied per individual application (image) instead of per product as in previous versions. If needed, simply fill in the metadata details as shown in the example below. | |
− | + | |} | |
− | + | {| | |
− | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSCV3_22_0.png]] | |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Supported '''Metadata''' format that can be added:<br/> | ||
+ | <code>key1=value1<br/> | ||
+ | key2=value2</code><br/><br/> | ||
+ | For example:<br/> | ||
+ | <code>sw_database_cassandra_admin=cassandra<br/> | ||
+ | sw_webserver_apache_http_port=80<br/> | ||
+ | admin_password=custom_password</code> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_22_1.png]] | ||
+ | |} | ||
+ | ====Custom Scripts in App Templates==== | ||
+ | {| | ||
+ | |style="padding:10px 0px 5px 15px;"| | ||
+ | The configuration of custom initialization scripts (Cloud-Init) has been moved from the module settings to the '''App Templates''' section in the addon module. <br/> | ||
+ | Each application (image) can now include its own script defined in the '''user_data''' field, which will be executed automatically when the instance is created and booted for the first time. <br/> | ||
+ | This approach allows scripts to be managed directly per application template, just like metadata. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 15px 15px;"| | ||
+ | '''Important notes:''' | ||
+ | * Scripts can be written in standards such as '''Bash''' or '''[https://yaml.org/about.html YAML]'''. | ||
+ | * You can find example Cloud-Init configuration scripts [https://cloudinit.readthedocs.io/en/latest/topics/examples.html here]. | ||
+ | * The script must be supported by the operating system used by the VPS instance. | ||
+ | * Use only if you are familiar with Cloud-Init syntax; an incorrect script may prevent the instance from booting properly. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 20px 25px;"|[[File:OSVC3_cloudinit_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 15px 15px;"| | ||
+ | Below is an example of a simple Cloud-Init script defined in the '''user_data''' field that sets a new root password for Ubuntu: | ||
<pre> | <pre> | ||
#cloud-config | #cloud-config | ||
− | + | debug: True | |
+ | ssh_pwauth: True | ||
+ | disable_root: false | ||
+ | chpasswd: | ||
+ | list: | | ||
+ | root:newpass01 | ||
+ | expire: False | ||
runcmd: | runcmd: | ||
− | + | - sed -i'.orig' -e's/without-password/yes/' /etc/ssh/sshd_config | |
− | + | - service ssh restart | |
− | + | ||
− | + | ||
</pre> | </pre> | ||
+ | This configuration ensures that the root password is updated and SSH access is properly enabled when the instance starts. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 20px 25px;"|[[File:OSVC3_cloudinit_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 15px 15px;"| | ||
+ | You can use the '''Related Field''' inside the '''user_data''' script to dynamically pass product or client information. | ||
+ | <pre> | ||
+ | #cloud-config | ||
+ | runcmd: | ||
+ | - echo "Client ID: {$userid}" >> /root/whmcs_info.txt | ||
+ | - echo "Service ID: {$serviceid}" >> /root/whmcs_info.txt | ||
+ | </pre> | ||
+ | '''''Important:''' If you want to use braces '''{ }''' in your script without including a variable, wrap them with '''{literal}{/literal}''' to avoid template parsing errors.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding:0px 0px 30px 25px;"|[[File:OSVC3_cloudinit_3.png]] | ||
+ | |} | ||
− | + | ===Media Library=== | |
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|The '' 'Media Library' '' section stores images that can be used as thumbnails for your operating system and application images. <br/> | ||
+ | Use the Additional Actions to delete all images at once. <br/> | ||
+ | To upload a new image, use the '' 'Upload Image' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSCV3_21_4.png]] | ||
+ | |} | ||
− | + | ===[https://www.docs.modulesgarden.com/Task_Queue_Tool Task Queue Tool]=== | |
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|The "Queue" tool helps you track and manage the tasks created by the module.<br/> | ||
+ | It allows you to view and interact with task details, including task IDs, statuses, and related items.<br/> | ||
+ | You can filter tasks, execute actions like deleting or running tasks, and even use mass actions for bulk operations.<br/> | ||
+ | For detailed guidance on using this tool, please refer to the dedicated article available [https://www.docs.modulesgarden.com/Queue here]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_21.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:OSCV3_21_5.png]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | | + | |
− | + | ||
− | + | ||
− | | | + | |
− | | | + | |
− | | | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
− | = | + | |
+ | ===[https://www.docs.modulesgarden.com/Log Logs]=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|The '' 'Logs' '' section under the '' 'Tools' '' tab is where the module logs are stored.<br/> You can filter the module logs by type with the '' 'Show' '' buttons.<br/> | ||
+ | For precise details on Logs, please refer to our dedicated documentation article, which you may find [https://www.docs.modulesgarden.com/Logs here]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:OSCV3_21_6.png]] | ||
+ | |} | ||
+ | |||
+ | ==Admin Area View== | ||
+ | |||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|''' OpenStack VPS & Cloud For WHMCS allows your customers to manage their servers via the client area in your WHMCS system.'''<br /> | |style="padding: 10px 0px 15px 15px;"|''' OpenStack VPS & Cloud For WHMCS allows your customers to manage their servers via the client area in your WHMCS system.'''<br /> | ||
You can monitor and manage each product from your WHMCS admin area.<br /> | You can monitor and manage each product from your WHMCS admin area.<br /> | ||
1. Module commands (Create, Suspend/Unsuspend, Change Package)<br /> | 1. Module commands (Create, Suspend/Unsuspend, Change Package)<br /> | ||
− | 2. Service actions (Stop VM, Pause VM, Soft/Hard Reboot | + | 2. Service actions (Start/Stop VM, Pause/Unpause VM, Soft/Hard Reboot, Rescue/Unrescue VM, Change Protection)<br /> |
+ | 3. Service management (Change Password, Change Protection, Console) | ||
3. Instance details along with | 3. Instance details along with | ||
*Interfaces, | *Interfaces, | ||
*Volumes (you will see the '' 'Volumes' '' section if you enabled the '' 'Use Volumes' '' feature), | *Volumes (you will see the '' 'Volumes' '' section if you enabled the '' 'Use Volumes' '' feature), | ||
− | * | + | *Virtual Machine Images available for reinstallation |
*Firewall: ''add/delete rule'' | *Firewall: ''add/delete rule'' | ||
− | * | + | *Backups: ''create, restore, manage, delete'' |
+ | *Snapshots: ''create, restore, delete'' | ||
*Schedule Tasks: ''run, delete'' | *Schedule Tasks: ''run, delete'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_24.png]] |
|} | |} | ||
Line 1,047: | Line 1,070: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_25.png]] |
|} | |} | ||
===Importing Existing Instance=== | ===Importing Existing Instance=== | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the OpenStack panel. <br/> Take the following steps to make sure that the process will be carried out properly. <br/> | |style="padding: 10px 0px 15px 15px;"|In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the OpenStack panel. <br/> Take the following steps to make sure that the process will be carried out properly. <br/> | ||
− | 1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary | + | 1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary view, click on the '' ' Add New Order' '' button. Next, select a '' 'Product/Service' '' and press '' 'Submit Order' ''. <br/> '''What is important, do not perform the '' 'Create' '' action.''' The status has to remain as '' 'Pending' ''. <br/> More info about placing orders can be found [https://docs.whmcs.com/Order_Management#Placing_an_Order here]<br/> |
2. Proceed to the newly created product's card in your admin area. Find the following empty fields: | 2. Proceed to the newly created product's card in your admin area. Find the following empty fields: | ||
*'''VM ID''' | *'''VM ID''' | ||
Line 1,067: | Line 1,090: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|Client area interface of OpenStack VPS & Cloud should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine.<br /> | |style="padding: 10px 0px 15px 15px;"|Client area interface of OpenStack VPS & Cloud should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine.<br /> | ||
− | The module | + | The module enables your customers to easily start/stop, pause/unpause, resume, soft reboot, and hard reboot their servers by pressing the corresponding button.<br /> |
Clients can also rebuild the server, access the VNC console, create a backup, manage firewalls, and view scheduled tasks.<br /> | Clients can also rebuild the server, access the VNC console, create a backup, manage firewalls, and view scheduled tasks.<br /> | ||
− | At '' 'Scheduled Tasks' '' your customers can view all requested tasks that were not yet completed.<br /> | + | At '' 'Scheduled Tasks' '', your customers can view all requested tasks that were not yet completed.<br /> |
− | Each task has additional information | + | Each task has additional information bound to it, like the type of task, the number of attempts to perform tasks, or the last returned response. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_26.png]] |
|} | |} | ||
===Volumes=== | ===Volumes=== | ||
Line 1,080: | Line 1,103: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_26_1.png]] |
|} | |} | ||
− | === | + | ===Reinstallation=== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|The | + | |style="padding: 10px 0px 15px 15px;"|The reinstallation option allows your clients to change a server image.<br /> |
− | To reinstall your server, choose an image and confirm through pressing the '' ' | + | To reinstall your server, choose an image and confirm through pressing the '' 'Reinstallation' '' button and confirm the action. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_28.png]] |
|} | |} | ||
Line 1,095: | Line 1,118: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|The rescue mode provides a mechanism for a VM access even in case the VM's image renders the instance inaccessible - e.g. if instance's filesystem becomes corrupted. <br /> | |style="padding: 10px 0px 15px 15px;"|The rescue mode provides a mechanism for a VM access even in case the VM's image renders the instance inaccessible - e.g. if instance's filesystem becomes corrupted. <br /> | ||
− | The rescue VM will be launched to permit the user to fix their VM. | + | The rescue VM will be launched to permit the user to fix their VM.<br/> |
+ | |||
+ | When you want to disable the rescue mode, click the 'Unrescue' button. The VM status will then also return to 'ACTIVE'. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_48.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|Before you continue, please note that the rescue VM will be set up with the same network configuration as the real VM. <br /> |
− | Before you continue, please note that the rescue VM will be set up with the same network configuration as the real VM. <br /> | + | |
Moreover, a new root password will be generated and the VM status will change to 'RESCUE'.<br /> | Moreover, a new root password will be generated and the VM status will change to 'RESCUE'.<br /> | ||
− | The new VM will also have a rescue image as the primary filesystem and the secondary filesystem would be the original VM's primary file system.'' | + | The new VM will also have a rescue image as the primary filesystem and the secondary filesystem would be the original VM's primary file system.'' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_49.png]] |
|} | |} | ||
Line 1,129: | Line 1,147: | ||
* virtual machines '''without volumes''' | * virtual machines '''without volumes''' | ||
<br/> | <br/> | ||
− | '''''Note:''' If your | + | '''''Note:''' If your backup is 'Pinned', then it will not be overwritten by the next scheduled backup. You may pin more than just one backup.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_31.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Simply, type in a custom name of your backup and press the'' ' | + | |style="padding: 0px 0px 15px 15px;"|Simply, type in a custom name of your backup and press the'' 'Confirm' '' button.<br/> |
'''''Note 1:''' Sometimes it may take up to several dozen minutes to finish creating the backup. Please wait until the process is complete.<br/> | '''''Note 1:''' Sometimes it may take up to several dozen minutes to finish creating the backup. Please wait until the process is complete.<br/> | ||
Line 1,141: | Line 1,159: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_32.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Clients are also given the opportunity to create backups automatically by enabling the option: '' 'Schedule Backups'. ''<br/> | |style="padding: 0px 0px 15px 15px;"|Clients are also given the opportunity to create backups automatically by enabling the option: '' 'Schedule Backups'. ''<br/> | ||
− | When enabled, provide a time interval to wait until the next backup | + | When enabled, provide a time interval to wait until the next backup is created to define the task's routine. The entered time interval must be higher than or equal to the limit specified by your administrator.<br/> |
− | '''''Note:''' The number of backups created manually and those scheduled and created automatically is counted together and their overall sum cannot be higher than the defined limit.'' | + | '''''Note:''' The number of backups created manually and those scheduled and created automatically is counted together, and their overall sum cannot be higher than the defined limit.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_32_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,157: | Line 1,175: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_32_2.png]] |
|} | |} | ||
Line 1,166: | Line 1,184: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_29.png]] |
|} | |} | ||
{| | {| | ||
Line 1,172: | Line 1,190: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSV3_30.png]] |
|} | |} | ||
Line 1,181: | Line 1,199: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_51.png]] |
|} | |} | ||
{| | {| | ||
Line 1,187: | Line 1,205: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_52.png]] |
|} | |} | ||
Line 1,196: | Line 1,214: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_53.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Next, choose the rule type (TCP, UDP, ICMP or Other Protocols), direction (inbound or outbound) and ether type (IPv4 or IPv6).<br/>Depending on the port you choose, you will be able to add a rule for a single port only, a range of ports or all ports at once. You can also select one of the predefined ports or use a custom one.<br/>Finally, provide a single IP address or specify the range of addresses using the CIDR format (e.g. 10.10.10.1/24).<br/> | |style="padding: 0px 0px 15px 15px;"|Next, choose the rule type (TCP, UDP, ICMP or Other Protocols), direction (inbound or outbound) and ether type (IPv4 or IPv6).<br/>Depending on the port you choose, you will be able to add a rule for a single port only, a range of ports or all ports at once. You can also select one of the predefined ports or use a custom one.<br/>Finally, provide a single IP address or specify the range of addresses using the CIDR format (e.g. 10.10.10.1/24).<br/> | ||
− | Press '' ' | + | Press '' 'Confirm' '' when ready. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_54.png]] |
|} | |} | ||
+ | |||
===Snapshots=== | ===Snapshots=== | ||
{| | {| | ||
Line 1,211: | Line 1,230: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:OSVC3_54_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,218: | Line 1,237: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:OSVC3_54_2.png]] |
|} | |} | ||
Line 1,271: | Line 1,290: | ||
|} | |} | ||
+ | <!-- | ||
==Management of Billing== | ==Management of Billing== | ||
{| | {| | ||
Line 1,286: | Line 1,306: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:OSV43.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:OSV43.png]] | ||
|} | |} | ||
+ | --> | ||
=Tips= | =Tips= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 10px 15px;"|1. The module supports '''OpenStack providers''' that grant access to the '''OpenStack API on project admin level or higher'''. <br/>To ensure proper operation, use an account with the necessary rights to perform actions through the API. For more details, see the [https://docs.openstack.org/keystone/latest/admin/service-api-protection.html OpenStack API documentation]. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|2. Due to some requests may take time to be completed, we implemented '' 'Scheduled Tasks' ''.<br /> | ||
Tasks visible at '' 'Scheduled Tasks' '' are subsequently performed by a cron job.<br /> | Tasks visible at '' 'Scheduled Tasks' '' are subsequently performed by a cron job.<br /> | ||
Full list of tasks supported by '' 'Scheduled Tasks' '' are: create, terminate, change package, remove IP address and remove backup. | Full list of tasks supported by '' 'Scheduled Tasks' '' are: create, terminate, change package, remove IP address and remove backup. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"| | + | |style="padding: 0px 0px 5px 15px;"|3. '''Important:''' module has to use admin endpoints instead of public endpoints.<br /> |
In a properly configured OpenStack server, wget from WHMCS server should be able to get any data from any '''admin''' endpoint.<br /> | In a properly configured OpenStack server, wget from WHMCS server should be able to get any data from any '''admin''' endpoint.<br /> | ||
Sample successful requests: | Sample successful requests: | ||
Line 1,308: | Line 1,332: | ||
2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520] | 2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520] | ||
− | |||
wget openstack:8777 | wget openstack:8777 | ||
Line 1,318: | Line 1,341: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|4. A primary IP address is always assigned by the OpenStack server when a VM is created. Therefore, if you decide to order 2 IP addresses, then 3 addresses will be assigned.<br> The primary one and the two additionally ordered. If you wish only one IP address to be assigned to a single product, please set the filed '' 'Default Number Of IP Addresses' '' to '0'<br/> or leave it empty in the product's '' 'Module Settings'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"| | + | |style="padding: 0px 0px 10px 15px;"|5. '' 'Scheduled Backups' '' functionality is available also for VPS using volumens since 2.0.0 module version and later. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|6. How to set up a password to a VM:<br/> |
− | '''When | + | '''When creating a VM:''' |
*set up the password using a custom script, details are described [[#Custom_Config_Scripts|here]] | *set up the password using a custom script, details are described [[#Custom_Config_Scripts|here]] | ||
*the module sends the password entered by a user, however, in order to set this password correctly, injecting passwords option must be enabled.<br/> Read more about [https://docs.openstack.org/nova/xena/admin/admin-password-injection.html password injection]. | *the module sends the password entered by a user, however, in order to set this password correctly, injecting passwords option must be enabled.<br/> Read more about [https://docs.openstack.org/nova/xena/admin/admin-password-injection.html password injection]. | ||
Line 1,332: | Line 1,355: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"| | + | |style="padding: 0px 0px 10px 15px;"|7. How to set up the username based on the used image: |
* open file '' 'imageUsernames.yml' '' located at: ''/yourwhmcs/modules/servers/OpenStackVpsCloud/app/Config'' | * open file '' 'imageUsernames.yml' '' located at: ''/yourwhmcs/modules/servers/OpenStackVpsCloud/app/Config'' | ||
* change the file content according to the pattern: | * change the file content according to the pattern: | ||
Line 1,346: | Line 1,369: | ||
=Update Instructions= | =Update Instructions= | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 30px 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/> |
− | When you upgrade the module from the version older than 1.8.1 to '''1.8.1 or newer''', please remember to update the new server's hostname to the new address format, as described in step 8. of the [[#Configuration_of_Server|configuration of server]] guide.<br/><br/> | + | <!--When you upgrade the module from the version older than 1.8.1 to '''1.8.1 or newer''', please remember to update the new server's hostname to the new address format, as described in step 8. of the [[#Configuration_of_Server|configuration of server]] guide.<br/><br/>--> |
Keep in mind that 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!<br/> | Keep in mind that 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!<br/> | ||
To take advantage of it, simply use the '''License Upgrade''' button located on the product page and a discounted invoice will be generated automatically.<br/> | To take advantage of it, simply use the '''License Upgrade''' button located on the product page and a discounted invoice will be generated automatically.<br/> | ||
|} | |} | ||
+ | <!-- | ||
+ | ==Migration To Version 2.X== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 30px 15px;"| To upgrade '''OpenStack VPS & Cloud''' from '''v1.X.X''' to '''v2.X.X''' correctly, please follow these steps: <br/> |
*Firstly, make a backup copy of your server and database. | *Firstly, make a backup copy of your server and database. | ||
− | *When you successfully | + | *When you successfully perform a backup, now stop the cron tasks that are running. |
*Delete these folders: | *Delete these folders: | ||
<pre>yourWHMCS/includes/OpenStack </pre> | <pre>yourWHMCS/includes/OpenStack </pre> | ||
Line 1,371: | Line 1,396: | ||
<pre>php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue </pre> | <pre>php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue </pre> | ||
*Finally, proceed to the configuration of your server and check if the module type is changed to OpenStack VPS Cloud <br/> and the 'Module Name' to OpenStack VPS Cloud in the 'Module Settings' tab of your product configuration. | *Finally, proceed to the configuration of your server and check if the module type is changed to OpenStack VPS Cloud <br/> and the 'Module Name' to OpenStack VPS Cloud in the 'Module Settings' tab of your product configuration. | ||
+ | |} | ||
+ | --> | ||
+ | ==Migration To Version 3.X== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|The migration process from version 2.X. to 3.X is fully automated. You only need to follow the steps described in the following article: ''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module Update Guide]''.<br/> | ||
+ | All your existing settings, products, and client data will be preserved during the update.<br/> | ||
+ | |||
+ | 1. Make sure all '''tasks are completed'''.<br/> | ||
+ | 2. '''Delete all files''' from the previous version of the module.<br/> | ||
+ | 3. Upload the '''new module files'''.<br/> | ||
+ | 4. '''Activate''' the new '''addon module''' and set the appropriate access control level for administrators.<br/> ''Note: The administrator responsible for configuring the product must have access to the OpenStack VPS & Cloud module addon.''<br/> | ||
+ | 5. The '''migration tool must be triggered manually''', then your existing data will be automatically transferred to the new module. Use the following '''cron command''' to initiate the migration: | ||
+ | php -q /YOUR_WHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php upgrade run 3.0.0 | ||
+ | |||
+ | 6. After a successful migration, run the <code>synchronize:networks</code> cron task to '''synchronize network information''' (IP addresses from OpenStack) with WHMCS for services created before the migration. | ||
+ | php -q /YOUR_WHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php synchronize:networks | ||
+ | |} | ||
+ | |||
+ | =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-vps-and-cloud#open-source-version Open Source version] of your OpenStack VPS & Cloud 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 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.''' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|2. In case of persisting connection problems, please make sure you have the following ports open: |
8774, 35357, 9292, 5000, 8777, 9696, 8776 | 8774, 35357, 9292, 5000, 8777, 9696, 8776 | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|3. If you come across an error with downloading endpoints during the server configuration process, please save the incomplete configuration, refresh a page and then try to finish your server configuration again. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|4. In case you encounter any issues with the cloud-int script or it seems not to be working please follow the below steps: |
* Log in to virtual machine via FTP or noVNC | * Log in to virtual machine via FTP or noVNC | ||
* Check content of the directory: ''/var/lib/cloud/instance/user-data.txt'' | * Check content of the directory: ''/var/lib/cloud/instance/user-data.txt'' | ||
Line 1,393: | Line 1,443: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|5. If you come across the "This flavor - flavor_name_or_id - is not available in the region region_name." error when creating a VM, you should refresh the server configuration page and update Configurable Options.<br/> If this error is still occurring, please make sure that you have the same flavor names set for all regions. |
|} | |} | ||
{| | {| |
Latest revision as of 08:35, 23 October 2025
Important: Please read the upgrade guide before updating to version 3.0.
This release requires manually starting the migration tool to begin the process properly.
Thank you for your understanding!
Contents
|
[edit] About OpenStack VPS & Cloud For WHMCS
OpenStack VPS & Cloud For WHMCS is a powerful module that automates the provisioning of virtual servers for your customers. It enables them to order and manage their instances, backups, and other resources directly from your WHMCS client area. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server |
✔ Change Package - Supports Configurable Options And Volume Resizing |
✔ Change Password |
✔ Start/Stop/Pause/Unpause/Resume Server |
✔ Soft/Hard Reboot Server |
✔ Rescue/Unrescue Server |
✔ Toggle VM Protection From Reinstallation |
✔ Access RDP, Serial, SPICE, Or VNC Console |
✔ View Instance Status And Details |
✔ View Interfaces Details |
✔ View Volumes Information |
✔ Reinstall Server With Virtual Machine Image |
✔ View/Add/Delete Custom Firewall Rules |
✔ Create/Restore/Delete Backups |
✔ View And Run Scheduled Tasks |
✔ Provide Product Configurations: |
✔ Project Settings: |
✔ Choose Default VM Image/Flavor/Region |
✔ Provide Random Domain Prefix |
✔ Set Availability Zone |
✔ Toggle Debug Mode |
✔ Network Settings: |
✔ Choose Fixed/Floating Networks |
✔ Define Default Number Of IP Addresses |
✔ Enable Single Network Interface |
✔ Backup Settings: |
✔ Enable Backups Rotation |
✔ Enable Scheduled Backups |
✔ Define Backups Quantity Limit |
✔ Define Backups Minimum Time Interval |
✔ Snapshot Settings (For Volumes Only) |
✔ Define Default Snapshot Files Limit |
✔ Virtual Machines Settings: |
✔ Enable Auto-generation SSH Key |
✔ Define Default Volume Size And Type |
✔ Set Security Groups |
✔ Enable Password Management |
✔ Choose RDP/Serial/SPICE/VNC Console Type |
✔ Select Rescue Image |
✔ Toggle VM Protection After Creation |
✔ Toggle SSH Private Key Deletion Once Displayed |
✔ Firewall Settings: |
✔ Apply Custom Rules |
✔ Define Inbound/Outbound/Total Firewall Rules Limits |
✔ Console Settings: |
✔ Open Console In New Window |
✔ Configure Client Area Features Per Product |
✔ Configure Admin Area Features Per Product |
✔ Define Custom Flavor Specification |
✔ Define Metadata |
✔ Execute Custom Scripts On Boot |
✔ Choose Welcome Email For VM Creation |
✔ Generate Configurable Options |
- Addon Module Features:
✔ Configure App Templates: |
✔ Virtual Machine Images |
✔ Create Application Groups And Assign App Templates |
✔ Manage Media Library With Logotypes For App Templates |
✔ View Queue Of Scheduled Tasks And Details |
✔ View And Manage Logs |
✔ Customize Module Language Files With "Translations" Tool |
- Client Area Features:
✔ View Server Status And Details |
✔ Start/Stop/Pause/Unpause/Resume Server |
✔ Soft/Hard Reboot Server |
✔ Rescue/Unrescue Server |
✔ Change Server Protection Status |
✔ Toggle VM Protection From Reinstallation |
✔ Change Password |
✔ Create/Restore/Delete Backups |
✔ Pin Backups For Overwriting Protection |
✔ Toggle Scheduled Backups And Define Time Interval |
✔ Access RDP, Serial, SPICE, Or VNC Console |
✔ View/Add/Delete Custom Firewall Rules: |
✔ TCP |
✔ UDP |
✔ ICMP |
✔ Other Protocols |
✔ Reinstall Server With Predefined Virtual Machine From Images |
✔ Create/Restore/Delete Volume Snapshots |
✔ Download Public & Private SSH Keys |
✔ View Volumes Information |
✔ View List Of Scheduled Tasks |
✔ Receive Email Notification After VM Creation |
- Configurable Options:
✔ Flavor |
✔ VM Image |
✔ IP Addresses |
✔ Volume Size |
✔ Backups Files Limit |
✔ Snapshots Files Limit |
✔ Volume Type |
✔ Disk |
✔ RAM |
✔ VCPUs |
✔ Total Firewall Rules Limit |
✔ Inbound Firewall Rules Limit |
✔ Outbound Firewall Rules Limit |
✔ Region |
✔ Custom Script Files |
✔ Availability Zone |
- Supported Providers:
✔ Atlancis Private Cloud |
✔ Binero Public Cloud |
✔ Bluvalt |
✔ China Unicom Cloud |
✔ China Telecom Cloud |
✔ Cleura Public Cloud & Private Cloud |
✔ Cloud & Heat Cloud Services |
✔ DevStack Cloud Service |
✔ ELASTX OpenStack |
✔ FishOS Private Cloud |
✔ Infomaniak Public Cloud |
✔ Limestone Networks Private Cloud |
✔ Linaro Developer Cloud |
✔ NETWAYS Cloud |
✔ NIPA Cloud Enterprise (NCE) |
✔ OpenMetal |
✔ Open Telekom Cloud |
✔ ORockCloud |
✔ OVHcloud Public Cloud |
✔ PlanetHoster Private Cloud |
✔ Rackspace Public Cloud |
✔ Safespring Public Cloud & Private Cloud |
✔ ScaleUp Cloud |
✔ Sharktech Cloud Services |
✔ stc Cloud |
✔ Taikun Cloud |
✔ VEXXHOST Public Cloud & Private Cloud |
✔ Other Providers That Grant Access To OpenStack API On Project Admin Level |
- Required Components:
✔ Keystone |
✔ Glance |
✔ Nova |
✔ Neutron |
✔ Gnocchi (Required For Billing) |
- General Info:
✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically |
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products |
✔ Multi-Language Support |
✔ Supports Cloud-Init Scripts With WHMCS Variables |
✔ Supports Stable OpenStack Versions From Epoxy |
✔ Supports OpenStack Gnocchi |
✔ Supports Virtuozzo Hybrid Infrastructure (VHI) |
✔ Supports Limestone Networks Cloud Hosting Solutions |
✔ Supports PHP 8.3 Back To PHP 8.1 |
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme" |
✔ Supports WHMCS V8.13 Back To WHMCS V8.10 |
✔ Requires ionCube Loader V14 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 VPS & Cloud For WHMCS. 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. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
![]() |
3. When you install OpenStack VPS & Cloud For WHMCS for the first time you have to rename the 'license_RENAME.php' file. The file is located in 'modules/servers/OpenStackVpsCloud/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 quotation marks as presented on the following screen. |
![]() |
5. In the next step, set up the 'storage' folder as recursively writable. This folder is available at 'your_whmcs/modules/servers/OpenStackVpsCloud' . |
![]() |
6. The last step is setting up a cron job (each 5 minutes suggested). Use cron job below but switch the 'your_whmcs' with your root WHMCS path. php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue |
[edit] Addon Activation
7. Activate the OpenStack VPS & Cloud addon. To do so, log in to your WHMCS and navigate to 'System Settings' →'Addon Modules'. Find 'OpenStack VPS & Cloud' and press 'Activate'. |
![]() |
8. In the next step, you need to grant access to this module. To do so, click on the Configure button, select Full Administrator, and then press Save Changes. |
![]() |
[edit] Configuration of Server
9. Now, we will show you how to configure a new product. Go to the 'Setup' → 'Products/Services' → 'Servers' and press 'Add New Server'. |
![]() |
10. Next, enter your server name and connection details. Important: The module supports OpenStack providers that allow access to the OpenStack API with project admin-level permissions or higher.
Finally, click Confirm - the system will automatically generate the Access Hash used for server communication. |
![]() |
![]() |
11. After you have configured your server correctly, you can check the connection with the OpenStack server. Simply, edit the previously created server and press 'Test Connection' as shown on the screen below.
|
![]() |
12. It is time to create a server group. To do so, click on 'Create New Group'. |
![]() |
13. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes'. |
![]() |
[edit] Configuration of Product
14. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services'. Click on 'Create a New Group' . |
![]() |
15. Enter a product group name and press 'Save Changes'. |
![]() |
16. When you have a product group, you can create your product. To create a product click on 'Create a New Product' . |
![]() |
17. Afterward, choose your product group and type from the dropdown menus, enter your product name and press 'Continue'. 'Product Type' should be set to 'Shared Hosting'. |
![]() |
[edit] App Templates
Before continuing to the product's settings, you must ensure you have at least one application or group of applications ready to use. Proceed to the addon module → App Templates section and follow below to create a ready application that will be installed by default on the server. The App Templates section allows you to manage OpenStack images that clients can deploy to their virtual machines directly from the client area. |
[edit] Applications
This section allows you to load available templates (Virtual Machine Images) from your connected OpenStack environment and manage them within WHMCS.
|
![]() |
Once templates are imported, you can use action buttons to edit, duplicate, or delete them. Mass actions are also available for bulk management. |
![]() |
[edit] Groups
With the templates ready, all that is left is to gather them into groups and include said groups into products. Navigate to 'App Templates' → 'Groups' and click on the 'Create' button. |
![]() |
Read the information, then provide the group with:
|
![]() |
You can use the action button and the mass action function to edit and delete template groups. |
![]() |
Your basic configuration of App Templates is now ready. For more advanced configuration, manual creation guides please refer to App Templates Advanced Configuration section in this documentation. For now, go back to your product's module settings and complete the configuration there. |
[edit] Module Settings
18. Now, go to the 'Module Settings' section, choose your previously created server group from the dropdown menu. The module should automatically save and reload settings. If not, click on 'Save Changes' manually. |
![]() |
19. Start from defining 'Project Settings' |
![]() |
20. Proceed with 'App Templates Configuration'.
App Templates Configuration - To create instances based on operating systems or applications, you must first configure the App Templates in the module's addon.
|
![]() |
21. Afterward, set up a network. Choose 'Fixed Network' , 'Floating Network' and 'Default Number Of IP Addresses'. You can set up a network in two ways. You can find more information about the configuration here. |
![]() |
22. At this step you can configure the backup and snapshot settings.
Enable 'Backups Rotation' if you want to allow replacing the oldest backup with a new one when the backup files limit has been reached. You may also let your clients define the backups tasks, they will be then created automatically according to the defined time interval.
Define a default number of allowed snapshots. Enter '-1' to set it to 'Unlimited'. |
![]() |
23. Define the virtual machine settings.
Full list of supported features can be found here.
|
![]() |
24. You can also take advantage of the dedicated Volume and set it as the location of your Virtual Machine Disk,
To do so, make sure to tick the 'Use Volumes' checkbox and enter the desired number into the 'Default Volume Size' field. |
![]() |
25. In the next step you may define the firewall rules settings. Enter the firewall inbound, outbound and total rules limits. When the limit is reached, the client will not be able to create a new rule until one of the existing rules has been removed. |
![]() |
26. Next, select features available at the client area. You can also decide which images used to rebuild the server will be available to your customers. |
![]() |
27. Finally, enable features available for the administrator on the service page. |
![]() |
28. In addition, you can also choose whether you want to send a welcome email after the VM has been successfully created by cron. This feature can prove useful if you want clients to receive the notification once their VM is ready rather than immediately after product activation. |
![]() |
[edit] VPS With Predefined Resources
Our module allows you to offer OpenStack VPS & Cloud to your clients in two ways, with either predefined or configurable resources. In this section, we will show you the configuration of a VPS with predefined resources. |
26. Select a 'Default Flavor' and 'Default Application' . 'Default Flavour' defines resources assigned to a VM, while 'Default Application' allows you to choose the VM image used to create a new VM. |
![]() |
Congratulations! You have just finished the installation and configuration of the module with predefined resources. |
[edit] VPS With Configurable Resources
27. Preparing VPS with configurable options consists of pressing 'Create Configurable Options' as shown on the following screen. It will prepare default configurable options which can be easily edited afterward as described in this article.
Note: The second and the third options result in the creation of a new flavor on your server each time a new order is made. |
![]() |
You can now decide which options should be included in configurable options. |
![]() |
[edit] Custom Flavor Specification
28. You may also use a customized 'Flavor Specification' as key and pair property of your product configuration. Supported 'Custom Flavor Specification' format: key1=value1 key2=value2 for example: hw:cpu_sockets = 3 CIM_PASD_ProcessorArchitecture=x86 |
![]() |
[edit] Custom Security Group
29. Optionally, you may create a custom security group with customized rules that will be added while creating the virtual machine. Select 'Apply Custom Rules' option at Virtual Machine Settings and enable 'Firewall' option in the client area. |
![]() |
Edit the additionalRules.json_sample file content located at modules/servers/OpenStackVpsCloud/app/Config/additionalRules.json_sample directory. Start with renaming it from additionalRules.json_sample to additionalRules.json. That is what a default content of the additionalRules.json file looks like: |
![]() |
Customize the rules according to your needs by providing:
|
Now, that your file is ready, a new security group will be created in your OpenStack panel and visible in the product's Module Settings under 'Use Security Groups' on the product creation. The rules are visible for the client in the 'Firewall' section. If you terminate the product, this group will be deleted as well. Important: When you are updating your module, and you do not want to overwrite your personalized additionalRules.json file you do not have to do anything. |
[edit] Management
[edit] Addon Configuration
Let’s begin by exploring the key features available in the addon. To access it, navigate to 'Addons' → 'OpenStack VPS & Cloud' in your WHMCS. |
[edit] Dashboard
The 'Dashboard' section ufdsfsdfdsfsd |
![]() |
[edit] App Templates Advanced Configuration
Before you proceed, make sure you’ve reviewed the App Templates section for basic configuration steps. This section is intended for advanced users and administrators who want to manually manage imported virtul machine images. |
Images are created and maintained directly in your OpenStack control panel. The module automatically pulls this data and displays it in the App Templates section of the addon module. To import or refresh templates in WHMCS:
Once imported, the image templates can be grouped and assigned to specific products within WHMCS, no further manual steps are required. Important! Only images that already exist in OpenStack are supported. There is no need to create templates manually in WHMCS. |
![]() |
Once imported, templates can be:
No additional manual configuration is required for them to be used in provisioning. |
[edit] Editing Imported Templates
To view or update template details:
|
![]() |
These setting detils are automatically assigned by the module. Do not modify these values unless you are an advanced user who understands OpenStack internal mechanics. |
![]() |
[edit] Custom Metadata in App Templates
Starting from version 3.0.0, metadata handling has been moved from the module settings to the App Templates section. You will now find a dedicated metadata field within each template. Metadata is now applied per individual application (image) instead of per product as in previous versions. If needed, simply fill in the metadata details as shown in the example below. |
![]() |
Supported Metadata format that can be added:
|
![]() |
[edit] Custom Scripts in App Templates
The configuration of custom initialization scripts (Cloud-Init) has been moved from the module settings to the App Templates section in the addon module. |
Important notes:
|
![]() |
Below is an example of a simple Cloud-Init script defined in the user_data field that sets a new root password for Ubuntu: #cloud-config debug: True ssh_pwauth: True disable_root: false chpasswd: list: | root:newpass01 expire: False runcmd: - sed -i'.orig' -e's/without-password/yes/' /etc/ssh/sshd_config - service ssh restart This configuration ensures that the root password is updated and SSH access is properly enabled when the instance starts. |
![]() |
You can use the Related Field inside the user_data script to dynamically pass product or client information. #cloud-config runcmd: - echo "Client ID: {$userid}" >> /root/whmcs_info.txt - echo "Service ID: {$serviceid}" >> /root/whmcs_info.txt Important: If you want to use braces { } in your script without including a variable, wrap them with {literal}{/literal} to avoid template parsing errors. |
![]() |
[edit] Media Library
The 'Media Library' section stores images that can be used as thumbnails for your operating system and application images. Use the Additional Actions to delete all images at once. |
![]() |
[edit] Task Queue Tool
The "Queue" tool helps you track and manage the tasks created by the module. It allows you to view and interact with task details, including task IDs, statuses, and related items. |
![]() |
[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] Logs
The 'Logs' section under the 'Tools' tab is where the module logs are stored. You can filter the module logs by type with the 'Show' buttons. For precise details on Logs, please refer to our dedicated documentation article, which you may find here. |
![]() |
[edit] Admin Area View
OpenStack VPS & Cloud For WHMCS allows your customers to manage their servers via the client area in your WHMCS system. You can monitor and manage each product from your WHMCS admin area.
|
![]() |
[edit] Ordering
Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs. Additionally, you are able to set up pricing for each configurable option, which make your offer even more competitive. |
![]() |
[edit] Importing Existing Instance
In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the OpenStack panel. Take the following steps to make sure that the process will be carried out properly. 1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary view, click on the ' Add New Order' button. Next, select a 'Product/Service' and press 'Submit Order' .
The above-mentioned information has to be consistent with the data from your OpenStack panel. Now, complete these fields as presented below. |
![]() |
3. If the completed data is correct, after refreshing the page, you will see the attached instance from OpenStack. Important! Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, SSH Key, billing cycle, etc. so they match the parameters of the attached instance from OpenStack. |
[edit] Client Area
Client area interface of OpenStack VPS & Cloud should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine. The module enables your customers to easily start/stop, pause/unpause, resume, soft reboot, and hard reboot their servers by pressing the corresponding button. |
![]() |
[edit] Volumes
In case your OpenStack VPS & Cloud is running with the 'Use Volumes' option, the client area may look a bit different. It will now include an additional section named Volumes. |
![]() |
[edit] Reinstallation
The reinstallation option allows your clients to change a server image. To reinstall your server, choose an image and confirm through pressing the 'Reinstallation' button and confirm the action. |
![]() |
[edit] Rescue Mode
The rescue mode provides a mechanism for a VM access even in case the VM's image renders the instance inaccessible - e.g. if instance's filesystem becomes corrupted. The rescue VM will be launched to permit the user to fix their VM. When you want to disable the rescue mode, click the 'Unrescue' button. The VM status will then also return to 'ACTIVE'. |
![]() |
Before you continue, please note that the rescue VM will be set up with the same network configuration as the real VM. Moreover, a new root password will be generated and the VM status will change to 'RESCUE'. |
![]() |
[edit] Backups
Your customers can also create backups of their resources. To do so, press the 'Create Backup' button. In this section, you will find three different categories related to backups and their management. Manual backups can be created on:
Scheduled backups can be created on:
|
![]() |
Simply, type in a custom name of your backup and press the 'Confirm' button. Note 1: Sometimes it may take up to several dozen minutes to finish creating the backup. Please wait until the process is complete. |
![]() |
Clients are also given the opportunity to create backups automatically by enabling the option: 'Schedule Backups'. When enabled, provide a time interval to wait until the next backup is created to define the task's routine. The entered time interval must be higher than or equal to the limit specified by your administrator. |
![]() |
To restore a VPS from backup, simply press the 'Restore' button next to it. If selected backups are no longer needed, you may easily delete them. |
![]() |
[edit] VNC Console
One of the most interesting functionality is a VNC console where your clients can remotely manage their servers. To access it, simply click on the 'Console' button. |
![]() |
VNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets. |
![]() |
[edit] VM Protection
In the product configuration page you can enable the 'Protect VM After Creation' option which prevents the rebuilt of VM. The selected status of this protection will be applied to both admin area and client area. |
![]() |
Moreover, if the 'Protect VM' option is enabled in the client area, the client will be empowered to toggle the current protection status. |
![]() |
[edit] Firewall
The firewall management page allows your customers to view, add or delete existing rules on a security group assigned to the product. To add a new firewall rule, use the button marked on the following screen. |
![]() |
Next, choose the rule type (TCP, UDP, ICMP or Other Protocols), direction (inbound or outbound) and ether type (IPv4 or IPv6). Depending on the port you choose, you will be able to add a rule for a single port only, a range of ports or all ports at once. You can also select one of the predefined ports or use a custom one. Finally, provide a single IP address or specify the range of addresses using the CIDR format (e.g. 10.10.10.1/24). Press 'Confirm' when ready. |
![]() |
[edit] Snapshots
Creating snapshots allows customers to quickly restore any changes to a virtual machine in case of any problems. Clients can create as many snapshots as they are allowed by the admin in the product configuration or chosen in the configurable option. Once the shutter has been created, the customer can restore it, change its description or delete it. |
![]() |
After pressing the 'Create Snapshot' button, the new window will pop up along with your limit number and the possibility to specify the snapshot name. Please note that taking a new snapshot may take a while to process. |
![]() |
[edit] Network Configuration Cases
OpenStack VPS & Cloud For WHMCS allows you to set up two types of network. The first one is a network without a floating IP address. |
![]() |
The second type of network is the network with a floating IP address. Select 'Shared Network' as 'Fixed Network' and 'Public' as 'Floating Network' . |
![]() |
[edit] Configurable Options
In case that standard configuration does not meet your needs, you can adjust it through configurable options. To do so, go to 'Setup' → 'Products/Services' → 'Configurable Option' and press the edit button next to a configurable option used by your product. |
![]() |
Here you can view the products that this configurable option group is assigned to. Now we will show you how to edit options. Let's say that you want to add an option to order VPS with 8GB (8192 MB) RAM. |
![]() |
You will see a popup window, so make sure that your browser will not block it. To add a new option, enter it in a textbox under all other options. If you want to replace it with an option you currently have, simply edit its text box. |
![]() |
Please remember that names of 'Options' for configurable options such as 'Flavor' , 'Network' as well as 'Image' should NOT be modified in WHMCS. These names should remain the same as in your OpenStack panel. |
![]() |
[edit] Tips
1. The module supports OpenStack providers that grant access to the OpenStack API on project admin level or higher. To ensure proper operation, use an account with the necessary rights to perform actions through the API. For more details, see the OpenStack API documentation. |
2. Due to some requests may take time to be completed, we implemented 'Scheduled Tasks' . Tasks visible at 'Scheduled Tasks' are subsequently performed by a cron job. |
3. Important: module has to use admin endpoints instead of public endpoints. In a properly configured OpenStack server, wget from WHMCS server should be able to get any data from any admin endpoint. wget openstack:9292 --2014-03-31 09:35:24-- http://openstack:9292/ Resolving openstack(openstack)... 192.168.1.222 Connecting to openstack(openstack)|192.168.1.222|:9292... connected. HTTP request sent, awaiting response... 300 Multiple Choices Length: 520 [application/json] Saving to: `index.html' 100%[==========================================================>] 520 --.-K/s in 0s 2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520] wget openstack:8777 --2014-03-31 09:41:05-- http://openstack:8777/ Resolving openstack(openstack)... 192.168.1.222 Connecting to openstack(openstack)|192.168.1.222|:8777... connected. HTTP request sent, awaiting response... 401 Unauthorized Authorization failed. |
4. A primary IP address is always assigned by the OpenStack server when a VM is created. Therefore, if you decide to order 2 IP addresses, then 3 addresses will be assigned. The primary one and the two additionally ordered. If you wish only one IP address to be assigned to a single product, please set the filed 'Default Number Of IP Addresses' to '0' or leave it empty in the product's 'Module Settings'. |
5. 'Scheduled Backups' functionality is available also for VPS using volumens since 2.0.0 module version and later. |
6. How to set up a password to a VM: When creating a VM:
When resetting a VM:
|
7. How to set up the username based on the used image:
image name (use name displayed in the databse): 'newUsername' For example: ca6628a6-f627-480f-8aeb-07fdc372712a: 'cirros' Take a look at the screen to see how an exemplary, correctly modified file content might look like: |
![]() |
[edit] Update Instructions
An essential guidance through the process of updating the module is offered here.
|
[edit] Migration To Version 3.X
The migration process from version 2.X. to 3.X is fully automated. You only need to follow the steps described in the following article: Update Guide. All your existing settings, products, and client data will be preserved during the update. 1. Make sure all tasks are completed. php -q /YOUR_WHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php upgrade run 3.0.0 6. After a successful migration, run the php -q /YOUR_WHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php synchronize:networks |
[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 VPS & Cloud 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. In case of persisting connection problems, please make sure you have the following ports open:
8774, 35357, 9292, 5000, 8777, 9696, 8776 |
3. If you come across an error with downloading endpoints during the server configuration process, please save the incomplete configuration, refresh a page and then try to finish your server configuration again. |
4. In case you encounter any issues with the cloud-int script or it seems not to be working please follow the below steps:
cloud-init --debug init |
5. If you come across the "This flavor - flavor_name_or_id - is not available in the region region_name." error when creating a VM, you should refresh the server configuration page and update Configurable Options. If this error is still occurring, please make sure that you have the same flavor names set for all regions. |
6. 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. |