Commit Graph

28928 Commits

Author SHA1 Message Date
Koushik Das a4dc271253 CLOUDSTACK-9105: Logging enhancement: Handle/reference to track API calls end to end in the MS logs
Added logid to logging framework, now all API call logs can be tracked with this id end to end
2015-12-04 12:45:57 +05:30
Remi Bergsma 7e902cd505 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9075 - Uses the same vlan since it should have been already released
  CLOUDSTACK-9075 - Adds VPC static routes test
  CLOUDSTACK-9075 - Covers Private GW ACL with Redundant VPCs
  CLOUDSTACK-9075 - Add method to get list of Physical Networks per zone
  CLOUDSTACK-6276 Removing unused parameter in integration test for projects
  CLOUDSTACK-6276 Removing unused parameter in integration test
  CLOUDSTACK-6276 Fixing affinity groups for projects
2015-12-03 20:42:41 +01:00
Remi Bergsma 9a21873c4a Merge pull request #1134 from pdube/CLOUDSTACK-6276
CLOUDSTACK-6276 Fixing affinity groups for projectsWith some contributions from @resmo and @ustcweizhou.
This closes https://github.com/apache/cloudstack/pull/508

To test manually (need at least 2 hosts):
Create a project
Create an affinity group in that project
Deploy a vm with that affinity group
Deploy a second vm with that affinity group
They should be on different hosts

Ran old and new tests for affinity groups on the simulator

Test create affinity group as admin in project ... === TestName: test_01_admin_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group as domain admin for projects ... === TestName: test_02_doadmin_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group as user for projects ... === TestName: test_03_user_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group that exists (same name) for projects ... === TestName: test_4_user_create_aff_grp_existing_name_for_project | Status : SUCCESS ===
ok
#Delete Affinity Group by id. ... === TestName: test_01_delete_aff_grp_by_id | Status : SUCCESS ===
ok
#Delete Affinity Group by id should fail for user not in project ... === TestName: test_02_delete_aff_grp_by_id_another_user | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups ... === TestName: test_01_deploy_vm_anti_affinity_group | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups with more vms than hosts. ... === TestName: test_02_deploy_vm_anti_affinity_group_fail_on_not_enough_hosts | Status : SUCCESS ===
ok
List affinity group for a vm for projects ... === TestName: test_01_list_aff_grps_for_vm | Status : SUCCESS ===
ok
List multiple affinity groups associated with a vm for projects ... === TestName: test_02_list_multiple_aff_grps_for_vm | Status : SUCCESS ===
ok
List affinity groups by id for projects ... === TestName: test_03_list_aff_grps_by_id | Status : SUCCESS ===
ok
List Affinity Groups by name for projects ... === TestName: test_04_list_aff_grps_by_name | Status : SUCCESS ===
ok
List Affinity Groups by non-existing id for projects ... === TestName: test_05_list_aff_grps_by_non_existing_id | Status : SUCCESS ===
ok
List Affinity Groups by non-existing name for projects ... === TestName: test_06_list_aff_grps_by_non_existing_name | Status : SUCCESS ===
ok
List affinity group should list all for a vms associated with that group for projects ... === TestName: test_07_list_all_vms_in_aff_grp | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupids ... === TestName: test_01_update_aff_grp_by_ids | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 16 tests in 581.706s

OK

