Giter Club home page Giter Club logo

cloudstack-ui's Introduction

Build Status Coverage Status

Table of Contents

CloudStack-UI

CloudStack-UI is a project which purpose is to develop an easy-to-use, light, and user-friendly frontend interface for the Apache CloudStack virtualization management system. Apache CloudStack itself is a great product which is used very widely, but its frontend is developed for administrators (from our point of view), not for cloud end-users. Some of the interactions are not straightforward and unnatural to an average user and require quite a long time to adapt. Other reasons to develop alternative UI are connected with the lack of functions such as virtual machine statistics & charting, sophisticated resource accounting, and application management. These are in our long-term TODO list.

Join CloudStack-UI LinkedIn Group.

Project Story

At Bitworks Software, we run an ACS public cloud for 3 years (actually we still run CS 4.3 cloud in production) and we found that average users who are familiar with Digital Ocean, Amazon AWS, and other VPS management systems feel uncomfortable with original CloudStack UI and make a lot of operational mistakes. That’s why we decided to implement a convenient and neat end-user facing UI covering regular activities, which are important for day-to-day VM management.

The project is developed by Bitworks Software Frontend Division within the educational marathon, which has the purpose to incorporate our new team members and show them our standard frontend development instrument.

Implementation Details

  • Designed compatible with Apache CloudStack 4.11 and has been tested for the previous versions of CS (4.9, 4.10).
  • Powered by Angular and Material 2.
  • Tested and works fine in the next modern browsers:
    • Google Chrome 60.0.3112.78
    • Chromium 60.0.3169.0
    • Mozilla Firefox 54.0.1
    • Safari 5.1.7
    • Internet Explorer 11.483.150630

Features Supported

Actual Changelog can be found here.

Since we designed the product from the perspective of well-known use cases, which are common to our public cloud deployment, we implemented only ones which are 100% required and cover most of the use cases. Other deployments may imply other requirements, which is why it’s an open source product.

So, what is supported:

  • Basic CloudStack zones with virtual router
  • Security groups
  • KVM Hypervisor
  • Security group templates
  • Multiple zones
  • CloudStackAccount Domains
  • Virtual machine standard operations supported by Apache CloudStack
  • Root and Data disks management
  • Ad-hoc snapshots for disks
  • Affinity groups management
  • VM groups
  • Localization support
  • Frontend Themes, Custom VM colors
  • Custom and Fixed service and disk offerings
  • Password management
  • SSH keys management
  • API keys management
  • Accounts management
  • A lot of small improvements which affect user experience greatly

Plugins Supported

Pulse plugin

Pulse Plugin is designed for visualization of virtual machines performance statistics. Currently, this CloudStack-UI extension is only compatible with ACS clusters that use the KVM hypervisor. With help of sensors that collect virtual machines performance statistics via the Libvirt API and store them in an InfluxDB datastore and RESTful statistics server, CloudStack-UI is able to display CPU, RAM, disk IO and network traffic utilization in the form of convenient visual charts.

Pulse allows users of Apache CloudStack to monitor current and previous operational states of virtual machines. The plugin supports various view scales like minutes, hours, days and enables data overlays to monitor peak and average values.

We consider this plugin very important for the CloudStack ecosystem as currently there is no built-in functionality to track VM operational states, although it is vital for system administrators to successfully operate virtual servers. Read more about Plugin deployment here.

WebShell Plugin

WebShell is a CloudStack-UI extension designed to perform a clientless SSH connection to a virtual machine. The extension is activated in the CloudStack-UI configuration file and is supported by an additional Docker container. As for the way of WebShell usage, the plugin is similar to NoVNC interface provided by CloudStack. However, WebShell uses the SSH protocol and doesn’t allow VM emergency management.

This feature is not available in basic CloudStack UI and API. Plugin deployment and configuration instructions can be found on the plugin page.

Log View Plugin

This extension allows users to view VM log files. It uses the Log View backend-plugin that extends the CloudStack API with additional requests providing access the VM log files storage. For the Log View UI-plugin operation, firstly, the Log View backend-plugin should be downloaded from GitHub and deployed. The plugin uses the ELK stack to store machine log files and Filebeat to export log files from a VM to the storage. The plugin is tested with Apache CloudStack 4.11.2.0.

