Commit Graph

7896 Commits

Author SHA1 Message Date
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
Hoang Nguyen 54853aa7c5
UI: Fix upload SSL certificate failed in the project view (#4761) 2021-03-09 14:52:33 +01:00
Rohit Yadav a1be9b02a6 Merge remote-tracking branch 'origin/4.15' 2021-03-06 16:02:09 +05:30
Rohit Yadav 41c2e944a6 ui: Remove make redundant option for isolated networks
Fixes #4052

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-03-06 15:59:02 +05:30
Hoang Nguyen 03bfe9a2a3
ui: FIX error in "Port forward" and "Load Balancing" (#4746)
* fix error show in fetching port forwarding tab

* clear all list vm when tier empty
2021-03-06 15:10:07 +05:30
sureshanaparti 81dfcbb5f5
server: Use ACPI event to reboot VM on KVM, and Use 'forced' reboot option to stop and start the VM(s) (#4681)
* Updated libvirt's native reboot operation for VM on KVM using ACPI event, and Added 'forced' reboot option to stop and start the VM (using rebootVirtualMachine API)

* Added 'forced' reboot option for System VM and Router

- New parameter 'forced' in rebootSystemVm API, to stop and then start System VM
- New parameter 'forced' in rebootRouter API, to force stop and then start Router

* Added force reboot tests for User VM, System VM and Router
2021-03-06 14:58:56 +05:30
Rohit Yadav 77290df0d5 Merge remote-tracking branch 'origin/4.15'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-02-26 12:09:11 +05:30
Greg Goodrich af0f6422ec
kvm: Suspending the VM prior to deleting snapshots to avoid corruption, th… (#4032)
These changes are related to PR #3194, but include suspending/resuming the VM when doing a VM snapshot as well, when deleting a VM snapshot, as it is performing the same operations via Libvirt. Also, there was an issue with the UI/localization changes in the prior PR, as that PR was altering the Volume snapshot behavior, but was altering the VM snapshot wording. Both have been altered in this PR.

Issuing this in response to the work happening in PR #4029.
2021-02-25 22:11:00 +05:30
Abhishek Kumar fef0e66764
ui: fix add Vmware cluster (#4663)
When adding a cluster from existing host-datacenter UI shoudl list and autofill host, DC name while making addCluster API call.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-02-25 22:04:00 +05:30
Hoang Nguyen a234501172
ui: Add guest IP ranges (#4716)
Fixes #4697
2021-02-25 22:01:40 +05:30
Hoang Nguyen 1545bf8dac
ui: add missing antd component use (#4728)
Fixes #4724
2021-02-25 21:58:42 +05:30
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
Hoang Nguyen 90885730ad
ui: Fix UI unit test failures in master (#4719) 2021-02-24 14:42:50 +05:30
Rohit Yadav 7b2724a0e3 Merge remote-tracking branch 'origin/4.15' 2021-02-24 14:40:53 +05:30
Hoang Nguyen ba43825a9b
ui: Fix npm unit test failures in 4.15 (#4718)
* Edit the test to match the latest code

* fix travis build failures

* correct wrong comparison conditions

* fix travis build
2021-02-24 14:39:55 +05:30
Rohit Yadav 0b67e16730 Merge remote-tracking branch 'origin/4.15' 2021-02-23 16:31:58 +05:30
Abhishek Kumar 06c16ac8f4
ui: fix systevmtype for create service offering form (#4683)
Fixes #4682

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-02-23 09:39:43 +00:00
Rohit Yadav 6634382f69 Merge remote-tracking branch 'origin/4.15'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-02-19 15:30:21 +05:30
Rohit Yadav 186ac69c49 Merge remote-tracking branch 'origin/4.14' into 4.15
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-02-19 15:24:48 +05:30
Rakesh 06b5bd2966
ui: display account name only if its not null (#4667)
If account is null then "undefined" is displayed in ui
2021-02-19 14:07:38 +05:30
Rakesh 13ba9d5100
Display creation date for domain and account (#4686) 2021-02-18 14:25:46 +00:00
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
Rohit Yadav 40c14b4552 Merge remote-tracking branch 'origin/4.15' 2021-02-12 13:06:33 +05:30
Abhishek Kumar 0d04bd621f
ui: fix tags selection for add disk offering (#4665)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-02-12 12:50:32 +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
Daan Hoogland 66d49c5c0d Merge release branch 4.14 to 4.15
* 4.14:
  server: prevent update vm read-only details (#4629)
2021-02-02 09:16:34 +00:00
Abhishek Kumar 05301b1e6a
server: prevent update vm read-only details (#4629) 2021-02-02 08:49:25 +00:00
Rohit Yadav f98940953b Merge remote-tracking branch 'origin/4.15' 2021-01-28 14:31:04 +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 e6fef05f30 Merge remote-tracking branch 'origin/4.15' 2021-01-28 14:25:40 +05:30
Daniel Costa 7ba0374788
ui: Fix screenshot path on README of ui (#4620) 2021-01-28 13:30:08 +05:30
Hoang Nguyen 2a7f84eafd
ui: Add quickview to the list of VM Snapshot (#4614)
This PR is used to fix the Quick access menu bar missing for VM Snapshots
Fixes #4607
2021-01-27 15:33:35 +05:30
Rohit Yadav cbcd698e38 Merge remote-tracking branch 'origin/4.15' 2021-01-25 17:29:35 +05:30
Pearl Dsilva c5b1fec11b
ui: Storage Pool Tags unable to delete last tag (#4611)
* UI Storage Pool Tags: unable to delete last tag

* add updatePhysicalNetwork to the list

Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
2021-01-25 12:23:44 +05:30
Rohit Yadav 4aa7a96bc4 Merge remote-tracking branch 'origin/4.15'
This merges apache/cloudstack-primate under ui and removes the legacy UI
from ui/legacy in master/4.16 as voted on dev ML.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 13:50:25 +05:30
Rohit Yadav 0193d5cf62 ui: fix packaging failure
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 09:00:54 +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
Rohit Yadav b07816b730 ui: travis fix post apache/cloudstack-primate merge
This fixes Travis to run basic UI checks for job #1

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:27:07 +05:30
Rohit Yadav b7dab56737 package: update vue, antd and dependencies
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:24 +05:30
Hoang Nguyen 338de72665 Explore Test Automation (#320)
* config jest and add setup for unittest

* config jest coverage

* example of unit testing a Status widget/component

* add license for test file

* add test/run command in the .travis.yml

* add mock store and i18n for vue jest

* add mock file missing

* add mock router

* add lincence to mock file & decodeHtml to setup file

* add mock axios instance & fix eslint on tests folder

* add test components > views > ActionButton component

* fix for test coverage success

* refactor test file

* add test Views > Autogenview.vue (Navigation Guard, Watchers, Computed)

* history mode mockRouter, refactor test code, test Autogenview > fetchData (routeName)

* test Views > AutogenView.vue (processing 31%)

* add mock router exception & test Views > AutogenView.vue (processing 43%)

* test Views > AutogenView (processing 65%), add test onSearch, closeAction, execAction, listUuidOpts

* refactor and add comment test files

* test Views > AutogenView (processing 91%)

* add comment file AutogenView.spec.js

* test Views > AutogenView.vue (handleSubmit method)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:24 +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
davidjumani 87c1950f4f ui: Remember tab on page change (#780)
* Remember tab on page change

* fix for resourceview

* Fix instance tab

* Fix vpc tab

* Fix kubernetes tab

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Pearl Dsilva 1dbbffc412 Show enable field only if paramter is present (#917)
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
davidjumani fafaf11a15 Using post for uploadSslCert api (#842)
* Adding post param to actions

* Using post for uploadSslCert api

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Pearl Dsilva fbb3a7aed5 Allow enabling network/vpc offering at creation (#911)
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Rakesh e9df682021 Display all data volumes for vm while destroying (#915)
If a root admin tries to destroy VM of different
domain then the data disks are not displayed and
hence they wont be destroyed.
Make sure that root admin can see all data disks
of a vm while destroying it

Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Wido den Hollander 58b1b2f8b3 tools/docker: Change directory to docker.sh's directory (#916)
By switching to this directory we can use relative paths regardless
of how people execute the script.

cd tools
./docker.sh

OR

./tools/docker.sh

OR

/path/to/git-repo/tools/docker.sh

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Hoang Nguyen 31dff52536 FIX - compute - Create snapshot from virtual machine with managed storage (#808)
* compute: add button and modal `take VM volume snapshot`

* add awesome camera retro plugins

* modified to using component

* fix for quiescevm

* add quiescevm to api params

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30