Commit Graph

232 Commits

Author SHA1 Message Date
Hoang Nguyen 5eccbc9521
ui: Add footer text option for login screen (#5628)
* add footer text option for login screen

* using single key for policy

* set empty for default policy text

* rename footer text key

* rename the footer text property name

* change position avoid breaking with docHelp

* change position of properties
2021-12-30 16:21:40 +05:30
Wei Zhou 8952cd5955
kvm: add hosts using cloudstack ssh private key (ccc21 hackathon) (#5684)
This PR provides the option to add kvm hosts with empty or wrong password.
To support this, the cloudstack ssh public key needs to be added in the ~/.ssh/authorized_keys on host.

Feature work:

1. get cloudstack public key from management server (/var/lib/cloudstack/management/.ssh/id_rsa.pub)

![image](https://user-images.githubusercontent.com/57355700/141449653-85f644b5-c32e-44ca-9c6b-77570262c046.png)


2. add the key to ~/.ssh/authorized_keys on kvm hosts

![image](https://user-images.githubusercontent.com/57355700/141449722-e906eea5-74fd-4f81-a4d3-41563beeb79c.png)

3. add kvm host with empty password

<img src="https://user-images.githubusercontent.com/57355700/141449865-6ffee1f0-b0d7-4ea4-b11a-32df42e2fe91.png" height="50%" width="50%">

Tested as:
1. add host, with correct password,  works as expected.
2. put host to maitenance, stop cloudstack-agent, cancel maintenance, remove the host. all work.
3. add host, with empty password (ssh public key is added to  ~/.ssh/authorized_keys),   works as expected.
4. put host to maitenance, stop cloudstack-agent, cancel maintenance. all work as expected.
2021-12-30 16:20:04 +05:30
Abhishek Kumar 2df82d8188
ui: changes in migrate vm storage and migrate volume form (#5145)
Better forms in UI for migrating VMs and volumes.

- Show option to migrate with storage while live migrating a VM
- For VM storage migration (stopped VM), allow migrating volumes to specific primary storages
- Show primary storage details in migrate volume form

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-11-30 17:07:48 +05:30
davidjumani 6ac834a358
Adding AutoScaling for cks + CKS CoreOS EOL update + systemvmtemplate improvements (#4329)
Adding AutoScaling support for cks
Kubernetes PR : kubernetes/autoscaler#3629
Also replaces CoreOS with Debian
Fixes #4198

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Co-authored-by: Wei Zhou <w.zhou@global.leaseweb.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-10-06 21:17:41 +05:30
Abhishek Kumar 6e216dd0d1
vmware, network: add maclearning option (#5471)
* vmware, network: add maclearning option

Adds option for specifying MAC Learning property for network offering (useful for VMware Distributed Virtual Portgroup). Added global config - network.mac.learning for the default value.
MAC Learning is supported for DV portgroups for VMware Distributed vSwitches v6.6.0+ and vSphere 6.7+

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix warning msg

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-10-04 20:00:45 -03:00
Abhishek Kumar 4a42e7ef9e
vmware, ui: update portgroup on network update (#5470)
Enhanced update network form in the UI.
On network offering change for an isolated network,

- VMware portgroup should be updated accordingly.
- VMs on the network should be placed on the correct VMware portgroup based on the network rate, https://docs.cloudstack.apache.org/en/latest/adminguide/service_offerings.html#network-throttling.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-10-03 14:41:42 +05:30
Rohit Yadav 910d02466e
ui: recommend adv zone to new users and show basic zone as bottom option (#5496)
* ui: recommend adv zone to new users and show basic zone as bottom option

This shows the adv zone option in the create zone wizard before the basic
zone option and recommends it for new users. This is because adv zone
can offer more flexible and network topology options including what
basic zone offers in form of shared network (with/without security
groups).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* let's see if this ticks advanced by default

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-09-22 14:52:20 +05:30
Wei Zhou 747608f75f
Add New API endpoint: UpdateVlanIpRange (#5411)
* Added Logic to update the user_ip_address table

* Edited ConfigurationManagerImpl

* Refactor UpdateVlanIpRangeCmd location

* Checkstyle corrections

* Mock updateVlanAndPublicIpRange

* Changes:
- UpdateVlanIpRangeCmd - changed since to 4.15.0
- ConfigurationService - Updated Javadoc
- ConfigurationManager - Updated Javadoc
- Added Unit tests
- Added license
- Update server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
- fix some bugs in #5411 and add support for ipv6 and forsystemvms
- fix #5411: disallow forsystemvms if ip range is dedicated
- update #5411: ui changes
- update #5411: support gateway/netmask change
- update #5411: change to sync call and fix bugs

Co-authored-by: kioie <kioieddy@google.com>
Co-authored-by: kioie <kioi@outlook.com>
Co-authored-by: dahn <daan.hoogland@gmail.com>
2021-09-20 10:56:29 +05:30
Peinthor Rene 66c39c1589
storage: Linstor volume plugin (#4994)
This adds a volume(primary) storage plugin for the Linstor SDS.
Currently it can create/delete/migrate volumes, snapshots should be possible,
but currently don't work for RAW volume types in cloudstack.

* plugin-storage-volume-linstor: notify libvirt guests about the resize
2021-09-16 10:50:58 +05:30
Pearl Dsilva 3f827ef22b
UI: Support to upload resource icons (#5157)
* Resource Icon support - backend

* Add API support for resourceicon

* update reponse params + ui support

* Add exclusive list api for icons and UI changes

* refactor upload view

* UI changes to support resource icon wherever necessary

* convert api to POST + refactor icon view

* Add response name to list API + cosmetic changes in UI

* Added support for the following:
resource icon support for vpcs, networks, domains, and projects
add icons to list view if reosurces support icons to be added
support for showing project icons in the project switching drop-down menu

* List resourceicon cmds to be allowed for user role too
Users to inherit account icon if present (in listUsers response)
Move common code to plugin.js
Add icon to project list view - while switching between projects - Dashboard page
Show icons against zones - Capacity Dashboard view
Show user / account icon at the login button if present

* cosmetic changes

* optimize ui code

* fix reload issue for domain view

* add access check for delete operation

* ui-related changes to show iso icons

* iso image in uservm response

* add icons to custom form's list resources

* some more custom forms aligned to show icon for resources

* conmitic changes + add listing of icons to listdomainchildren cmd

* Add backend/server-side validation for base64 string passed for image

* change preview border

* preselect zone if there's only one

* add default icon

* show icon for network list in deploy vm view

* add custom icons if any to the import-export VM view

* preselect zone persistence on clearing cache

* prevent root vol from inheriting template/iso icon

* show tempalte icon in the info card details

* fix icon not being show on hard-refresh / initial traversal

* fx success message
2021-09-15 00:50:42 -03:00
Pearl Dsilva f409e7a922
api: Update DNS on changing VM name (#5425)
* api: Update DNS on changing VM name

* refactor backend code + UI - add warning messaging to prompt users to restart VM in case particular fields are updated

* address comments
2021-09-15 00:26:12 -03:00
Nicolas Vazquez 413d10dd81
server: Extend the Annotations framework (#5103)
* Extend addAnnotation and listAnnotations APIs

* Allow users to add, list and remove comments

* Add adminsonly UI and allow admins or owners to remove comments

* New annotations tab

* In progress: new comments section

* Address review comments

* Fix

* Fix annotationfilter and comments section

* Add keyword and delete action

* Fix and rename annotations tab

* Update annotation visibility API and update comments table accordingly

* Allow users seeing all the comments for their owned resources

* Extend comments for volumes and snapshots

* Extend comments to multiple entities

* Add uuid to ssh keypairs

* SSH keypair UI refactor

* Extend comments to the infrastructure entities

* Add missing entities

* Fix upgrade version for ssh keypairs

* Fix typo on DB upgrade schema

* Fix annotations table columns when there is no data

* Extend the list view of items showing they if they have comments

* Remove extra test

* Add annotation permissions

* Address review comments

* Extend marvin tests for annotations

* updating ui stuff

* addition to toggle visibility

* Fix pagination on comments section

* Extend to kubernetes clusters

* Fixes after last review

* Change default value for adminsonly column

* Remove the required field for the annotationfilter parameter

* Small fixes on visibility and other fixes

* Cleanup to reduce files changed

* Rollback extra line

* Address review comments

* Fix cleanup error on smoke test

* Fix sending incorrect parameter to checkPermissions method

* Add check domain access for the calling account for domain networks

* Fix only display annotations icon if there are comments the user can see

* Simply change the Save button label to Submit

* Change order of the Tools menu to provent users getting 404 error on clicking the text instead of expanding

* Remove comments when removing entities

* Address review comments on marvin tests

* Allow users to list annotations for an entity ID

* Allow users to see all comments for allowed entities

* Fix search filters

* Remove username from search filter

* Add pagination to the annotations tab

* Display username for user comments

* Fix add permissions for domain and resource admins

* Fix for domain admins

* Trivial but important UI fix

* Replace pagination for annotations tab

* Add confirmation for delete comment

* Lint warnings

* Fix reduced list as domain admin

* Fix display remove comment button for non admins

* Improve display remove action button

* Remove unused parameter on groupShow

* Include a clock icon to the all comments filter except for root admin

* Move cleanup SQL to the correct file after rebasing main

Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
2021-09-08 10:14:06 +05:30
Rohit Yadav c0ecc34f4c Merge remote-tracking branch 'origin/4.15' into main 2021-09-07 18:13:28 +05:30
mib85 10459de71b ui: use local copy of less.min.js
Fixes #5277
2021-09-07 18:11:45 +05:30
Pearl Dsilva 089887646f
ui: Support to view template download progress across all stores (#5355)
* ui: Support to view template download progress across all stores

* update column name
2021-08-24 01:08:04 -03:00
Rohit Yadav d23a9954e8 Merge remote-tracking branch 'origin/4.15' into main
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-08-19 17:46:58 +05:30
davidjumani 06f3d90d41
ui: Update placeholders for adding new tier (#5326)
* ui: Update placeholders for adding new tier

* Fix VpcTiersTab

* Removing icon style and colon
2021-08-19 08:40:17 -03:00
davidjumani 28e70c0a2a
Add missing labels (#5305) 2021-08-12 12:18:57 -03:00
nicolas 0011d45b22 Merge branch '4.15' into main 2021-08-11 12:36:48 -03:00
Hoang Nguyen 8680f7d9ad
UI: Dark mode toggle button on Management Server (#5052)
* add button toggle dark mode

* switch components corresponding to dark mode

* restructure the style dark mode file

* fix collapse & login page

* fix test failed

* fix dark mode styles by refer antd pro

* fix disabled colors of button, input,... & refactor file dark mode styles

* add setting drawer and save it into local storage

* add an alert for save the setting

* add `cursor: pointer`

* hide drawer when init

* change id name of svg icon

* fix after merged 4.15

* edit active color menu item

* fix plaholder color, project chart color & reset setting

* fix event change color picker & error input focus color

* fix empty data color
2021-08-11 16:32:46 +02:00
nicolas 75b335e939 Merge branch '4.15' into main 2021-08-11 08:24:03 -03:00
Hoang Nguyen 1182051961
UI: Add multiple management server support (#4885)
* add multiple management server support

* display the server on the user menu

* remove primary color in server icon

* using `/client` from apiBase

* add a setting that allows users to customize whether to use multiple servers or not

* set default hidden the multiple server config
2021-08-11 08:22:38 -03:00
Wei Zhou 846efdbfe4
server: Optional destination host when migrate a vm (#4378)
* server: Optional destination host when migrate a vm

* #4378: migrate systemvms/routers with optional host

* #4378: fix mistake

* #4378: fix issue when migrate systemvm

* #4378 add autoselect to migrate api commands

* #4378: more ui change

* #4378: add label label.migrate.auto.select

* #4378: add method chooseVmMigrationDestination

* #4378: fix vm migration wih storageid on vmware

* #4378: add method to collect vm disk/network statistics

* #4378: set autoSelect to default 'true'

* #4378: use BooleanUtils.isNotFalse

Co-authored-by: Wei Zhou <weizhou@apache.org>
2021-08-10 01:25:57 -03:00
davidjumani d5015d7af1
ui: Prettify ManageInstances.vue (#5295)
* ui: Prettify ManageInstances.vue

* Update en.json

Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-08-09 15:51:37 +05:30
Rohit Yadav c6cb30d1ea Merge remote-tracking branch 'origin/4.15' into main 2021-07-27 17:47:05 +05:30
davidjumani 2643854173
ui: Fix current for vmsnapshots (#5247) 2021-07-27 14:57:55 +05:30
Abhishek Kumar 87ee86679e
ui: vmware vm import-unmanage (#5075)
Adds UI for importing and unmanaging VMs.
A new navigation section - Tools has been added in the UI.

Doc PR: apache/cloudstack-documentation#221

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-07-27 11:12:37 +05:30
Pearl Dsilva 15d3d39cb2
UI: bulk action support for various resources (#5034)
* ui: support bulk action for various resources

* ui: support bulk action for various resources

* Bulk actions support - progress review

* Extract common code + suppress error notification with bulk actions

* cleanup + suppress notification

* add progress view

* Add routes to notification + add async jobs + refactor progress view

* minor tweaks

* fix group action for vpn users

* Refactor code

* Unique row key

* remove redundant cols

* address comments

* Added the following:
1. Make Cancel as default button for bulk actions
2. Add Filter Filter on the Operation status Column - Progress View
3. For Stop and delete bulk operations - add An alert message(in Red) to inform users that it is a destructive operation

* Add dynamism to column filtering
2021-07-16 10:33:04 +02:00
Abhishek Kumar 5ac184edd6 Merge remote-tracking branch 'apache/4.15' into main 2021-07-15 14:02:49 +05:30
Hoang Nguyen 7123269937
ui: deploy VM - FIX missing custom iops field (#5199)
Fixes #5192
2021-07-15 12:53:50 +05:30
Hoang Nguyen 584c1cfbe0
ui: secondary storage - Display text and change the badge color of the Read-only column (#5176)
* change badge color and display text of read-only secondary storage

* change readonly label to access

Fixes #5169
2021-07-05 11:53:38 +05:30
j-porsche 9533054599
ui: Changes of the german translation (#5173) 2021-07-05 11:53:06 +05:30
Rohit Yadav 6e8c114288 Merge remote-tracking branch 'origin/4.15' into main 2021-07-02 22:54:51 +05:30
davidjumani 9ee6a57311
ui: deployvm - Add option to stay on page (#4843)
* ui: deployvm - Add option to stay on page

* Moving option to a dropdown
2021-07-01 12:28:39 +02:00
nicolas d2ab350a40 Merge branch '4.15' into main 2021-06-16 15:38:18 -03:00
Pearl Dsilva 326e03bc9c
ui: Fix typo in error message on login page (#5118) 2021-06-16 17:58:46 +05:30
fermosan b6e4329aa3
ui: Greek (Hellenic) translation (#5109)
Modifications in TranslationMenu.vue as well
2021-06-15 15:31:49 +05:30
Abhishek Kumar 9dd0acf8c9
ui: add action syncStoragePool (#5098)
Added action in UI for syncStoragePool API for DatastoreCluster type primary storages.

Fixes #5086

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-06-11 20:07:07 +05:30
Harikrishna 083646b3c3
server: VM dynamic scaling option granularity (#4643)
This PR introduces new granularity levels to configure VM dynamic scalability. Previously VM is configured to be dynamically scalable based on the template and global setting. Now we bringing this option to configure at service offering and VM level also.

VM can dynamically scale only when all flags are ON at VM level, template, service offering and global setting. If any of the flags is set to false then VM cannot be scalable. This result will be persisted in DB for each VM and will be honoured for that VM till it is updated.

We are introducing 'dynamicscalingallowed' parameter with permitted values of true or false for deployVM API and createServiceOffering API.

Following are the API parameter changes:
createServiceOffering API: 
          dynamicscalingenabled: an optional parameter of type Boolean with default value “true”.
deployVirtualMachine API: 
          dynamicscalingenabled: an optional parameter of type Boolean with default value “true”.

Following are the UI changes:
Service offering creation has ON/OFF switch for dynamic scaling enabled with default value true
2021-06-08 17:10:00 +05:30
Suresh Kumar Anaparti 958182481e cloudstack: make code more inclusive
Inclusivity changes for CloudStack

- Change default git branch name from 'master' to 'main' (post renaming/changing default git branch to 'main' in git repo)
- Rename some offensive words/terms as appropriate for inclusiveness.

This PR updates the default git branch to 'main', as part of #4887.

Signed-off-by: Suresh Kumar Anaparti <suresh.anaparti@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-06-08 15:47:20 +05:30
Rohit Yadav d184e282b2 Merge remote-tracking branch 'origin/4.15' 2021-05-31 20:01:09 +05:30
Pearl Dsilva d04fa0201d
server: usage generated for destroyed VMs with no backups (#5017)
Fixes: #4990
When a VM associated with a backup offering is destroyed/expunged, the backup offering isn't unassigned, and despite the VM having no backups present, backup usage is generated. This PR prevent usage record generation when there are no backups present for a VM with a backup offering associated to it. This is done by ensuring that usage event for backups is generated only when a the backup size > 0
2021-05-31 18:59:48 +05:30
Abhishek Kumar 4b7fa4e630 Merge remote-tracking branch 'apache/4.15'
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-05-24 16:43:53 +05:30
Wei Zhou c6ba3d1bea
ui: Make 'ACL' field as mandatory and add warning message for default_allow and default_deny (#5003)
Co-authored-by: Wei Zhou <weizhouapache@gmail.com>
2021-05-21 15:15:54 +05:30
Abhishek Kumar 426f14b6ed Merge remote-tracking branch 'apache/4.15'
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-05-18 15:19:20 +05:30
Abhishek Kumar 4ecef4bfb4
ui: prevent same string docHelp override (#5014)
Prevent same string docHelp suffix override.
List all existing docHelp suffixes in the config file during the build process.
Updated apache/cloudstack-documentation#199

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-05-12 16:20:17 +05:30
Rohit Yadav fce84e62ab Merge remote-tracking branch 'origin/4.15' 2021-05-06 00:27:43 +05:30
Pearl Dsilva bc80815cf5
server: Adding VPN options for IKE version and IKE split connections (#4953)
IKE version allows selecting ike (autoselect), ikev1, or ikev2.
Split connections gives an option of separating the first right subnet from the rest, and kicking out individual statements for each right subnet for better cross-compatibility.

Backported from PR: #4137
update per PR suggestion

Fixes #3138

Co-authored-by: Greg Goodrich <ggoodrich@ippathways.com>
Co-authored-by: Daan Hoogland <dahn@onecht.net>
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
2021-05-05 12:54:23 +05:30
Rohit Yadav 1abd10199c Merge remote-tracking branch 'origin/4.15' 2021-05-04 19:37:45 +05:30
Nicolas Vazquez 9349d20dd3
vmware: Make deploy-as-is optional (#4901)
* [Vmware] Make deploy-as-is optional

* Do not use deployasis on create volume test

* Update api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* Update api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* Review comments

* Refactor condition to select suitable template

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-04-30 09:47:50 +05:30
Rohit Yadav a69bf67ac4 Merge remote-tracking branch 'origin/4.15' 2021-04-13 18:12:55 +05:30
DH Park 87d73b98ee
ui: Korean language support for all features of the new CloudStack UI. (#4916)
This PR includes fixes to complete the Korean language support of the new CloudStack UI.

CloudStack explains that it supports Korean, but only some features are translated. Compared to the en-us.json file, it is not up to date on new features.

To support Korean language support for new features and more modern Korean language support, the contents of en-us.json were copied to the ko-kr.json file and retranslated into Korean.

Co-authored-by: Dajeong-Park <ekwjd7182@gmail.com>
2021-04-13 18:06:40 +05:30
Pearl Dsilva 0dbeb262e4
server: Support for persistence mode in L2 networks (#4561)
This PR aims at introducing persistence mode in L2 networks and enhancing the behavior in Isolated networks
Doc PR apache/cloudstack-documentation#183

Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
2021-04-05 14:37:11 +05:30
Rohit Yadav d4635e3442 Merge remote-tracking branch 'origin/4.15'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-04-01 14:35:01 +05:30
Hoang Nguyen 575e18c00a
ui: Restored the Basic Networking (#4882)
* zone wizard: restored the basic networking

* set enabled Basic Networking
2021-04-01 14:31:57 +05:30
Abhishek Kumar 251368361e
ui: allow docHelp override using config.json (#4745)
config.json can have a property named 'docHelpMappings' which can be used to override docHelp suffixes.
In config.json admin can add mappings as follows:

"docHelpMappings": {
  "virtual_machine.html": "some.html",
  "some_string": "override_string"
}

UI will use these mappings and will make appropriate replacements in the documentation links for different sections and forms.

Addresses #4731

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-04-01 13:10:00 +05:30
Pearl Dsilva 69825f6cb6
ui: Display root disk size in Compute offering details (#4862)
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
2021-04-01 12:31:07 +05:30
Rohit Yadav c1a02e1697 Merge remote-tracking branch 'origin/4.15'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-03-29 16:34:22 +05:30
Pearl Dsilva 97176690b8
server: Fix issue with volume resize on VMWare (deploy as-is templates) (#4829)
This PR fixes the issue pertaining to volume resize on VMWare for deploy as-is templates. VMware deploy as-is templates are those that are deployed as per the specification in the imported OVF. Hence override root disk size will not be adhered to for such templates. Moreover, when we deploy VMs in stopped state and resize the volume, the root disk doesn't get resized but the volume size is merely updated in the DB.
This PR also includes the following (for deploy as-is templates):
- Disables overriding root disk size during VM deployment on the UI
- Disables selection of compute offerings with root disk size specified, at the time of deployment
- Provided users with the option to deploy VM is stopped state via UI (so as to give an option to users to resize the volumes before starting the VM)

Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
2021-03-29 12:54:47 +05:30
Rohit Yadav 850ea61dc9 Merge remote-tracking branch 'origin/4.15' 2021-03-18 13:33:15 +05:30
sureshanaparti b658cf12d0
ui: Added info / tooltip for add role and import role dialogs in the UI (#4836) 2021-03-18 13:13:08 +05:30
Rohit Yadav 775de36688 Merge remote-tracking branch 'origin/4.15' 2021-03-17 17:46:16 +05:30
davidjumani a291dea26a
ui: Fixes for action messages and forms (#4824)
* ui: Fixes for storage

* ui: fixes for compute

* ui: Fixes for network and accounts

* ui: Fixes for domain

* ui: Fixes for infra
2021-03-17 17:38:26 +05:30
Rohit Yadav 843dfaf942 Merge remote-tracking branch 'origin/4.15' 2021-03-10 10:58:33 +05:30
j-porsche 5d36724638
UI: German translation corrections (#4759) 2021-03-09 14:55:28 +01:00
sureshanaparti eba186aa40
storage: New Dell EMC PowerFlex Plugin (formerly ScaleIO, VxFlexOS) (#4304)
Added support for PowerFlex/ScaleIO (v3.5 onwards) storage pool as a primary storage in CloudStack (for KVM hypervisor) and enabled VM/Volume operations on that pool (using pool tag).
Please find more details in the FS here:
https://cwiki.apache.org/confluence/x/cDl4CQ

Documentation PR: apache/cloudstack-documentation#169

This enables support for PowerFlex/ScaleIO (v3.5 onwards) storage pool as a primary storage in CloudStack

Other improvements addressed in addition to PowerFlex/ScaleIO support:

- Added support for config drives in host cache for KVM
	=> Changed configuration "vm.configdrive.primarypool.enabled" scope from Global to Zone level
	=> Introduced new zone level configuration "vm.configdrive.force.host.cache.use" (default: false) to force host cache for config drives
	=> Introduced new zone level configuration "vm.configdrive.use.host.cache.on.unsupported.pool" (default: true) to use host cache for config drives when storage pool doesn't support config drive
	=> Added new parameter "host.cache.location" (default: /var/cache/cloud) in KVM agent.properties for specifying the host cache path and create config drives on the "/config" directory on the host cache path
	=> Maintain the config drive location and use it when required on any config drive operation (migrate, delete)

- Detect virtual size from the template URL while registering direct download qcow2 (of KVM hypervisor) templates

- Updated full deployment destination for preparing the network(s) on VM start

- Propagate the direct download certificates uploaded to the newly added KVM hosts

- Discover the template size for direct download templates using any available host from the zones specified on template registration
	=> When zones are not specified while registering template, template size discovery is performed using any available host, which is picked up randomly from one of the available zones

- Release the VM resources when VM is sync-ed to Stopped state on PowerReportMissing (after graceful period)

- Retry VM deployment/start when the host cannot grant access to volume/template

- Mark never-used or downloaded templates as Destroyed on deletion, without sending any DeleteCommand
	=> Do not trigger any DeleteCommand for never-used or downloaded templates as these doesn't exist and cannot be deleted from the datastore

- Check the router filesystem is writable or not, before performing health checks
	=> Introduce a new test "filesystem.writable.test" to check the filesystem is writable or not
	=> The router health checks keeps the config info at "/var/cache/cloud" and updates the monitor results at "/root" for health checks, both are different partitions. So, test at both the locations.
	=> Added new script: "filesystem_writable_check.py" at /opt/cloud/bin/ to check the filesystem is writable or not

- Fixed NPE issue, template is null for DATA disks. Copy template to target storage for ROOT disk (with template id), skip DATA disk(s)

* Addressed some issues for few operations on PowerFlex storage pool.

- Updated migration volume operation to sync the status and wait for migration to complete.

- Updated VM Snapshot naming, for uniqueness in ScaleIO volume name when more than one volume exists in the VM.

- Added sync lock while spooling managed storage template before volume creation from the template (non-direct download).

- Updated resize volume error message string.

- Blocked the below operations on PowerFlex storage pool:
  -> Extract Volume
  -> Create Snapshot for VMSnapshot

* Added the PowerFlex/ScaleIO client connection pool to manage the ScaleIO gateway clients, which uses a single gateway client per Powerflex/ScaleIO storage pool and renews it when the session token expires.

- The token is valid for 8 hours from the time it was created, unless there has been no activity for 10 minutes.
  Reference: https://cpsdocs.dellemc.com/bundle/PF_REST_API_RG/page/GUID-92430F19-9F44-42B6-B898-87D5307AE59B.html

Other fixes included:

- Fail the VM deployment when the host specified in the deployVirtualMachine cmd is not in the right state (i.e. either Resource State is not Enabled or Status is not Up)

- Use the physical file size of the template to check the free space availability on the host, while downloading the direct download templates.

- Perform basic tests (for connectivity and file system) on router before updating the health check config data
	=> Validate the basic tests (connectivity and file system check) on router
	=> Cleanup the health check results when router is destroyed

* Updated PowerFlex/ScaleIO storage plugin version to 4.16.0.0

* UI Changes to support storage plugin for PowerFlex/ScaleIO storage pool.
- PowerFlex pool URL generated from the UI inputs(Gateway, Username, Password, Storage Pool) when adding "PowerFlex" Primary Storage
- Updated protocol to "custom" for PowerFlex provider
- Allow VM Snapshot for stopped VM on KVM hypervisor and PowerFlex/ScaleIO storage pool

and Minor improvements in PowerFlex/ScaleIO storage plugin code

* Added support for PowerFlex/ScaleIO volume migration across different PowerFlex storage instances.

- findStoragePoolsForMigration API returns PowerFlex pool(s) of different instance as suitable pool(s), for volume(s) on PowerFlex storage pool.
- Volume(s) with snapshots are not allowed to migrate to different PowerFlex instance.
- Volume(s) of running VM are not allowed to migrate to other PowerFlex storage pools.
- Volume migration from PowerFlex pool to Non-PowerFlex pool, and vice versa are not supported.

* Fixed change service offering smoke tests in test_service_offerings.py, test_vm_snapshots.py

* Added the PowerFlex/ScaleIO volume/snapshot name to the paths of respective CloudStack resources (Templates, Volumes, Snapshots and VM Snapshots)

* Added new response parameter “supportsStorageSnapshot” (true/false) to volume response, and Updated UI to hide the async backup option while taking snapshot for volume(s) with storage snapshot support.

* Fix to remove the duplicate zone wide pools listed while finding storage pools for migration

* Updated PowerFlex/ScaleIO volume migration checks and rollback migration on failure

* Fixed the PowerFlex/ScaleIO volume name inconsistency issue in the volume path after migration, due to rename failure
2021-02-24 14:58:33 +05:30
Pearl Dsilva aa01580381
network: Specify IP for VR in shared networks (#4503)
This PR enables admins to specify IP for a VR in a shared network.
2021-02-18 13:54:09 +05:30
Abhishek Kumar d6e8b53736
vmware: vm migration improvements (#4385)
- Fixes inter-cluster migration of VMs
- Allows migration of stopped VM with disks attached to different and suitable pools
- Improves inter-cluster detached volume migration
- Allows inter-cluster migration (clusters of same Pod) for system VMs, VRs on VMware
- Allows storage migration for stopped system VMs, VRs on VMware within same Pod if StoragePool cluster scopetype

Linked Primate PR: https://github.com/apache/cloudstack-primate/pull/789 [Changes merged in this PR after new UI merge]
Documentation PR: https://github.com/apache/cloudstack-documentation/pull/170

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-02-12 12:41:41 +05:30
Rohit Yadav abec6d1fff
packaging: build and bundle UI using npm in deb and rpm packages (#4605)
This changes deb and rpm packaging to build the UI using npm and bundle
it in the `cloudstack-management` package and a new `cloudstack-ui`
package. The `cloudstack-ui` package will install the UI under
`/usr/share/cloudstack-ui/`. For both packages the config.json will not
be overridden on upgrade and hosted at /etc/cloudstack/management
for the cloudstack-mangement package, and at /etc/cloudstack/ui for the
cloudstack-ui package. The cloudstack-ui package is for advanced users
who only want the UI want to setup reverse proxy (separate hosting of UI).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-28 14:29:31 +05:30
Rohit Yadav 95c221d5ae ui: fix rat checks after import
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 08:25:52 +05:30
Rohit Yadav d6558d9151 ui: cleanup and name changes
Drop the name Primate

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:53:40 +05:30
Hoang Nguyen 64d95fb6e3 npm: Build and packaging improvements (#568)
* remove unused plugins and minimizer js

* update dependencies

* fix build, update dependencies

* using lazy_use components

* add additional components

* optimization: lazy loading i18n locales

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Hoang Nguyen 147794d103 FIX - Changing project no longer changes the sidebar background/theme (#821)
* fix customize navigation background color when change project view

* remove change color for the logo when switch project view

* add doc help for customizing the navigation background color of the project view

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Hoang Nguyen 8ad082ddb5 config: extend basic customize theming options (#718)
Customize link hover color
Customize loading color
Customize navigation menu color

Fixes #712
Fixes #713
Fixes #714

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:22 +05:30
davidjumani a3d2450f88 config: Removing example plugin (#576)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:21 +05:30
davidjumani 943f0834df dashboard: Adding onboarding dashboard (#573)
Fixes #361

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:21 +05:30
Rohit Yadav d6f6487813 config: allow admins to configure global footer html
Fixes #452

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:19 +05:30
Hoang Nguyen ac0e5daabd config: support custom color for @link-color (#445)
Fixes #442

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:19 +05:30
Hoang Nguyen 50327ae339 primate: Add support for UI customisation (#372)
- New config.json global config file
- Customisation: API endpoint, app name, doc link, logo, error and banner images, theme
- Basic external plugin support to allow users to write UI plugins in any framework, build and import/plug a html file as integration

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:19 +05:30
Rohit Yadav f5301e11c9 use a simpler loader and fix import file path
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:13 +05:30
Rohit Yadav b1ee9cc197 cleanup, new loader and themeing fixes
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:12 +05:30
Rohit Yadav b72fd5b509 primate: initial UI v0.1
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:11 +05:30