Commit Graph

28892 Commits

Author SHA1 Message Date
Marc-Aurèle Brothier 08b4052595 CLOUDSTACK-9544: Check access on account trying to generate user API keys
This fixes CVE-2016-6813

Signed-off-by: Marc-Aurèle Brothier <m@brothier.org>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 158497d68a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-28 11:46:27 +05:30
Rohit Yadav bf02aeb26b java: stick to java7 for building 4.6
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-12 16:13:35 +05:30
Rohit Yadav 8808cbeff7 CLOUDSTACK-9446: Marvin and integration-tests packages
This introduces two new cloudstack packages: marvin and integration-tests.
The two packages will make it easier for CI systems to install Marvin for a
specific cloudstack release/build and run integration tests that are specific
for that version/build.

- maven: add explicit juniper-contrail-api maven repository
- marvin: build source distribution for both install and package mvn phases

(cherry picked from commit 0d0ad8f5b4)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-10 18:00:06 +05:30
Rohit Yadav 5f0748572c server: give more memory to tests
Increases allowed max and permgen memory flags to maven-surefire plugins.
This fixes unit test failures in cloud-server.

(cherry picked from commit 54d6d11c16)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-10 17:59:37 +05:30
Rohit Yadav d9f5cc7217 CLOUDSTACK-9376: Restrict listTemplates API with filter=all for root admin
Restricts use of listemplates API with templatefilter=all for root admin only.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-06-07 06:07:22 +05:30
Rohit Yadav 828cadb8b4 CLOUDSTACK-9369: Restrict default login to ldap/native users
- Restricts default login auth handler to ldap and native-cloudstack users
- Refactors and create re-usable method to find domain by id/path

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-06-07 06:06:28 +05:30
Daan Hoogland 7c446f038c Merge pull request #1382 from greenqloud/pr-fix-license-header
Add missing license header to ActionEventUtilsTest.The test class was merged without the license header. This commit fixes that problem.

Also note that the license header exists on the master branch only as a result of commit 8a5fc16. The commit seems to be on the master branch and the 4.7 branch only. So there may be some conflicts when forward merging.

* pr/1382:
  Add missing license header to ActionEventUtilsTest.

Signed-off-by: Daan Hoogland <daan@onecht.net>
2016-01-29 10:16:24 +01:00
jeff 5de8cb1792 Add missing license header to ActionEventUtilsTest. 2016-01-28 14:23:10 +00:00
Remi Bergsma a4ad71cc56 Merge pull request #1342 from ustcweizhou/root-disk-size-ui
CLOUDSTACK-6181: Add 'root disk size' field in instance wizard for KVM templatesThis commit includes three changes:
(1) Revert commit 13bf1ec5da to show the 'root disk size' field
(2) Set the default value from '1' to empty. This also changes the default value of customized service offerings from '1' to empty.
(3) show 'root disk size' field only when users choose a KVM template, as cloudstack supports deployvm with rootdisksize on KVM only.

* pr/1342:
  CLOUDSTACK-6181: Add 'root disk size' field in instance wizard for KVM templates

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-28 13:30:34 +01:00
Wei Zhou 3822be5a5c CLOUDSTACK-6181: Add 'root disk size' field in instance wizard for KVM templates
This commit includes three changes:
(1) Revert commit 13bf1ec5da to show the 'root disk size' field
(2) Set the default value from '1' to empty. This also changes the default value of customized service offerings from '1' to empty.
(3) show 'root disk size' field only when users choose a KVM template, as cloudstack supports deployvm with rootdisksize on KVM only.
2016-01-27 23:30:22 +01:00
Remi Bergsma 451ae2bab8 Merge pull request #1265 from remibergsma/463_version
Set version 4.6.3-SNAPSHOT in 4.6 branch- setnextversion.sh
- upgrade path

Build succeeds:
```
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 08:44 min
[INFO] Finished at: 2015-12-21T14:13:29+01:00
[INFO] Final Memory: 123M/1578M
[INFO] ------------------------------------------------------------------------
```

Will try upgrade soon.

