Commit Graph

421 Commits

Author SHA1 Message Date
Nicolas Vazquez bf4f1bbb90 CLOUDSTACK-10126: Separate Subnet for SSVM and CPVM (#2368)
This extends work presented on #2048 on which the ability to extend the management range is provided.

Aim
This PR allows separating the management network subnet on which SSVM and CPVM are from the virtual routers management subnet.

Detailed use case
PCI compliance requires that network elements are defined as ‘in scope’ or ‘out of scope’, for compliance purposes. The SSVM and CPVM are both in scope as they allow public HTTP or HTTPS connections. The virtual routers have been defined as out of scope as they have been placed entirely in a firewalled network's segment. However, all of the system VM types share management network. As SSVM and CPVM are both in scope this would bring the virtual routers into scope as well, requiring individual audits of every virtual router. As this is not practical, the ‘management network’ which the SSVM and CPVM are on, and the management network which the virtual routers are on, must be separated by a firewall.

Description
By this feature it is possible to dedicate a created range for SSVM and CPVM (system vms) and provide a VLAN ID for its range.

A new boolean global configuration is added: system.vm.management.ip.reservation.mode.strictness. If enabled, the use of System VMs management IP reservation is strict, preferred if not. Default value is false (preferred).

Strict reservation: System VMs should try to get a private IP from a range marked for system vms. If not available, deployment fails
Preferred reservation: System VMS will try to get a private IP from a range marked for system vms. If not available, IP for range not marked for system vms is taken.
2018-01-05 13:19:03 +05:30
Rohit Yadav facc5945f0 CLOUDSTACK-10193: Fix smoke tests failures with new systemvmtemplate
- Several systemvmtemplate optimizations
- Uses new macchinina template for running smoke tests
- Switch to latest Debian 9.3.0 release for systemvmtemplate
- Introduce a new `get_test_template` that uses tiny test template
  such as macchinina as defined test_data.py
- rVR related fixes and improvements

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav 0102e8593d CLOUDSTACK-10129: UX improvements and event timeline
- Fixes timezone issue where dates show up as nvalid in UI
- Introduces new event timeline listing/filtering of events
- Several UI improvements to add columns in list views
- Bulk operations support in instance list view to shutdown and destroy
  multiple-selected VMs (limitation: after operation, redundant entries
  may show up in the list view, refreshing VM list view fixes that)
- Align table thead/tbody to avoid splitting of tables

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Nicolas Vazquez 3f330a2199 CLOUDSTACK-10044: Update role permission (#2236)
This feature allows changing permission for existing role permissions, as those were static and could not be changed once created. It also provides the ability to change these permissions in the UI using a drop down menu for each permission rule, in which admin can select ‘Allow’ or ‘Deny’ permission.

Changes in the API:

This feature modifies behaviour of updateRolePermission API method:

New optional parameters ‘ruleid’ and ‘permission’ are introduced, they are mutual exclusive to ‘ruleorder’ parameter. This defines two use cases:
Update role permission: ‘ruleid’ and ‘permission’ parameters needed
Update rules order: ‘ruleorder’ parameter needed
Parameter ‘ruleorder’ is now optional
updateRolePermission providing ‘ruleorder’ parameter should be sent via POST
2017-08-11 12:24:50 +02:00
Rohit Yadav 402253504e CLOUDSTACK-9783: Improve metrics view performance
This improves the metrics view feature by improving the rendering performance
of metrics view tables, by reimplementing the logic at the backend and data
served via APIs. In large environments, the older implementation would
make several API calls that increases both network and database load.

List of APIs introduced for improving the performance:

    listClustersMetrics
    listHostsMetrics
    listInfrastructure
    listStoragePoolsMetrics
    listVMsMetrics
    listVolumesMetrics
    listZonesMetrics

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-02-28 13:45:03 +05:30
Will Stevens 1f53adbac6 Merge pull request #1270 from anshul1886/CLOUDSTACK-9194
CLOUDSTACK-9194:  Making the console popup window resizable in IE to make sure the focus is not losthttps://issues.apache.org/jira/browse/CLOUDSTACK-9194

To test:

Open any VM console in IE, and try resizing the browser window of console
It should be resizable.

* pr/1270:
  CLOUDSTACK-9194:  Making the console popup window resizable in IE to make sure the focus is not lost.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-28 16:00:47 -04:00
Nitin Kumar Maharana a68918fef7 CLOUDSTACK-9268: Display VM in Load balancing rule in UI
Added jsonObj to newly created row in multiedit.js to stop listing the same VM again.
2016-02-02 22:54:53 +05:30
Anshul Gangwar e985db9057 CLOUDSTACK-9194: Making the console popup window resizable in IE to make sure the focus is not lost. 2015-12-22 11:23:46 +05:30
Abhinandan Prateek 987fcbd441 CLOUDSTACK-8592: Implement Quota service
Quota service while allowing for scalability will make sure that the cloud is
not exploited by attacks, careless use and program errors. To address this
problem, we propose to employ a quota-enforcement service that allows resource
usage within certain bounds as defined by policies and available quotas for
various entities.  Quota service extends the functionality of usage server to
provide a measurement for the resources used by the accounts and domains using a
common unit referred to as cloud currency in this document. It can be configured
to ensure that your usage won’t exceed the budget allocated to accounts/domain
in cloud currency.  It will let user know how much of the cloud resources he is
using. It will help the cloud admins, if they want, to ensure that a user does
not go beyond his allocated quota. Per usage cycle if a account is found to be
exceeding its quota then it is locked. Locking an account means that it will not
be able to initiat e a new resource allocation request, whether it is more
storage or an additional ip. Needless to say quota service as well as any action
on the account is configurable.

Changes from Github code review:

- Added marvin test for quota plugin API
- removed unused commented code
- debug messages in debug enabled check
- checks for nulls, fixed access to member variables and feature
- changes based on PR comments
- unit tests for UsageTypes
- unit tests for all Cmd classes
- unit tests for all service and manager impls
- try-catch-finally or try-with-resource in dao impls for failsafe db switching
- remove dead code
- add missing quota calculation case (regression fixed)
- replace tabs with spaces in pom.xmls
- quota: though default value for quota_calculated is 0, the usage server
  makes it null while entering usage entries. Flipping the condition so
  as to acocunt for that.
- quotatypes: fix NPE in quota type
- quota framework test fixes
- made statement period configurable
- changed default email templates to reflect the fact that exhausted quota may not result in a locked account
- added quotaUpdateCmd that refreshes quota balances and sends alerts and statements
- report quotaSummary command returns quota balance, quota usage and state for all account
- made UI framework changes to allow for text area input in edit views
- process usage entries that have greater than 0 usage
- orocess quota entries only if tariff is non zero
- if there are credit entries but no balance entry create a dummy balance entry
- remove any credit entries that are before the last balance entry
  when displaying balance statement
- on a rerun the last balance is now getting added

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Quota+Service+-+FS
PR: https://github.com/apache/cloudstack/pull/768

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-07 23:02:48 +05:30
Remi Bergsma 2ae3e0c961 Merge release branch 4.6 to master
* 4.6:
  Fix event UUIDS missing on event bus
  Add select template dropdown when reinstall VM
  CLOUDSTACK-9068: Listing Port Forwarding Rules take too much time to load
2015-11-28 15:12:49 +01:00
Rohit Yadav ad592835c8 CLOUDSTACK-9020: Metrics views for CloudStack UI
Implements various metrics views based on a listView based widget that has following
properties:
  - vertically and horizontally scrollable with pagination/infinite scrolling
  - sortable columns (client side)
  - groupable/collapsible columns
  - alternate row coloring
  - refresh button to refresh views
  - threshold table cell coloring
  - panel/breadcrumb navigation
  - quick view action column
  - translatable labels
  - sorts after metrics is refreshed, if a column was previously sorted
  - sorts after adding rows on infinite scrolling if a column was pre-sorted
- Metrics views: Zones, Clusters, Hosts, Instances, Storage pools, Volumes
- Resource filtering/navigation: Zones->Clusters->Hosts->Instances->Volumes,
                                 Storage Pool->Volumes

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-19 15:17:44 +05:30
Rohit Yadav 0845edce1a CLOUDSTACK-9020: Implement collapsible columns and threshold colorings
Implements following in listView that generates tabular views;
- Collapsible columns in case of multi-header groupable columns
- Implements threshold coloring of cells in table
- Implements option to render a table that is scrollable in both x-y directions
- Support to only display status icon instead of label if compact is set to true
- Fixes quick-view alignment issue on Safari
- If a column was previously sorted, sorts after adding new rows
- If a supercolumn was collapsed, hides cell after adding new rows

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-19 15:17:43 +05:30
Rohit Yadav 106e9106c9 CLOUDSTACK-9020: Implement sorting for tables
Implements sorting for tables across CloudStack UI;
- General alphabetic/string based sorting
- Numeric sorting for columns if data appears numeric
- Special sorting comparator for state columns
- Avoids sorting quick view columns and other specific columns

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-19 15:17:43 +05:30
Rohit Yadav a48a224eae CLOUDSTACK-9020: Method to remove last panel from the breadcrumb
Adds a new method to cloudBrowser that can remove the last panel and link/ref
from the breadcrumb

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-19 15:17:43 +05:30
Nitin Kumar Maharana 48df255f71 CLOUDSTACK-9068: Listing Port Forwarding Rules take too much time to load
For setting the width of each data item for each row of Port Forwarding rules, it was processing all rules.

Basically for each data item, it was searching in all rules, which is un-necessary.
If there are N-Rules, It was processing N-times.

Now, it only processes one time by taking all N-rules at a time.
The previous solution was of O(NxN). Now its changed to O(N).
2015-11-17 23:02:55 +05:30
Milamber e64025a2b8 PR 906 (CLOUDSTACK-8930) and PR 912 combined. Bugs on localization buttons in zone wizard final step and Advanced search popup 2015-10-07 07:50:04 +01:00
Milamber 267994fa0b CLOUDSTACK-8744 Add missing localization (l10n) for several parts in the UI
- l10n for the SSH Key Pairs behavior
- l10n for Autoscaling / LB sections
- l10n for Reset password
- l10n on some strings for the installation Wizard
- l10n on some strings in VPN/VPC section
- l10n on Service offerings sections
- improve some FR translations
2015-08-18 11:16:14 +01:00
Kevin Dierkx 3acdd916b0 Removed large chunks of commented code 2015-08-07 14:55:59 +02:00
Kevin Dierkx 471a02d6a4 Removed leading tabs from ui/scripts/*.js 2015-08-07 11:58:13 +02:00
Kevin Dierkx 2bdbaf453e Removed trailing whitespace from ui/scripts/*.js 2015-08-07 11:25:15 +02:00
ramamurtis 8591383bcc CLOUDSTACK-8307: UI not showing all Domains, if there are more than 24 domains then the last domain gets cut off on firefox and IE. Added a flag in treeview widget and based on the flag adding css class which will make overflow as scroll instead of the default auto.
Fixes #101

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-09 14:26:29 +05:30
Wei Zhou 19e99848c8 CLOUDSTACK-7882: SSH Keypair Creation/Selection in UI
Thanks Ilia Shakitko for the porting and testing.
2014-12-12 14:30:34 +01:00
Wei Zhou ed6333f3e4 [UI] bug fix: updateNetwork keep polling 2014-12-11 14:23:43 +01:00
Gabor Apati-Nagy 94b16b3bd5 CLOUDSTACK-7766: Field Validations Missing for Ingress and Egress Rules 2014-10-29 10:19:22 -07:00
Jessica Wang a3eaff8bb6 CLOUDSTACK-7736: UI - listView widget - select view dropdown on top of listView - prefilter() - include original args.context when passing it to prefilter(). 2014-10-16 12:34:26 -07:00
vetrivelc 6a11d099cf Fix Externalization of hard-coded label strings
-Split 'dictionary.jsp' into two files -> 'dictionary.jsp' and
'dictionary2.jsp' -- this is due to JSP file constraints as the
localization object is getting quite long

-Per change above, 'dictionary' object is now split into an additonal
'dictionary2' object, which is merged with the main dict object on page
load

-All new dictionary mappings should be added to 'dictionary2' now.

Signed-off-by: Brian Federle <brian.federle@citrix.com>
2014-09-17 13:59:13 -07:00
Brian Federle b04cc75065 CLOUDSTACK-7526: Fix missing localization on 'add' button 2014-09-15 13:02:27 -07:00
Mihaela Stoica 75cd79a238 CLOUDSTACK-7520: [UI] keep advanced search parameters visible after search has been run.
- Preserve the advanced search parameters, so that when the advanced search box is shown again,
it is populated with the values selected/entered previously, unless they have navigated away from the search results page,
or applied any additional filters/search parameters.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2014-09-10 15:37:35 +05:30
seif c319c0b3e0 Make using a hint (or no results) text more flexible 2014-08-18 15:07:03 -06:00
seif f2781a5ce3 Update the hint appropriately 2014-08-18 12:48:14 -06:00
seif aadb5f4ad5 GUI modifications related to host tags 2014-08-17 23:44:35 -06:00
seif fd6d083ad6 GUI changes to leverage a new control for storage tags 2014-08-17 17:18:51 -06:00
Mihaela Stoica 3bcd22bdaf Added the ability to show warning (exclamation mark) icon on confirmation dialogs.
Signed-off-by: Brian Federle <brian.federle@citrix.com>
2014-08-14 14:04:22 -07:00
Brian Federle cf8a00cbfd Quickview: Fix action error handling not removing loading state 2014-08-12 15:20:56 -07:00
Brian Federle d9fcb87730 CLOUDSTACK-6590: Fix view all link for multi-item detail view
-- Specifically, this fixes issue where secondary IP 'view all' link was
   not displaying, due to a change in the rows' CSS naming conventions
   in the widget.
2014-08-12 13:20:54 -07:00
Mihaela Stoica af37743045 CLOUDSTACK-7302: UI: Remove Hover Interaction from breadcrumbs at top page
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-08-12 11:36:45 -07:00
Brian Federle 2a01fd4c51 Quick view: remove extra padding area
Remove extra 'buffer zone' around quick view tooltip. This was
causing misleading behavior in some cases, due to the cursor being
hovered over a different row while another row's quick view was
still open
2014-07-17 11:42:32 -07:00
Brian Federle b58371e520 List view: Fix action pre-filter for multiselect actions
Evaluates pre-filter for individual actions (i.e., when action.preFilter is specified)
every time a multi-select row is checked orunchecked. This allows multi-select
actions to be shown/hidden on a per-row basis.
2014-07-15 13:30:56 -07:00
Brian Federle 36e5cc2b6a Fix for non-grouped detail view
Fix issue where non-grouped detail page (i.e., instances stats page)
doesn't load due to the fields being passed as an object, not an array.
2014-07-14 15:49:07 -07:00
Brian Federle ab8036b766 List view: View subselect on infinite scrolling
Fixes issue where outdated context is passed to subselect's data provider
when infinite scroll event loads more data items. Now, context is derived
from DOM data directly instead of in the args.
2014-07-10 16:43:31 -07:00
Brian Federle ad051e8504 List view: Fix infinite scrolling
Fixes condition where, on 'refresh' of list view, infinite scrolling no longer
works due to leftover state prior to refresh. Now page # and end-of-list
indicator are stores in DOM object, for easier cleanup
2014-07-02 16:02:52 -07:00
Brian Federle 667347d17e List view: Fix issue with multiple selection actions
Fixes issue where duplicate and/or incorrect list view entries were
being passed due to list view object not being referenced relatively for
multi-select actions, causing more than one list being passed at times.
2014-07-01 11:44:38 -07:00
Brian Federle bc4be5272b Detail view: support per-action filtering
Adds support for adding preFilter on a per-action basis, to assist in
plugin development. If action.preFilter function is passed, and returns
true/false, the action is shown/hidden. If no preFilter is specified,
then the action will be passed through the detail view's standard filter.

Example:

testAction: {
    label: 'Test Action',
    ...
    preFilter: function(args) {
        return false; // Action will be hidden
    },
    ...
}
2014-06-18 14:02:16 -07:00
Brian Federle 6fcd4fbe7b List view: Pass ID to action pre-filters 2014-06-18 11:52:06 -07:00
Brian Federle 04b1e31682 List view, multiSelect: Fix issue where $listView isn't always referenced 2014-06-16 14:11:56 -07:00
Brian Federle 8cf5192a6f List view, multiselect: Only reference elements relative to $listView 2014-06-16 14:07:29 -07:00
Brian Federle cd17061916 Detail view: Cleanup old tab content on change
Add event handler on tab change to remove all old tab content. This prevents
potential conflicts with referencing widget data caused by old content laying
around.
2014-06-12 13:33:21 -07:00
Brian Federle 2ac0013505 List view: multi-select actions: Show loading icon during action 2014-06-05 12:29:20 -07:00
Brian Federle c312aa95c2 List view->Detail view: Add new parameter 'noPanelView'
Adds 'noPanelView' option for detail view connected to list view. When
specified, don't support opening the detail view in a new browser pane (i.e.,
only render quickview).
2014-06-03 11:25:57 -07:00
Brian Federle 0b5163f8cf Tree view: Add event hook on sub-item removal 2014-05-29 14:02:47 -07:00