Release Notes


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.


CloudBolt will be upgrading to Python 3 in version 8.0. That means any Plug-ins and UI Extensions must also be updated before upgrading to that version. Our out-of-the-box Actions have been updated to be compatible, and a guide is available to help in the transition.

Warning - JSON Web Token for API integration, for users upgrading pre-7.5.1 CloudBolt

  • If you are upgrading from a pre-7.5.1 CloudBolt version and you have external systems calling into CloudBolt API, be aware that CloudBolt API calls now require the use of temporary access bearer tokens. For instructions on requesting and using bearer tokens, please see the API documentation.

Warning - External User Sync plug-ins, for users upgrading pre-7.2 CloudBolt

  • If you are upgrading from a pre-7.2 CloudBolt version and you have a modified external user sync plug-in, upgrading to 7.2+ will cause logins to fail. You can find this plug-in in the UI in Admin > Orchestration Actions > Other > External Users Sync.
  • Before upgrading, disable the external user sync plug-in, and then follow the example below (see LDAP User Permissions) to update your plug-in for CloudBolt’s new permissions model. If you need help, download your plug-in code and attach it in an email to our support group.


What’s New in CloudBolt 7.7.3


Auto-Select Environment Plug-ins

Each server tier in a blueprint may now be associated with an auto-select environment plug-in. This allows BP admins to specify custom logic for choosing the best execution venue for the workload. For example, a BP admin could provide a plug-in that automatically selects the least cost public cloud to run the VM, or the internal virtualization environment that is the least utilized. For more information on the Auto-Select Environment Plug-in and CloudBolt Plug-ins in general see the Auto-Select Environment Plug-in topic in the CloudBolt Plug-Ins documentation.


What’s New in CloudBolt 7.7.2


Generated Option Parameters Improvements

Prior to version 7.7.2, generating options for parameters using an action required a deep understanding of the CloudBolt architecture. It required, for instance, understanding all the places the action might get called from and the OOTB (out-of-the-box) behavior for parameter options. Starting in version 7.7.2, it’s possible to affect the options for a parameter on select contexts and default to the OOTB behavior in other contexts. It is also possible to bypass the OOTB filtering of generated options by constraints defined elsewhere in the product. For more information on generated parameter options see the Generated Parameter Options Appendix.

Azure Stack Resource Handler

Support for Azure’s on-premise cloud platform has been added. Functionality should match that of Azure’s public Resource Manager. For more information, refer to

Dynamic EC2 Regions

Past versions of CloudBolt relied on the static EC2 regions included with the botocore library to display lists of available regions to users. CloudBolt now attempts to lookup regions from the AWS web service to fetch the latest list of regions. New regions will now appear as soon as they’re available to EC2 users. If CloudBolt cannot reach AWS to fetch these regions, or the request takes too long, it falls back to the botocore static list of EC2 regions. 154526566

External source code caching

After fetching source code from an external system, CloudBolt will keep a cached copy. If connection to the system later fails and the source code can’t be accessed, CloudBolt will fall back to the cached version. This applies to plug-ins, remote scripts, and Kubernetes config files.


  • Allow for multiple AMIs in OS Builds for the same resource handler. 151774553
  • Release notes were moved to a shorter URL, /release-notes.html
  • Fixed a bug where NICs lost the associated network 154678401
  • Fixed a bug where already-deleted snapshots in GCE couldn’t be deleted in CloudBolt 154095690
  • Added ability to cancel multiple jobs at once from the Jobs list page.
  • The resolution of the CloudBolt favicon has been increased.
  • Added a new weekly recurring job “Refresh Server Rates” which updates the rates used for calculating cost estimates on GCE and AWS servers when their pricing has changed.
  • Added ability to control the order in which Action Inputs are shown on an order form. 152357278
  • Improved the warning message when deleting Azure Resource Groups and Storage Accounts. 155041959
  • Azure servers now set their power status to ‘Off’ when Azure reports their status as ‘stopping’. Before, they would have a power status of ‘Unknown’ until Azure reported it as ‘stopped’. 155344290


What’s New in CloudBolt 7.7.1


Server power schedules

Power schedules now indicate the applicable time zone. When viewing the Power Schedule tab, this is the user’s local time zone - automatically determined from their local system. When editing schedules, the time zone of the schedule is clearly shown. In the future, we look forward to making more improvements to time zone support for this feature.

Manage more specific permissions for server disks

The server.manage_disks permission has been split into three distinct permissions: server.add_disks, server.remove_disks, and server.resize_disks. This provides admins finer control over users and their permissions. Roles with the server.manage_disks permission will be updated to include these three permissions by default.


  • This release includes a CloudBolt High Availability guide.
  • The Global Defaults for Parameters will now only be created once. In previous versions of CloudBolt, if these were deleted, they would have been re-created on every upgrade. 152683195
  • If RADIUS two-factor authentication is enabled, the authentication token is no longer required for API calls. 154810136
  • A bug resulting from syncing an Azure Resource Manager VM with a non-standard size has been fixed. 154742702


What’s New in CloudBolt

This release includes a single fix for a bug related to the console feature. 154650343


n What’s New in CloudBolt 7.7 —————————


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • Changes have been made to the out-of-the-box “Scale Service” action to make it more resilient. If you have changed it, we suggest updating your version to reflect the new out-of-the-box code.


Job Engine Refactor

The job engine has been refactored to use a more robust queue and worker architecture. Default CloudBolt installations should upgrade automatically. However, high-availability environments will need to disable the the job engine on their secondary instances. For more information, see the docs on The Job Engine.

Remote Script Clean-Up

Remote Scripts now have a boolean field to decide if the temporary file on the target VM should be deleted after the script runs. By default, the boolean is True, and the scripts will get cleaned up. However, leaving them on the target VM can be useful for debugging purposes, so the option is provided.

Enable and Disable Console at Resource Handler level

The ability to enable or disable the console feature is now available on individual resource handlers, rather than only at the global level. Multiple resource handlers can also be managed in Miscellaneous Settings.

Support for Various Azure Cloud Environments