Then, it is necessary to enable the LogView UI-plugin via the CloudStack-UI configuration file. After activation, the System Logs section appears in CloudStack-UI. There a user can select the log files to display by setting up main parameters - a virtual machine and a date for which a user wishes to see the logs.

Plugin deployment and configuration instructions can be found at the plugin page.

Resource Limits Management Plugin

We developed the Resource Limits Management plugin to make it possible for administrators to manage resource quotas, and for users to change resource limits. With the new plugin a user does not need to request an administrator to provide more resources or to reduce the available amount of resources. A user gets access to resource limits, and an administrator can manage resoure quotas via UI. The extension uses two backend plugins:

  • the µAPI Gateway plugin developed by us to help developers to create extensions for CloudStack using any programming language.
  • the Resource Limits Management backend plugin that extends CloudStack API with additional endpoints.

After the backend plugins are deployed and configured the Resource Limits management UI-plugin can be activated and configured via the configuration file (see the configuration guide). Once it is activated, users and administrators get access to resource limits and quotas management via UI.

Please, visit the plugin page to find more information.

Features Yet Unsupported

We intensively use features like projects in our own CloudStack cloud to manage resources dedicated to project groups, etc. but generic users don’t need them, so we don’t support the following features yet:

  • Advanced Zones
  • Hypervisors other than KVM have not been tested

Current To Dos

  • Responsive interface for smart devices
  • SAML2 authentication support
  • CloudStack projects
  • OTA/KVS integration for VM automation

Screenshots & Features Descriptions

Login view

The login screen has a nice preloader which can be used to brand it for specific company. By default, it shows Apache CloudStack banner. There are three possible ways to use domain (the form presented on the screen like in native UI, default domain in settings or an URL-based scheme).

Login screen

Virtual machines view

This screen was rethought greatly. First of all, we implemented the “one step” approach everywhere, and we also made it work without moving from view to view, like ACS native interface does. Thus, all actions on VM instances are managed from the same screen. Also, the interface allows to view several zones immediately, group virtual machines by zones, by logical groups (e.g. Databases, WWW), and by colors. We added a feature to brush a virtual machine with a specific color to make it look unique and meaningful to users from a certain perspective.

Also, we moved most of VM information to the sidebar, which now has four tabs - General view, Storage (disks, snapshots, and ISO), Network (NICs configuration, Firewall rules) and Tags. From the system behavior standpoint, we have changed it sometimes, e.g. when the user wants to change service offering for running VM, the interface says that VM will be stopped and started, and it doesn’t make the user do it separately. So we replaced disconnected action sequences with connected ones. The data representation can be changed between the "card" and "table" view. Each section contains a switch and this improvement gives a user an opportunity to work with data in each specific section in a more convenient way.

Virtual Machine View screen 1   Virtual Machine View screen 2   Virtual Machine View screen 3

New virtual machine form

We changed a new virtual machine screen a lot. Now it’s a one-step dialog and it allows selecting everything from one screen without additional steps. We believe it’s much better for a regular user than the one used with the native UI. We also allow users to define any VM name - a VM display name - to make it more convenient to manage a VM. Alogside with a display name a user can define a host name for the VM that should be unique within the domain. If no host name defined, the system generates a meaningful unique VM name like vm-<UID>.

Another important thing is that the form checks that a user has the required amount of resources to create the virtual machine immediately and thus it doesn’t allow him launching creation that will fail for sure.

Our team has made a big contribution to the improvement of UX when creating a virtual machine. First of all, a user now has an access to the list of all creation steps. Depending on installation source (ISO or a Template) system allows getting not only a login, password, and IP of the machine but also an access to VM interaction interface.

Currently supported:

  • VNC console,
  • Access via SSH if VM has a csui.vm.auth-mode tag with SSH value. To configure access to VM using WebShell, please refer to wiki,
  • Access via HTTP if VM has a csui.vm.auth-mode tag with HTTP value. To configure access to VM via HTTP, please refer to wiki.

New Virtual Machine View New Virtual Machine View

Resource usage bar

We also decided to place the resource usage bar on the same virtual machine view screen. It can be collapsed or displayed. A resource usage bar allows switching between "used" and "free" presentations to help users understanding capabilities in a better way. Domain administrators can also choose between Account and Domain view.

New Virtual Machine View

Storage

