9098 Commits

Author SHA1 Message Date
Daan Hoogland
4f3e8e8c5a Merge branch '4.19' into 4.20 2025-02-12 15:00:51 +01:00
dahn
aa6c581e40
Add the option to filter by host when retrieving of unregistered VMs (#9925)
Co-authored-by: Nicolas Vazquez <nicovazquez90@gmail.com>
2025-02-10 17:06:39 +01:00
Vishesh
d3170bfa16
UI: Fixup missing buttons (#10357) 2025-02-10 12:15:39 +01:00
erik-bock-silva
5aa79a6e05
UI: Add offer ha column to system offerings table (#10297)
* add offer ha column to system offerings table

* fix identation
2025-02-07 11:31:14 -03:00
Manoj Kumar
50a54dde5c
Make Description as optional in network acl list (#10343) 2025-02-07 14:40:06 +01:00
Pearl Dsilva
a1117acbdf
List only untagged offerings for Shared networks when tag isn't passed (#10320) 2025-02-07 14:18:11 +01:00
Abhisar Sinha
c5afee2101
UI improvements (#9773)
* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Fix `updateTemplatePermission` when the UI is set to a language other than English (#9766)

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* Show Usage Server configuration in a separate pane

* UI: Option to attach volume to an instance during create volume

* Show service ip in management server details tab

* change Schedule Snapshots to Recurring Snapshots

* Change the hypervisor order so that kvm, vmware, xenserver show up first

* Remove extra space in hypervisor names in config.java

* Autofill vcenter details in add cluster form

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* Fix alignment on wrapping in global settings tabs

* rename Autofill vCenter credentials to Autofill vCenter credentials from Zone

* Rename Service Ip to Ip Address in management server response

* Change description of kvm.snapshot.enabled to say that it applies to volume snapshots

* Return error when kvm vm snapshot is taken withoutsnapshot memory

* Minor naming changes and grammar

* Fix tooltip for attach volume to instance button

* UI: Option to attach volume to an instance during create volume

* UI: condition to display create vm-vol-snapshots to same as create vol-snapshots

* moved db changes from 41900to42000 to 42000to42010

* Update group_id in already present usage configuration settings

* remove "schedule" from message in create Recurring Snapshots form

* Update server/src/main/java/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java

---------

Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com>
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
Co-authored-by: Boris Stoyanov - a.k.a Bobby <bss.stoyanov@gmail.com>
Co-authored-by: Andrija Panic <45762285+andrijapanicsb@users.noreply.github.com>
2025-02-06 11:18:40 +05:30
Lucas Martins
986ec81b66
Add direct download option to Users GUI (#10193)
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2025-02-04 14:36:29 -03:00
Abhisar Sinha
1b2f6c9998
Hide register template, create/upload volume and create vpc buttons when zone is not created. (#10243) 2025-02-04 12:33:07 +01:00
Wei Zhou
fa5c11e6b2
UI: list backup offerings by zoneid when assign vm to backup offering (#10217) 2025-02-03 13:31:38 +01:00
Daan Hoogland
085bd3bda5 Merge branch '4.19' into 4.20 2025-02-01 17:51:50 +01:00
Abhishek Kumar
0b5a5e8043
api,agent,server,engine-schema: scalability improvements (#9840)
* api,agent,server,engine-schema: scalability improvements

Following changes and improvements have been added:

- Improvements in handling of PingRoutingCommand

    1. Added global config - `vm.sync.power.state.transitioning`, default value: true, to control syncing of power states for transitioning VMs. This can be set to false to prevent computation of transitioning state VMs.
    2. Improved VirtualMachinePowerStateSync to allow power state sync for host VMs in a batch
    3. Optimized scanning stalled VMs

- Added option to set worker threads for capacity calculation using config - `capacity.calculate.workers`

- Added caching framework based on Caffeine in-memory caching library, https://github.com/ben-manes/caffeine

- Added caching for account/use role API access with expiration after write can be configured using config - `dynamic.apichecker.cache.period`. If set to zero then there will be no caching. Default is 0.

- Added caching for account/use role API access with expiration after write set to 60 seconds.

- Added caching for some recurring DB retrievals

    1. CapacityManager - listing service offerings - beneficial in host capacity calculation
    2. LibvirtServerDiscoverer existing host for the cluster - beneficial for host joins
    3. DownloadListener - hypervisors for zone - beneficial for host joins
    5. VirtualMachineManagerImpl - VMs in progress- beneficial for processing stalled VMs during PingRoutingCommands

- Optimized MS list retrieval for agent connect

- Optimize finding ready systemvm template for zone

- Database retrieval optimisations - fix and refactor for cases where only IDs or counts are used mainly for hosts and other infra entities. Also similar cases for VMs and other entities related to host concerning background tasks

- Changes in agent-agentmanager connection with NIO client-server classes

    1. Optimized the use of the executor service
    2. Refactore Agent class to better handle connections.
    3. Do SSL handshakes within worker threads
    5. Added global configs to control the behaviour depending on the infra. SSL handshake could be a bottleneck during agent connections. Configs - `agent.ssl.handshake.min.workers` and `agent.ssl.handshake.max.workers` can be used to control number of new connections management server handles at a time. `agent.ssl.handshake.timeout` can be used to set number of seconds after which SSL handshake times out at MS end.
    6. On agent side backoff and sslhandshake timeout can be controlled by agent properties. `backoff.seconds` and `ssl.handshake.timeout` properties can be used.

- Improvements in StatsCollection - minimize DB retrievals.

- Improvements in DeploymentPlanner allow for the retrieval of only desired host fields and fewer retrievals.

- Improvements in hosts connection for a storage pool. Added config - `storage.pool.host.connect.workers` to control the number of worker threads that can be used to connect hosts to a storage pool. Worker thread approach is followed currently only for NFS and ScaleIO pools.

- Minor improvements in resource limit calculations wrt DB retrievals

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

Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* test1, domaindetails, capacitymanager fix

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

* test2 - agent tests

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

* capacitymanagertest fix

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

* change

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

* fix missing changes

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

* address comments

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

* revert marvin/setup.py

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

* fix indent

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

* use space in sql

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

* address duplicate

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

* update host logs

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

* revert e36c6a5d07

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

* fix npe in capacity calculation

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

* move schema changes to 4.20.1 upgrade

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

* build fix

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

* address comments

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

* fix build

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

* add some more tests

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

* checkstyle fix

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

* remove unnecessary mocks

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

* build fix

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

* replace statics

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

* engine/orchestration,utils: limit number of concurrent new agent
connections

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

* refactor - remove unused

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

* unregister closed connections, monitor & cleanup

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

* add check for outdated vm filter in power sync

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

* agent: synchronize sendRequest wait

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

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-02-01 12:28:41 +05:30
Abhishek Kumar
27efc779ea
api,ui: fix empty source cidr value for firewall rule (#10208)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-31 13:30:16 +01:00
Abhishek Kumar
ae2ffbe40b Merge remote-tracking branch 'apache/4.19' into 4.20 2025-01-31 16:54:22 +05:30
Abhishek Kumar
97be6f2e5d
ui: fix column filter for templates, isos (#10288)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-31 10:23:26 +01:00
Vishesh
0fbf6379f9
UI: Fix domain view when opening details for a specific domainid (#10245) 2025-01-30 15:55:17 +01:00
Wei Zhou
0f544c9a3b
api/ui: add specifyvlan to network response (#10236) 2025-01-30 15:35:33 +01:00
Abhishek Kumar
3313cc5829
ui: fix loading for hypervisor filter in serachview (#10292)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-30 15:30:49 +01:00
Bernardo De Marco Gonçalves
6f03f9e726
validate inserted values in numeric global settings (#10279) 2025-01-30 16:30:32 +05:30
Daan Hoogland
34d2a3bc86 Merge branch '4.19' into 4.20 2025-01-24 17:01:42 +01:00
Pearl Dsilva
2aa2e92dff
Handle special characters when exporting ACLs (#10259) 2025-01-23 20:10:09 +01:00
Nicolas Vazquez
c9fea62276
[UI] Switch between allocated and used capacity on dashboard (#10215)
* [UI] Switch between allocated and used capacity on dashboard

* Fix text

* Refactor

* Internationalize capacity text
2025-01-23 11:06:38 -03:00
Harikrishna
4d9fd1b73f
Added displaynetwork option in filters for listnetwork only for admin (#10209) 2025-01-23 09:36:30 +01:00
Abhishek Kumar
1e59f5cd0c
ui: fix passing vlan while creating vpc tier (#10239)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-22 16:14:04 +01:00
Harikrishna
d053bb97ec
Fix to allow actions on the network if it belongs to a project (#9550) 2025-01-22 10:01:23 +01:00
Wei Zhou
91f1adab86
UI: set redundant state as N/A for non-redundant routers (#10227) 2025-01-21 14:29:37 +01:00
Daan Hoogland
9f594c9699 Merge branch '4.19' into 4.20 2025-01-20 11:53:32 +01:00
Bernardo De Marco Gonçalves
9967bb3fe8
fix slider component for global settings of the range type (#10187) 2025-01-16 15:48:21 +01:00
Abhishek Kumar
bd488c4bba
server, plugin: enhance storage stats for IOPS (#10034)
Adds framework layer change to allow retrieving and storing IOPS stats for storage pools. Custom `PrimaryStoreDriver` can implement method - `getStorageIopsStats` for returning IOPS stats. Existing method `getUsedIops` can also be overridden by such plugins when only used IOPS is returned.
For testing purpose, implementation has been added for simulator hypervisor plugin to return capacity and used IOPS for a pool.
For local storage pool, implementation has been added using iostat to return currently used IOPS.
StoragePoolResponse class has been updated to return IOPS values which allows showing IOPS values in UI for different storage pool related views and APIs.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-01-07 17:17:12 +05:30
Nicolas Vazquez
3d0b4fca84
UI: Add cluster arch type to the zone creation wizard (#10080)
* UI: Add cluster arch type to the zone creation wizard

* Remove unused field

* Fix github lint action

* Remove unused option key
2025-01-02 16:50:04 +05:30
Daan Hoogland
41c27e116c Merge release branch 4.19 to 4.20
* 4.19:
  VR: fix site-2-site VPN if split connections is enabled (#10067)
  UI: fix cannot open 'Edit tags' modal for static routes (#10065)
2024-12-30 13:07:56 +01:00
Wei Zhou
75eda38b6b
UI: fix cannot open 'Edit tags' modal for static routes (#10065) 2024-12-27 10:38:46 +01:00
Bryan Lima
32af4a25d0
Update ownership selection component to be language independent (#10052) 2024-12-27 10:34:51 +01:00
Bryan Lima
cbac6cc05b
Add ownership selection to VPC form (#10124) 2024-12-23 10:30:46 +01:00
Wei Zhou
ac19379c96
UI: create VPC network offering with conserve mode (#10082) 2024-12-13 17:05:08 +01:00
Wei Zhou
14460f49e1
Merge remote-tracking branch 'apache/4.19' into 4.20 2024-12-12 11:55:39 +01:00
Wei Zhou
38c7c6e986
UI: remove duplicated Instance Name in Public IP details page (#10087) 2024-12-12 09:42:44 +01:00
Bernardo De Marco Gonçalves
e57a82a4f5
UI: Fixes in the Usage UI (#10000)
* fixes on usage ui

* dont call API when caller does not have access to it

* handle when lastheartbeat is undefined

* hide last collection datetime when lastheartbeat is undefined

* apply Pearl's suggestions

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

* apply Pearl's suggestions

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

* apply Pearl's suggestions

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

* apply Pearl's suggestions

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

* apply Pearl's suggestions

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>

---------

Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
2024-12-09 14:25:03 -03:00
Rohit Yadav
4876761154
ui: Allow font-awesome icon usage and optimise icon size inconsistency (#9744)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: dahn <daan@onecht.net>
2024-12-09 10:03:37 +01:00
Lucas Martins
4c801e24f4
Fix Create dropdown menu not changing language (#10023)
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2024-12-05 10:05:49 +01:00
Bernardo De Marco Gonçalves
9960e40030
UI: Fix userdata and load balancer selection (#10016) 2024-12-04 13:04:50 +01:00
Henrique Sato
666efc4b97
Simplify validation for creating volume templates via UI (#9828)
Co-authored-by: Henrique Sato <henrique.sato@scclouds.com.br>
2024-12-03 14:44:18 -03:00
Daan Hoogland
da54234585 Merge branch '4.19' into 4.20.merge 2024-12-03 16:32:15 +01:00
João Jandre
f3a474bb9e
UI: make a newly added Network the default one (#9708) (#10022)
* UI: Checkbox to make a newly added Network the default one in the Instance's Network tab

* Fixed an issue that was causing exit from network tab after add-network

Co-authored-by: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com>
2024-12-03 12:14:08 +05:30
Abhisar Sinha
d17de834a5
Disable API Key Access for users, accounts and domains (#9741)
* cli changes to update user/account, list by apikeyaccess, domain level setting

* UI changes for updating user/account and searchfilter in listview

* make the api parameters and setting accessible only to root admin

* revert changes to ui/package-lock.json

* minor changes to description strings

* UT for ApiServer and AccountManagerImpl classes

* fix pre-commit failure

* Added a constant for the string System

* UT for searchForUsers and searchForAccounts

* Fix marvin test error

* Update schema to use idempotent add column

* Fix `updateTemplatePermission` when the UI is set to a language other than English (#9766)

* Fix updateTemplatePermission UI in non-english language

* Improve fix

---------

Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>

* Added user name uuid to logging

* Add events when api key access is changed via api or config setting

* fix the userid for api key access update event

* Fix ut failure after event logging

* Convert drop down to radio-button in edit user and account

* Add ApiKeyAccess status in User InfoCard for Users if Api key is generated

* Return apiKeyAccess in user and account response only for Root Admin

* fixed noredist build failure

* Show apikeyaccess on the left panel in the user view for root admins as well

* don't show divider if apiKeyAccess is not shown to user

* Fix events generated to set Username, Account and Domain of the caller correctly

* cli changes to update user/account, list by apikeyaccess, domain level setting

* UI changes for updating user/account and searchfilter in listview

* make the api parameters and setting accessible only to root admin

* revert changes to ui/package-lock.json

* minor changes to description strings

* UT for ApiServer and AccountManagerImpl classes

* fix pre-commit failure

* Added a constant for the string System

* UT for searchForUsers and searchForAccounts

* Fix marvin test error

* Update schema to use idempotent add column

* Added user name uuid to logging

* Add events when api key access is changed via api or config setting

* fix the userid for api key access update event

* Fix ut failure after event logging

* Convert drop down to radio-button in edit user and account

* Add ApiKeyAccess status in User InfoCard for Users if Api key is generated

* Return apiKeyAccess in user and account response only for Root Admin

* fixed noredist build failure

* Show apikeyaccess on the left panel in the user view for root admins as well

* don't show divider if apiKeyAccess is not shown to user

* Fix events generated to set Username, Account and Domain of the caller correctly

* Added DB upgrade path from 42000 to 42010

---------

Co-authored-by: Daan Hoogland <daan@onecht.net>
Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com>
Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
2024-12-03 12:10:54 +05:30
Layon
7cfeab1a6b
UI: Tooltip on the host information card to display the CPU speed in MHz and the memory value in MB (to 3 decimal places) (#9971)
Co-authored-by: layon.oliveira <layon.oliveira@scclouds.com.br>
2024-12-02 10:01:57 +01:00
Phsm Qwerty
58138f2da3
fix: remove double <form> element from 2FA form (#9851) 2024-12-02 09:08:26 +01:00
Wei Zhou
8a1da3804c
Resize volume: add pool capacity disablethreshold for resize and allow volume auto migration (#9761)
* server: add global settings for volume resize

* resizeVolume: support automigrate

* Address Suresh's comments

* Update api/src/main/java/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java

Co-authored-by: Suresh Kumar Anaparti <suresh.anaparti@shapeblue.com>

* address Suresh's comments

* UI: add autoMigrate to resizeVolume

* resizevolume: add unit tests

* resizevolume: add unit test for Allocated volume

---------

Co-authored-by: Suresh Kumar Anaparti <suresh.anaparti@shapeblue.com>
2024-12-02 10:28:14 +05:30
Wei Zhou
34056d956c
Improvement: management server peer states (#9885)
* Improvement: management server peer states

* Update pr9885: consider new mgmt server node which has msId=managementServerNodeId

* Update pr9885: update global config description

* Update pr9885: update label on UI

* framework: Do not update mshost_peer when mgmt server is Up as it will be updated by status update

* mgmt: Update state to Up when mgmt server writes heartbeat to db

* mgmt: change Service IP to Management IP

---------

Co-authored-by: Boris Stoyanov - a.k.a Bobby <bss.stoyanov@gmail.com>
2024-12-02 10:26:20 +05:30
Wei Zhou
22a6604491
Routed mode: minor improvements and fixes (#9697)
* Routed: add global setting to enable/disable routed mode

* Routed: add unit tests

* Routed: add unit tests RoutedIpv4ManagerImplTest

* PR9697: fix end of files lint error

* PR9697: fix unit tests error with JDK17

* Routed: do not show ROUTED mode when create network/vpc offering if routed is disabled

* Routed: check if routed network is enabled when create ipv4 subnet/bgp peer/ASN range/network/vpc

* Routed: UI bug fix and improvements

* Routed: apply available BGP peers when VR is restarted
2024-11-30 08:45:15 +01:00