The AzureRM resource handler now supports connecting to cloud environments other than the default public cloud. The new options now include Germany, China, and US Gov, and can be selected via the resource handler’s credentials form.


  • Improved the remote script documentation to describe how to enable encryption on winRM-based script executions. 153571623
  • Improved the API documentation section to answer the common question of extending the token expiration and to provide the link to documentation for other token related advanced parameters. 154190246
  • In rare cases, a Server Error could occur with Permission issues on the application.log. That is now prevented. 152724717
  • Improved fetching of Azure ARM VM sizes. 153516015
  • Improved Section 508 accessibility features: Windows High Contrast Mode and keyboard navigation support for MS Edge browser. 153464629 153267431
  • Support browsing and searching an overview of history events on a new page accessible from the admin page. 153414775
  • Added Job Logs to API 153290546
  • The API sample scripts have been consolidated - the “1step” scripts have been made the main ones, and the script has been removed ( should be used instead). We recommend re-downloading the sample scripts here . 152943866
  • Fixed blank order form when blueprints have CloudBolt Plug-ins with Python errors. 153461686
  • Fixed webhooks to operate within environment and resource technology constraints. 153745934
  • Made Scale Service action more resilient, especially in the case where the original install job has been deleted. 153609868
  • Improved unicode support 152780698
  • Parameters can now be made dependent on OS Families (ex. only show a particular parameter if a Windows OS Build is chosen) #153834225
  • Order form shows “Select group” placeholder instead of choosing initial group when there is a choice of groups. 153619213
  • Fixed job tree not displaying Delete Server jobs created by Delete Service jobs. 153953220
  • Added ability to adjust timeout for sample Azure ARM template deployment script. 153195353
  • Some older versions of CloudBolt had an issue upgrading to v7.6, with an error loading the MySQLdb module. That has been resolved. 153031185


What’s New in CloudBolt

This release includes a single fix for a bug related to upgrading the MySQLdb module. 153031185


What’s New in CloudBolt

This release includes a single fix for a bug related to blueprint permissions. 153498607


What’s New in CloudBolt 7.6


Action Input and Dependency Improvements

When viewing a CloudBolt action that has action inputs, the action inputs are now links to a detailed page with information on the action inputs. Placeholder text and dependency info can now be defined on them, so that some action inputs can be specified to appear only when another action input has a specified value.

View Savings from Power Schedules

There is a new report entitled “Savings from Server Power Schedules” that summarizes costs by technology over arbitrary time periods. Only visible to CB Admins. Detail views of servers with power schedules now include a prediction on cost impacts for end users.


Support for translating CloudBolt’s user-facing content into other languages has been added. More information on how to translate your CloudBolt experience can be found in the i18n documentation


  • Updated pywinrm from 0.0.3 to 0.2.2 and requests from 2.18.1 to 2.18.3 . 153177307
  • Improved the visualization of power schedule on servers, both in the server tab and in the list view. 152772986
  • Support seeing/updating the power schedule on multiple servers, from any server list view. 152862687
  • Updated noVNC from pre-0.5 to 0.6.1. 152123470
  • Password fields no longer revert to blank when you submit a form with errors. 152096930
  • Removed Admin > Global Parameter Defaults. Defaults can now be set from parameter detail views. 152248583
  • User logins, failed logins, and logouts logged in new authentication log. 151298042
  • Fixed several cross-site scripting (XSS) vulnerabilities around Group names, Environment names, Preconfiguration labels, and Miscellaneous Settings. 152250234
  • Fixed an issue where a VM Synchronization job could interfere with a provisioning job. 151500814
  • Support for static IP assignment when provisioning Nutanix Acropolis VMs. 152460188
  • Disabled debug logging in /var/log/cloudbolt/guacg.log to prevent usernames and passwords from being logged. Need to re-enable it? Add the -d flag in /etc/init.d/guacg and run service guacg restart. 152498996
  • Improvements and fixes for nested blueprints. Sub-blueprints are no longer required to create services. 151298042
  • On SoftLayer, added support for running remote scripts and improved support for SSH/RDP. #151048550
  • Add a relationship between UserProfiles and CustomFieldValues (parameters) to allow associating extra information with users in CloudBolt. 152700710
  • Additional sub-interface IP addresses on VMWare servers are now visible on the corresponding NIC details on the server’s Networks tab. 151231362
  • It is now possible to order a blueprint in a single call to the CB API. See the API sample script for an example of how to do this. 152890043
  • CB Admins will now see a button on blueprint order details pages that displays info about how to recreate that order in the CloudBolt API. #152906991
  • The default timeout for all jobs can now be customized in Admin > Miscellaneous settings, 151141087
  • Fixed error when creating Kubernetes Ingress resources. #143544563
  • Kubernetes orders can now be added to Continuous Infrastructure Testing. #152732865


What’s New in CloudBolt 7.5.1


API Token-based Authentication

As added security CloudBolt API now adheres to the industry standard use of temporary session tokens. For instructions on requesting and using bearer tokens, please see the API documentation.


  • Fixed vulnerability around delete servers using the API 152445165
  • Enabled ‘servers’ collection in the ‘_links’ attribute of a serialized job. 152456136


What’s New in CloudBolt 7.5


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

7.5 UPGRADE NOTES - Changes to BP ordering models, methods, context, API

A variety of models, methods, and attributes have been updated to be more accurate and easier to understand. Our hope is that this will better allow everyone to work with the blueprint ordering aspect of CloudBolt most effectively going forward.

If you have not written any custom code and do not use the API, you will not need to make any of these changes. The upgrader includes logic to inform you about Actions you have in your CloudBolt that include any of these terms that need to be updated. It will print a message at the end of the upgrade log if any such Actions are found, as well as sending an email to the defined “CB Admin E-mail” if Email Settings are configured correctly.

  • To access context about the overall blueprint in an action (e.g., a parameter value on one of the tiers), actions need to use blueprint_context rather than service_context (e.g., {{ service_context.tier_name.param_name }} becomes {{ blueprint_context.tier_name.param_name }}). You may need to update existing actions to accomodate this change to the key.

  • Changes have been made to the way blueprints are ordered through the API, which will require updates to any scripts used to do that.

    • The API sample script that CloudBolt provides to explain how to order a blueprint through the API has been renamed from to You’ll likely want to re-download the sample scripts here.
    • The endpoint that is used to add blueprint deployment items to an order has changed from service-items to deploy-items. Check out the order_blueprint sample script to see how this is used.
    • The structure and key names for serialization of blueprint deployment orders has been changed. Review a blueprint deployment order in the API browser to see how it looks now.
  • Changes have been made to the out-of-the-box “Scale Service” and “Create virtual network” actions. If you have changed them (not expected), you will need to update your versions to reflect the new out-of-the-box code. The changes made include altering the models listed below to use the new ones and adjusting related variable names.

  • If you have custom code in an action or UI extension that references the InstallServiceOrderItem, InstallServiceItemOptions, ServiceOrderItemSerializer, or ServiceItemOptionsSerializer models (including relationships to them such as installserviceorderitem_set or installserviceitemoptions_set), you will need to update it to instead reference BlueprintOrderItem, BlueprintItemArguments, BlueprintOrderItemSerializer, or BlueprintItemArgumentsSerializer, respectively. Those models have been renamed in the CloudBolt code.

  • If you have custom code in an action or UI extension that was using the CloudBolt methods create_options or create_basic_options, which are related to building orders to deploy blueprints, they have been changed to create_arguments and create_basic_arguments.

  • If you have custom code in an action or UI extension that checks the type of a Job, or the TYPE_CODE or job_type attribute of an InstallServiceOrderItem object, and has conditional logic based on whether its value is ‘install_service’, the correct value to check for is now ‘deploy_blueprint’.