This panel displays existing drives. Root disks are visually distinguished from data disks. In addition, there is an option to display only spare disks, which allows saving user's time in certain cases. Each drive has a detailed sidebar with two tabs (Volume and Snapshots). When a virtual machine is removed, attached drives can be automatically removed. Also, we don’t allow a user to create additional disks on a virtual machine creation because it leads to confusion when the virtual machine is created from a template – the user doesn’t realize that they add an “additional” drive and it’s not a root one.

Firewall templates view 2  Firewall templates view 2 Firewall templates view 2

Images

We changed the templates and ISOs view making it more obvious and neat to use. Also, a user can choose a required OS family to filter out unnecessary images. Also, the same concept of single view without moving between screens is applied here. Additional things are displayed in the sidebar.

Templates & ISOs view   Templates & ISOs view 2

Snapshots

We have added a section - Snapshots - that makes it easier for a user to manage snapshots created for volumes and virtual machines in the system. A user can view the list of snapshots and filter or group it by type/VM or account (available to Administrators). We also added filtering snapshots by creation date.

In the details sidebar a user can see the snapshot general information and the volume/VM that the snapshot is created for.

Here the action box also allows a user to create template or volume from a volume snapshot, revert a volume/VM to the snapshot, or delete a snapshot.

Snapshots view  

Snapshots view 2

Firewall

Firewall section includes three views: Firewall templates, Shared security groups and Private security groups.

It is important to understand the concept of Firewall templates. This is a preset of rules that can be system default or developed by a user. System administrators can specify default presets during the interface deployment in the json configuration file. Upon VM creation the system uses a default security group created by CloudStack, or a user can create a new security group right in the VM creation form. Next, when a user changes the rules for a certain virtual machine, they don’t affect other machines. These changed rules make a private security group used for that virtual machine only.

The second way is to use a shared security group - a group that is used by other VMs.

Users can manage security group rules in two modes: a "view" mode with filtering by types and protocols and an “edit” mode. Security groups editing is available when switching from "view" mode to "editing" mode. If editing a shared group, a user is warned that changes will affect other VMs using this group. This behavior allows avoiding undesirable changes for other VMs.

Firewall templates view   Firewall templates view 2

Activity Log

It’s a simplified view for account activities. It lets you choose the date and levels and see all of them. It’s close to the same screen in the ACS native UI, but we believe that the user is interested in the events of specific date and scrolling a huge event log back to find something is not productive. Sometimes the HelpDesk service just wants to show a user that something had happened on a specific date, and thus the interface allows you to find information easier.

Activity Log screen

Accounts

Here domain administrators can manage existing accounts, create new accounts and apply filtering and grouping as in other sections. There is also an access to the details sidebar of each account with a possibility of editing settings and resource restrictions. In addition to this, an administrator can apply filtering by accounts in other sections, thus narrowing a context and working with a data that he needs at the moment.

Activity Log screen Activity Log screen

Documentation

User Guide

You can find an official User Guide at https://cloudstackui.readthedocs.io/en/latest/ .

Getting started guide

Prerequisites

Before you start, please, prepare Node development environment. Install Node.js or update your current node.js to latest stable version.

Download and install dependencies

  1. Clone the CS-UI project from GitHub.
  2. Run npm install command. This command installs all dependencies, which are used in the project. Also, you may use yarn command.
  3. Add your own proxy-conf.js file in the project root folder and set the API endpoint in this file. See proxy-conf-example.
git clone https://github.com/bwsw/cloudstack-ui.git
cd cloudstack-ui
npm install

Main commands

command action
npm test use this command to execute tests via Karma
npm run build use this command to build the project, the build artifacts will be stored in the "dist/cloudstack-ui" directory
npm start use this command to compile the application, it will be available at URL - "localhost:8080".

Deployment

Main UI container

To run docker container use:

docker run -d -p 80:80 --name cloudstack-ui \
           -e CLIENT_ENDPOINT=http://cloudstack/client \
           -e BASE_HREF=base_href \
           -v /path/to/config.json:/static/config/config.json \
           bitworks.software:8443/cloudstack-ui:1.411.29

http://cloudstack/client - URL of CloudStack client endpoint (e.g. http://host:8080/client)

base_href - custom base URL (optional, defaults to "/")