Deploy vm as Admin in Affinity Group belonging to regular user (should fail) ... === TestName: test_01_deploy_vm_another_user | Status : SUCCESS ===
ok
Create Affinity Group as admin for regular user ... === TestName: test_02_create_aff_grp_user | Status : SUCCESS ===
ok
List Affinity Groups as admin for all the users ... === TestName: test_03_list_aff_grp_all_users | Status : SUCCESS ===
ok
List Affinity Groups belonging to admin user ... === TestName: test_04_list_all_admin_aff_grp | Status : SUCCESS ===
ok
List Affinity Groups belonging to regular user passing account id and domain id ... === TestName: test_05_list_all_users_aff_grp | Status : SUCCESS ===
ok
List Affinity Groups belonging to regular user passing group id ... === TestName: test_06_list_all_users_aff_grp_by_id | Status : SUCCESS ===
ok
Delete Affinity Group belonging to regular user ... === TestName: test_07_delete_aff_grp_of_other_user | Status : SUCCESS ===
ok
Test create affinity group as admin ... === TestName: test_01_admin_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group as domain admin ... === TestName: test_02_doadmin_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group as user ... === TestName: test_03_user_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group that exists (same name) ... === TestName: test_04_user_create_aff_grp_existing_name | Status : SUCCESS ===
ok
Test create affinity group with existing name but within different account ... === TestName: test_05_create_aff_grp_same_name_diff_acc | Status : SUCCESS ===
ok
Test create affinity group of non-existing type ... === TestName: test_06_create_aff_grp_nonexisting_type | Status : SUCCESS ===
ok
Delete Affinity Group by name ... === TestName: test_01_delete_aff_grp_by_name | Status : SUCCESS ===
ok
Delete Affinity Group as admin for an account ... === TestName: test_02_delete_aff_grp_for_acc | Status : SUCCESS ===
ok
Delete Affinity Group which has vms in it ... === TestName: test_03_delete_aff_grp_with_vms | Status : SUCCESS ===
ok
Delete Affinity Group with id which does not belong to this user ... === TestName: test_05_delete_aff_grp_id | Status : SUCCESS ===
ok
Delete Affinity Group by name which does not belong to this user ... === TestName: test_06_delete_aff_grp_name | Status : SUCCESS ===
ok
Delete Affinity Group by id. ... === TestName: test_08_delete_aff_grp_by_id | Status : SUCCESS ===
ok
Root admin should be able to delete affinity group of other users ... === TestName: test_09_delete_aff_grp_root_admin | Status : SUCCESS ===
ok
Deploy VM without affinity group ... === TestName: test_01_deploy_vm_without_aff_grp | Status : SUCCESS ===
ok
Deploy VM by aff grp name ... === TestName: test_02_deploy_vm_by_aff_grp_name | Status : SUCCESS ===
ok
Deploy VM by aff grp id ... === TestName: test_03_deploy_vm_by_aff_grp_id | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups ... === TestName: test_04_deploy_vm_anti_affinity_group | Status : SUCCESS ===
ok
Deploy vms by affinity group id ... === TestName: test_05_deploy_vm_by_id | Status : SUCCESS ===
ok
Deploy vm in affinity group of another user by name ... === TestName: test_06_deploy_vm_aff_grp_of_other_user_by_name | Status : SUCCESS ===
ok
Deploy vm in affinity group of another user by id ... === TestName: test_07_deploy_vm_aff_grp_of_other_user_by_id | Status : SUCCESS ===
ok
Deploy vm in multiple affinity groups ... === TestName: test_08_deploy_vm_multiple_aff_grps | Status : SUCCESS ===
ok
Deploy multiple vms in multiple affinity groups ... === TestName: test_09_deploy_vm_multiple_aff_grps | Status : SUCCESS ===
ok
Deploy VM by aff grp name and id ... === TestName: test_10_deploy_vm_by_aff_grp_name_and_id | Status : SUCCESS ===
ok
List affinity group for a vm ... === TestName: test_01_list_aff_grps_for_vm | Status : SUCCESS ===
ok
List multiple affinity groups associated with a vm ... === TestName: test_02_list_multiple_aff_grps_for_vm | Status : SUCCESS ===
ok
List affinity groups by id ... === TestName: test_03_list_aff_grps_by_id | Status : SUCCESS ===
ok
List Affinity Groups by name ... === TestName: test_04_list_aff_grps_by_name | Status : SUCCESS ===
ok
List Affinity Groups by non-existing id ... === TestName: test_05_list_aff_grps_by_non_existing_id | Status : SUCCESS ===
ok
List Affinity Groups by non-existing name ... === TestName: test_06_list_aff_grps_by_non_existing_name | Status : SUCCESS ===
ok
List affinity group should list all for a vms associated with that group ... === TestName: test_07_list_all_vms_in_aff_grp | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupids ... === TestName: test_01_update_aff_grp_by_ids | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupnames ... === TestName: test_02_update_aff_grp_by_names | Status : SUCCESS ===
ok
Update the list of affinityGroups for vm which is not associated ... === TestName: test_03_update_aff_grp_for_vm_with_no_aff_grp | Status : SUCCESS ===
ok
Update the list of Affinity Groups to empty list ... SKIP: Skip - Failing - work in progress
Update the list of Affinity Groups on running vm ... === TestName: test_05_update_aff_grp_on_running_vm | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 42 tests in 976.432s

OK (SKIP=1)

* pr/1134:
  CLOUDSTACK-6276 Removing unused parameter in integration test for projects
  CLOUDSTACK-6276 Removing unused parameter in integration test
  CLOUDSTACK-6276 Fixing affinity groups for projects

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 20:10:16 +01:00
Remi Bergsma 519ce868af Merge pull request #1151 from ekholabs/fix/private_gw_rVPC-CLOUDSTACK-9075
[4.6] CLOUDSTACK-9075 - As a Developer I want the Private GW feature fixed on single VPCsThis PR fixes the issue we faced with Private Gateways on single VPC when using ACS 4.6.0 and onwards.

The root cause: during the VR refactor, the static routes configuration was left unimplemented.

This PR also improves the existing Replace ACL test and adds a new test, that cover the Private Gateway in a more complete way.

The new test does the following:

1. Create 2 VPCs
2. Create 2 Tiers - 1 per VPC
3. Deploy 2 VMs - 1 per Tier
4. Acquire 2 pub IPs - 1 per VPC
5. Create 2 PF rules - 1 per pub IP
6. Create 2 ACLs + rules - 1 per VPC
7. Assign new ACLs to Tiers
8. Create 2 Private GWs - 1 per VPC
9. Replace the Pvt GWs ACLs
10. Create 2 Static routes - 1 per Pvt GW
11. SSH into VM1 (VPC1) and from there ping VM2 (VPC2)