Email Templates

The Admin -> Email Settings page now has a list of Email Templates available to edit. Several templates are available out-of-the-box, and additional templates can be created as needed.

Consequently, the methods for sending emails in CloudBolt have been refactored. Before, your plug-ins were responsible for rendering an email body and sending that to the methods available in utilities.mail: email_cbadmin() for sending mail to the address set in Email Settings, and utilities.mail.send_mail() method for a particular recipient. Those two methods have been deprecated in favor of email() and email_admin(), both of which accept a ‘slug’ that is used to find the appropriate Email Template to use. For more information on how to use these methods, please refer to the Email in CloudBolt section of the docs.

The ‘Email Output Directory’ miscellaneous setting has been deprecated. If your legacy CloudBolt instances are using that setting, contact support for an alternative before upgrading.

Actions in Blueprints That Do Not Create a Service

Blueprints that do not create services can now include action blueprint items, in addition to the servers that were already possible. Other restrictions remain. Note that the resulting orders will look a bit different than non-service deployments did previously, and more like orders that deploy a service.

Placeholder Fields for Parameters

New “Placeholder” field for parameters of type String, Multiline Text, and Encrypted Text. This optional value is displayed on empty form fields, allowing admins to provide an example of the expected input value or format.

User Avatars

Added Admin > Miscellaneous settings > Avatars setting to show user avatars or just their initials. This used to be a Django setting that is now deprecated; an override in will be honored. From now on this is managed through the UI.


  • Added Email On Order Completion checkbox to the Email Settings. CB Admins can enable/disable sending email notification to the owner of an order. 150813355
  • Added button to export server data to csv, directly from the Servers page. 150690156
  • Make CB more resilient to sporadic VMware failures. 151184456
  • Support for custom headers in web hooks. 151953075
  • Some views were optimized to be more responsive when there are 1000s of users in the system: Admin > Users, Group detail page and the dialog to add new users to a group. 151267933
  • Added missing API endpoints for importing Server Actions, Service Actions, Rules and Recurring Jobs. 151441426
  • Fixed Chef error when deleting node that doesn’t exist on Chef server. 150722266
  • Increased CenturyLink timeout to accommodate slow provisioning tasks. 151571268
  • Fix error when using LDAP with non-ASCII characters (LDAP v3 only). 146938783
  • Fixed several cross-site scripting (XSS) vulnerabilities around user profile fields. 151766982 152017537


What’s New in CloudBolt

This patch release fixes the following issues:

  • Fixed vulnerability around delete snapshots 151486662
  • Fixed issue where Remote Desktop connections to versions of Windows greater than 2012/10 failed with a DISCONNECTED error message. 151526509
  • Fixed error raised when deleting a service with a sub-service 151552747
  • Fixed Quick Setup steps “Networks” and “Templates” which prevented user from proceeding in some cases. 151525203
  • Fix an error handling bug - after provisioning, if VMware returns an error when trying to find the template, the CloudBolt provisioning job is now resilient to that error. 151136839


What’s New in CloudBolt 7.4


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • If you have a custom action in the External Users Sync trigger point, you will need to either convert over to the new “User Permission Sync From LDAP” action or disable it.
  • The old “Sample User Group Permission Sync From LDAP” action in the External Users Sync trigger point is obsolete and can be deleted.


Toggle SSL Verification per Resource Handler

Individual Resource Handlers now have a boolean to toggle SSL Verification that supplements the global SSL Verification toggle. By default, existing VMWare Resource Handlers will have verification disabled, as existing CloudBolt instances might be connecting to VMWare using invalid certs, and those shouldn’t fail upon upgrading. The toggle should be editable on the Resource Handler’s credentials form, available when creating a Resource Handler or clicking on the Edit Credentials button from its detail page.

Any connection being made by a Resource Handler with SSL Verification disabled will now display a warning when clicking on Verify Connection. The connection will still succeed, but the warning will explain where verification has been disabled, either on the individual Resource Handler or globally.

Parallelize your CIT Test Groups

CIT can now run groups of tests in parallel. It will look for tests with a label like “serialgroup:<group name>” and run the tests within the same group (exact same label) in serial, while letting the different groups run in parallel. Unlabelled tests will be treated as an implicit group, running in serial amongst themselves but at the same time as any defined groups. If you do not use any labels starting with “serialgroup:”, the behavior of your CIT tests will not change.

Edit Your Orders

It is once again possible to edit provisioning/ deployment orders, either the one that’s in your cart (e.g., because you’ve duplicated one) or one that is pending your approval. Note that the current configuration of any associated blueprints, environments, etc. will take precedence over the details of the order being edited if they are different.

Also note that if a pre-7.4 order is duplicated, the resulting order may not be editable.

Disable Avatar Images

Avatar images can now be disabled by setting ENABLE_AVATARS=False in your customer_settings file. This feature utilizes a 3rd party service,, and looking up avatars for many users can slow down some views in the CloudBolt app. When disabled, users’ initials are shown instead of images.

Preview Blueprint Costs Across Environments

If the rates feature is enabled, and when a blueprint has a single Server Tier with specific environments configured (as opposed to all capable environments), the order form will show a cost preview chart comparing base costs of each environment choice.

Sync your Groups and Roles with LDAP

CloudBolt now supports mapping LDAP organizational units and groups to CloudBolt groups and roles via the UI. The mappings can be configured on the details page of your LDAP utilities.

CloudBolt comes with a new “User Permission Sync From LDAP” action enabled out of the box that will use these mappings to automatically grant LDAP users the appropriate permissions when they log in. For more information, see Using the “User Permission Sync From LDAP” Action.

Extend the Admin page with Custom Admin Pages

The UI extension framework now supports custom admin pages. This gives CB admins the ability to create entirely new functionality within the CloudBolt Admin interface and supports our goal to deliver a “single pane of glass” experience to IT teams. Please work with our Solutions team to learn more.

Provide Initial Values for Generated Option Parameters

When generating options for parameters using an action, you can now provide an initial value to specify which option should be selected to start. To do so, have the method return a dictionary as described in the docs. The old approach of returning a list of tuples (without an initial) is still supported.

Jupyter Notebooks for Advanced Support Cases