* pr/1265:
  Implement upgrade path 4.6.2 -> 4.6.3
  Updating pom.xml version numbers for release 4.6.3-SNAPSHOT

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-21 15:02:52 +01:00
Remi Bergsma 6646c7df61 Implement upgrade path 4.6.2 -> 4.6.3 2015-12-21 13:55:00 +01:00
Remi Bergsma 2b76f394c0 Updating pom.xml version numbers for release 4.6.3-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-21 13:53:54 +01:00
Daan Hoogland 5774b965f3 Merge pull request #1209 from ustcweizhou/free-deviceid
CLOUDSTACK-9134: set device_id as the first device_id not in use instead of nic count
when we restart vpc tiers, the old nics will be removed, and create a new nic.
however, the device_id was set to the nic count, which may be already used.
this commit get the first device_id not in use as the device_id of new nic.

This issue also happen when we add multiple networks to a vm and remove them.

* pr/1209:
  CLOUDSTACK-9134: set device_id as the first device_id not in use instead of nic count

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-13 18:43:30 +01:00
Remi Bergsma d7b7171870 Merge pull request #1235 from remibergsma/fix-passwd-server-logging
CLOUDSTACK-9155 make sure logrotate is effective for cloud.logMany processes on the VRs log to cloud.log. When log rotate kicks in, the file is rotated but the scripts still write to the old inode (cloud.log.1 after rotate). Tis quickly fills up the tiny log partition.

Using 'copytruncate' is a small tradeoff, there is a slight change of missing a log entry, but in the old situation nothing ended up in cloud.log after rotate (except for stuff that was (re)started) so I think this is the best solution until we properly rewrite the script to either use their own script or syslog.

More details: https://issues.apache.org/jira/browse/CLOUDSTACK-9155

* pr/1235:
  CLOUDSTACK-9155 make sure logrotate is effective

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-13 14:30:07 +01:00
Remi Bergsma 636efa2da3 CLOUDSTACK-9155 make sure logrotate is effective
Many processes on the VRs log to cloud.log. When logrotate
kicks in, the file is rotated but the scripts still write
to the old inode (cloud.log.1 after rotate). Tis quickly
fills up the tiny log partition.

Using 'copytruncate' is a tradeoff, there is a slight
change of missing a log entry, but in the old situation
we were missing all of them after logrotate.
2015-12-13 12:07:20 +01:00
Remi Bergsma fcccaaad3f Merge pull request #1231 from ekholabs/fix/vrid-rvpc-CLOUDSTACK-9151
CLOUDSTACK-9151 - As a Developer I want the VRID to be set within the limits of KeepaliveDThis PR fixes a blocker issue!

   - Just like with RVRs, use the VRID 51 instead of making it dependent on the VPCID
   - Reason: arbitary unique number 0..255 used to differentiate multiple instances of vrrpd running on the same NIC (and hence same socket). virtual_router_id 51

* pr/1231:
  CLOUDSTACK-9151 - Removes the replacement of the VRID in the CsRedundant file

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-13 00:13:37 +01:00
Remi Bergsma a7b098ff16 Implement 4.6.1 -> 4.6.2 upgrade path 2015-12-13 00:06:02 +01:00
Daan Hoogland 1063508003 Merge pull request #1186 from remibergsma/462_version
Updating pom.xml version numbers for release 4.6.2-SNAPSHOTSet next version in 4.6 release branch to version 4.6.2-SNAPSHOT.

Using ` ./tools/build/setnextversion.sh`.

Ping @bhaisaab @DaanHoogland before we merge this, how will we be creating the upgrade paths from 4.6.2 to 4.7? After this PR is merged, we need to manually do a fwd-merge and make sure we keep the pom versions in master/4.7. Much like in #1071.

* pr/1186:
  Fixed typo in iam/pom.xml
  Updating pom.xml version numbers for release 4.6.2-SNAPSHOT

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-12 23:17:19 +01:00
Remi Bergsma c456eeb959 Fixed typo in iam/pom.xml 2015-12-12 21:51:48 +01:00
Remi Bergsma 5147dec4ff Updating pom.xml version numbers for release 4.6.2-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 21:49:37 +01:00
Wilder Rodrigues 2bebb7f8a3 CLOUDSTACK-9151 - Removes the replacement of the VRID in the CsRedundant file
- Just like with RVRs, use the VRID 51 instead of making it dependent on the VPCID
   - Reason: arbitary unique number 0..255 used to differentiate multiple instances of vrrpd running on the same NIC (and hence same socket). virtual_router_id 51
