OpenStack is a software for creating and managing cloud computing platforms for public and private clouds. OpenStack’s modular architecture allows to deploy different projects, depending on types of resources you’re virtualizing and types of cloud services you need. With multiple provisioning methods you can use OpenStack module to sell and provision automatically VPS Hosting, Cloud hosting (virtual Datacenters) or DIY Cloud and VPS packages.
4. Verify entered credentials by clicking Test Connection to check if HostBill can connect
5. Save Changes
For more generic product configuration details including price, automation, emails settings refer to Product Configuration article.
In Products & Services → Your Order Page → Your Product → Client Functions you can control what features customer will have access to in client portal, by clicking Enable/Disable next to the given option.
Use Edit button to adjust function appearance in the client portal.
For OpenStack you can enable the following client functions dedicated to this module:
As well as number of standard client functions, such as
This module supports two ways of settings up SSH access with password authentication: through root password injection and cloud-init scripts.
You can read more on how to enable password injection for different hypervisors here: http://docs.openstack.org/admin-guide/compute-admin-password-injection.html
To use cloud-init script, you will need to enter it in your product configuration, under "Misc" tab.
It allows you to use "$password" variable that will be replaced with actual root password when new VM is created.
It is possible to use smart templates for user data script, you can access $service
, $client
, $forms
and $password
variables to customize your script.
Please refer to this list to find out proper variable names - Available Email / Mobile Notifications Variables
You can access form components values through $forms
variable, this guide illustrates how to find proper variable names - Forms: Accessing Forms elements in email templates
#cloud-config hostname: {$service.domain} users: - name: {$forms.username.value} gecos: {$client.firstname} {$client.lastname} passwd: {$password|mkpasswd} sudo: ['ALL=(ALL) NOPASSWD:ALL'] groups: sudo shell: /bin/bash runcmd: - {$forms.recipe.variable_id} - restart ssh output: {literal}{all: '| tee -a /var/log/cloud-init-output.log'}{/literal} |
User data script is processed by smarty template, if your script includes curly bracers ( |
You can use `
For example to generate a |
Problem: Connection timed out
Solution: Make sure that HostBill server is able to connect to your Openstack server. After authentication Openstack returns with list of available api endpoints, HostBill will test those endpoints using admin api interface (adminURL). Make sure that url provided in error message is accessible from your server.
Problem: Admin API interface is not available for some services (eg. compute, network)
Solution: Rename includes/modules/Hosting/openstack/endpoints.php.example to endpoints.php, you can edit that file to select which url type will be used for each service.
Problem: Test connection returns: 500 Internal Server Error. Test did not completed, check your error logs for more information.
Solution: There was an error while testing connection status, check Extras → System Logs → Error logs for more information.