/path/to/config.json - path to a custom configuration file named config.json (optional)

Additionally, you can change favicon and CloudStack logo on login screen and in the sidebar:

-v /path/to/favicon.ico:/static/img/favicon.ico \
-v /path/to/cloudstack_logo.png:/static/img/cloudstack_logo.png \
-v /path/to/cloudstack_logo_light.png:/static/img/cloudstack_logo_light.png \

where the favicon.ico is the favicon, cloudstack_logo.png is the logo displayed on the login screen and cloudstack_logo_light.png is the CloudStack logo displayed in the sidebar with the light theme.

Versioning

+- Major version containing breaking changes.
| +- Minor version synchronized with the CloudStack version (major and minor without a dot).
| | +- Patch version defining the iteration number.
| | |
x.x.x

See details

Configuration Options

You can customize the application by providing your own configuration file config.json. See the Config Guide for more information on configuration options.

Project Sponsors

The project is currently supported by Bitworks Software.

Bitworks Software

How to Contribute

You can contribute to the project development in various ways:

  1. Share the information about the project with other people, try to install the UI and share your opinion with us and your colleagues.
  2. Propose useful features. Ideas are always welcome.
  3. Deploy it somewhere and inform us about your success story, and we will share it in the adopters section.
  4. Fix bugs and send us the PR.
  5. Implement a feature from the Roadmap or simply make something new.
  6. Support and promote the development of specific functions which are important to you and may be shared.
  7. Provide testing environment for other deployment schemes. Now we interested in testing the app with
    1. KVM with RBD
    2. Xen with NFS, Local, RBD
    3. Oher browsers and operating systems
  8. Hire us for frontend or backend development of custom software development projects. Take a look at our website to know where we can be useful. Take a look at our presentation to learn more about us.

To contribute, just contact us via e-mail: [email protected]

License

It’s released under the Apache 2.0 license.

cloudstack-ui's People

Contributors

andrewbents avatar bwsw avatar bwsw-andrey-andreev avatar denisvmedyantsev avatar dependabot[bot] avatar dron8552 avatar elenaustyugova avatar evgeniiamokhova avatar heyroach avatar huadream avatar ksendart avatar maslovaev avatar medyantsev avatar nadya913 avatar rennervo avatar tamazlykar avatar zolotyx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudstack-ui's Issues

Description and OS in Images area / Sidebar

  1. Remove "Description" label from common info bar in the sidebar and allow description to be multiline. With current model "Description: " it seems that there is not enough of space to display long descriptions properly

So the template:
CentOS 7 (64-bit) no GUI
Description: Image description

Will look like:
CentOS 7 (64-bit) no GUI
Image description

  1. Also, if the solution implemented, then "OS" label space must be shorter to allow "OS" value fitting well in most cases (just try to determine which is longest in current CS 4.9.2) or use overflow hidden if it doesn't fit with a tooltip to see full.

Add time format choice to settings

User should have an opportunity to switch time format AM/PM <-> 24H. Than time should be displayed according to selected time format.

VM group selector in the sidebar

May be it's better to show all available groups when the user clicks on Group, so the user can change the group just choosing without typing?

Save user-password-encrypted VM passwords to VM tags

Allow to save in VM attribute PASSWORD encrypted with user authentication password VM password which can be seen somehow if a user enters his password. It also must allow regenerating all VM encrypted passwords when user changes the password. The important note for the feature is it's optional way, so user must be able to enable or disable it for a certain VM upon creation. The system must remember the last choice in the local storage.

I see two use cases for the feature:

  1. Users often forget administrative passwords to their VMs and this feature can simplify their life greately without additional security flaws.
  2. If we implement deployment tools integrated they would probably need authentication information to manage deployments. So, this is the second case.

E.g. use: https://keybase.io/triplesec/

Upgrade grouping VM by colors

When user wants to group VMs by colors, it should work a bit differently. Every colour group must start from new row

Improve UX for VM deployment post-action behaviour

When user creates a new VM interactively he or she usually wants to do something with it immediately upon creation. It means that in the case of the installation from ISO it's usually required to open VNC console, because the installation requires actions (usually), so after VM is created it's great to show him/her a form where he/she can do something useful without additional mess, e.g.

Installation from a template