2015-12-12 16:26:00 +01:00
Remi Bergsma 1597a4c749 Merge pull request #1211 from ustcweizhou/delete-acl-items
[UI] bug fix: Delete added ACL lists is not available for Domain Admin and normal usersOnly the owner or domain admin/admin can access the page (vpc->Network ACL Lists), they are also able to remove the network ACL lists, which is not allowed on UI.

* pr/1211:
  [UI] bug fix: Delete added ACL lists is not available for Domain Admin and normal users

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 14:40:17 +01:00
Daan Hoogland 8c78f89c91 Merge pull request #1132 from shapeblue/4.6-vmware-diskcontrollers
[4.6] CLOUDSTACK-4787 - vmware diskcontrollersSame as #1131 (see this for screenshots etc)

* pr/1132:
  CLOUDSTACK-4787: Allow users to select disk controller for VM/template
  CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-12 14:38:28 +01:00
Remi Bergsma 65bf2edfa1 Merge pull request #1182 from ustcweizhou/CLOUDSTACK-9113-getVmStats
[4.6] CLOUDSTACK-9113: skip vm with inconsistent state when getVmStats/getVmDiskStatson KVM, if there is a vm has inconsistent state between hypervisor and db, the getVmStat will terminate and return null, all vm stats will not be updated.
we should skip the vm which has inconsistent state, and continue on others.

* pr/1182:
  CLOUDSTACK-9113: skip vm with inconsistent state when getVmStats/getVmDiskStats

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 13:58:49 +01:00
Remi Bergsma 61ebb53e17 Merge pull request #1227 from remibergsma/git-pr-show-commits
Show actual diff in commits after merge with git-pr / git-fwd-mergeThis shows the diff in commits after using `git-pr` and `git-fwd-merge` tools, like this:

```
44e8c92 Merge pull request #1226 from borisroman/CLOUDSTACK-9148
0554610 Removed .pydevproject from plugin kvm hypervisor.
```

That helps in quickly seeing what change is applied and whether it makes sense. It doesn't touch the actual code base. I'm using this patch for some time already.

* pr/1227:
  Show actual diff in commits after merge

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 13:55:20 +01:00
Remi Bergsma 52edbbb6cc Show actual diff in commits after merge 2015-12-12 11:22:32 +01:00
Remi Bergsma b14dfca82d Merge pull request #1187 from nlivens/4.6_test_improvement
Adapted HypervisorUtilsTest to no longer give false positives

* pr/1187:
  Adapted HypervisorUtilsTest to no longer give false positives

This closes #1185

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-10 16:20:19 +01:00
Wei Zhou 709e0c555e [UI] bug fix: Delete added ACL lists is not available for Domain Admin and normal users 2015-12-10 14:09:45 +01:00
Wei Zhou acfc19dc82 CLOUDSTACK-9134: set device_id as the first device_id not in use instead of nic count
when we restart vpc tiers, the old nics will be removed, and create a new nic.
however, the device_id was set to the nic count, which may be already used.
this commit get the first device_id not in use as the device_id of new nic.

This issue also happen when we add multiple networks to a vm and remove them.
2015-12-10 14:02:02 +01:00
Remi Bergsma 3515f574c3 Merge pull request #1189 from ekholabs/fix/4.6-rvr_routers_state-CLOUDSTACK-9118
CLOUDSTACK-9118 - As a Developer I want the checkrouter.sh script to report the right information about RVR routers stateThis PR fixes the RVR routers state information retrieved by the Management Server via the ```checkrouter.sh``` script.

In order to cover the changes, a new test has been added to the component/test_routers_network_ops.py test suite: test_03_RVR_Network_check_router_state

* pr/1189:
  CLOUDSTACK-9118 - Adds integration test to cover routers state.
  CLOUDSTACK-9118 - Improves the existing checkrouter.sh script

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-08 20:10:15 +01:00
Wilder Rodrigues 848ef78158 CLOUDSTACK-9118 - Adds integration test to cover routers state.
- Refactoring the existing tests
2015-12-08 11:06:35 +01:00
Wilder Rodrigues f81a29351d CLOUDSTACK-9118 - Improves the existing checkrouter.sh script 2015-12-08 11:06:35 +01:00
Nick Livens 132c35639b Adapted HypervisorUtilsTest to no longer give false positives 2015-12-08 08:12:58 +01:00
Remi Bergsma 6d3fffa229 Merge pull request #1184 from ekholabs/fix/4.6-rvpc-pvtgw-CLOUDSTACK-9106
CLOUDSTACK-9106 - As a Developer I want the Redundant VPC private gateway feature fixedThis PR contains the same fixes from PR #1179, which was created against the master branch.