When working with CloudBolt Support, you may be asked to access Admin ‣ Support ‣ Django Jupyter Notebook after enabling it in Admin ‣ Administration ‣ Miscellaneous Settings. This is a standard Jupyter Notebook that acts like Django’s shell_plus tool (Interacting with CloudBolt’s Models) in your browser.

Parallel Excution of ‘Refresh Server Utilization’ Recurring Job

The recurring job was improved to fetch the utilization for each resource handler in parallel. It is also now more relient to failure if one or more resource handlers are offline.

Deploy Azure Resources via Azure Resource Manager Templates

Refer to the Azure Resource Manager Template blueprint in the Content Library for an example on how to deploy resources using ARM templates. Example templates are available at

AWS GovCloud Resource Handler

The AWS GovCloud resource handler has been updated, and various bugs have been resolved. To create a GovCloud resource handler that connects to the default us-gov-west-1 region, provide an EC2 endpoint of and an Elastic Load Balancer endpoint of to the resource handler credentials.


Note: CloudBolt began tracking these in our release notes late in 7.4, but future release notes will be more comprehensive!

  • Python has been upgraded to v2.7.13. 145709545
  • The Python Requests library has been upgraded to v2.18.1 to get the latest SSL certificate compatibility. 145709545
  • Django has been upgraded to v1.11.4. 150190771
  • Various RPM packages have been upgraded. #151070200
  • We made docs prettier, more navigable, and searchable. 150903953
  • Admin > Rates > Environments is easier to use and presents custom rates in a table that can be sorted and searched. 150760125
  • Fixed a bug affecting some copy-to-clipboard buttons. 148111283
  • Fixed a bug for services being shown to users without service.view permission. 150900443
  • Fixed a bug in reports that could generate negative cost for servers that were moved between groups. 150923667
  • Fixed a bug in the job list; will now correctly sort by Job ID by default, showing most recent at top. 150897896
  • Fixed a bug in the job list; it is once again possible to sort by the Start Date. 150931949
  • Fixed a bug in the Associate Servers out-of-the-box Service Action. 150857994
  • Fixed a bug when using ‘user-defined’ networks in blueprints with multiple service items. #150535826
  • Fixed a bug in Blueprints within Blueprints where the hostname and rate previews were not displaying properly. Also, the form could not submit in rare cases. 150566813
  • Fix rendering bug on pages with mini sparkline graphs affecting certain text sizes and browsers. 150641268
  • Fix a bug with running vRO flows from blueprints 151097640
  • Fix a bug with running vRO flows as server actions 151097640


What’s New in CloudBolt

  • This release fixes a bug in the order form that prevented rates and hostname template previews from updating as values are changed.


What’s New in CloudBolt 7.3


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • The name of the default Branded Portal has been changed from ‘Default Portal’ to ‘CloudBolt’, as that name will now be used to replace the product’s title wherever it is visible to users. If your default portal has been renamed from ‘Default Portal’, it will not be automatically updated, so you probably want to manually change it to either ‘CloudBolt’ or something more appropriate for your particular installation.

General Improvements

The Django web-app framework that powers CloudBolt has been upgraded to Django 1.11.3.

The Servers list view and Servers tables on group, environment, service detail views have been optimized. They now generate far less load on the database and should load much faster than before (up to 5 times faster in one lab test).

Some content on the server details view is now updated automatically in the background.

Security around CloudBolt plug-ins has been tightened, namely with regards to Blueprint managers who are not CloudBolt Admins. Such users will no longer be able to create new plug-ins in a Blueprint (but can still use existing plug-ins), edit the details or code of a plug-in, or import a Blueprint that contains any plug-ins.

Security around some other actions for non-CloudBolt Admins has also been tightened. Specifically, non-CB Admins cannot directly import actions, view action lists, change whether an action is shared, or creat, edit, or replace shared actions (including by importing a Blueprint that contains a shared action or would replace an existing shared action).

The Branded Portals can now be used to customize colors, replace images, and rename CloudBolt as it is presented to users. Deciding which portal is active remains the same: each request determines the correct portal to use, first by matching the domain being requested with the ‘domain’ field on the portals. If no portal is found with a matching domain, the portal with ‘default’ set to True is used. However, now the ‘name’ field of the active portal will be used to replace references to ‘CloudBolt’ wherever non-admins might see it. Also, additional image fields are available to override the images used in the header, footer, and the loading icon.

CloudBolt is aiming to be Python 3 compatible by version 8.0. That means any Plug-ins and Actions must also be updated before upgrading to that version. Our out-of-the-box Actions have been updated to be compatible, and a guide is available to help in the transition.

Resource Technologies

GCE Windows servers can now fetch and set new credentials for a user. Admins can enable this by going to Admin > Server Actions > Content Library view (button at top right) and importing the ‘Set New Password’ action.

Initial support for Nutanix Acropolis resource handlers has been added to CloudBolt. CloudBolt can now connect to your Nutanix Acropolis Prism Element API to orchestrate a cluster for each resource handler that you set up. Through CloudBolt, you can then discover existing VMs on that cluster, perform operations like power controls (see our docs for details on the acpid yum package requirement on CentOS) and VM deletion, and provision new VMs on your cluster.

Console access is now supported for hosts running vCenter 6.5.


When running remote script actions in blueprints’ build steps, service will now be available in the context. Therefore, a remote script could do something like echo “My service’s name is {{ }} and one of its parameters is {{ service.parameter_name }}.”

Dependencies may now be set up between parameters, so that, when a user enters a specific value in one input field, another will appear dynamically. To get started, navigate to Admin > Parameters and choose a parameter that you want to make dependent on another, or see the Order Form Customization section of the docs.


The Change Resources dialog now displays preconfigurations. Any preconfiguration on the server’s group or environment that contains CPUs or Mem Size will show in place of the original CPUs or Mem Size field. Preconfiguration options in this dialog can update parameters beyond CPUs and Mem Size, but not the server’s OS Build and Applications.

Preconfigurations will now start out with the first option preselected. This applies to the blueprint order form and the environment configuration form under the blueprint’s Build tab.

Removing parameters from a preconfiguration will now also remove those parameters from the preconfiguration’s options.


What’s New in CloudBolt

A bug was discovered related to the new Power Schedule parameter. When the parameter was added but no schedule was defined when ordering a server, the order form appeared to not submit properly. That bug has now been fixed, and the order form should submit properly.


