* 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
* 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
* fix error test unit on MigrateWizard
* fix error test unit on AutogenView, ActionButton
* fix error lint
* fix error pollJob originalPage.starWith undefined
* Update ui/src/utils/plugins.js
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
* Update ui/src/utils/plugins.js
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
* uses a substitution variable if the originalPage is null with queryAsyncJob have jobstatus = 1
* remove argument null
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
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>
* fixes: submit the form when press enter
* add Enter submit for component missing
* add ctrl+enter event key for submitting form
* add directive.js check keyup event
* fix build test failure
* using directive in main.js
* fix warning show in the test unit
* fix multiple submits
* fix travis run test failures
* fix filter button style
* fix the problem of ctrl+enter keyup on firefox browser
* removed computed function not using
* remove space errror
* add ref for ctrl+enter submit
* resolve conflit and fix build
* add missing directive
* add missing directive & ref button
* fixes errors
* fixes errors
* add preventDefault()
* fix ctrl keypress not support on firefox
* refactor async job polling codebase-wide
* fix multiple call fetchData() when async job completed
* remove unnecessary functions
* remove const not use
* move closeaction out of handleResponse
* call closeAction without waiting for all group actions to complete
* refactor polljob network provider
* removed variable not use
* remove await
* 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
* ui: refactor get api params in forms
Refactor code getting api params for APIs in UI forms.
Added a new util plugin in plugins.js
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
* fix
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
* fix
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Added action in UI for syncStoragePool API for DatastoreCluster type primary storages.
Fixes#5086
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
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
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>
AddUser form wrongly shows the account dropdown when adding a user for an account. Account dropdown remains empty in the form.
When an account is not selected prior to opening the form, the account input should be required.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
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
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>
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>
Fixes: #4808, #4941
This PR adds a force flag to the attachIso / detachIso commands, especially for VMware where it is noticed that when trying to either detach an iso or attach an iso when there already exists another present it fails to do the necessary operation as from ACS end we either answer the question returned by Esxi for CDRom disconnect operation as No (for detach operation) or do not answer the question at all (for Attach operation).
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
For an auto-generated form, with list mapping of action, mapped API parameter was not getting added to the request when first index from the list is selected. Change added to fix this.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Fix bug in creating shared network
Sometimes creating shared network fails because the physical network
data is null and redereferencing it causes NPE.
Wait till the physical network data is available before accessing it
* Update CreateSharedNetworkForm.vue
Co-authored-by: Rohit Yadav <rohit@apache.org>
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>
If a vm belongs to shared network then display the list
of ip addresses available which can be used to assign for
secondary IP addresses.
Also display "Public IP addresses" tab for shared networks
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>
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>
* 4.15:
ui: Consider overprovisioning factor when displaying allocated progress bar (#4850)
ui: Fix the styles action button (#4856)
ui: Fill out the search filter form field after performing a filter (#4855)
ui: fix add cluster form for vmware (#4841)
ui: Fix add primary store during Zone Deployment for PreSetup protocol (#4845)
tests: Extend wait time after interrupt (#4815)
* 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
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>
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
- 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>
* 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>
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>
* 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>
* migratewizard: Display error and unfreeze form when api call fails
* migratewizard: Fix fetching jobid from api response
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Handle redirect to sub menu when click parent menu
* renamed the function
* allow click on menu for desktop
* reset cache path when click menu item without submenu
* Fixes click parent menu with full expanded
* removed the expand submenu block segment
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Displaying time as per user timezone
* Refactor
* Fixing annotation created time
* Adding comments
* Fix typo
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Allow changing template type by admin
Currently the template has following types:
'BUILTIN', 'USER', 'SYSTEM', 'ROUTING', 'PERHOST'
Provide ui support for admins os that they can change
the template type
* add extr afields
* remove perhost
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Display network type in network overview
Display "VPC Tier" as type if an isolated network belongs to VPC
else display its regular type
* Display vpc name with router link
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Fixing instance view
* Chaning from ip to ssh port
* Fixing html tags in text
* Adding messages to kube actions
* Removing redundant code
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* 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>
* Revert "Not relying on erroneous count returned by findHostsForMigration (#774)"
This reverts commit c6624403556df286f1b61e9d34f948a089af8326.
* Fixing host count for migratevm
* Sorting based on suitability
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* allow adding docker Private registry details while deploying cluster
* Set min master node count for HA to 2
* generalize refresh of features list
* Update user.js
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Add storage policy details in the detail view
* check if API exists
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#766
For isolated networks, load balancing, port forwarding and firewall
options are not displayed.
For source nat ip of vpc, all options are displayed but it should not be
Below are the expected actions according to legacy UI
for isolated networks
if static nat is disabled then display all options
if static nat is enabled then display only firewall tab
for VPC networks
for source nat IP, dont display any option
for other ip's firewall is always disabled.
Load balancing and port forwarding options are mutually exclusive
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* submit button when pressing Space on confirm modal
* removed console
* add auto-focus into switch & remove keyup function
* revert message on storagejs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Also display proper error message for required field
while registering template
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* account: choose `User` is the default selection when the user role is Domain Admin
* renamed to userRole
* Fix the incorrect variable
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* compute: back to list VM when deleting VM with the Expunge option.
* fixes: go back if is a detail view
* fix go back only vm detail view
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Customize link hover color
Customize loading color
Customize navigation menu color
Fixes#712Fixes#713Fixes#714
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* select/checked when clicking anywhere row of the table
* fix select radio for disk offerings, network configuration, ssh keypair
* fix the select issue & change cursor to a pointer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Prevent form from closing if validation fails
* Prevent closing on failure for custom forms
* Fixing group actions
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
In networks tab under vpc, display acl names instead of id's
Also display acl name in network overview page
This fixes the issue mentioned in #676
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Filter vms based on zones for attaching volumes
* added custom view for filtering vms
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
According to docs, the router will be started as soon as
vpc is created. If user doent want it to start then they
need to explicity set it to false
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* vm wizard: add MAC Address validator
* show IP range and check valid IP range
* add CIDR into expanding of network selection & configuration
* hide element when network type !== L2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Remove the primary store on which the volume is currently present on from the list of possible storage pools to migrate volume.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Removing sshKeyEnabled from template details
* Hide cancel while deploying a vm
* Disabling rather than showing cancel
* Setting custom offerings to zero
Fixes#604
Also : Hide cance button while deploying a vm
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Fixes an issue that could not search on zone select
* Fixes show error from console
* add search zone for Upload ISO
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Add contextual info to forms
* additional tooltips - Primary storage form
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* change vCenter Password from input type to password type
* change API call for addCluster to POST
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Language name fix
* Adding more translations on the dashboard
* New instance wizard
* Instance details view
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
In old UI we support creating snapshot from
VM snapshot by selecting one of the volume
belonging to VM. Allow the same in new UI
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Currently after creating a new VPC, the list
get refreshed. So refresh it after adding a
new vpc
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Printing name for vm snpashots doesnt make much
sense as it displays vm internal name instead
of user entered name.
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Support for vApp VM deployment for VMware
Backend PR - https://github.com/apache/cloudstack/pull/4250
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: nvazquez <nicovazquez90@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Adding Account Switcher for SAML Accounts in multiple domains matching the same saml user
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Add storage policies field for DiskOffering, COmputeOffering and Primary storage creation Forms
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes :
- Fixing scale router
- Fixing account actions
- Fixing user actions
- Adding message for create vm backup
- Fix default allowuserdrivenbackups in ImportBackupOfferings
- Fix typo in TakeSnapshot
- Ensuring zone mandatory in upload template
- Adding securitygroup to instacetab
- Adding related vms to routers
- Adding makeredundant to restart network
- Fixing no key in listview
- Link to ipaddress only if router path is publicip
- Show vpc routers only to admin
- Fix restartVPC args
- Fix storage action visibility
- Reorder routes to match legacy
- Reorder cluster tabs
- Fix number input width
- Fix create vpc
- List events also on fetchlatest
- Fix show domain actions
- Removing resource admin from default roles
- Fix missing store
- Adding createVPC view
- Adding attachiso view
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Enables creating role based users in projects
UI for feature: apache/cloudstack#4128
Also addresses issue: #485
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
1. Add guest Vlan ID to network in Advanced Zone with SG enabled
2. Fix error from console in physical network step
3. Fix `Fix errors` button still present after fixing errors successfully
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Global setting name is displayed twice
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Dont allow creating isolated network in zone with sg enabled
Allow creating isolated networks only in zones with sg
disabled.
* allow creating l2 in all zones
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Fix bug missing Security Group in Advanced Zone
1. Add a new step security group in a zone with SG enabled.
2. Fix error of displaying sshKeypair data incorrectly
* remove `this.hypervisor!=='KVM'` condition.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Fix the add and edit users form
* Fix the edit users form
* Fix: Hide SG feature when there are no zones with SG enabled
* fix add instance from VPC tab
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes :
- Don't allow users in UI to delete/archive events
- Fix button name in VM deployment form in its network section to Create new network
- Refresh after template / iso upload
- Making external-id mandatory in ImportBackupOffering
- Fixing visibility of assignVirtualMachineToBackupOffering
- Removing link on traffic label
- Defensive check in TrafficTypesTab
- Ensuring we get the user info so that store.getters.user is never empty when the page is freshly loaded
- Changing from report bug to report issue
- Ordering projects in menu
- Changing router get health check results
- Show configureHAForHost based on hypervisor
- Fix scale and migrate router
- Fix scale and migrate systemvm
- Fix show actionbutton for assignVirtualMachineToBackupOffering
- Fix show actionbutton for stopKubernetesCluster
- Fix show actions for volumes
- Fix show actions for snapshots
- Fix show actions for vm snapshots
- Fix show actions for backups
- Adding loading for tags and annotations
- Enter to submit advanced search
- Fixing show Project instead of account when passed as projectaccount passed in account field
- Show project name instead of displaytext
- Fixing template and iso actions
- Fixing tags with projectid
- Fix security groups ingress/egress rules view
- Removing redundant allocationstate from zones
- Adding managedstate to clusters
- Adding capacity tab to clusters and pods
- Adding routerlink to events in dashboard
- Set autofocus to username in login
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Missing internationalization on the search bar and pagination "Showing X results" and pagination dropdown on various views.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes :
- VR router offering link leads to an empty page
- In the event listview, clicking the username redirects to the event not the user
- While changing a systemvm service offering, need to fetch system offerings by passing issystem=true, virtualmachineid and systemvmtype to the listServiceOfferings api
- When editing a role, resource admin is not in the dropdown
- In DeployVM, disk offering search doesn't show 'No records' if none present but keeps the old rows
- In add ACL Rule, the Rule# field should be a number, not text
- No pagination for security groups ingress / egress rules
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
In legacy UI, we display the url of the template to admins.
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Add missing internationalization on instance view and instance detail view
* Remove scale VM translation from this PR
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Added info tooltips for some custom forms
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This would store pagination, filter and search context in route query
which would allow for browser history navigation in list views.
Fixes#451
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
The API response leaks account and domain information which for templates
and isos may appear leakage of information. This would at least limit
that in the list views for templates, isos and few other views for
account of role type User.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
CloudStack API methods return resources states in English, switching Primate to a different language should also translate these states.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Translate portal login
* Footer and header and more
* Internationalize header projects view
* Revert instance groups changes from this PR
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This adds a new search view component that will allow users to do
custom search using a popover component for vm, storage, network,
image, event, project and routers.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#489
Set default page size based on screentype, for FHD/4K displays if device
type is desktop use pagesize 20; otherwise use default pagesize of 10.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Currenlty "Domain Admins" cannot see how much resources
they are consuming for their domain.
So display a "Resource Count" tab which displays the
current usage and the total allocated resoures
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This PR addresses the below UI improvements for current Dynamic roles functionality.
Export rules of a role to a CSV file, with name: .csv_
Import a role with its rules using a CSV file.
Create a role from any of the existing role.
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#250
- Add support for all the network service providers which are not already supported
- Each NSP must be implemented in its separate component
- For each NSP component, add buttons and their forms in a modal and display a list of such NSP devices/resources in a table with pagination
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This partially reverts change from
b194ad205b558803b7a1c0c8cc177e5b14e80835 which introduces loading of
dashboard while auto-discovery takes place in background. The cons is
that user will feel that login is taking time, but he'll be allowed to
redirect to a page before session timeout/logout. In #456 a similar
usability issue was added. However, a tab refresh will be faster
because in b194ad205b558803b7a1c0c8cc177e5b14e80835 we've added support
for using cached discovered APIs.
Fixes#456
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
- New accounts form with option to enable SAML when applicable
- LDAP import form with saml support
- SAML authorisation action form for users
Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This adds the option to create PVLAN for L2 networks, as well as fixes the issue caused by passing 'none' as the PVLAN type when no secondary VLAN type is selected.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Currently only "ROOT" admin can create compute and
disk offering. If we login as domain admin then we
cant create a compute and disk offering as domain
id's is not passed to the api. If we login as
domain admin we need to set "isPublic" to false
so that domain id list will be displayed
Co-authored-by: Rakesh Venkatesh <r.venkatesh@global.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
- 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>
* add scroll to vm info
* fix "un-choose" the Zone/Pod/Host and row selected when changing page sections
* remove 'un-choose' selection in zone, cluster, pod, host
* fix issue when selected page, hidden cpu/ram affinity groups
* revert affinityGroup total count
* fix error lint & disk offering selection
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
- Display source-nat for IP address if applicable
- Use domainpath for accounts view
- Remove makeredundant for guest network (invalid for shared network for
example, most operators would rather enable it via an offering)
- Search global settings by name, than keyword
- Fix infra summary values to be under h1
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Advanced Network with Security Groups is a great option for deploying a Zone with IPv6 address support. However, it is not possible to set IPv6 DNS + IPv6 CIDR + IPv6 gateway via the zoneWizard UI.
This PR adds a small enhancement on the UI Zone deployment to allow deploying a Zone with Advanced Network with Security Groups + IPv6 CIDR, IPv6 gateway, and IPv6 DNS.
Note that API [1] offers full support for such action, therefore there is no need for changing the API. It is just a small enhancement on UI that might be useful in the meantime that we wait for the new ACS UI.
[1] https://cloudstack.apache.org/api/apidocs-4.13/apis/createNetwork.html
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
The new convention used:
- All lower keys
- Most keys start with `label.` prefix
- All spaces and underscores replaced with `.`
Quick ugly hack and similar for config `title`:
> IFS=$'\n'
> git grep -l "\$t('" | grep -v -e "\$t('label\." -e "\$t('message" -e "\$t('error" > ftr
> for f in $(cat ftr); do echo $f; for w in $(grep -Po '\$t\(\K[^)]*' $f | grep "^'" | grep -v -e ^\'message -e ^\'error -e ^\'label); do echo WORD IS $w; nw=$(echo $w | sed "s/$w/'label\.\L&/g" | sed "s/label\.'/label\./g" | sed "s/ /\./g" | sed "s/_/\./g"); echo $w = $nw; sed -i "s/\$t($w/\$t($nw/g" $f; done; done
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
With this change, pollJob and notification widget will end up displaying
the same message (instead of notification). Notifications on right-top
side will only be shown in case of error or response (such as a password
or a download link etc).
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This adds a new config for actions that could show a translatable
message in the auto-generated action form
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This would load Primate before API discovery finishes with some most
commonly available routes and make it seem Primate loads faster. After
login APIs are cached and further refreshes or opening views in another
tab would be super quick and won't require API discovery until session
expiry.
Fixes#332
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
- Fix reactive changes on zone selection
- Template filter on left side of search box
- Allow group name
- Ability to add network while deploying VM
- Show password if VM deployment returns password
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#336
With this fix, any API action will use the name and similar parameters
to display in the notification instead of resource.name. This also fixes
the issue of removal of all jobs in the notification menu (the ones in
progress shouldn't be cleared).
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#341
This fixes the issue that some forms will fail to be submitted if the
parameters are processed incorrectly. Also synchornises a-switch using
explicit form model.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#342
- Fix the project name to show currently selected project
- Reload project list of focus/clicking
- Fix icon size
- Remove code
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
- Show the VPN tab only for sourcenat IPs
- Go back on archiving alerts
- Show PF, LB tabs for IPs on VPCs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#279
Implements copy and delete actions in the template/iso zones tab.
Also implements template/iso filter by dropdown.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
As part of create user and create account auto-generated forms, the
passwords are asked twice. This remove that temporarily, as part of \#175
we may revisit this issue in the future GA milestone.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#294
Introduce a new global `this.$notifyError(error)` that takes in the `error` in a catch block and displays error notification with duration: 0, refactored to replace error handling codebase-wide.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Changes permission checking behaviour where all list of APIs must be permitted to see a view.
The first API will be used to list/render the table. Remaining APIs will only be used to verify permissions. If any of the passed API is not found in the allowed APIs for logged-in user's role section/sub-section won't be displayed.
Fixes#241Fixes#244Fixes#240
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#254
Pod, cluster, host should be hidden for normal and domain admin user
Listing of all items are not done by passing account/domainid, or zoneid (for example listing of networks, template, isos for zone; keypair, affiinity groups etc for account/domain)
Add a way to filter templates by featured, community, shared, mine?
Multiple listing of templates for the same zone? (multiple radios button)
Add button to add network that can open the add network popup or add a router-link?
User data not properly base64 encoded (check encoding?)
Add support for processing min/max cpu/ram based on type of compute offering selected and custom disk offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Hoang Nguyen <hoangnm@unitech.vn>
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#245Fixes#233
In info card, routing should be done based on user role. User accounts should not be routed to the domain, zone info. And domain admin accounts should not be routed to zone info.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
* Add custom component Configure Backup Schedule wizard
* Support for backup user-defined schedule
* Restore volume and attach it to a VM from a backup
* Add offering support that imports external offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes#258
Reset items count for listview while calling a list API to prevent wrong pagination on empty list in response.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Add zone wizard with basic zone support hidden.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This fixes to fill an edit form fields' value if possible automatically for all auto-generated forms
Fixes#198
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Fixes VM snapshot parent name and displayname in column and details.
Fixes#229Fixes#230
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Ensures that the vm settings are shown only when VM is stopped.
This fixes#161
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit@apache.org>
Create volume form with support for custom disk offerings.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
This adds support for Cloudian UI plugin and some basic quota plugin.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit@apache.org>