There is also a test for Private Gateways on Redundant VPCs. But I found out that the feature is broken in when used with rVPCs. It will be addressed in a separate Issue/PR.

I'm running the tests. Will post results as soon as they are ready.

* pr/1151:
  CLOUDSTACK-9075 - Uses the same vlan since it should have been already released
  CLOUDSTACK-9075 - Adds VPC static routes test
  CLOUDSTACK-9075 - Covers Private GW ACL with Redundant VPCs
  CLOUDSTACK-9075 - Add method to get list of Physical Networks per zone

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 19:56:09 +01:00
Remi Bergsma 3b511a139d Merge pull request #1155 from DaanHoogland/merge-4.6
Merge 4.6there is one (simple) conflict so for formailty's sake I make this a pull request.
@utscweizhou en @remibergsma please have a look/test-run

* pr/1155:
  CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager
  CLOUDSTACK-9022: keep Destroyed volumes for sometime

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 19:53:56 +01:00
Daan Hoogland f9775de8ff Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager
  CLOUDSTACK-9022: keep Destroyed volumes for sometime

 Conflicts:
	server/src/com/cloud/storage/StorageManagerImpl.java
2015-12-03 10:35:00 +01:00
Remi Bergsma 186e0257c3 Merge pull request #943 from rafaelweingartner/lrg-cs-hackday-009
CLOUDSTACK-8988: Removed unused adapters from async-job-component.xml.I was looking the file /cloud-server/test/async-job-component.xml, and I found an adapter configuration that seems to have no use. The reason for that is explained as follows.

The adapter configuration is the following:
<*adapters key="com.cloud.agent.manager.allocator.StorageAllocator"*>
      <*adapter name="Storage"
        class="com.cloud.agent.manager.allocator.impl.FirstFitStorageAllocator"*>
        <*param name="storage.overprovisioning.factor"*>2<*/param*>
      <*/adapter*>
      <*adapter name="
        class="com.cloud.agent.manager.allocator.impl.RandomStoragePoolAllocator"*>
        <*param name="storage.overprovisioning.factor"*>2<*/param*>
      <*/adapter*>
<*/adapters*>

	class="com.cloud.agent.manager.allocator.impl.FirstFitStorageAllocator"

The class "com.cloud.agent.manager.allocator.impl.FirstFitStorageAllocator" does not exist. The only reference for it is found in the following file:
          -	/cloud-server/test/async-job-component.xml
Therefore, we can conclude that there is no need for this line at that file.

	class="com.cloud.agent.manager.allocator.impl.RandomStoragePoolAllocator"

Additionally, the class RandomStoragePoolAllocator.java is never used. The only reference is found in the following file:
-	/cloud-server/test/async-job-component.xml

I found a project called cloud-plugin-storage-allocator-random. This project has only one package that contains only one class, which is the RandomStoragePoolAllocator.java. Despite the names that are the same, the class in cloud-plugin-storage-allocator-random  project and the class referenced in -	/cloud-server/test/async-job-component.xml have different packages. Therefore, I removed that configuration from async-job-component.xml and the project that contains only the RandomStoragePoolAllocator class that is never used.
Consequently, I had to remove the following lines from the */cloud-client-ui/pom.xml*:
    <*dependency*>
      <*groupId*>org.apache.cloudstack<*/groupId*>
      <*artifactId*>cloud-plugin-storage-allocator-random<*/artifactId*>
      <*version*>${project.version}<*/version*>
    <*/dependency*>

Furthermore, after I removed that configuration I noticed that there is no such class StorageAllocator.java. However, it appears that exists test for it, like the following classes:
-	StorageAllocatorTestConfiguration.java
-	StorageAllocatorTest.java.

I am not sure if these classes are tests for the class StorageAllocator.java and for the possible configuration I have just removed. If they are, we can remove both classes. Can someone help me on checking that?

* pr/943:
  fixed references in async-job-component.xml for storage allocators

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 10:27:55 +01:00
Remi Bergsma 6d558c0201 Merge pull request #944 from rafaelweingartner/lrg-cs-hackday-012
Create test cases to getPatchFilePath method and class names changed In this commit we created tests cases for the respective classes in package  com.cloud.hypervisor.xenserver.resource.

We added test cases to check the implementation of  com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.getPatchFiles. Therefore, we test in a more comprehensive way the tests that already exist to check the code of com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.getPatchFilePath.

We added a new abstract class, called com.cloud.hypervisor.xenserver.resource.CitrixResourceBaseTest.java

This class has two tests methods:

