CloudStack-UI 1.411.29 is Out

The overview includes a description of the main enhancements in Release 1.411.29. The key feature of the iteration is the introduction of a new plugin that allows users and administrators to manage resource limits and quotas for accounts. Besides, we enhanced the Log View plugin and such interface components as snapshot management, UI settings, API key management, error messages displaying, Security Group management, Service Offering chooser, as well as fixed a range of bugs for the Pulse plugin and the whole system. Below you will find details on all improvements and fixes of this release.

Resource Limits Management plugin

In the new product version, we introduced a new plugin - Resource Limits Management - that allows domain administrators to manage resource quotas, and users to request or release account resources in the clouds where billing is based on the requested resource quotas of the account. Now it has become available to a user without contacting an administrator. The business rules for request processing are implemented on the backend and are completely separated from the extension.

The extension uses the µAPI Gateway plugin developed by our team to help developers to create extensions for CloudStack using any programming language and make these extensions available via additional CloudStack API endpoints.

Additional endpoints are implemented with the Resource Limits Management backend component developed on Node.

The plugin is primarily developed to meet our customers’ requests and is deactivated by default. Backend services necessary for the extension work (uAPI Gateway, Resource Limits Management) and the decision-making backend component based on the business rule are not accessible under the open licensing.

Resource limits management for Domain Administrators. After the plugin is enabled, Domain Administrator can cap available resources via the “Resource quotas” section under the “Accounts” menu. In this section, the administrator can view and set maximum and minimum values for available types of resources.

Quotas are set for all accounts in the domain.

Update resources for users. After the plugin is enabled, a user gets access to resource limits management. A user can change resource limits in case of resource lack or, alternatively, nonuse of extra resources.

To update resources a user goes to the Resource usage panel under the Virtual Machine section and clicks “Request resources”. In the appeared modal window, a user can set the resource limits within the quotas set by Administrator.

Secure VM logs publishing

In the current release, the team thoroughly worked at the Log View plugin security. Thus, the Log View backend component is updated to ramp up the security of the machine logs exporting to the storage. It is now required to use a secret token along with the UUID of a VM. The token can be regenerated in case of compromising.

In CloudStack-UI of the new version, the team implemented a feature for correct UI plugin work after the changes implemented to the Log View backend plugin. To manage a secret token, a user opens the VM Action box and selects the new option - “System Logs”. It is available in case the Log View plugin is activated. It offers two actions: “Create token” and “Invalidate token”.

When selecting “Create token”, a user sees an automatically generated token in a modal window. It can be copied at single-click ease. A user can find detailed instructions on how to configure log export in VM to CloudStack by accessing the plugin documentation using the immediately provided link.

The token can be changed in case of compromising. A user should invalidate the current token using the “Invalidate token” option and create a new one. Then, the log export service (Filebeat) in VM should be re-configured with the new token.

Snapshots management improvements

In this iteration, we enhanced snapshot management and implemented the following features and limitations:

Volume snapshot filtering by VM. Now a user can find a volume snapshot of a particular machine much faster as we have implemented the volume snapshot filtering by Virtual Machines.

VM snapshot management in VM sidebar. We added the “VM snapshots” section to the “Virtual machine” tab of the VM details sidebar. It provides the details on the last taken VM snapshot. It also allows viewing the list of all VM snapshots and managing them - create a new snapshot, revert VM to the snapshot, delete a snapshot.

In case a user tries to revert a VM to the snapshot and the current service offering of the VM differs from the service offering used at the moment the snapshot was taken, the warning message displays:

Configuring a maximum number of snapshots. In the new product version, we enable a user to set a maximum allowed number of snapshots. One can define a limit via the config.json file. More details are provided in the configuration guide. Once the set limit is reached and a user tries to create a snapshot, a notification appears:

Limitations for managing disks and snapshots of machines with snapshots. We implemented limitations for managing disks and snapshots of machines with active snapshots. Attaching or detaching volumes to/from a machine, changing the disk size of the attached disks, deleting disks is not available for machines with active snapshots. Besides, for stopped machines, it is not allowed to revert VM to the snapshot and create new snapshots. We implemented informative notifications to explain to a user why the action is not available, for example:

Access VM after VM deployment

Making it more convenient to work with a newly deployed virtual machine, we now enable a user to access a VM via VNC console, by SSH or HTTP right after its deployment. Once a machine is provided, the dialog window after VM creation provides the “Access VM” button to open the Access VM window and easily access the new VM in one of the available modes. The Access VM component is implemented by defining special template or machine tags. These tags determine the view and content of the Access VM dialog box. For today, we support three VM access modes: via VNC console, by SSH, by HTTP.

