36379 Commits

Author SHA1 Message Date
Rene Glover
1031c31e6a
FiberChannel Multipath for KVM + Pure Flash Array and HPE-Primera Support (#7889)
This PR provides a new primary storage volume type called "FiberChannel" that allows access to volumes connected to hosts over fiber channel connections. It requires Multipath to provide path discovery and failover. Second, the PR adds an AdaptivePrimaryDatastoreProvider that abstracts how volumes are managed/orchestrated from the connector to communicate with the primary storage provider, using a ProviderAdapter interface, allowing the code interacting with the primary storage provider API's to be simpler and have no direct dependencies on Cloudstack code. Lastly, the PR provides an implementation of the ProviderAdapter classes for the HP Enterprise Primera line of storage solutions and the Pure Flash Array line of storage solutions.
2023-12-09 11:31:33 +05:30
Fabricio Duarte
4e46f5ad17
Add logs to listLoadBalancerRuleInstances API (#8094) 2023-12-08 15:30:19 +01:00
Sina Kashipazha
2993c99363
Add missing hosts info to the prometheus exporter output. (#8328)
Sometimes the hostStats object of the agents becomes null in the management server. It is a rare situation, and we haven't found the root cause yet, but it occurs occasionally in our CloudStack deployments with many hosts.

The hostStat is null, even though the agent is UP and hosting multiple VMs. It is possible to access the VM consoles and execute tasks on them.

This pull request doesn't address the issue directly; rather it displays those hosts in Prometheus so we can restart the agent and get the necessary information.
2023-12-08 19:51:06 +05:30
Abhishek Kumar
c599011ef5 Merge remote-tracking branch 'apache/4.18' 2023-12-08 18:06:15 +05:30
Wei Zhou
f42feb1568
CKS: update imagePullPolicy to IfNotPresent in yaml files (#8296)
The kubernetes dashboard yaml file has the following setting

image: kubernetesui/dashboard:v2.7.0
imagePullPolicy: Always

see https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml The similar config can be found at https://raw.githubusercontent.com/weaveworks/weave/master/prog/weave-kube/weave-daemonset-k8s-1.11.yaml

Due to it, CKS does not work in the following cases

    reach the dockerhub rate limitations (see https://docs.docker.com/docker-hub/download-rate-limit/)
    The VMs do not have internet connection

Since the CKS ISO contains the image, it is not necessary to pull the images again.
2023-12-08 17:05:09 +05:30
Peinthor Rene
bba554bcc4
linstor: Fix possible NPE if Linstor storage-pool data missing (#8319)
If Linstor doesn't return storage pool info, certain values are null.
Now we assume the values are 0 if we get null values.
2023-12-08 17:02:18 +05:30
Harikrishna
7eb36367c9
Add lock mechanism considering template id, pool id, host id in PowerFlex Storage (#8233)
Observed a failure to start new virtual machine with PowerFlex storage. Traced it to concurrent VM starts using the same template and the same host to copy. Second mapping attempt failed.

While creating the volume clone from the seeded template in primary storage, adding a lock with the string containing IDs of template, storage pool and destination host avoids the situation of concurrent mapping attempts with the same host.
2023-12-08 13:21:16 +05:30
Rene Glover
9773ba3e95
Allow autoscale group and name override (#8324)
Updates AutoScaleManager/AutoScaleManagerImpl so that getNextVmHostName and checkAutoScaleVmGroupName can be overridden in derivative implementations to allow for custom naming conditions and restrictions. If possible, would like to include this in 4.19 since it is a trivial change.
This can be used to create an extension of AutoScaleManagerImpl.java, overriding these 2 methods
2023-12-08 11:21:25 +05:30
Vishesh
4e9c4a5895
Fix intermittent build failures (#8312) 2023-12-07 14:03:26 +01:00
Andrija Panic
88f64de848
Update cloudstack-help-text (#8329) 2023-12-07 12:27:42 +01:00
Gabriel Pordeus Santos
22a4464c67
change args visibility when editing a default role (#8322) 2023-12-07 12:12:14 +01:00
Wei Zhou
7ea068c4dc
kvm: fix error 'Failed to find passphrase for keystore: cloud.jks' when enable SSL for kvm agent (#7923) 2023-12-07 09:10:11 +01:00
Nicolas Vazquez
371ad9f55b
New Feature: Import VMware VMs into KVM (#7881)
This PR adds the capability in CloudStack to convert VMware Instances disk(s) to KVM using virt-v2v and import them as CloudStack instances. It enables CloudStack operators to import VMware instances from vSphere into a KVM cluster managed by CloudStack. vSphere/VMware setup might be managed by CloudStack or be a standalone setup.

    CloudStack will let the administrator select a VM from an existing VMware vCenter in the CloudStack environment or external vCenter requesting vCenter IP, Datacenter name and credentials.
    The migrated VM will be imported as a KVM instance
    The migration is done through virt-v2v: https://access.redhat.com/articles/1351473, https://www.ovirt.org/develop/release-management/features/virt/virt-v2v-integration.html
    The migration process timeout can be set by the setting convert.instance.process.timeout
    Before attempting the virt-v2v migration, CloudStack will create a clone of the source VM on VMware. The clone VM will be removed after the registration process finishes.
    CloudStack will delegate the migration action to a KVM host and the host will attempt to migrate the VM invoking virt-v2v. In case the guest OS is not supported then CloudStack will handle the error operation as a failure
    The migration process using virt-v2v may not be a fast process
    CloudStack will not perform any check about the guest OS compatibility for the virt-v2v library as indicated on: https://access.redhat.com/articles/1351473.
2023-12-07 12:59:56 +05:30
sato03
fdfbb4fad1
Prioritize hypervisor.uri configuration (#8254)
Co-authored-by: Henrique Sato <henrique.sato@scclouds.com.br>
2023-12-06 16:43:04 -03:00
Daan Hoogland
14376ce298 Merge release branch 4.18 to main
* 4.18:
  kvm: fix ide controller for rocky/alma vms (#8247)
2023-12-06 16:06:09 +01:00
Wei Zhou
db6dd52f44
kvm: fix ide controller for rocky/alma vms (#8247) 2023-12-06 15:05:49 +01:00
Abhishek Kumar
b00fd6bb4d Merge remote-tracking branch 'apache/4.18' 2023-12-06 18:27:35 +05:30
dahn
a6b570845f
lower level and no stack traces at info or higher (#8278)
This PR reduces loglevel on non fatal errors and removes stacktraces above debug level.
2023-12-06 16:42:54 +05:30
Abhishek Kumar
4c91cc7c6f
ui: change ipaddress tab label for shared networks (#8305)
In UI, shared network IP addresses are shown in a tab named Public IP addresses inside the network view.

Public IP addresses have their own subsection in the UI. Network → Public IP address. Shared network IP addresses are not shown in this view.

This is confusing for users and Public IP addresses tab in the network view has been renamed as IP addresses for a shared network.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2023-12-06 16:29:15 +05:30
Peinthor Rene
a15b706fbe
Linstor: Allow snapshot backup also to work on non hyperconverged setups (#8271)
On no access to the storage nodes, we now create a temporary resource from the snapshot and copy that data into the secondary storage. Revert works the same, just that we now also look additionally for any Linstor agent node.

Also enables now backup snapshot by default.

This whole BackupSnapshot functionality was introduced in 4.19,
so I would be happy if this still could be merged.
2023-12-05 12:59:52 +05:30
Daan Hoogland
d3cad4266a Merge release branch 4.18 to main
* 4.18:
  server: Initial new vpnuser state (#8268)
  UI: Removed redundant IP Address Column when create Port forwarding rules (#8275)
  UI: Removed ICMP input fields for protocol number from ACL List rules modal (#8253)
  server: check if there are active nics before network GC (#8204)
2023-12-04 10:44:43 +01:00
Bryan Lima
b0910fc61d
Add dynamic secondary storage selection (#7659) 2023-12-04 09:52:32 +01:00
Abhishek Kumar
108651ad40
api: make displaytext form upload template/iso optional (#8289)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2023-12-04 08:48:49 +01:00
kishankavala
5651eab49c
ObjectStore Framework with MinIO and Simulator plugins (#7752)
This PR adds Object Storage feature to CloudStack.

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/%5BDRAFT%5D+CloudStack+Object+Store
2023-12-01 17:51:00 +05:30
dahn
724394682c
server: Initial new vpnuser state (#8268) 2023-12-01 09:51:54 +01:00
Oleg Chuev
7d6dc41f99
UI: Removed redundant IP Address Column when create Port forwarding rules (#8275) 2023-12-01 09:11:11 +01:00
Fabricio Duarte
37a2350159
Fix upload of volumes, templates and ISOs through HTTP (#8264)
When HTTP is used to upload volumes, templates and ISOs (configuration use.https.to.upload is set to false), an error occurs during the validation of the request's signature, preventing uploads from finishing successfully. This happens because an URL in the format String fullUrl = "https://" + hostname + "/upload/" + uuid is always created for the validation whether HTTP or HTTPS was being used.

This PR addresses this issue, allowing users to upload volumes, templates and ISOs through HTTP.
2023-12-01 13:10:43 +05:30
Bryan Lima
cb62ce6767
Global ACL for VPCs (#7150) 2023-11-30 14:51:43 +01:00
Oleg Chuev
98cd3b9a24
UI: Removed ICMP input fields for protocol number from ACL List rules modal (#8253) 2023-11-30 13:46:07 +01:00
João Jandre
26b01f6f3b
Flexible tags for hosts and storage pools (#7489)
Co-authored-by: João Jandre <joao@scclouds.com.br>
2023-11-30 09:36:47 +01:00
Wei Zhou
cb2b6aca45
server: check if there are active nics before network GC (#8204) 2023-11-29 18:55:26 +01:00
Vishesh
a31f211628
Merge remote-tracking branch 'remote/4.18' 2023-11-29 16:12:51 +05:30
Rodrigo D. Lopez
956efb27d9
allow filtering of listDiskOffering and listServiceOffering APIs by account or project (#7082) 2023-11-28 14:50:37 +01:00
sato03
60b399f875
Fix create private gateway rollback (#8244)
When creating a private gateway, if an ACL verification error occurs, the changes made up to that point are not rolled back, resulting in inconsistent records in the database.

This PR intends to fix this bug and, if an error occurs during the creation of the private gateway, the changes will be rolled back.
2023-11-28 13:43:18 +05:30
Manoj Kumar
b0a9949775
ui: include domain and account field for createTemplate forms (#8257)
This PR includes Domain and Account parameters in CreateTemplate form in UI for Admin account.
It will expose optional parameters domainId and account in UI supported by createTemplate API #8210
2023-11-28 13:32:44 +05:30
StepSecurity Bot
f0b757e91e
[StepSecurity] ci: Harden GitHub Actions (#8209)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2023-11-27 12:07:19 +05:30
slavkap
8f39087377
Fix typo in ssvm check script (#8191) 2023-11-24 09:47:08 +01:00
anniejili
3c7c75bacf
Clear pool id if volume allocation fails (#8202)
* clear pool id if volume allocation fails and leave volume state as Allocated with a pool id assigned

* clear_pool_id_if_volume_allocation_fails

---------

Co-authored-by: Annie Li <ji_li@apple.com>
2023-11-21 15:41:04 +05:30
Abhisar Sinha
5c7e4b7edc
api: add ipaddress argument to disassociateIPAddress (#8222)
This PR adds argument 'ipadress' to the disassociateIpAddress api. IP address can be disassociated by directly giving the address instead of ID.

Fixes: #8125
2023-11-19 11:50:57 +05:30
Daan Hoogland
98d643efe6 Merge release branch 4.18 to main
* 4.18:
  Fixed spelling and added missing states to response (#8248)
  Let Prometheus exporter plugin support utf8 characters (#8228)
2023-11-18 18:41:31 +01:00
Oleg Chuev
1b56a8e873
Fixed spelling and added missing states to response (#8248) 2023-11-18 18:36:49 +01:00
Wei Zhou
eaa4123068
VNF: fix UI bugs and polish (#8227) 2023-11-18 12:25:18 +01:00
Abhishek Kumar
c7ed4ca272
schema: revert incorrect removal of oauth changes in #7417 (#8245)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2023-11-17 15:11:11 +01:00
Daniel Augusto Veronezi Salvador
adbb5520ca
Database VIEW management via separated files (#7417)
Co-authored-by: Daniel Augusto Veronezi Salvador <gutoveronezi@apache.org>
2023-11-17 10:27:53 +01:00
Stephan Krug
db27c0ad2a
Set number of hours per month with actual number in Quota (#7210)
Co-authored-by: Stephan Krug <stephan.krug@scclouds.com.br>
Co-authored-by: Gabriel <gabriel.fernandes@scclouds.com.br>
2023-11-17 10:01:38 +01:00
Kavvya Ramarathnam
6eb04a86a6
Fixed Hashmap Key value comparision (#8238)
Co-authored-by: kavvya97 <kavvya.ramarathnam@gmail.com>
2023-11-17 09:05:58 +01:00
DK101010
6001772335
multi local storage handling for kvm (#6699)
Co-authored-by: DK101010 <dirk.klahre@itelligence.de>
Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
2023-11-16 16:43:42 +01:00
Manoj Kumar
0735b91037
api: introduce domainid and account parameter in createTemplate API (#8210)
Introduces domainid and account as optional parameter for createTemplate API. It will allow admin to create templates for specified domain belonging to specific account.
2023-11-16 17:39:38 +05:30
maheshnikam
cc45bffdbd
Improved concatenation way in PropertiesStorage.java (#7486)
Co-authored-by: dahn <daan.hoogland@gmail.com>
Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com>
2023-11-16 11:37:53 +01:00
Stephan Krug
267a457efc
Externalize KVM HA heartbeat frequency (#6892)
Co-authored-by: Stephan Krug <stephan.krug@scclouds.com.br>
Co-authored-by: GaOrtiga <49285692+GaOrtiga@users.noreply.github.com>
Co-authored-by: dahn <daan.hoogland@gmail.com>
2023-11-16 09:17:17 +01:00