* com.cloud.hypervisor.xenserver.resource.CitrixResourceBaseTest.testGetPathFilesExeption(CitrixResourceBase), this method tests if the getPatchFilePath() method throws the com.cloud.utils.exception.CloudRuntimeException.CloudRuntimeException when the com.cloud.utils.script.Script.findScript(String, String) return a null value;
* com.cloud.hypervisor.xenserver.resource.CitrixResourceBaseTest.testGetPathFilesListReturned(CitrixResourceBase), this method tests the correct return value from getPatchFilePath() method, basically, verify if the returned list contain the file with the same absolute path that was retrieved from the findScript method.

We also changed the name of those test classes, the change was basically remove the Path word from the name of classes.

* pr/944:
  created tests cases for method "citrixResourceBase.getPatchFiles"

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 10:12:07 +01:00
Remi Bergsma 17d5bfa32c Merge pull request #841 from karuturi/CLOUDSTACK-8868
CLOUDSTACK-8868: use PasswordGenerator.generateRandomPassword() to generate systemvm passwordsgenerateRandomPassword() is supposed to create root user passwords. Right now it is only used on the guest VMs. The format of the passwords it creates are of the form "random 3-character string with a lowercase character, uppercase character, and a digit" + random n-character string with only lowercase characters".

For whatever reason it was that we use generateRandomPassword() for guest VM root user passwords(maybe more secure?) we should use the same function for system VM root user passwords.

Tests:
manually tested that password is generated in proper format and am able to login to cpvm with the new password. ex: zD2ztm, tR8snbwhq

```
$ mvn -pl server test -Dtest=ConfigurationServerImplTest#testUpdateSystemvmPassword
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.cloud.server.ConfigurationServerImplTest
log4j:WARN No appenders could be found for logger (com.cloud.utils.crypt.EncryptionSecretKeyChecker).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.487 sec - in com.cloud.server.ConfigurationServerImplTest

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.781 s
[INFO] Finished at: 2015-09-16T14:17:07+05:30
[INFO] Final Memory: 60M/466M
[INFO] ------------------------------------------------------------------------
```

* pr/841:
  CLOUDSTACK-8868: change the default vm.password.length to 10
  CLOUDSTACK-8868: use same method to generate passwords for system/guest vms
  removed commented code

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 09:58:52 +01:00
Remi Bergsma 4ffad548a5 Merge pull request #1107 from karuturi/CLOUDSTACK-9080
CLOUDSTACK-9080: Resource limits for Primary arent respected during attachprimary store resource limit check is not performed while attaching a
volume to a vm. Added them same.
Also added a marvin test case to verify the same.

Testing:
BEFORE
No error is shown in UI when trying to attach a volume even after reaching the resource limits.

```
mysql> select * from resource_limit where type="primary_storage";
+----+-----------+------------+-----------------+-------------+
| id | domain_id | account_id | type            | max         |
+----+-----------+------------+-----------------+-------------+
| 10 |      NULL |          4 | primary_storage | 21474836480 |
+----+-----------+------------+-----------------+-------------+
1 row in set (0.00 sec)

mysql> select * from resource_count where account_id=4 and type='primary_storage';
+----+------------+-----------+-----------------+-------------+
| id | account_id | domain_id | type            | count       |
+----+------------+-----------+-----------------+-------------+
| 63 |          4 |      NULL | primary_storage | 48318382080 |
+----+------------+-----------+-----------------+-------------+
1 row in set (0.00 sec)
```