What’s New in CloudBolt 7.2.2


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • If you had created an NSX Edge Configuration object in CloudBolt prior to upgrade, you’ll need to edit it and redefine some of the default values. This is necessary because CloudBolt moved away from relying on obscure vCenter moid objects. See NSX for more information on editing the configuration.
  • The way that BP history mesages are stored and rendered has been changed, so old history events about group changes may seem to be rendering incorrectly with visible <br> tags. This is expected, and new events should look better.
  • The “Auto-power control servers” action used by the recurring job to enable auto-powering off of servers has been changed to support a new, more fine-grained approach. If you have changed the version of the action on your CloudBolt server, you will need to update it to match the approach used in the out-of-the-box action. The key difference is that servers to be powered on or off are now found using a relationship to a ScheduledTime model, as opposed to using parameter values.
  • If you had set up options for the Power Off Hours parameter on groups or environments or predefined its value on a PSSI, you will need to reconfigure those using the new Power Schedule parameter.
  • If you have AUTHENTICATION_BACKENDS defined in your, replace “django.contrib.auth.backends.ModelBackend” with “utilities.backend.CBModelBackend” to ensure that disabling the local credential store works correctly.

General Improvements

Upgraded several JavaScript libraries to the latest versions, including lodash 2.3.0, DataTables 1.10.15, and jQuery 3.2.1.

Auto-power control for servers can now be scheduled in a way that takes into account the day of the week. For existing servers, it’s also been moved to a new UI in a separate tab on the server’s details page, rather than using the Parameters tab. For setting a schedule at order time, there is a new Power Schedule parameter that can be used, with a nicer interface than before. The old Power Off Hours parameter will no longer exist, but existing server schedules should be automatically migrated to the new approach on upgrade. See the Upgrade Notes below if you have changed the action that does the checking for power changes or were using options with the old parameter.

More content samples have been added to the CloudBolt Content Library, including several service blueprints. View these by browsing to your Catalog and toggle the ‘cloud-download’ button at the top right of the page.

Minor fixes to action and blueprint import/export features. Service Name Template is honored if the blueprint export specifies one. Exports for actions that have code hosted outside of CloudBolt, specified via Source Code URL, now include the actual source code in “sanitized” export format; otherwise, the URL is preserved for private exports (“include instance-specific info”).

Sync VMs jobs will now display the resource handler they are associated with.

Fixed a few bugs around LDAP and RADIUS login.

Resource Technologies

All Resource Handlers where CB gets a list of SSH keys from the handler, including Oracle, will now use the same parameter for storing those options. It has the label ‘Key pair name’ and name ‘key_name’. Everything should work as before, but you may notice a different label now when using Oracle.

VMware & NSX

CloudBolt 7.2.2 simplifies the mannagement of the vCenter’s Advanced Network settings with a new NSX tab. It is no longer necessary to search for Managed Object IDs when defining an NSX Edge Configuration.

Azure Resource Manager

For consistency and clarity, all references to Azure ARM or AzureRM have been replaced with Azure Resource Manager, or the abbreviation ARM.


Blueprint-level Parameters will now be hidden if they are considered provided by the Blueprint, meaning there is only 1 option defined for it on the Blueprint (and it’s Required, because otherwise there’s the empty option). This matches the previously-existing behavior (since 7.0) for Parameters on other items on the order form.

Ordering blueprints that have no build items will no longer be treated as an error condition. In this situation, no inputs or buttons will be shown, but the blueprint’s image and description will be shown. This is useful for cases where admins want to use CloudBolt as the definitive catalog to find anything to order, even if some of those things are not built by CloudBolt directly, and instead link the user to another system. See the Catalog > Informational Blueprints section of the doc for more information.

Fixed a bug where users did not have access to blueprints they imported.

Action Inputs

