Commit Graph

11372 Commits

Author SHA1 Message Date
Rohit Yadav 5b9a989ab0 Updating pom.xml version numbers for release 4.17.2.0
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2022-12-14 05:22:52 +00:00
Abhishek Kumar 4de66f9855
server: fix listing vm metrics for infra resources (#6851)
Fixes #6786 

listVirtualMachinesMetrics does not support some of the params that are supported by admin API call for listVirtualMachines.
These parameters are used in UI.

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

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Rohit Yadav <rohityadav89@gmail.com>
Co-authored-by: Daan Hoogland <daan@onecht.net>
2022-12-12 11:22:07 +05:30
Abhishek Kumar b7f845ab13
server: fix nic device id fro imported vm (#6953)
Fixes #6951

Adds deviceid for NICs of an imported VM. Device Id will be set 0..n in the order which they are returned by hypervisor.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-12-08 22:29:32 +05:30
Abhishek Kumar 47946db888
server: fix volume migration on user vm scale (#6704)
Fixes #6701

When volume migration is initiated by system, account check is not needed.

Introduces a new global setting - allow.diskoffering.change.during.scale.vm. This determines whether to allow or disallow disk offering change for root volume during scaling of a stopped or running VM.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Harikrishna Patnala <harikrishna.patnala@gmail.com>
Co-authored-by: Rohit Yadav <rohityadav89@gmail.com>
Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com>
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-11-30 12:58:48 +05:30
Craig Squire dbc2032077
server: Check for null poolid (#6879)
Extract retrieveDatastore method

Add unit test for null poolId

Fixes #6878

Co-authored-by: Craig Squire <craig.squire@ticketmaster.com>
Co-authored-by: Stephan Krug <stekrug@icloud.com>
2022-11-30 12:45:35 +05:30
Abhishek Kumar 6c436ec90e
server: fix domain shared public template check (#6916)
Fixes #6885

Fixes the incorrect inverted check.

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

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-11-25 14:19:16 +05:30
dahn 89d9a70dce
server: Allow template names upto 255 chars (#6768)
* Allow template names upto 255 chars

* Update error message

* externalise name length in constant

Fixes: #6766
2022-09-30 10:46:50 +05:30
Abhishek Kumar d724a9d15c Updating pom.xml version numbers for release 4.17.2.0-SNAPSHOT
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-09-19 16:21:35 +05:30
Abhishek Kumar 350ef38e1c Updating pom.xml version numbers for release 4.17.1.0
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-09-14 12:58:03 +05:30
Abhishek Kumar e8b249f11d
server: fix netowork upgrade for IPv6 (#6729)
Fixes network update for IPv6 offering upgrade
2022-09-13 14:11:15 +05:30
Wei Zhou 20950e0e1d
jacoco: fix no coverage result in server and some other modules (#6730)
According to https://www.eclemma.org/jacoco/trunk/doc/prepare-agent-mojo.html
we need to add "@{argLine}" to argLine if it exists in pom.xml
2022-09-12 21:27:55 +05:30
Abhishek Kumar f18eebf2e9
server: fix check for ipv6 range overlap (#6705)
Fixes incorrect check for verifying IPv6 ranges overlap. This causes the inability to add multiple IPv6 ranges.
2022-09-06 16:43:20 +05:30
Abhishek Kumar c290cbcb71
server: fix scale vm with compute offering having same disk offering (#6688)
Fixes #6679

Fixes behaviour when the VM is scaled to a new compute offering which has the same disk offering associated as the earlier compute offering.
2022-09-01 12:28:39 +05:30
Abhishek Kumar 7ddebd3b2c
server: fix error when dedicating guest vlan range for physical nw without vlan range (#6655)
Fixes #6648
If any of the VLAN from the given range is not found in the database (cloud.op_dc_vnet_alloc) then an InvalidParameterValueException will be thrown.
Also, refactors and fixes account check.
2022-08-25 22:27:44 +05:30
Abhishek Kumar cd37b135a0
vpc: prevent sourcenat ip disassociation for an active vpc (#6664)
Fixes #6663

Source NAT IP should not be disassociated from an active vpc
2022-08-24 13:23:01 +05:30
Pearl Dsilva 9847918360
api, vmware: allow VM setting/detail for disk controller (root/data) to override template details (#6276)
This PR allows VM details wrt root & data disk controller passed via details parameter of deployVMCmd to take precedence over template settings, i.e., the order of precedence for determining VM disk controller is : VM details passed during deployment > template settings > global setting vmware.root.disk.controller.
2022-08-22 13:27:07 +05:30
Abhishek Kumar 44e600e2fc
server: remove resource tags for disassociated public ip (#6642)
Fixes #6620
Remove resource tags when public IP is disassociated
2022-08-19 18:28:51 +05:30
Abhishek Kumar 010b47f82e
server: fix ipv6 network deployment with separate guest nw (#6588)
Fixes #6584

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-08-17 15:49:01 +05:30
Abhishek Kumar 547041646a
server: fix delete resource tag permission (#6634)
Fixes #6623
This PR fixes resource tag deletion behaviour. The permission check should be done only for the tags that are passed in the API call instead of checking for all the tags for the resource.
2022-08-17 11:57:44 +05:30
Abhishek Kumar 6842583034
vpc,network: fix createLoadBalancer access on user network (#6591)
While checking network access for creating load-balancer use AccessType.OperateEntry
Refactor variable name in NetworkModelImpl::checkNetworkPermissions

Fixes: #6590

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-08-09 16:36:39 +05:30
Daniel Augusto Veronezi Salvador b0e780a35e
Enable system VM volume migration for KVM (#6341)
Release 4.16.0.0 introduced a feature for migrating system VM volumes (#4385). However, it was enabled only for VMWare.

This PR intends to enable the feature for KVM too.

Co-authored-by: GutoVeronezi <daniel@scclouds.com.br>
2022-08-09 10:03:03 +05:30
Harikrishna b62f59ac95
Fixed list networks in projects after setting network permissions (#6546)
This PR fixes #6544 where it could not list networks in a project even after network permissions are set.

* Added test cases to existing component tests to test network permissions

* Moved test_network_permissions.py from component to smoke tests

* Added test_network_permissions to travis.yml under smoke tests
2022-07-31 16:45:36 +05:30
David Jumani 5aec43949e
api: Remove psudo jobs from listAsyncJobs API (#6564)
Removes psudo job results from the response of the listAsyncJobs API
2022-07-27 14:54:07 +05:30
Rohit Yadav 441edf3ca7
utils: use safer parsing utility across codebase (#6562)
This addresses SonarQube/SonarCloud quality checks to use safer xml
parser to resist potential XXE attacks.

https://sonarcloud.io/organizations/apache/rules?open=java%3AS2755&rule_key=java%3AS2755

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2022-07-27 14:31:51 +05:30
Abhishek Kumar 4b8af6f0fa
test: add, refactor ipv6 network, vpc tests (#6338)
- Refactor IPv6 related tests
- Adds smoke test for IPv4 network to IPv6 upgrade
- Adds smoke test for IPv6 VPC

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-07-12 12:54:53 +05:30
Rohit Yadav d8da5e650d
kvm: add support nicAdapter detail for vm and template settings for KVM (#6536)
Fixes #6533

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2022-07-07 14:36:36 +05:30
John Bampton 7d23a0a759
Fix spelling (#6272) 2022-07-05 09:08:53 +02:00
Wei Zhou ae46c33b65
server: update lb rule with new protocol (#6476)
* server: update lb rule with new protocol

* Update PR #4746: use StringUtils.isNotBlank() instead
2022-06-30 12:02:09 +05:30
Harikrishna 089e9647f1
Fix global setting reference for max secondary storage (#6496)
* Fix global setting reference for max secondary storage usage based on account or project

* Changed a variable naming

* Replaced config enum usage with configkey class for global settings

* Fixed grammar mistake

* Fixed code smells
2022-06-30 11:42:58 +05:30
Suresh Kumar Anaparti c70bc9d69c
kvm: Updated PowerFlex/ScaleIO storage plugin to support separate (storage) network for Hosts(KVM)/Storage connection. (#6367)
This PR enhances the existing PowerFlex/ScaleIO storage plugin to support separate (storage) network for Hosts(KVM)/Storage connection, mainly the SDC (ScaleIo Data Client) connection.
2022-06-27 14:42:51 +05:30
Pearl Dsilva 1b716960fc
api: Add vpc name and uuid to VMs list response (nics) and nics response (#6461) 2022-06-16 13:34:13 +05:30
dahn 90a0ee0b6c
fix pseudo random behaviour in pool selection (#6307)
* refactor and log trace

* tracelogs

* shuffle pools with real randomiser

* sinlge retrieval of async job context

* some review comments addressed

* Apply suggestions from code review

Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com>

* log formatting

* integration test for distribution of volumes over storages

* move test to smoke tests

* imports

* sonarcloud issue # AYCOmVntKzsfKlhz0HDh

* spellos

* review comments

* review comments

* sonarcloud issues

* unittest

* import

* Update AbstractStoragePoolAllocatorTest.java

Co-authored-by: Daan Hoogland <dahn@onecht.net>
Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com>
2022-06-10 08:06:23 -03:00
Nicolas Vazquez cb7cbeca25
Fix deploy from ISO with custom disk offering (#6441) 2022-06-08 08:30:08 -03:00
nvazquez 038a669d6b
Updating pom.xml version numbers for release 4.17.1.0-SNAPSHOT
Signed-off-by: nvazquez <nicovazquez90@gmail.com>
2022-06-06 12:19:44 -03:00
nvazquez c56220fcf2
Updating pom.xml version numbers for release 4.17.0.0
Signed-off-by: nvazquez <nicovazquez90@gmail.com>
2022-05-31 14:33:47 -03:00
Nicolas Vazquez 82e0d5d679
Fix UEFI detection on KVM and prevent deployments on non UEFI enabled hosts (#6423)
* Do not allow UEFI deployments on non UEFI enabled hosts

* Fix UEFI detection on KVM

* Refactor

* Improvement
2022-05-31 14:31:42 -03:00
HuangWei 1ead6c1bac
Fix logic check error for update GPU groupDetails (#6405) 2022-05-24 10:00:48 -03:00
dahn c123c3fd2f
remove request listener to prevent untimely session invalidation (#6393)
* login/-out constants

* no request listener

* store session as value, using id as key

* Apply suggestions from sonarcloud.io code review

three instances of unsafe parameters to logging

* new sonar issues

* sonar issues
2022-05-24 10:00:06 -03:00
nvazquez 8ae977c233
Merge branch '4.16' 2022-05-20 11:39:07 -03:00
Nicolas Vazquez b62b5c96e8
Prevent NPE on reboot stopped VM and startVM output with null displayname (#6397)
* Prevent NPE on reboot stopped VM

* Use VM UUID instead of VM ID

* Apply suggestion

* Refactor and fix start VM output

* Use format instead of concatenation
2022-05-20 11:31:47 -03:00
Abhishek Kumar 5f29bc2b80
server: publish ip6 assign event with route, always for vpc (#6389)
* server: publish ip6 assign event for vpc always

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

* refactor event message, fix event publish

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

* unused import

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

* Fix event string
2022-05-16 16:29:02 -03:00
Sina Kashipazha 1964b7fda3
Fix, change network.disable.rpfilter type from integer to boolean. (#6380)
* Fix, change network.disable.rpfilter type from integer to boolean.

`network.disable.rpfilter` global setting doesn't accept boolean values.

* Changed consoleproxy.disable.rpfilter global setting type from integer to boolean.
2022-05-13 09:21:22 -03:00
Harikrishna 57ecdf9ea6
Fix changeOfferingForVolume API to consider storage type in the disk offering (#6377) 2022-05-13 08:21:15 -03:00
Nicolas Vazquez ea37d757d3
Reword KVM snapshot without memory error message (#6387) 2022-05-13 08:19:54 -03:00
Nicolas Vazquez 07cabb5890
Fix: Cannot import Vmware instances (#6384) 2022-05-13 07:46:53 -03:00
nvazquez c0176b24ab
Merge branch '4.16' 2022-05-12 07:16:31 -03:00
Suresh Kumar Anaparti d373f973ba
Update VM name, when the new name provided in updateVirtualMachine API in different case. (#6379) 2022-05-12 07:15:19 -03:00
Wei Zhou c1691a9e2d
ipv6: set default_egress_policy for ingress rules (#6364)
The issue is found in the smoke test `test/integration/smoke/test_network_ipv6.py`.
sometimes the test failed with error below
```
FAIL: Test to verify IPv6 network
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/marvin/lib/decoratorGenerators.py", line 30, in test_wrapper
    return test(self, *args, **kwargs)
  File "/marvin/test_network_ipv6.py", line 1215, in test_01_verify_ipv6_network
    self.checkNetworkRouting()
  File "/marvin/test_network_ipv6.py", line 1060, in checkNetworkRouting
    "Ping from VM %s of network %s to VM %s of network %s is unsuccessful" % (self.routing_test_vm.id, self.routing_test_network.id, self.virtual_machine.id, self.network.id))
AssertionError: False is not true : Ping from VM 0aa36a76-09c6-476f-97c5-b9cea27a5b7c of network 27a2b244-e319-46c5-a779-d6ae73eb9ac2 to VM ae13ea17-1f35-4ca7-83c1-e13126f8df79 of network 1f38a686-69f3-41ed-a75e-cd3f822497d8 is unsuccessful
```

After investigation, we found the egress traffic is dropped by `nft`.

a correct nft chain looks like
```
root@r-282-VM:~# nft list chain ip6 ip6_firewall fw_chain_egress
table ip6 ip6_firewall {
	chain fw_chain_egress {
		counter packets 0 bytes 0 accept
	}
}
```

However, some VRs has the following nft chain
```
root@r-280-VM:~# nft list chain ip6 ip6_firewall fw_chain_egress
table ip6 ip6_firewall {
	chain fw_chain_egress {
		counter packets 0 bytes 0 drop
	}
}
```

It is because the ingress rule does not have correct `default_egress_policy`
```
root@r-280-VM:~# cat /etc/cloudstack/ipv6firewallrules.json
{
  "0": {
    "already_added": false,
    "default_egress_policy": true,
    "dest_cidr_list": [],
    "guest_ip6_cidr": "fd17:ac56:1234:1a96::/64",
    "id": 0,
    "protocol": "all",
    "purpose": "Ipv6Firewall",
    "revoked": false,
    "source_cidr_list": [],
    "src_ip": "",
    "traffic_type": "Egress"
  },
  "1263": {
    "already_added": false,
    "default_egress_policy": false,
    "dest_cidr_list": [
      "::/0"
    ],
    "guest_ip6_cidr": "fd17:ac56:1234:1a96::/64",
    "icmp_code": -1,
    "icmp_type": -1,
    "id": 1263,
    "protocol": "icmp",
    "purpose": "Ipv6Firewall",
    "revoked": false,
    "source_cidr_list": [
      "::/0"
    ],
    "traffic_type": "Ingress"
  },
  "id": "ipv6firewallrules"
}
```

in mose time, the Egress rule is processed before Ingress rule.
But when the Ingress rule is processed at first, the nft chain will be wrong.
2022-05-07 09:37:42 -03:00
Abhishek Kumar f8920b9312
ui,api: fix api resourcename and user/project event resource (#6315)
For user and project dashborad event resource details were not showing as shown in admin dashboard.
API, UI shows name of the resource as event resourcename. Changed it to displaytext of the resource for consistency

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>
2022-04-26 23:32:18 -03:00
Abhishek Kumar e53ed9e350
network: fix event, acl, firewall for ipv6 nw (#6314)
* add guest ipv6 cidr for fw rule

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* fix fw, acl nft chains

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* remove unnecessary log

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* api response should return default internet protocol

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* event resource fix for ipv6 firewall rule events

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* fix radvd, restore ipv6 intf in vm type script

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>

* fix dadfailed with rvr

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>
2022-04-26 23:30:44 -03:00