AFTER
Following error message is shown in UI and the volume is not attached
![screen shot 2015-11-19 at 5 34 08 pm](https://cloud.githubusercontent.com/assets/186833/11336645/046b5bcc-920d-11e5-97af-3d0da14c0e38.png)

The resource limits stays the same

```
mysql> select * from resource_limit where type="primary_storage";
+----+-----------+------------+-----------------+-------------+
| id | domain_id | account_id | type            | max         |
+----+-----------+------------+-----------------+-------------+
| 10 |      NULL |          4 | primary_storage | 21474836480 |
+----+-----------+------------+-----------------+-------------+
1 row in set (0.01 sec)

mysql> select * from resource_count where account_id=4 and type='primary_storage';
+----+------------+-----------+-----------------+-------------+
| id | account_id | domain_id | type            | count       |
+----+------------+-----------+-----------------+-------------+
| 63 |          4 |      NULL | primary_storage | 48318382080 |
+----+------------+-----------+-----------------+-------------+
1 row in set (0.00 sec)
```

Marvin test: nosetests --with-marvin --marvin-config=setup/dev/advanced.cfg --zone=xen-zone0 --hypervisor=xenserver test/integration/component/test_ps_resource_limits_volume.py

before the change

```
# do ... === TestName: test_attach_volume_exceeding_primary_limits | Status : FAILED ===
AssertionError: Resource count 23 should match with the expected resource count 22\n
```

After the change

```
# do ... === TestName: test_attach_volume_exceeding_primary_limits | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 1178.354s

OK
```

* pr/1107:
  CLOUDSTACK-9080: Resource limits for Primary arent respected during attach.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 09:43:31 +01:00
Remi Bergsma df6343452a Merge pull request #942 from rafaelweingartner/lrg-cs-hackday-011
Removed unused code from the EngineHostDao Implementation After analysing the code within the EngineHostDaoImpl class, we noticed that methods:
countBy;
findByGuid;
findAndUpdateDirectAgentToLoad;
findAndUpdateApplianceToLoad;
markHostsAsDisconnected;
listAllUpAndEnabledNonHAHosts;
findLostHosts;
getRunningHostCounts;
getNextSequence;
countRoutingHostsByDataCenter;
updateResourceState;
findByTypeNameAndZoneId;
findHypervisorHostInCluster;
lockOneRandomRow;

And variables:
status_logger;
state_logger;

Have no usage. Thus, in order to clean up the code, we decided to remove them from EngineHostDaoImpl and its interface (EngineHostDao).
All of EngineHostDaoImpl's attributes were set to private, given that they are not accessed by any other class.

* pr/942:
  Removed unused code from the EngineHostDao Implementation.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-02 22:07:12 +01:00
Remi Bergsma 5b7d935ab0 Merge pull request #1145 from ustcweizhou/storage-cleanup-delay-4.6
[4.6.1] CLOUDSTACK-9022: keep Destroyed volumes for sometimefor now, the Destroyed volumes will be expunged in Storage cleanup thread, no matter when they are destroyed.
In Expunging vm thread, we expunge the Destroyed vms which have been destroyed at least 'expunge.delay' seconds. We add the similar configuration for volumes.

same to #1029 , for 4.6

* pr/1145:
  CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager
  CLOUDSTACK-9022: keep Destroyed volumes for sometime

This closes #1029

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-02 21:53:11 +01:00
Daan Hoogland cd15c66c0c Merge pull request #1122 from sanju1010/ip_tags
Add marvin test to verify if DomainAdmin is able to delete the tags on public ip addressPlease go through bug https://issues.apache.org/jira/browse/CLOUDSTACK-9084 for more details.

Testcreation, adding and removing tag on public IP address ... === TestName: test_24_public_IP_tag | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 254.724s

OK

* pr/1122:
  Incorporated review comments from the PR
  Add marvin test for bug CS-38356 Bug-Id: CS-38356 Reviewed-By: Self

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-02 17:54:16 +01:00
sanjeev 24db5de900 Incorporated review comments from the PR 2015-12-02 16:06:26 +05:30
sanjeevn 41ce802c93 Add marvin test for bug CS-38356
Bug-Id: CS-38356
Reviewed-By: Self
2015-12-02 16:06:26 +05:30
Wilder Rodrigues 6d9a3d82f9 CLOUDSTACK-9075 - Uses the same vlan since it should have been already released
- After the first test is done, the clean up will delete the whole VPC, also releasing the VLAN that was in use.
2015-12-02 10:36:53 +01:00
Wilder Rodrigues a17fa48de1 CLOUDSTACK-9075 - Adds VPC static routes test
- Adds redundant VPC tests
   - Adds support to Static Routes on VPC private gatways
   - Removes the route configuration in case static route is deleted.
2015-12-02 10:36:52 +01:00
Wilder Rodrigues 3e02b8999b CLOUDSTACK-9075 - Covers Private GW ACL with Redundant VPCs 2015-12-02 10:36:52 +01:00
Wilder Rodrigues 4ea4e7e687 CLOUDSTACK-9075 - Add method to get list of Physical Networks per zone 2015-12-02 10:36:51 +01:00
Rohit Yadav 41b0139e7a Merge pull request #1139 from karuturi/CLOUDSTACK-9092
CLOUDSTACK-9092: L10n fix in "Add LDAP Account page"fixed two strings on the "Add LDAP Account page"

After the change: (with a test string in messages_ja_JP.properties file)
![screen shot 2015-11-30 at 11 07 42 am](https://cloud.githubusercontent.com/assets/186833/11464468/213f0f4e-9755-11e5-85b3-1cc6a89895c1.png)

* pr/1139:
  CLOUDSTACK-9092: L10n fix in "Add LDAP Account page"

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-01 15:03:18 +05:30
Rohit Yadav d31b58fe94 Merge pull request #1143 from wido/agent-ping-name
Show Agent name in Ping responseBefore:

<pre>DEBUG [c.c.a.m.AgentManagerImpl] (AgentManager-Handler-4:null) Ping from 66</pre>

After:

<pre>DEBUG [c.c.a.m.AgentManagerImpl] (AgentManager-Handler-4:null) Ping from 66 (n01)</pre>

Makes it easier to search for hosts in the logs. Most loglines contain both the hostId and hostName.

* pr/1143:
  Show Agent name in Ping response

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-01 14:58:25 +05:30
Remi Bergsma 4ecfc29267 Merge release branch 4.6 to master
* 4.6:
  Use version for RC branch name instead of branch
  make sure all files are updates with new version
  Update L10N resource files with 4.6 strings from Transifex (20151129)
  Fix secondary storage not working with swift
  CLOUDSTACK-9083: Add disk serial to kvm virt xml
2015-11-30 22:30:52 +01:00
Remi Bergsma cb50eb8e17 Merge pull request #1146 from remibergsma/build_script_fixes
make sure all files are updates with new versionDuring the previous release I had to edit these manually. This will fix that so all versions get updated.

* pr/1146:
  Use version for RC branch name instead of branch
  make sure all files are updates with new version

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-30 22:23:50 +01:00
Remi Bergsma 7d7420fd1e Use version for RC branch name instead of branch
4.6.1-RC20151130T2142 versus 4.6-RC20151130T2142
2015-11-30 22:21:04 +01:00
Remi Bergsma df3ce171e8 make sure all files are updates with new version 2015-11-30 21:39:02 +01:00
Wei Zhou 4ed1e0d5f8 CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager 2015-11-30 20:44:05 +01:00
Wei Zhou 9077c9a5b4 CLOUDSTACK-9022: keep Destroyed volumes for sometime 2015-11-30 20:43:13 +01:00
Remi Bergsma e675250f60 Merge pull request #1138 from milamberspace/L10N-update-4.6-20151129
Update L10N resource files with 4.6 strings from Transifex (20151129)Small update of L10N files before the 4.6.1 release candidate

cc @remibergsma

* pr/1138:
  Update L10N resource files with 4.6 strings from Transifex (20151129)

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-30 19:49:01 +01:00
Remi Bergsma df0797affd Merge pull request #1133 from syed/4.6
Fix secondary storage not working with swiftOriginal PR and discussion at #1112

* pr/1133:
  Fix secondary storage not working with swift

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-30 19:36:38 +01:00
Wido den Hollander da85e9861a Show Agent name in Ping response 2015-11-30 16:13:45 +01:00
Rohit Yadav 7dcc6540e7 Merge pull request #1121 from shapeblue/4.6-cloudstack-9083
[4.6] CLOUDSTACK-9083: Add disk serial to kvm virt xmlAdds disk serial ids based on volume uuids to the virt xml. This may be useful
for appliances/software that needs some serial ids on the VM disks. This does not
impact existing/running VMs, the vm virt xmls will be updates for running VMs
the next time they are stopped/started.

For testing, disk serial (of debian based systemvm) in the virt xml matched that
in /sys/devices/pci0000:00:0000:00:07.0/virtio4/block/vda/serial.

We currently don't support scsi-blcok devices for which serial is not supported,
for this we've added a DeviceType (LUN) which may be used in future and a check
to not add the serial to the xml if disk type is LUN.
Refer: https://libvirt.org/formatdomain.html#elementsDisks

* pr/1121:
  CLOUDSTACK-9083: Add disk serial to kvm virt xml

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-30 15:10:31 +05:30
Daan Hoogland 20dcc25884 Merge pull request #834 from maneesha-p/CLOUDSTACK-8866
CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenanceThe frequency at which Cloudstack tries to migrate the VMs is currently controlled by the global parameter "restart.retry.interval" which has a default value of 600 seconds or 10 minutes.This has to be changed to use "migrate.retry.interval" which by default is 120 seconds or 2 minutes . Cloudstack uses restart.retry.interval for all operations-migrate,restart,stop,destroy.

* pr/834:
  CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenance

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-11-30 07:45:55 +01:00
Rajani Karuturi d6af6adbad CLOUDSTACK-9092: L10n fix in "Add LDAP Account page"
fixed two strings on the "Add LDAP Account page"
2015-11-30 11:21:17 +05:30
Remi Bergsma 7e64c12067 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9020: UI enhancements from metrics view
  CLOUDSTACK-9064: The users should be able to create multiple Guest Shared Networks in same Vlan ID, same Physical Network and same network, just with a different IP ranges.
  CLOUDSTACK-9078: Gave scripts executable permissions.
  CLOUDSTACK-9076: Changed ownership of directory /var/lib/cloudstack to cloud.
  Cannot list vlanipranges by keyword
2015-11-29 22:00:13 +01:00
Milamber 6d4722953f Update L10N resource files with 4.6 strings from Transifex (20151129) 2015-11-29 19:01:56 +00:00
Remi Bergsma 17eb420af7 Merge pull request #1085 from ustcweizhou/list-vlanipranges-by-keyword
[4.6] Cannot list vlanipranges by keywordBefore change:

cloudmonkey> list vlanipranges  keyword=118
: Caught: com.mysql.jdbc.JDBC4PreparedStatement@18f36b6e: SELECT vlan.id, vlan.vlan_id, vlan.vlan_gateway, vlan.vlan_netmask, vlan.ip6_gateway, vlan.ip6_cidr, vlan.data_center_id, vlan.description, vlan.ip6_range, vlan.network_id, vlan.physical_network_id, vlan.vlan_type, vlan.uuid, vlan.removed, vlan.created FROM vlan WHERE  ( OR vlan.description LIKE ** NOT SPECIFIED ** )  AND vlan.removed IS NULL  ORDER BY vlan.id ASC  LIMIT 0, 500

After change:

cloudmonkey> list vlanipranges  keyword='118'
count = 1
vlaniprange:
id = 0d80fd9c-cd6b-4f99-96c6-261420e75f58
account = system
domain = ROOT
domainid = 2044762d-c4a5-11e3-8379-005056ac4490
......

* pr/1085:
  Cannot list vlanipranges by keyword

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 19:28:01 +01:00
Remi Bergsma fe0dc3fac7 Merge pull request #1116 from shapeblue/4.6-9064
CLOUDSTACK-9064: The users should be able to create multiple Guest Shhttps://issues.apache.org/jira/browse/CLOUDSTACK-9064

CLOUDSTACK-9064: The users should be able to create multiple Guest Shared Networks in same Vlan ID, same Physical Network and same network, just with a different IP ranges.

* pr/1116:
  CLOUDSTACK-9064: The users should be able to create multiple Guest Shared Networks in same Vlan ID, same Physical Network and same network, just with a different IP ranges.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 19:20:44 +01:00
Remi Bergsma a44e0b7309 Merge pull request #1105 from borisroman/packagingIssues
Debian/Ubuntu packaging issuesSee individual issues. I've installed the management server with and without the fix. See difference bellow.

Before:
```
root@acs46:~# ls -la /var/lib/cloudstack
total 16
drwxr-xr-x  4 root root  4096 Nov 23 00:20 .
drwxr-xr-x 46 root root  4096 Nov 23 00:21 ..
drwxrwx---  2 root cloud 4096 Nov 17 01:15 management
drwxr-xr-x  2 root root  4096 Nov 17 01:15 mnt
```
```
root@acs46:~# ls -la /usr/share/cloudstack-management/webapps/client/WEB-INF/classes/scripts/storage/secondary/
total 152
drwxr-xr-x 2 root root  4096 Nov 23 00:20 .
drwxr-xr-x 4 root root  4096 Nov 23 00:20 ..
-rw-r--r-- 1 root root 10092 Nov 17 01:15 cloud-install-sys-tmplt
-rw-r--r-- 1 root root 10591 Nov 17 01:15 cloud-install-sys-tmplt.py
-rw-r--r-- 1 root root 11254 Nov 23 00:20 cloud-install-sys-tmplt.pyc
-rw-r--r-- 1 root root  2362 Nov 17 01:15 create_privatetemplate_from_snapshot_xen.sh
-rw-r--r-- 1 root root  5446 Nov 17 01:15 createtmplt.sh
-rw-r--r-- 1 root root  5388 Nov 17 01:15 createvolume.sh
-rw-r--r-- 1 root root  2532 Nov 17 01:15 installIso.sh
-rw-r--r-- 1 root root  1622 Nov 17 01:15 listvmtmplt.sh
-rw-r--r-- 1 root root  1621 Nov 17 01:15 listvolume.sh
-rw-r--r-- 1 root root 75712 Nov 17 01:15 swift
```

After:
```
root@acs46:~# ls -la /var/lib/cloudstack
total 16
drwxr-xr-x  4 cloud cloud 4096 Nov 23 00:51 .
drwxr-xr-x 46 root  root  4096 Nov 23 00:53 ..
drwxrwx---  2 cloud cloud 4096 Nov 23 00:33 management
drwxr-xr-x  2 cloud cloud 4096 Nov 23 00:33 mnt
```
```
root@acs46:~# ls -la /usr/share/cloudstack-management/webapps/client/WEB-INF/classes/scripts/storage/secondary/
total 152
drwxr-xr-x 2 root root  4096 Nov 23 00:53 .
drwxr-xr-x 4 root root  4096 Nov 23 00:53 ..
-rwxr-xr-x 1 root root 10092 Nov 23 00:33 cloud-install-sys-tmplt
-rwxr-xr-x 1 root root 10591 Nov 23 00:33 cloud-install-sys-tmplt.py
-rwxr-xr-x 1 root root 11254 Nov 23 00:53 cloud-install-sys-tmplt.pyc
-rwxr-xr-x 1 root root  2362 Nov 23 00:33 create_privatetemplate_from_snapshot_xen.sh
-rwxr-xr-x 1 root root  5446 Nov 23 00:33 createtmplt.sh
-rwxr-xr-x 1 root root  5388 Nov 23 00:33 createvolume.sh
-rwxr-xr-x 1 root root  2532 Nov 23 00:33 installIso.sh
-rwxr-xr-x 1 root root  1622 Nov 23 00:33 listvmtmplt.sh
-rwxr-xr-x 1 root root  1621 Nov 23 00:33 listvolume.sh
-rwxr-xr-x 1 root root 75712 Nov 23 00:33 swift
```

* pr/1105:
  CLOUDSTACK-9078: Gave scripts executable permissions.
  CLOUDSTACK-9076: Changed ownership of directory /var/lib/cloudstack to cloud.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:41:36 +01:00
Remi Bergsma a1d2c531f6 Merge pull request #1007 from ustcweizhou/dedicated-ip-for-domain
[4.7] CLOUDSTACK-8958: add dedicated ips to domain (account for now)For now, we dedicate ip pool to account, however, other accounts in the same domain cannot fetch the ip from this ip pool.
By dedicating ip pool to domain, accounts in the domain can fetch the public ip from same ip pool.

* pr/1007:
  CLOUDSTACK-8958: throw an exception if project account cannot be found
  CLOUDSTACK-8958: add dedicated ips to domain (account for now)

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:39:25 +01:00
Remi Bergsma 9710046fb9 Merge pull request #1100 from rafaelweingartner/master-lrg-cs-hackday-005
Removal of DefaultUserAuthenticator empty class.The DefaultUserAuthenticator is an empty class, extending from the
AdapterBase and implementing the UserAuthenticator interface. The class
is not being used as a marker and it's sole use is to be extended by
other UserAuthenticators. Noticing that the class had no purpose, I
removed it and made it's children extend from it's superclass and
implement it's interface instead. Also, I removed the @Local tags from
those classes, since EJB is not used anymore.

* pr/1100:
  Removal of DefaultUserAuthenticator empty class

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:15:50 +01:00
Remi Bergsma 59d6fdf51e Merge pull request #1137 from DaanHoogland/rats
Forgotten license added

* pr/1137:
  rats

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:11:11 +01:00
Remi Bergsma f823d06dd9 Merge pull request #1118 from karuturi/CLOUDSTACK-9081
CLOUDSTACK-9081 Migration of vm across clusters fails in clustered MS setupStorage motion of vm across clusters/xenserver-pools fails in a
clustered management server setup. In xen storage motion we have to send
a migrate_receive command to the destination host, followed by
migrate_send command to the source host. The sr and network detials of
the destination host have to be passed in migrate_send command on the
source. While migrating across clusters the source and destination
resources are seperate objects. To pass this information across
resources we have to send seperate migrate with storage receive and send
commands to the resource. In a clustered ms setup these commands may
have to be forwarded to another ms as the resource may be owned by it.
The serilization of the command and answer objects fails in such case as
it doesn't understand the xapi sr and network objects. Made a change to
serialize these objects in the resource layer and pass the around as
strings in the command and answer objects.
Reviewed-By: @likitha
Author: @devdeep
Tested-By: @sailajamada

* pr/1118:
  CLOUDSTACK-9081 Migration of vm across clusters fails in clustered MS setup

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:09:03 +01:00
Patrick Dube 091bb79669 CLOUDSTACK-6276 Removing unused parameter in integration test for projects 2015-11-28 20:46:24 -05:00
Patrick Dube a1db428e08 CLOUDSTACK-6276 Removing unused parameter in integration test 2015-11-28 20:44:56 -05:00
Rohit Yadav e4e685b291 Merge pull request #1119 from shapeblue/master-instancesjsfix
[master] ui: Fix undefined check in instances.js, regression from 459d638(fix is already included in the https://github.com/apache/cloudstack/pull/1106 for 4.6 as well)

* pr/1119:
  ui: Fix undefined check in instances.js, regression from 459d638

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-29 02:54:24 +05:30
pedro-martins d01cdb1979 created tests cases for method "citrixResourceBase.getPatchFiles"
we also changed the name of those test classes, the change was basically
remove the “Path” word from the name of classes.

change the private method
com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.getPatchFiles
to protected

added new class in test cases
2015-11-28 19:06:04 -02:00
Daan Hoogland 8a5fc16f32 rats 2015-11-28 21:20:07 +01:00
Remi Bergsma 39a4a9d196 Merge pull request #1129 from DaanHoogland/CID-1339965
CID-1339965 handle return value on failurecoverity reported this as new last week. It has been in the code for ever, i.e. since initial git commit. Minor issue, easy fix.

* pr/1129:
  CID-1339965 handle retrun value on failure

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-28 18:47:45 +01:00
Daan Hoogland 2733c38354 Merge pull request #1106 from shapeblue/4.6-uifixesmetrics
[4.6] CLOUDSTACK-9020: UI enhancements from metrics view- Sortable columns
- Logos with cloudmonkey
- Wider UI
- CSS fixes and new status icons
- Configurable UI list api requests page size
- IP address column on instances page
- Listview widget enhancements

cc @remibergsma @karuturi

* pr/1106:
  CLOUDSTACK-9020: UI enhancements from metrics view

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-11-28 17:47:31 +01:00
weingartner 49f5a6b02e fixed references in async-job-component.xml for storage allocators 2015-11-28 14:35:21 -02:00