In addition, the points mentioned by @DaanHoogland were handled in this new PR:

* Made the code more consistent
  - result = result && methodCall(), instead of throwing exceptions in some places or not checking 2 consecutive returns - in case of rVPC.
* Added an unit test to cover changes in the VpcRouterElementImpl.applyVpnUsers() method. The method returns an array of String, so I had to make sure it would contain the users from 2 consecutive calls. There are 2 tests to cover negative scenarios.

* pr/1184:
  CLOUDSTACK-9106 - Makes Enum name compliant with Java code conventions.
  CLOUDSTACK-9106 - Adds a test to cover the changes in the applyVpnUsers() method
  CLOUDSTACK-9106 - Makes the router commands call more consistent.
  CLOUDSTACK-9106 - Enables private gateway tests on Redundant VPCs
  CLOUDSTACK-9106 - Refactor the createPrivateNicProfileForGateway() method
  CLOUDSTACK-9106 - Reduces the amount of iterations through the routers of a VPC

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-07 21:18:01 +01:00
Remi Bergsma e9de865989 Merge pull request #1162 from greenqloud/pr-no-start
Add support for not (re)starting server after cloud-setup-management.This adds an option to the cloud-setup-management script to not start the management server after a successful configuration of it.

The primary motivation for this is to avoid circular dependency issues on systems that use systemd. When calling cloud-setup-management from a unit with a Before= directive on a service depending on
cloudstack-management, the process will deadlock because /usr/bin/service will delegate to systemd, which is waiting for the Before service to start.

Executing the cloud-setup-management script with this new `--no-start` option will simply leave the management server stopped after a successful configuration. systemd can then be bypassed with `export _SYSTEMCTL_SKIP_REDIRECT=1` and using the init.d script.

* pr/1162:
  Add support for not (re)starting server after cloud-setup-management.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-07 21:06:19 +01:00
Wilder Rodrigues 14db2d3dc4 CLOUDSTACK-9106 - Makes Enum name compliant with Java code conventions. 2015-12-07 13:43:46 +01:00
Wilder Rodrigues 5973f4ea77 CLOUDSTACK-9106 - Adds a test to cover the changes in the applyVpnUsers() method
- Changed the NetworkTopologyContext class just to make the private member accessible from the test
   - Added a test class to cover the positive scenario of the VpcVirtualRouterElementTest.applyVpnUsers() method.
   - Covering when there is either no VPC or no routers.
