36590 Commits

Author SHA1 Message Date
Harikrishna
3ce7c39bef
cks: handle errors while scaling cluster (#8107)
This PR fixes the issue #7920
2023-12-12 16:57:28 +05:30
Abhishek Kumar
05b0a8ae86 Merge remote-tracking branch 'apache/4.18' 2023-12-12 16:48:21 +05:30
Rohit Yadav
031b4c675c .asf.yaml: dummy commit to force asf.yaml effect
ASF Infra has enabled Github Discussions but discussion isn't published
on users@ ML yet. Pushing this dummy commit to see if makes any effect.
https://github.com/apache/cloudstack/pull/8274#issuecomment-1849641565

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2023-12-11 16:16:54 +05:30
Abhishek Kumar
ce586e3eca
server: fix resource count during assign volume (#8171)
ResourceType.volume stores the count of the volume and not the size so increment decrement should be just 1 when assigning a volume to a different account.
2023-12-11 15:45:42 +05:30
Rohit Yadav
05d0dd851f
.asf.yaml: Enable Github Discussions for CloudStack (#8274)
This enables Github Discussions feature for Apache CloudStack
repository. Several tech-savvy users are already using CloudStack issues
to report bugs, improvements and ideas, and finding using mailing list
old-school. The discussions feature presents a forum and can help
community have both users (including non-technical users) and developers
on the same platform. Further, the discussions feature is proposed to be
connected to the users@ mailing list so traditional users can benefit
from discussions happening on Github Discusssions forum.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2023-12-11 14:52:35 +05:30
João Jandre
12dcf5cc6f
Move subdomains between domains (#7446)
Sometimes users have the need to move resources between domains, for example, in a big company, a department may be moved from one part of the company to another, changing the company's department hierarchy, the easiest way of reflecting this change on the company's cloud environment would be to move subdomains between domains, but currently ACS offers no option to do that.
This PR adds the moveDomain API, which will move domains between subdomains. Furthermore, if the domain that is being moved has any subdomains, those will also be moved, maintaining the current subdomain tree.
2023-12-10 12:18:15 +05:30
Abhishek Kumar
4bdf35b7b0 Merge remote-tracking branch 'apache/4.18' 2023-12-09 12:04:21 +05:30
Abhishek Kumar
a11fc43788
server: fix diskoffering details in vm response (#8135)
Fixes #8120
2023-12-09 11:43:52 +05:30
dahn
ea569ffaad
expand tags in csv (#8258)
Fixes: #8256
2023-12-09 11:33:55 +05:30
Wei Zhou
fc44df7c95
CKS: create HA cluster with 3 control VMs instead 2 (#8297)
This PR fixes the test failures with CKS HA-cluster upgrade.
In production, the CKS HA cluster should have at least 3 control VMs as well.
The etcd cluster requires 3 members to achieve reliable HA. The etcd daemon in control VMs uses RAFT protocol to determine the roles of nodes. During upgrade of CKS with HA, the etcd become unreliable if there are only 2 control VMs.
2023-12-09 11:33:05 +05:30
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
Abhishek Kumar
231a9eae2e
ui: add action to declare/cancel host as degraded (#8327) 2023-12-08 17:08:35 +01:00
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