To open the form where to show Host IP, Host dns name, SSH Port, SSH login, SSH password, SSH public key installed, Button to open console and button to open web ssh (with automatic logging in) (in case we implement a plugin for shellinabox in the future).

To support it, our zones must support next features:

  • dns zone (supported, but check if can be received with API),
  • ssh default login,
  • ssh default port.

Also, our templates can support following parameters:

  • Remote access mode: SSH/RDP/HTTP/HTTPS
  • Login: root, etc.
  • Port: 22, 2222 etc

So, for ubuntu ubuntu-1604-tpl, e.g. we may have:

  • REMOTE_ACCESS=ssh
  • LOGIN=ubuntu
  • PORT=2022

for debian template:

  • REMOTE_ACCESS=ssh
  • LOGIN=debian
  • PORT=22

for Bitrix or Drupal:

  • REMOTE_ACCESS=HTTP
  • LOGIN=bitrix
  • PASSWORD=bitrix
  • PORT=80
  • URL_PREFIX=/login

for Windows:

  • REMOTE_ACCESS=RDP
  • LOGIN=Administrator
  • PORT=3389

So, support REMOTE_ACCESS, LOGIN, PASSWORD, PORT, URL_PREFIX and support different behaviours for SSH/RDP/HTTP/HTTPS

  • SSH: Just show data (IP, DNS, LOGIN, PASSWORD) or shell link if plugin is implemented
  • RDP: Just show data (IP, DNS, LOGIN, PASSWORD) or shell link if plugin is implemented
  • HTTP: Show link (http://ip:port/prefix, show LOGIN, PASSWORD)
    HTTPS: Show link (http://ip:port/prefix, show LOGIN, PASSWORD)

Password for templates, which are integrated with ACS is filled with ACS data which API receives upon VM creation.

When VM is created from a template those attributes (of a template) must be copied to VM. We already have a sidebar tab with tags - there might be a possibility to edit tags in KV mode. The copy is important because user might want to change default port in VM and so, change it in UI. This will help to maintain all configuration information in one place, without additional efforts.

To completely support the features we have to allow user defining REMOTE_ACCESS, LOGIN, PASSWORD, PORT, URL_PREFIX for personal templates.

Installation from an ISO

Open the form where to show Host IP, Host dns name and link to launch VNC console.

Custom free-form description to VM and volume

Allow user adding custom description to VM and volume which is freeform and stored as object attribute. According to storage model (SQL table for resource) up to 255 chars is OK.

This can be a sidebar field which user can edit anytime.

Reorganize fields for NIC

The following proposal for reorganization of NIC section in VM sidebar:

  1. Remove:
  • Broadcast URI,
  • Traffic Type,
  • Default,
  • Network name.
  1. Put immediately after NIC 1:
  • MAC address,
  • IP address,
  • Netmask,
  • Gateway.

Rework selector displaying in VM view and Storage view

  1. Do not show selector if:
  • there is only one zone (VM view and Storage view),
  • there are no groups (VM view and Storage view),
  1. If there are several zones (VM view and Storage view), but the user doesn't have VMs in other zones, display zone as text, the same is for groups.
  2. Same statements for accounts for domain admin #305

Create Firewall template from mixed sources and open edit dialogue immediately

  1. Allow user to create firewall template from several mixed sources the same way it works right now when the user does it when creates VM. Choose name, choose the mix of sources and create,
  2. User should edit rules directly after template has been created. Avoid disconnected actions (create + edit) and remove tags.

Save forms data

Steps:

  1. Login to system

  2. Go to Images/Firewall Templates

  3. Click on create button

  4. Enter some invalid data to creation form and try to create object

  5. Open form again

Actual Result: warning message appears. Entered data are cleared, form is clear

Expected Result: warning message appears. It would be better if entered data isn't cleared from form, user can back to form and change data.

Counter for VM naming scheme

Now it doesn't work well because we forget about already removed VMs. We need to have a local counter which allows use to use just next VMID, not just search the first one.

Default snapshot name

When a user creates a snapshot, the system should propose him a predefined default snapshot name (as for new VMs).
Proposed format: -YYMMDD-HHmm

  • fix snapshot creation error handling

VM filtering by status

Add filtering VM by status (running | stopped | enabled). To put on the right side of "Group by colors".

List view / box view switch

Develop the switch which allows switching every screen between list view and boxed view. Selected switch position should be remembered for future for the screen.

Base on Google Inbox https://inbox.google.com

Acceptance criteria:

  1. Table view with no column boards. But data in columns should be positioned strictly one under another.
  2. If an entity has a description, it should be placed under the name
  3. If there are icons or state bullets, it should be placed on the left side of the name
  4. A switcher (List view - Box view) should be placed on the bottom of the screen, use toggle buttons with pictures (pictures can be taken from Google Drive switcher). Leave a narrow line for it
  5. The view should be remembered for each page separately.

Mockup
7

Display Disk properties for attached drives

It would be good to display disk properties (like IOPS, etc) for attached drives.
Check out if it's possible to display it for root drives, it might be different for different installation sources.

Upgrade VM Group management

VM groups in VM detailed view should be upgraded.

  • Add "edit" button (pencil) as for all other sections on the left side. When clicking this button, editing opens (no modal windows)
  • When clicking on the name of group, show drop-down with all existing groups
  • Add "save" button on the right side

Ingress/Egress Firewall rules display strings

  1. It would be nice to reorganize Firewall rules section in VM sidebar and in VM creation (Firewall rules -> Network rules).

Ingress 0.0.0.0/0 TCP 80 80 -> Incoming TCP traffic to ip 0.0.0.0/0 to port 80
Ingress 0.0.0.0/0 TCP 80-443 -> Incoming TCP traffic to ip 0.0.0.0/0 to port range 80-443
Ingress 0.0.0.0/0 ICMP -1 -1 -> Incoming ICMP traffic to ip 0.0.0.0/0 of Any ICMP type and Any ICMP code

There should be all codes/types mnemonic lines (except any).

  1. Use the same approach for created rules as for templates (except for currently edited rule), because otherwise, it looks crazy when for ICMP we see start port/end port however it is nonsense or upgrade the current view to make it proper.

Repeating Disk snapshots

  1. базовая форма с табами
  2. JSON файл с часовыми поясами
  3. контролы для разных режимов (день, неделя и т.д.)
  4. валидация
  5. формирование API запросов (+конвертация данных в формат для API)
  6. удаление выбранных расписаний и блокировка табов в завиисмости от того, что выбрано

Base on original interface.

Is it possible to determine domain name for VM from CS?

It may be possible to get from CS API domain name of VM like vm-name. Actually it might be specified for zone, but please check if it's possible to get it from zone information.

If it's possible, then add FQDN domain name to VM details

Upgrade resource usage bar

Now resource usage bar shows used resources. It would be nice to have a Switch that changes display Free <-> Used.
The selection should be remembered in localstorage or cookies.

Main view area layout

I think it's not a good behaviour when user clicks on a VM or Disk and all the layout rebuilds to show a sidebar and actually the user don't understand which VM is actually selected. I think It's better to "reserve" a sidebar space in order to avoid VM reorganization and move.

Wrapper for MdlDialogService

Need to implement CSDialogService that will translate the input using TranslateService and then send translated strings to MdlDialogService.

We should use CSDialogService instead of MdlDialogService.

Add API section in Settings

It would be great to create an API section in Settings.
Display:

  • API URL,
  • Key,
  • Token,
  • Link to API documentation

Action log filtering according to action type and text

  1. please add filtering by action type where action type is gathered across current events (for the date)
  2. add free form search field which will allow searching by text.
  3. addition to the URL line is a good idea also, it helps sending found objects to other account members.

Browser compatibility

Browser compatibility should be checked:

  • Check against modern browsers
  • Build compatibility list
  • Build warning message when user uses a browser with version below required

If there is no spare disks, open new Volume form immediately

  1. Open Spare drive creation form immediately if there is no spare drive in the list.
  2. Rename "New volume" to "Create New Spare Disk".

Btw, English grammar wishes headers be filled In Words With Capital First Letter (except short words like a, an, and, etc.). Better to consult with English grammar.

Add proper redirection after login page

Every time user gets logged out or redirected to login page we should save the previous URL of the user and redirect to that URL after successful authentication.

Support attach volume to VM from VM sidebar

Currently spare volumes can be attached to VM only from Spare volumes tab, but actually it may be usefull to provide the function to attach the volume from the VM sidebar.

Blank project

Hello,

I want to test your project. When you upload your code ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.