2015-12-07 13:42:29 +01:00
Wilder Rodrigues 13eb789388 CLOUDSTACK-9106 - Makes the router commands call more consistent.
- Checks the result of a call against the previous result. Either both are true or the method returns false.
   - Do not thrown exceptions because some calls are not handling/rethrowing them. It would cause runtime problems.
   - When doing a list.addAll(Arrays.asList(String[]{}) will cause problems when trying to cast the list.toArray() into an aray of String
     It would only work if instead of calling addAll() I would pass it straight into the constructor:
     e.g. List<String> l = new ArrayList(Arrays.asList(new String[]{});
          Stirng [] s = (String[]) l.toArray();
     But I did not like that implementation because it would require 2 arrays of string and combine them at the end.
2015-12-07 13:40:12 +01:00
Wei Zhou 24edf1c1e4 CLOUDSTACK-9113: skip vm with inconsistent state when getVmStats/getVmDiskStats 2015-12-07 12:15:24 +01:00
Wilder Rodrigues 1738ce1740 CLOUDSTACK-9106 - Enables private gateway tests on Redundant VPCs 2015-12-07 10:30:18 +01:00
Wilder Rodrigues 24dafc2cc2 CLOUDSTACK-9106 - Refactor the createPrivateNicProfileForGateway() method
- Use the router to retrieve the instance ID
    - Check if the VPC is redundant in order to reuse the private gateway address.
    - Brings the private gateways interfaces up.
2015-12-07 10:30:18 +01:00
Wilder Rodrigues a168a69c3c CLOUDSTACK-9106 - Reduces the amount of iterations through the routers of a VPC
- It was causing problems because Nics were expected to be plugged before they actually exist. Only in rVPC cases.
   - Applies ACL items to routers only after the Pvt GW is setup.
2015-12-07 10:30:17 +01:00
Rohit Yadav 9ce133401c Merge pull request #1154 from ustcweizhou/fix-ui-delete-sshkey-projects
[UI] fix bug: Cannot delete SSH keypairs in projectsBefore change:
error message: ProjectId and account/domainId can't be specified together

After change:
SSH keypairs can be removed

* pr/1154:
  [UI] fix bug: Cannot delete SSH keypairs in projects

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-07 11:08:11 +05:30
Daan Hoogland 0d61941101 Merge pull request #1175 from shapeblue/4.6-rate-limit-testfix
[4.6/master] rate-limit: increase JVM memory and enable fork mode for unit testsEnables forkmode for surefire plugin and increases memory opts for JVM
for rate-limit tests. This tries to fix intermittent Jenkins failures
which look like:

multipleClientsCanAccessWithoutBlocking(org.apache.cloudstack.ratelimit.ApiRateLimitTest):
unable to create new native thread

Previous PR (again master by mistake) -- #1171

* pr/1175:
  rate-limit: increase JVM memory and enable fork mode for unit tests

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 20:36:44 +01:00
Daan Hoogland 2c4ea503f9 Merge pull request #1176 from anshul1886/CLOUDSTACK-9025-4.6
CLOUDSTACK-9025: Fixed can't create usable template from snapshot in Xenserver and Vmwarehttps://issues.apache.org/jira/browse/CLOUDSTACK-9025

Fix also reverts below commit as below solution making assumption about hypervisor which are not applicable in case of XenServer and VmWare

Revert "CLOUDSTACK-8964: Can't create template or volume from snapshot"

This reverts commit ccf5d75cfb.

Testing:

Able to deploy VM successfully from template created from linked clone snapshot on XenServer.

* pr/1176:
  CLOUDSTACK-9025: Fixed can't create usable template from snapshot in Xenserver and Vmware

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 20:34:34 +01:00
Daan Hoogland f66e782795 Merge pull request #1177 from ustcweizhou/Ovm3-CopyCommand
CLOUDSTACK-8964: Ovm3HypervisorGuru handle only srcData with HypervisorType is Ovm3This PR can only be applied after PR #1176

The CopyCommand on Ovm3 should be handled by Ovm3StorageProcessor, not SSVM.
Hence, I revert two commits on Ovm3HypervisorGuru, and add the hypervisorType check so that only the this guru will only handle Ovm3 (not KVM)

* pr/1177:
  CLOUDSTACK-8964: Ovm3HypervisorGuru handle only srcData with HypervisorType is Ovm3
  Revert "simple change to prevent failure and keep OVM3 snapshots working"
  Revert "CLOUDSTACK-8964 side effect isolation"

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 20:02:17 +01:00
Daan Hoogland 24113e425e Merge pull request #1168 from ustcweizhou/listSnapshots-Exception
CLOUDSTACK-8845: set isRevertable of snapshot to false if the volume is removedSome users encounter an exception when listSnapshots.
We should set the isRevertable of snapshot to false if the original volume is removed, without checking if the snapshot is stored in primary store (the exception was thowned during the checking).

* pr/1168:
  CLOUDSTACK-8845: set isRevertable of snapshot to false if the volume is removed

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 19:48:45 +01:00
Daan Hoogland 998b1ba629 Merge pull request #1161 from ustcweizhou/resize-volume-issues
CLOUDSTACK-9101: fix some issues in resize volume(1) fix issue: volume size is not updated even if the operation succeed
(2) Add ui support for root volume resize
(3) resize on qcow2 type ROOT volume of stopped vm does not really work
see https://issues.apache.org/jira/browse/CLOUDSTACK-9101

* pr/1161:
  CLOUDSTACK-9101: resize root volume of stopped vm on KVM
  CLOUDSTACK-9101: add UI support for root volume resize
  CLOUDSTACK-9101: update volume size after resizevolume

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 19:44:16 +01:00
Wei Zhou a90b953dbc CLOUDSTACK-8964: Ovm3HypervisorGuru handle only srcData with HypervisorType is Ovm3 2015-12-04 19:19:04 +01:00