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
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>
* 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>
* 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>
* 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 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>
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>
Customize link hover color
Customize loading color
Customize navigation menu color
Fixes#712Fixes#713Fixes#714
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>
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>
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>
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>
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>
* 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>
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>
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>
- 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>
- 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>
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 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#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#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>
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>
This adds the add cluster form with domain/account dedication option.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit@apache.org>
Adds VPC consolidated component that has tabs for may related items.
Co-authored-by: Rohit Yadav <rohit@apache.org>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This implements a work-in-progress VM deployment wizard.
Co-authored-by: Rohit Yadav <rohit@apache.org>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Adds dedicated section for zone/pod/cluster/host to dedicate that resource to a domain (and account). Implements the list, dedicate and release APIs.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit@apache.org>