CloudBolt automatically scans action code to determine if additional input is required for the action to be executed. This process is covered in more detail in [the docs]( CloudBolt will handle prompting users for those inputs, and then render them in the action before executing it. Action inputs will be escaped so they can’t execute arbitrary code while still rendering as expected. However, this depends on the parameters being quoted properly in the action code. Ensure that any string inputs also include surrounding quote marks so the value is properly assigned to its variable in Python. An example: hostname = “{{server.hostname}}”.

CloudBolt Plugins & the CloudBolt SDK


The SDK now supports a ConnectionInfo.run_script() method that supports WinRM-based scripts today. It differs slightly from ConnectionInfo.execute_script(): * run_script() will not raise an exception if your remote script returns a non-zero exit code * run_script() will instead return an object (CommandResult) instead of a string which will provide you direct access to stdout, stderr, and exit code * run_script() will raise exceptions normally if there is a problem in the underlying remote script transport, e.g. WinRM, that prevents your script from even running on the target host

This new method is documented in CloudBolt’s model documentation, available at https://[cb_server]/alladmin/doc/models/utilities.models/ and you can use shell_plus to introspect its help, for example:

In [1]: ci = ConnectionInfo.objects.get(id=12345)<ENTER> In [2]: ci.execute_script?<ENTER> (help text)

In the future, we will expand ConnectionInfo.run_script() to provide support for SSH and will implement Server.run_script() which will provide support for SSH, WinRM, and VMware Tools. These two methods will become the only supported methods of running remote scripts from your plugins. Once we reach that milestone, we will first deprecate the execute_script() methods and the common.methods.run_script* functions they rely on by adding warnings to your logs when these older methods are used, and then we will remove them entirely in 8.0 (in 2018). We’ll be sure to give you a heads up (in future release notes) when these two milestones occur.


The first positional argument, rh, has been removed from the method signature since we can get it from the Server. Plugins calling this method will need to be refactored, else they will begin failing with a TypeError Exception (credentials_for_script() got multiple values for keyword argument ‘runas_username’).

In the future, we will deprecate this method by prefixing it with an underscore, so please do not use it.


What’s New in CloudBolt 7.2.1

Azure Resource Manager

Resource Groups and Storage Accounts can now be managed directly from CloudBolt for Azure Resource Manager environments. Environment detail pages now have tabs dedicated to handling each resource type.

On each tab, you can sync existing resources from your Azure subscription. You can add new resources directly, although both resource types can also be automatically created when provisioning a server. Existing resources can be deleted, which will remove that resource from Azure. Existing resources can also be enabled or disabled, which determines if that resource is available as a parameter for provisioning servers within the given environment.

Changes to Server Rate Computation and Reporting

CloudBolt 7.2.1 addresses some shortcomings from previous versions, related to server cost reporting by:

  • Storing the hourly rate value for a server at the point in time a rate impacting event happens on the server
  • Respecting the Orchestration Actions Compute Server Rate in the report calculations
  • Moving the hard-coded discounted hardware cost for CPUs and Memory when a Server is powered off to the database, ultimately giving CloudBolt Administrators more control over the discounted rates.

To take advantadge of the new modeling, after upgrading to CloudBolt 7.2.1, one should run the following management command (this command may take a while to complete depending on the number of records in the server history table):

/opt/cloudbolt/ update_server_history_events

Because of the date formatting changes in the new reports it is also important to clear any old report caching by runnning:

rm -rf /var/opt/cloudbolt/proserv/cached_reports/*


What’s New in CloudBolt

After the 7.2 GA release, it was discovered that the upgrader would fail with an error if the “Restrict Job Logs to Admins” setting was enabled. This patch release addresses that upgrader issue. If you’ve already successfully upgraded to CloudBolt 7.2, you do not need to upgrade to CloudBolt

What’s New in CloudBolt 7.2


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • Bulk user creation using a CSV file is no longer supported.
  • The PKI authentication backend does not support custom roles.

7.2 UPGRADE NOTES - CloudBolt plugins for user permissions

LDAP sync scripts and other CloudBolt plugins that grant permission will need to be updated to work with the new 7.2 roles. For example, the old call group.requestors.add(profile) will need to be updated to the following:

from accounts.models import Role
role = Role.objects.get(name='requestor')
profile.add_role_for_group(role, group)

See the new out-of-the-box LDAP orchestration action for more examples of how the new roles work.

7.2 UPGRADE NOTES - Rate hooks

  • As part of improving the AWS Rate Hook for discovered servers, a new server argument is now passed to its compute_rate method. This has 2 impacts for customers:
  1. If you have modified the out-of-the-box AWS Rate Hook, you will want to look at the new out-of-the-box version after upgrade and incorporate the change we’ve made into your version of the code.
  2. If you have written any of your own custom rate hooks, you will need to ensure that their compute_rate method can accept a server keyword argument. The best way to do this is simply to have all your action methods accept **kwargs.


Server tiers on blueprints now support a notion of “allowable OS families”. This restricts the set of OS Build choices available to users when they order the blueprints and also when blueprint admins set the OS Build on a server tier within the blueprint. This facilitates import and setup of blueprints from the content library.

Custom Roles

CloudBolt now allows the creation of custom roles. Visit the Admin > Roles page to create a role and decide which permissions it should have, then assign it to users from either the Users page or the Users tab of a group.

CloudBolt’s out-of-the-box roles are now editable, too. You can add or remove permissions on them the way you would for custom roles. You can also restore these roles back to their default state from the Admin > Roles page at any time.

The “Powerful Requestors” and “Restrict job logs to admins” miscellaneous settings have been replaced with permissions. If you had these options enabled, CloudBolt will take them into account and add the appropriate permissions during the upgrade. However, they will not be taken into account if you later revert the roles back to their default state on the Roles page.

Resource Technologies

Azure Resource Manager

A new parameter, ‘Delete Empty ARM Resource Group’, is available for ARM environments and servers. When set to True on a server, the associated Resource Group will also be deleted if it becomes empty after deleting the server. Otherwise, the empty Resource Group will remain. For most users, this parameter can be set as a default for an entire environment. However, some use cases might have a need to set it differently on a specific blueprint or server deployment.


The AWS resource handler now uses the custom SSL certificates available at Admin SSL Root Certificates. If activated, the default certificates used to connect to HTTPS endpoints via the Boto library will still be used. Additional certificates can be added to supplement the list by adding them to the SSL Root Certificates page. Alternatively, SSL Certificate validation can be deactivated via that same page.

The AWS rate hook now works on servers provisioned outside CloudBolt. It is also much faster than before, and no longer requires you to manually download the rate file before using it.

AWS GovCloud

A new resource handler has been added that can connect to AWS GovCloud (US) regions designed to host sensitive data and regulated workloads in the cloud, helping customers support their U.S. government compliance requirements. For more information, see


A new resource handler has been added that can connect to Eucalyptus, an AWS-compatible private and hybrid cloud computing environment. For more information, see

Content Library

More content types can be imported from the CloudBolt Content Library. We added orchestration actions, server and service actions, rules, and recurring jobs. Go to the admin page for any of those and toggle the ‘cloud-download’ button at the top right to view and import samples hosted on the Content Library.

When importing content that has already been imported, admins now have the choice to replace existing content or not.

General Improvements

The email sent to approvers when a new order is created will now show the URL for the portal where the order was placed.

Several cross site scripting (XSS) vulnerabilities were fixed. Malicious payloads on some user-supplied fields are now prevented.

To prevent the database and job logs from growing too large, CloudBolt now ships with a recurring job to clean up job records older than one year. If you would like to keep jobs for a different amount of time, go to Admin Recurring jobs and edit the job to change the threshold or disable it entirely.


What’s New in CloudBolt 7.1


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

  • NIC fields on the order form will now show even if there is only one option. Past orders created with a hidden NIC may not duplicate correctly, and CIT tests based on these orders may need to be recreated.

  • The configuration variable for MIDDLEWARE_CLASSES has changed to just MIDDLEWARE. Any references to that variable in must also be changed.

  • The get_thread_logger method that was used in some actions is being deprecated. The correct approach is to use ThreadLogger instead. If you use get_thread_logger in any of the actions you created, please change it to ThreadLogger. Use of get_thread_logger will log a deprecation warning. A set of out-of-the-box actions have been changed from get_thread_logger to ThreadLogger, so if you have edited the code of these actions you will need to incorporate the changes to the out-of-the-box version into your edited code:,,,,,, The setting of a logger in an action should look like:

    from utilities.logger import ThreadLogger
    logger = ThreadLogger(__name__)

    and not:

    from utilities.logger import get_thread_logger
    logger = get_thread_logger(__name__)
  • If you have a custom log-in template in /var/opt/cloudbolt/proserv/templates/registration/login.html, it may have an old piece of code that needs to be updated. Please ensure the form’s action attribute looks like this:

    action="{% url 'login' %}"

    and not:

    action="{% url 'utilities.views.login' %}"

    This is required by the upgrade to the latest Django framework and avoids an error on the log-in page.

  • There was an issue where existing Google Compute subnetworks were not being found when syncing networks, causing them to be replaced. That has been fixed, but existing networks will need to be re-synced after upgrading and their subnetworks will need to be re-added to the appropriate environments.


  • Adds support for custom config files, for fine-grained control of your Kubernetes resources.
  • Custom config files support any resource type, not just Pods.
  • The config files can also be templatized, similar to what is possible with actions, creating file inputs that can have default values set on the Pod Blueprint Item and/or have values entered at order time.
  • Kubernetes resources created while provisioning a blueprint will be cleaned up when the service is deleted.

General Improvements

The Django web-app framework that powers CloudBolt has been upgraded to Django 1.10.6.

New OS Families have been added: SUSE Linux, macOS, Amazon Linux, and Solaris.

When viewing a server that has snapshots, there is a new delete icon next to each snapshot that allows the user to delete the snapshot.

HTTPS requests made by CloudBolt now support the Certifi library for validating SSL certificates. The default for SSL verification remains deactivated. However, it can be activated at Admin SSL Root Certificates. If activated, certificates being used to connect to any HTTPS endpoints must be trusted by this new library. More information is available at Additional certificates can be added to supplement the list provided by Certifi by adding them to the SSL Root Certificates page.

Resource Technologies


When importing datastores, datastores that are part of datastore clusters will no longer be excluded.

Fixes bug where comma-separated datastores could not be entered.

CloudBolt Forge is now the CloudBolt Content Library

Some content from the CloudBolt Forge is now available for browsing and importing directly in the user interface. Initially, Server Actions, “base” actions, and UI extensions are supported. Simply browse to the admin pages for managing these objects and click on the “cloud-download” button in the top right to view and import remote content hosted on the Content Library.

Support for more content types such as Blueprints and Rules will be implemented in the future.

The CloudBolt Forge Git repository will be deprecated in favor of this more intuitive in-product presentation. But as always, contributions to this repository of sample content are welcome. Contact CloudBolt to share your own blueprints, actions, or UI extensions with the CloudBolt community.


What’s New in CloudBolt 7.0


When upgrading CloudBolt, please review all Upgrade Notes between the version of CloudBolt that you are presently running and the target version that you are upgrading to.

7.0 UPGRADE NOTES - Version Compatibility

We have tested and verified upgrades from versions as old as CB 5.3.1. If you are running an older version, we recommend upgrading in two steps - to 6.0 first, then 7.0.


MySQL, if present on the CloudBolt server, will be upgraded to 5.7 during CloudBolt upgrade. Considerations:

  • If you have database settings defined in your file, you will need to change the init_command.
  • Edit your /var/opt/cloudbolt/proserv/ and replace the existing init_command with this:
"init_command": (
    # Create tables using the InnoDB engine as opposed to the MyISAM engine
    # Django will automatically create FK mappings and support
    # transactions when using InnoDB based tables
    # this option only affects the tables at schema creation time
  • If you are running MySQL on a separate server, please upgrade it to 5.7 before beginning the CloudBolt upgrade. You can have your DBAs perform this upgrade, or use a tool provided in the CloudBolt upgrader. From the upgrader directory, cd to 09-mysql57-upgrade, then run ./

7.0 UPGRADE NOTES - Breaking API Changes

  • The API collection for Blueprints is now simply ‘blueprints’. As a result, the collection specified for exporting and importing through the API should be ‘blueprints’. The sample scripts have been updated accordingly.
  • Similarly, the specification of a Blueprint in an install service order now has the key ‘blueprint’. The order_service sample script has also updated to reflect this change, as well as the new URL mentioned above.
  • Two of the keys in the serialization of a Blueprint have been changed, from ‘build-service-items’ to ‘build-items’ and ‘teardown-service-items’ to ‘teardown-items’.
  • Due to possible changes in the details of an order viewed through the API, it is recommended to look for orders created while running 7.0 when looking for examples to build calls to order a server or service through the API, rather than older orders.

7.0 UPGRADE NOTES - Puppet Enterprise

  • If you have an existing Puppet Enterprise 2015+ Configuration Manager, you will need to visit the Overview tab of its details page and, in the PE Master SSH Connection, provide the appropriate information for running remote scripts on the Puppet Master in order to return it to working order.
  • If you have changed the out-of-the-box actions for Puppet Enterprise 2015+ (named with 2015.3), please be aware that this release has also changed those actions. You will need to merge the changes to the out-of-the-box code into your edited code.

7.0 UPGRADE NOTES - Services

  • If a service consumes an IP from an internal CloudBolt IP Pool for any router or load balancer it creates, CloudBolt now tracks the IP usage throughout the lifecycle of the service.

7.0 UPGRADE NOTES - Global Preferences

  • The global preferences for ‘Main List Per Page’ and ‘Sub List Per Page’ have been removed. To customize the number of items that are displayed per page in the database browser, add the variables ADMIN_LIST_PER_PAGE or ADMIN_SUBLIST_PER_PAGE to your

7.0 UPGRADE NOTES - Actions

  • The out-of-the-box actions for “Scale Service”, “Associate Servers” and “haproxy_construct_load_balancer” have been changed in this release. If you have changed those actions, you will need to merge the changes made to the out-of-the-box code into your edited version of the code.
  • The Generated Parameter Options actions “Generate Prov Service Item Options”, “Generate Server Options for Service”, and ”Generate LB Method Options for F5” that previously came out-of-the-box are no longer needed and should be deleted. If you have made any modifications to them, first merge those changes into the new methods in the “Scale Service”, “Associate Servers”, and ”f5_construct_load_balancer” actions and the “haproxy_construct_load_balancer” base action used behind the scenes.

7.0 UPGRADE NOTES - Continuous Infrastructure Testing (CIT)

  • If you are using labels for running CIT tests, note that the behavior has changed slightly. Previously if you selected multiple labels it would run only tests with all those labels, whereas now it will run any test that has any of those labels.

7.0 UPGRADE NOTES - Duplicating Orders

  • If you duplicate an old order where it had a necessary parameter that was hidden due to being Hide Single Value (but not Required) and having a single option set on the Environment, the duplicated order is liable to fail. The reason is that the hidden parameter would not have had a value selected for the original order, but now it needs to because, due to not being Required, it does not actually have only a single option and therefore is not considered provided. If this causes an issue for a CIT test, you may need to recreate it.

7.0 UPGRADE NOTES - Google Authentication

  • Authenticating users via Google logins is no longer supported.

7.0 UPGRADE NOTES - Rate Calculation Hooks

  • The “compute_rate” method in custom rate hooks receives a new argument “disks” when calculating server rates. If you’ve written your own custom hook, you’ll need to confirm that it still works with the new argument.


To simplify the ordering process, CloudBolt’s two distinct order forms have been consolidated into one. The New Server order form has been removed, and all ordering now uses blueprints.

The New Server link still exists, but it now points to a new out-of-the-box blueprint called Custom Server. By default, the new blueprint can be deployed by all requestors.

Parameters no longer have a concept of Hide Single Value. Instead, they will be hidden if they have only a single option. Note that parameters that have their Required attribute set to False will never have only a single option, because they include a blank/ none option.

Configuration Managers


Ansible configuration management is now supported as a Connector in CloudBolt. Each instance of an Ansible connector can be configured to connect to a management server running Ansible. Playbooks can be mapped with their paths on the management server, and groups can be created to coordinate with inventory as it is referenced within your existing playbooks.

Playbooks can be executed against a group, server, or list of servers. Ad-hoc commands can also be executed against the inventory. Playbooks can still be managed and version controlled on the management server, but inventory can be managed by CloudBolt and is pushed to the Ansible management server before executing any command or playbook.

Puppet Enterprise

It is no longer required to have your Puppet Master server managed by CloudBolt in order to have a functional Configuration Manager for Puppet Enterprise 2015+.

Load Balancers - F5 and Netscaler

CB admins can now define connection information for these load balancers in the Admin UI, so that blueprint managers only need to select from pre-defined load balancer options, and do not need to enter connection information (including credentials) for these.

Also, resource pools named “IP Pool for F5BIGIP” and “IP Pool for Netscaler” are no longer required. You can delete these if you already have them, and create new IP pools from the load balancers’ detials pages.

More information is in the “Advanced Network Support” section of the documentation.

Resource Technologies

Azure Resource Manager

  • New parameter “Azure Resource Group” allows provisioning into an existing resource group.
  • New parameter “Skip Security Group Creation” allows NIC-level security groups to be skipped in favor of subnet-level security groups.
  • New add_extension method makes it easy to create actions that install extensions. See the Content Library for an example of how to use the new method.
  • Installed extensions will be shown on the server details page.
  • The Azure Resource Manager resource handler now has a method for deploying ARM templates. Refer to the Azure Resource Manager Template blueprint in the Content Library for more details on how to use this method.

Google Compute Engine

Google Compute subnetworks are now supported by CloudBolt. When a network is imported, its associated subnetworks will also be imported, and will be listed below the network on the resource handler’s Networks table. Adding that network to an environment will also connect any subnetworks that match the region of the environment. The network and any associated subnetworks will then be available when provisioning a server within that environment.

Amazon Web Services

New instance types are available. To add them to existing environments, use the import button under the AWS Parameters tab. Environments created after the 7.0 upgrade will have the new instance types by default.

The “Disk Size” parameter is now supported in AWS-backed environments. This gives you the ability to specify the size of the root storage device on new EC2 instances overriding the default size specified by the selected AMI.


The blueprint order form will now show a preview of the hostname that will be used when ordering a server tier.

Blueprints can now be configured to not create a service when they are ordered. This only applies to blueprints that consist entirely of server build items, and will result directly in server provisioning jobs.

The rate breakdown for each server tier in a blueprint is now displayed as a chart.

Blueprint managers can choose to allow a Blueprint to be deployed by any group, rather than setting specific deploy permissions.

Renaming of menus, pages, and items related to Blueprints and the Catalog has been done for improved consistency and clarity.

Applications can be specified by the requestor when ordering a blueprint. The Applications field will automatically appear on the order form when the specified environment has applications available, unless the blueprint item has already predefined applications for that server item.

Applications can be specified when ordering a blueprint via the API.

Blueprints now have a history tab that displays a list of events showing when it has been created, edited, duplicated, or exported.


Excellent news: edits that you have made to out-of-the-box action code will no longer be lost on upgrade! Even better, you can now see on whether an action is using the out-of-the-box code, has out-of-the-box code but is using your edited version, or was created by a user. For remote scripts and CB plug-ins that have out-of-the-box code that you have edited, when viewing the current code you can also choose to see the out-of-the-box code in order to compare the two.

CloudBolt plug-ins now support OS family restrictions, similarly to how remote scripts did previously. Setting OS families on plug-ins is optional, but if they are set and there are servers in the context where the action is being called then those servers will be filtered by OS family. Some contexts that have servers are Server Actions, Service Actions when the service has servers, Post-Provisioning Orchestration Actions starting with Pre-Create Resource, and Blueprint actions when the blueprint has server tiers.

Actions can be given a value for max retries, which will cause the action to be re-run up to that number of times if it has an unsuccessful return status or raises an exception. Note that in the case of CloudBolt plug-ins this only applies to run methods.

Orchestration Actions can be set to continue on failure, somewhat similarly to Blueprint items. If that value is true, a failure of the Orchestration Action will not impact the rest of the job in which it runs. It will not cause the overall job to fail or change its flow. There are a few exceptions where this feature does not apply: Parameter Change, Generate Hostname Overwrite, Pre-Server Refresh, Generated Parameter Options, Order Form Validation, and Compute Server Rate.

It is now possible to define the options for a CB plugin’s action inputs using methods in the plugin itself, rather than relying on separate actions at the Generated Parameter Options trigger point.

Orchestration Actions admin view has been streamlined.

Server Actions can be configured with a particular dialog message to show and label for the submit button, as could already be done for Service Actions.

Recurring Jobs

Admins can now set up automatic powering off of groups of servers based on the time of the day. For more information, look for the Recurring Job named “Auto-Power Control Servers in Admin > Recurring Jobs.

Add Actions as Recurring Jobs without an existing Job ID. Choose an existing or new Action that will be run on a recurring schedule. Action Inputs are also now supported on Recurring Jobs of this type. Existing out-of-the-box Recurring Jobs of type “Orchestration Action” will be converted to the new type (“Action”) on upgrade.

General Improvements

ConnectionInfo objects can now include the selection of a global SSH key.

Tests in Continuous Infrastructure Testing have a new “max retries” attribute that can be used to automatically retry the test when it fails.

CloudBolt links in emails will use HTTPS instead of HTTP.

Job logs, previously only viewable by CB admins, are now visible to all users who can view the job details. You can revert to the previous behavior by enabling “Restrict Job Logs To Admins” in Miscellaneous Settings.

Environments can now be imported and exported. Much like actions and Catalog blueprints, exporting can be performed with or without instance-specific information.

Deletion of servers will create a new order that is submitted automatically, rather than adding to your cart and requiring user input to submit it. Also, if bulk server deletion includes servers in different groups, one order will be made for each group, allowing you to delete them all in one step.

The Django web-app framework that powers CloudBolt has been upgraded to Django 1.9.12.

Server lists now support finding servers by label. In the table search box, users simply type “label:” followed by any part of a label name to find all matching records they have permission to view.

The global search feature, found in the top nav bar, is much more responsive. Searching and navigating results can be done entirely by keyboard, making it possible to find objects across your cloud at the speed of thought.

Multiple preconfigurations can now have the same label, but different names. The names will be shown to the CB admin only to distinguish between preconfigurations with the same label. This can be useful for providing different sets of parameters and options in different environments, using a preconfiguration that looks the same to the end user.

API Improvements

GET /api/v2/settings/ allows you to view CloudBolt’s Miscellaneous Settings.

Thank You!

You are awesome. Thanks for reading our release notes. It’s users like you who make the product better, and we appreciate each and every one of you for providing us feedback. Keep it coming, because it’s your requests and ideas of how we can make CloudBolt more valuable for you that drive what we work on next.

Sincerely, The CloudBolt Team