For more details on configuring access VM via template tags visit the wiki-page in the GitHub project.

Settings section improvements

The “Settings” section now looks more compact and user-friendly. Instead of listing all settings at one screen, we placed them placed under separate tabs.

A user does not have to scroll the screen down to find a setting parameter. One can move between tabs using the switch above.

Account and User tags management. In the new product version, we implemented account and user tags management. In “Settings”, “Account tags” and “User tags” sections are available. They allow creating new system and non-system tags, viewing tags and managing them. Like in other Tags tabs of a details sidebar, here the search tool above the tag list helps to easily find a necessary tag. The “Show system tags” option when disabled hides system tags to avoid accidental editing.

API keys auto-generation support

A user needs keys to use CloudStack API. In this iteration, we have implemented the support for auto-generation of API keys for new users at the first logging in to the UI. To enable the feature a user should activate a special setting in the configuration file. After that, for new users who do not have API keys yet, an API key and a secret key will be automatically generated at the moment a user logs in to the system at the first time. The keys display in the user details at the account details sidebar.

To generate new keys one should go to the “Settings - API configuration” section.

Support information for error messages

In the new product version, we enhanced error messages displaying and added the “Support information” section next to the error message. It expands by click and provides details on support services. That can be contact information, for example, phone numbers, emails or other details.

The information in the section displays from the /src/support-info.md file. Its content is defined by a user. The file can be localized. Find more details in the user guide.

View API logs at VM creation failures

In the new product version, we implemented displaying of raw API logs when VM creation fails. In case of an error, the after VM creation dialog shows an error message and the “Details” button next to it. By clicking it a user opens a list of JSON requests to the server and responses to them. The new feature allows a user to copy the raw API logs and address the support service to get assistance in solving the problem in the shortest time.

User Data for Virtual Machines

In the new product version, we implemented adding of the UserData parameter during the Virtual Machine creation and later. It allows sending additional configurations into the machine and deploying it with necessary services and settings. Data in any format can be inserted into a text field in a separate “VM UserData” tab of the VM creation form:

A user can view, copy and edit UserData in the VM details sidebar:

Adding Custom scripts

In the new product version, we provide users with the feature that allows extending the UI with services or settings required to a user. It can be achieved by running custom scripts. As an example, JivoSite or Google Analytics widgets or other interactive features can be installed via custom scripts:

We support adding custom scripts in JavaScript format when running the CloudStack-UI Docker-container. All that a user should do is to define the /scripts/custom.js custom script content and map it via a Docker-volume. By default, the /scripts/custom.js file is empty.

Security Group management improved

We improved the process of managing security groups for virtual machines. Now, in the “Network” tab of the details sidebar a user can view and edit the security group rules as well as assign several security groups to a machine and detach VM from a group.

Angular updated

Angular with dependencies is updated to version 7. The enhancements implemented in the new version allows the system to work faster and smoother.

Bug fixes

During the iteration our team fixed interface bugs that improved the following interface components:

  • Login form;
  • Account creation and management;
  • Virtual Machine creation form;
  • Service Offering chooser;
  • Security Group selection when creating a machine;
  • VM snapshot management;
  • VM tag management;
  • Access VM;
  • VM password autosaving;
  • Pulse, Resource Limits Management, Log View plugins;
  • Notification on pending operations;
  • Resource usage panel.

Deployment instructions

The release can be found at GitHub releases: https://raw.githubusercontent.com/bwsw/cloudstack-ui/releases/tag/1.411.29.

Prepared Docker image is available at DockerRegistry. You can pull it with:

docker pull bitworks.software:8443/cloudstack-ui:1.411.29

The project changelog is here: https://raw.githubusercontent.com/bwsw/cloudstack-ui/master/CHANGELOG.md.

Deployment guide and project info can be found at GitHub pages: https://bwsw.github.io/cloudstack-ui/

Release 1.411.30 expectations

The next release is expected to include the following features and updates:

  1. Improvements in security group management via VM details panel.
  2. Adding user data to a machine at its creation in order to deploy it with all necessary settings and services.
  3. Integration of custom user scripts to extend the UI with necessary features.

Community message

Dear community member, we will be thankful if you

  • Try the project and provide us with feedback;
  • Share the information about the project and the release in social media;
  • Mark the GitHub repository with a star to support the project;
  • Join LinkedIn group.