Commit Graph

28643 Commits

Author SHA1 Message Date
Joakim Sernbrant f413f69985 CLOUDSTACK-8993: DHCP fails with "no address available" when an IP is reused
Repopulate /etc/dhcphosts.txt to remove old entries with the same IP address.
2015-10-28 15:05:59 +01:00
Remi Bergsma 88dd3009d8 Merge pull request #980 from borisroman/CLOUDSTACK-8992
[4.6] CLOUDSTACK-8992 Allow 32 disks to be attached to a KVM VM.Tested manually.

Added 32 disks to a VM, booted the VM, formatted all disks and mounted them all. Also created volume group and wrote all disks full. Also checked UI for glitches, which weren't present.

![2015-10-26-140843_423x583_scrot](https://cloud.githubusercontent.com/assets/5996146/10730545/ee9ae862-7bf0-11e5-94c1-f43341a84d2b.png)
![2015-10-26-140930_505x320_scrot](https://cloud.githubusercontent.com/assets/5996146/10730552/fd20887e-7bf0-11e5-9351-fbe38289b7f0.png)
![2015-10-26-140950_645x122_scrot](https://cloud.githubusercontent.com/assets/5996146/10730554/fe7aad94-7bf0-11e5-8546-d4b6f8279f3d.png)
![screenshot from 2015-10-26 14 52 35](https://cloud.githubusercontent.com/assets/5996146/10730591/378ebe7c-7bf1-11e5-90b8-8ce3f395279e.png)

* pr/980:
  CLOUDSTACK-8992 Allow 32 disks to be attached to a KVM VM.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 12:04:04 +01:00
Remi Bergsma f8e40ad43f Merge pull request #918 from ustcweizhou/NPE-storage-migration
CLOUDSTACK-8941: fix NPE when migrate vm to other zone-wide pools the second timeThis is because the pod_id is set to NULL at the first time when I migrate the instance to a zone-wide pool (not cluster-wide).

* pr/918:
  CLOUDSTACK-8941: fix NPE when migrate vm to other zone-wide pools the second time

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:56:22 +01:00
Remi Bergsma d538e438e7 Merge pull request #978 from ustcweizhou/startvm-specific-host
CLOUDSTACK-8990: start a stopped machine on a specific determinable host on UI

* pr/978:
  CLOUDSTACK-8990: start a stopped machine on a specific determinable host on UI

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:53:58 +01:00
Remi Bergsma bde75b49c3 Merge pull request #979 from borisroman/CLOUDSTACK-8989
[4.6] CLOUDSTACK-8989 test_ps_limits.py tests can also be run on a "basic" setup.The tests in the test_ps_limits.py file can all be run on a "basic" setup. This PR adds that functionality.

```
nosetests --with-marvin --marvin-config=/data/shared/marvin/mct-zone1-kvm1-basic.cfg -s -a tags=basic,required_hardware=false smoke/test_vm_life_cycle.py
```
```
==== Marvin Init Started ====

=== Marvin Parse Config Successful ===

=== Marvin Setting TestData Successful===

==== Log Folder Path: /tmp//MarvinLogs//Oct_26_2015_09_55_20_4UDZRZ. All logs will be available here ====

=== Marvin Init Logging Successful===

==== Marvin Init Successful ====
=== TestName: test_deploy_vm | Status : SUCCESS ===

=== TestName: test_deploy_vm_multiple | Status : SUCCESS ===

=== TestName: test_01_stop_vm | Status : SUCCESS ===

=== TestName: test_02_start_vm | Status : SUCCESS ===

=== TestName: test_03_reboot_vm | Status : SUCCESS ===

=== TestName: test_06_destroy_vm | Status : SUCCESS ===

=== TestName: test_07_restore_vm | Status : SUCCESS ===

=== TestName: test_09_expunge_vm | Status : SUCCESS ===

===final results are now copied to: /tmp//MarvinLogs/test_vm_life_cycle_2GU6K4===
```
```
nosetests --with-marvin --marvin-config=/data/shared/marvin/mct-zone1-kvm1-basic.cfg -s -a tags=basic,required_hardware=false component/test_ps_limits.py
```
```
==== Marvin Init Started ====

=== Marvin Parse Config Successful ===

=== Marvin Setting TestData Successful===

==== Log Folder Path: /tmp//MarvinLogs//Oct_26_2015_10_19_51_ZY3KD5. All logs will be available here ====

=== Marvin Init Logging Successful===

==== Marvin Init Successful ====
=== TestName: test_assign_vm_different_account_1_root_domain_admin | Status : SUCCESS ===

=== TestName: test_assign_vm_different_account_2_child_domain_admin | Status : SUCCESS ===

=== TestName: test_attach_detach_volume_1_root_domain_admin | Status : SUCCESS ===

=== TestName: test_attach_detach_volume_2_child_domain_admin | Status : SUCCESS ===

=== TestName: test_create_multiple_volumes_1_root_domain_admin | Status : SUCCESS ===

=== TestName: test_create_multiple_volumes_2_child_domain_admin | Status : SUCCESS ===

=== TestName: test_deploy_multiple_vm_1_root_domain_admin | Status : SUCCESS ===

=== TestName: test_deploy_multiple_vm_2_child_domain_admin | Status : SUCCESS ===

=== TestName: test_stop_start_vm_1_root_domain_admin | Status : SUCCESS ===

=== TestName: test_stop_start_vm_2_child_domain_admin | Status : SUCCESS ===

===final results are now copied to: /tmp//MarvinLogs/test_ps_limits_0E1HFP===
```

* pr/979:
  CLOUDSTACK-8989 test_ps_limits.py tests can also be run on a basic setup.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:49:41 +01:00
Remi Bergsma 39c825c2c5 Merge pull request #968 from mike-tutkowski/removed_column
CLOUDSTACK-8985: Deleted volume's removed column not updatedI found this issue when a SolidFire integration test yesterday wasn't able to delete primary storage because it claimed there were still volumes using the primary storage in question (this was due to the removed column not being updated appropriately).

I decided to go with a solution where the delete logic would pass in a volume ID to ignore when computing the used space of the primary storage in question.

* pr/968:
  CLOUDSTACK-8985: Deleted volume's removed column not updated

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:39:05 +01:00
Remi Bergsma 7d46b2ee56 Merge pull request #895 from SudharmaJain/cs-8911
CLOUDSTACK-8911: VM start job got stuck in loop looking for suitable host

VM instance creation job get stuck in the loop, when VMs require local storage there are host that reached max guest limit and remain hosts does have storage available.  This happens because the hosts that reach the max guest limit were not getting added to the avoid list and hence the cluster.

Verified the fix on my local setup.

Repro Steps:
1. Take an environment with single cluster and 2 hosts.
2. change the max guest limit for the hypervisor such that on one host max guest limit should reach.
3. change thresholds so that other host should not have enough storage. If required create a VM for sufficient bigger disk.
4. Now deploy a VM with local storage.
5. cluster will never be put in the avoid set and job will keep looking for suitable host.
6. once we increase the max guest limit, VM will deploy or will fail if there is a lack of storage.

* pr/895:
  CLOUDSTACK-8911: VM start job got stuck in loop looking for suitable host

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:29:32 +01:00
Mike Tutkowski 7d1dc97423 CLOUDSTACK-8985: Deleted volume's removed column not updated 2015-10-27 15:04:15 -06:00
Remi Bergsma 535ab51b9a Merge pull request #849 from karuturi/CLOUDSTACK-8816-take2
Cloudstack-8816 some of the events do not have resource uuidsThe key objects in the context map are sometimes String and sometimes object. This causes missing uuids when an entity put in the context map with key entity.toString is queried with key entity

Testing:
manually tested by deploying a vm and checked that the created events in rabbitmq now has uuids.
events before and after the change are update at https://issues.apache.org/jira/browse/CLOUDSTACK-8816?focusedCommentId=14805239

unittests
```
$ mvn -pl :cloud-api test -Dtest=CallContextTest
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.cloudstack.context.CallContextTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.152 sec - in org.apache.cloudstack.context.CallContextTest

Results :

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.445 s
[INFO] Finished at: 2015-09-18T14:58:53+05:30
[INFO] Final Memory: 55M/448M
[INFO] ------------------------------------------------------------------------
```

* pr/849:
  CLOUDSTACK-8816 added missing events
  CLOUDSTACK-8816: fixed missing resource uuid in delete network cmd
  CLOUDSTACK-8816: fixed missing resource uuid in destroy vm event
  Cloudstack-8816: Fixed missing resource uuid in delete snapshot events
  CLOUDSTACK-8816: some of the events do not have resource uuids
  CLOUDSTACK-8816: some of the events do not have resource uuids

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-27 19:26:44 +01:00
Boris Schrijver a24cbafb15 CLOUDSTACK-8989 test_ps_limits.py tests can also be run on a basic setup. 2015-10-27 14:30:58 +01:00
Rajani Karuturi fb4e6ed6ba Merge pull request #894 from sudhansu7/CLOUDSTACK-8917
CLOUDSTACK-8917 : Instance tab takes long time to load with 12K Vmsmodified sql that is used for retrieving vm count .

In load test environment listVirtualmachine takes 8-11 sec to load. This environment has around 12k active VMs. Total number of rows is 190K.

Performance bottleneck in listVirtualmachine command is fetching the count and distinct vms.
{noformat}
        // search vm details by ids
        Pair<List<UserVmJoinVO>, Integer> uniqueVmPair = _userVmJoinDao.searchAndCount(sc, searchFilter);
        Integer count = uniqueVmPair.second();
{noformat}

 This takes 95% of the total time.

To fetch the count and distinct vms we are using below sqls.

 Query 1:
{noformat}
SELECT DISTINCT(user_vm_view.id) FROM user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL  ORDER BY user_vm_view.id ASC  LIMIT 0, 20
 {noformat}

 Query 2:

select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL

Query 2 is a problematic query.

If we rewrite the query as mentioned below then it will be ~2x faster.

select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;

Mysql Test result:

With 134 active Vms (total rows 349)
mysql> select count(*) from vm_instance;
+----------+
| count(*) |
+----------+
|      349 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) from user_vm_view;
+----------+
| count(*) |
+----------+
|      135 |
+----------+
1 row in set (0.02 sec)
mysql> select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL;
+--------------------+
| count(distinct id) |
+--------------------+
|                134 |
+--------------------+
1 row in set (0.02 sec)

mysql> select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;
+----------+
| count(*) |
+----------+
|      134 |
+----------+
1 row in set (0.01 sec)

With 14326 active Vms (total rows 195660)

mysql> select count(*) from vm_instance;
+----------+
| count(*) |
+----------+
|   195660 |
+----------+
1 row in set (0.04 sec)
mysql> select count(*) from user_vm_view;
+----------+
| count(*) |
+----------+
|    41313 |
+----------+
1 row in set (4.55 sec)
mysql> select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL;
+--------------------+
| count(distinct id) |
+--------------------+
|              14326 |
+--------------------+
1 row in set (7.39 sec)

mysql> select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;
+----------+
| count(*) |
+----------+
|    14326 |
+----------+
1 row in set (2.08 sec)

UI test Results:
Before:
![screen shot 2015-09-28 at 2 19 55 pm](https://cloud.githubusercontent.com/assets/1062642/10133848/66af7c40-65fe-11e5-9ef5-ec6489c0fc06.png)

After
![screen shot 2015-09-28 at 2 33 38 pm](https://cloud.githubusercontent.com/assets/1062642/10133852/6f512c9a-65fe-11e5-9ea1-890cf84d02b4.png)

* pr/894:
  CLOUDSTACK-8917 : Instance tab takes long time to load with 12K active VM (total vms: 190K)

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-10-27 12:17:55 +05:30
Remi Bergsma 4fe56daf4b Merge pull request #860 from karuturi/CLOUDSTACK-8889
CLOUDSTACK-8889: delete volume doesnt decrement primary store resource countPrimary Storage count for an account does not decrease when a Data Disk
is deleted belonging to the account unless the VM to which volume
belonged is destroyed

The resource counts are updated even before the disk is actually deleted
resulting in the same value.
Moved the resource counts updation to after the expunge operation as
thats when the disk is actually deleted.

Testing:
 Earlier, test_create_multiple_volumes in test/integration/component/test_ps_limits.py failed  with error AssertionError: Resource count 37 should match with the expected resource count 32

Before

Test create multiple volumes ... === TestName: test_create_multiple_volumes_1_root_domain_admin | Status : FAILED ===
FAIL
Test create multiple volumes ... === TestName: test_create_multiple_volumes_2_child_domain_admin | Status : FAILED ===
FAIL

After the Fix

Test create multiple volumes ... === TestName: test_create_multiple_volumes_1_root_domain_admin | Status : SUCCESS ===
ok
Test create multiple volumes ... === TestName: test_create_multiple_volumes_2_child_domain_admin | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 2 tests in 334.823s

OK

* pr/860:
  CLOUDSTACK-8889: delete volume doesnt decrement primary store resource count

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-26 19:16:25 +01:00
Boris Schrijver 239227cceb CLOUDSTACK-8992 Allow 32 disks to be attached to a KVM VM. 2015-10-26 14:47:11 +01:00
Wei Zhou 6cced18fd6 CLOUDSTACK-8990: start a stopped machine on a specific determinable host on UI 2015-10-26 14:29:29 +01:00
Rajani Karuturi 29dfeac857 CLOUDSTACK-8889: delete volume doesnt decrement primary store resource count
Primary Storage count for an account does not decrease when a Data Disk
is deleted belonging to the account unless the VM to which volume
belonged is destroyed

The resource counts are updated even before the disk is actually deleted
resulting in the same value.
Moved the resource counts updation to after the expunge operation as
thats when the disk is actually deleted.

all the tests in test/integration/component/test_ps_limits.py now pass
2015-10-26 17:40:27 +05:30
Wei Zhou 1efcc19dbd CLOUDSTACK-8941: fix NPE when migrate vm to other zone-wide pools the second time 2015-10-26 07:29:59 +01:00
Remi Bergsma f241455a63 Merge pull request #954 from ustcweizhou/CLOUDSTACK-8964
CLOUDSTACK-8964: Can't create template or volume from snapshot on KVM

* pr/954:
  CLOUDSTACK-8964: Can't create template or volume from snapshot

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-26 06:31:23 +01:00
Remi Bergsma 0fd3919e8a Merge pull request #964 from snuf/Ovm3NetLabelFix
FIX: Ovm3 physical network traffic labels to work.The labeling was broken. Only labels assigned at zone creation
were used, changing labels was not working. Tested with changing
a label and checking it, labels at zone creation still works.

As a bonus fixed the consistency of KVM in Dutch compared to other
traffic labels in Dutch and copied in the OVM3 translated label
in other languages based on the other tarffic labels in those languages.

* pr/964:
  FIX: Ovm3 physical network traffic labels to work.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-26 06:08:43 +01:00
Rajani Karuturi 2c0af1f867 CLOUDSTACK-8816 added missing events
added missing events for createUser, updateUser, createAccount apis.
2015-10-26 09:15:33 +05:30
Rajani Karuturi 3ff7bf771d CLOUDSTACK-8816: fixed missing resource uuid in delete network cmd
*events before*
| management-server.AsyncJobEvent.submit.None.*
| cloudstack-events | 7             |
{"cmdInfo":"{\"id\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"edf0a16b-54cd-442e-b644-4af933f34229\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444805881664\",\"uuid\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1378\"}","instanceType":"None","jobId":"f7cbf481-49d0-423b-8661-5d3d678f4b96","status":"IN_PROGRESS","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 736           | string           | True        | |
management-server.AsyncJobEvent.complete.None.* | cloudstack-events | 6
|
{"cmdInfo":"{\"id\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"edf0a16b-54cd-442e-b644-4af933f34229\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444805881664\",\"uuid\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1378\"}","instanceType":"None","jobId":"f7cbf481-49d0-423b-8661-5d3d678f4b96","status":"FAILED","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"530","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","jobResult":"org.apache.cloudstack.api.response.ExceptionResponse/null/{\"uuidList\":[],\"errorcode\":530,\"errortext\":\"Failed
to delete
network\"}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 884           | string           | True        |

*events after*
|
management-server.AsyncJobEvent.submit.Network.5eccaece-a789-4b93-99c2-8b731ab6e328
| cloudstack-events | 1             |
{"cmdInfo":"{\"id\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"5eccaece-a789-4b93-99c2-8b731ab6e328\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444814151636\",\"uuid\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1424\"}","instanceType":"Network","instanceUuid":"5eccaece-a789-4b93-99c2-8b731ab6e328","jobId":"d2cd4b27-acbd-4e56-867f-fe67ebde8261","status":"IN_PROGRESS","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 793           | string           | False       |
|
management-server.AsyncJobEvent.complete.Network.5eccaece-a789-4b93-99c2-8b731ab6e328
| cloudstack-events | 0             |
{"cmdInfo":"{\"id\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"5eccaece-a789-4b93-99c2-8b731ab6e328\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444814151636\",\"uuid\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1424\"}","instanceType":"Network","instanceUuid":"5eccaece-a789-4b93-99c2-8b731ab6e328","jobId":"d2cd4b27-acbd-4e56-867f-fe67ebde8261","status":"SUCCEEDED","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 880           | string           | False       |
2015-10-26 09:15:33 +05:30
Rajani Karuturi ec03473c23 CLOUDSTACK-8816: fixed missing resource uuid in destroy vm event
*event before*
| management-server.AsyncJobEvent.complete.VirtualMachine.*
| cloudstack-events | 2             |
{"cmdInfo":"{\"response\":\"json\",\"id\":\"ba45d114-9844-4123-8dc6-7ae46d10581a\",\"ctxDetails\":\"{\\\"interface
com.cloud.vm.VirtualMachine\\\":\\\"ba45d114-9844-4123-8dc6-7ae46d10581a\\\"}\",\"cmdEventType\":\"VM.DESTROY\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444812001047\",\"uuid\":\"ba45d114-9844-4123-8dc6-7ae46d10581a\",\"ctxAccountId\":\"2\",\"expunge\":\"true\",\"ctxStartEventId\":\"1395\"}","instanceType":"VirtualMachine","jobId":"b46faa05-7b3a-4dbf-a78d-fbc7c66c3ce3","status":"SUCCEEDED","processStatus":"0","commandEventType":"VM.DESTROY","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.vm.DestroyVMCmdByAdmin","jobResult":"org.apache.cloudstack.api.response.UserVmResponse/null/{\"securitygroup\":[],\"nic\":[],\"tags\":[],\"affinitygroup\":[]}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 894           | string           | True        |

*event after*
|
management-server.AsyncJobEvent.complete.VirtualMachine.22e3bf71-91c8-4b18-a57e-af02d79dbb58
| cloudstack-events | 0             |
{"cmdInfo":"{\"response\":\"json\",\"id\":\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\",\"ctxDetails\":\"{\\\"interface
com.cloud.vm.VirtualMachine\\\":\\\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\\\"}\",\"cmdEventType\":\"VM.DESTROY\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444813240169\",\"uuid\":\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\",\"ctxAccountId\":\"2\",\"expunge\":\"true\",\"ctxStartEventId\":\"1418\"}","instanceType":"VirtualMachine","instanceUuid":"22e3bf71-91c8-4b18-a57e-af02d79dbb58","jobId":"256ca2e7-de05-4b33-b32a-aa8567f05160","status":"SUCCEEDED","processStatus":"0","commandEventType":"VM.DESTROY","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.vm.DestroyVMCmdByAdmin","jobResult":"org.apache.cloudstack.api.response.UserVmResponse/null/{\"securitygroup\":[],\"nic\":[],\"tags\":[],\"affinitygroup\":[]}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 948           | string           | False       |
2015-10-26 09:15:32 +05:30
Rajani Karuturi 04554ddd24 Cloudstack-8816: Fixed missing resource uuid in delete snapshot events
*event before*

| management-server.AsyncJobEvent.complete.Snapshot.*
| cloudstack-events | 26            |
{"cmdInfo":"{\"id\":\"2ebabd8f-0b34-4461-8071-0917c231ca49\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.storage.Snapshot\\\":\\\"2ebabd8f-0b34-4461-8071-0917c231ca49\\\"}\",\"cmdEventType\":\"SNAPSHOT.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444803845320\",\"uuid\":\"2ebabd8f-0b34-4461-8071-0917c231ca49\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1345\"}","instanceType":"Snapshot","jobId":"fab1feaf-3b4f-4158-b332-a78e43fee5e0","status":"SUCCEEDED","processStatus":"0","commandEventType":"SNAPSHOT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}

*After*

|
management-server.AsyncJobEvent.complete.Snapshot.f25ad748-2fe3-4911-b40c-4698425c8a2f
| cloudstack-events | 0             |
{"cmdInfo":"{\"id\":\"f25ad748-2fe3-4911-b40c-4698425c8a2f\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.storage.Snapshot\\\":\\\"f25ad748-2fe3-4911-b40c-4698425c8a2f\\\"}\",\"cmdEventType\":\"SNAPSHOT.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444806612980\",\"uuid\":\"f25ad748-2fe3-4911-b40c-4698425c8a2f\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1388\"}","instanceType":"Snapshot","instanceUuid":"f25ad748-2fe3-4911-b40c-4698425c8a2f","jobId":"69849909-9082-481c-b8ee-9ddc1608fe8d","status":"SUCCEEDED","processStatus":"0","commandEventType":"SNAPSHOT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 886           | string           | True        |
2015-10-26 09:15:32 +05:30
Rajani Karuturi 242b87dbfb CLOUDSTACK-8816: some of the events do not have resource uuids
uuid is missing in the first event of VM create as the entity is just
created and never put in the Context.
Added the entity uuid to context on successful creation.
2015-10-26 09:15:32 +05:30
Rajani Karuturi 863931a992 CLOUDSTACK-8816: some of the events do not have resource uuids
the key for an entity is sometimes an object a String with value
object.toString() due to serialization and deserialization of them.
Addressed this in the getter of CallContext to check for key.toString
if an object is not found with key.
2015-10-26 09:15:31 +05:30
Remi Bergsma 7d73e9bfaf Merge pull request #976 from ustcweizhou/CLOUDSTACK-8964-removed-volume
CLOUDSTACK-8964: Can't create volume from snapshot of a removed volumeThis issue happens on KVM as well.
This is because the volume info is missing in the CopyCommand once the volume has been removed.
When the KVM agent tries to process the command, it will throws a NPE.

* pr/976:
  CLOUDSTACK-8964: Can't create volume from snapshot of a removed volume

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-25 21:25:44 +01:00
Remi Bergsma b69dff7905 Merge pull request #973 from DaanHoogland/interfacePatternCheck
CLOUDSTACK-8838 Interface pattern checkthsi closes #812 and #966 as well

* pr/973:
  unit test for interface patterns in libvirt compute resource
  Added support for KVM teamd devices to LibvirtComputingResource.java.  This will allow users to utilze teamd nic teaming devices named team*.
  CLOUDSTACK-8838: Allow ensX enoX enpX enxX format for nics in CentOS 7

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-25 21:02:57 +01:00
Remi Bergsma 8a09f88d7f Merge pull request #971 from michaelandersen/fix/loadbalancer-test
smoke/test_internal_lb.py:  Fix template not ready errorAdd wait for template download
Refactored template section of services
Added some extra logging in the setup phase

* pr/971:
  Add wait for template download Refactored template section of services

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-25 18:31:53 +01:00
Remi Bergsma 3d2b6f7434 Merge pull request #822 from DaanHoogland/CID-1324349
CID 1324349: conditionally return -1 or the dc id for the volume

* pr/822:
  CID 1324349: conditionally return -1 or the dc id for the volume

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 20:21:44 +02:00
Remi Bergsma 29d42c7174 Merge pull request #961 from K0zka/CLOUDSTACK-8977
CLOUDSTACK-8977: remove session creation from index.jspSigned-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>

* pr/961:
  CLOUDSTACK-8977: remove session creation from index.jsp

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 14:02:07 +02:00
Daan Hoogland 24500bd0e4 CID 1324349: conditionally return -1 or the dc id for the volume 2015-10-24 14:01:38 +02:00
Remi Bergsma 5cacd99570 Merge pull request #972 from miguelaferreira/test_isolate_network_FW_PF_default_routes
Fix error message in test_isolate_network_FW_PF_default_routesWhile running test_isolate_network_FW_PF_default_routes it is expected
that SSH'ing into a VM does not work immediately. However, when it fails
(as expected) witht he follwoing error

      ====Trying SSH Connection: Host:192.168.23.12 Uer:root
    Port:22 RetryCnt:1===
      Traceback (most recent call last):
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/marvin/sshClient.py", line 121, in createConnection timeout=self.timeout)
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in connect retry_on_signal(lambda: sock.connect(addr))
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/util.py", line 270, in retry_on_signal return function()
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in <lambda> retry_on_signal(lambda: sock.connect(addr))
        File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args)
      error: [Errno 113] No route to host

it would try to print a message that generates a actual error:

```
  DEBUG: ====Trying SSH Connection: Host:192.168.23.12 User:root
Port:22 RetryCnt:0===
  test_isolate_network_FW_PF_default_routes
(integration.component.test_routers_network_ops.TestIsolatedNetworks):
CRITICAL: EXCEPTION: test_isolate_network_FW_PF_default_routes:
    Traceback (most recent call last):,
      File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()',
      File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/test/integration/component/test_routers_network_ops.py", line 448, in test_isolate_network_FW_PF_default_routes self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress)),
      "AttributeError: 'unicode' object has no attribute 'ipaddress'"
```

* pr/972:
  Fix error message in test_isolate_network_FW_PF_default_routes

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 09:49:53 +02:00
Remi Bergsma b1c7d4b20d Merge pull request #967 from ekholabs/fix/cleanup-CLOUDSTACK-8935
CLOUDSTACK-8935 - Cannot remove [r]VPC networks due to RTNETLINK errorThis PR fixes the "sequence item 0: expected string, NoneType found" error found in the CsDhcp.py file when attempting to remo a network from a VPC.

* pr/967:
  CLOUDSTACK-8935 - Filter the DNS list because it might contain 1 None entry which breaks the code.
  CLOUDSTACK-8935 - Clean up network resources in the right order
  CLOUDSTACK-8935 - Do not retry 60 times when we expect the SSH to fail
  CLOUDSTACK-8935 - Check if the key is available in the dictionary
  CLOUDSTACK-8935 - Add a check to avoid exception related to None value

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 09:14:56 +02:00
Daan Hoogland 5a134a6fe6 unit test for interface patterns in libvirt compute resource 2015-10-24 00:57:01 +02:00
Wei Zhou bef92052ee CLOUDSTACK-8964: Can't create volume from snapshot of a removed volume
This issue happens on KVM as well.
This is because the volume info is missing in the CopyCommand once the volume has been removed.
When the KVM agent tries to process the command, it will throws a NPE.
2015-10-23 22:02:59 +02:00
Wei Zhou ccf5d75cfb CLOUDSTACK-8964: Can't create template or volume from snapshot
This issue happens on KVM.
Normally the SSVM will process the CopyCommand from snapshot to template.
However, Ovm3HypervisorGuru chooses a KVM hypervisor to process the CopyCommand.
This is obviously wrong.
2015-10-23 22:02:24 +02:00
Remi Bergsma ecc2e2f39d Merge pull request #965 from DaanHoogland/CLOUDSTACK-8981
CLOUDSTACK-8981 coded a more obscure host and clear failure message test fails when port is reachable so prevent it as much as possible
 making sure that all kinds of weird developers can work with it

* pr/965:
  CLOUDSTACK-8981 coded a more obscure host and clear failure message  test fails when port is reachable so prevent it as much as possible  making sure that all kinds of weird developers can work with it

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-23 20:19:03 +02:00
Daan Hoogland f1ea27ed37 Merge branch 'pr/966' into interfacePatternCheck 2015-10-23 17:10:03 +02:00
Daan Hoogland fea976a694 Merge branch 'pr/812' into interfacePatternCheck 2015-10-23 17:07:34 +02:00
Miguel Ferreira c59de915c6 Fix error message in test_isolate_network_FW_PF_default_routes
While running test_isolate_network_FW_PF_default_routes it is expected
that SSH'ing into a VM does not work immediately. However, when it fails
(as expected) witht he follwoing error

      ====Trying SSH Connection: Host:192.168.23.12 Uer:root
    Port:22 RetryCnt:1===
      Traceback (most recent call last):
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/marvin/sshClient.py", line 121, in createConnection timeout=self.timeout)
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in connect retry_on_signal(lambda: sock.connect(addr))
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/util.py", line 270, in retry_on_signal return function()
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in <lambda> retry_on_signal(lambda: sock.connect(addr))
        File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args)
      error: [Errno 113] No route to host

it would try to print a message that generates a actual error:

  DEBUG: ====Trying SSH Connection: Host:192.168.23.12 User:root
Port:22 RetryCnt:0===
  test_isolate_network_FW_PF_default_routes
(integration.component.test_routers_network_ops.TestIsolatedNetworks):
CRITICAL: EXCEPTION: test_isolate_network_FW_PF_default_routes:
    Traceback (most recent call last):,
      File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()',
      File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/test/integration/component/test_routers_network_ops.py", line 448, in test_isolate_network_FW_PF_default_routes self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress)),
      "AttributeError: 'unicode' object has no attribute 'ipaddress'"
2015-10-23 17:01:07 +02:00
Wilder Rodrigues a01720b25b CLOUDSTACK-8935 - Filter the DNS list because it might contain 1 None entry which breaks the code. 2015-10-23 16:45:36 +02:00
Wilder Rodrigues 3ead9d7229 CLOUDSTACK-8935 - Clean up network resources in the right order 2015-10-23 16:00:09 +02:00
Wilder Rodrigues 3eb6ba0699 CLOUDSTACK-8935 - Do not retry 60 times when we expect the SSH to fail 2015-10-23 15:59:03 +02:00
Remi Bergsma fb0871bdca Merge pull request #936 from ustcweizhou/agent-name
Add agent name in received responseBefore change:

2015-10-15 12:55:34,268 DEBUG [c.c.a.t.Request] (RouterStatusMonitor-1:ctx-d2b917a4) Seq 20-2693152577167557361: Sending  { Cmd , MgmtId: 345051313197, via: 20(KVM015), Ver: v1, Flags: 100011, [{"com.cloud.agent.api.routing.GetRouterAlertsCommand":{"previousAlertTimeStamp":"1970-01-01 00:00:00","accessDetails":{"router.ip":"169.254.3.13"},"wait":0}}] }
2015-10-15 12:55:34,416 DEBUG [c.c.a.t.Request] (AgentManager-Handler-7:null) Seq 20-2693152577167557361: Processing:  { Ans: , MgmtId: 345051313197, via: 20, Ver: v1, Flags: 10, [{"com.cloud.agent.api.GetRouterAlertsAnswer":{"result":true,"wait":0}}] }
2015-10-15 12:55:34,416 DEBUG [c.c.a.t.Request] (RouterStatusMonitor-1:ctx-d2b917a4) Seq 20-2693152577167557361: Received:  { Ans: , MgmtId: 345051313197, via: 20, Ver: v1, Flags: 10, { GetRouterAlertsAnswer } }

After change:

2015-10-15 13:31:04,562 DEBUG [c.c.a.t.Request] (RouterStatusMonitor-1:ctx-cf9a7691) Seq 22-6444651066767179831: Sending  { Cmd , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags: 100011, [{"com.cloud.agent.api.routing.GetRouterAlertsCommand":{"previousAlertTimeStamp":"1970-01-01 00:00:00","accessDetails":{"router.ip":"169.254.3.89"},"wait":0}}] }
2015-10-15 13:31:04,676 DEBUG [c.c.a.t.Request] (AgentManager-Handler-4:null) Seq 22-6444651066767179831: Processing:  { Ans: , MgmtId: 345051313197, via: 22, Ver: v1, Flags: 10, [{"com.cloud.agent.api.GetRouterAlertsAnswer":{"result":true,"wait":0}}] }
2015-10-15 13:31:04,677 DEBUG [c.c.a.t.Request] (RouterStatusMonitor-1:ctx-cf9a7691) Seq 22-6444651066767179831: Received:  { Ans: , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags: 10, { GetRouterAlertsAnswer } }

* pr/936:
  Modify description of startvm in DeployVMCmd
  Add agent name in received response

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-23 15:53:42 +02:00
Michael Andersen b95c8200e2 Add wait for template download
Refactored template section of services
2015-10-23 15:23:53 +02:00
Remi Bergsma 2b34df0da4 Merge pull request #799 from sudhansu7/CLOUDSTACK-8815
CLOUDSTACK-8815 : Issues with cloudstack-management init script

When a management server is halted or rebooted, the cloudstack-management init script does not successfully kill the associated java process. There will always be an error about "Cannot find PID file". The script should be reworked so that there are no errors and java is killed correctly.

This appears to be due to the script using the basename of the script:

NAME="$(basename $0)"

To look for the pid file:

if [ -f /var/run/$
{NAME}

.pid ]; then

This does work correctly if the script is run directly (basename will be "cloudstack-management", so "cloudstack-management.pid" file is found). However when a server is halted or rebooted, the script is not run directly but via the symlinks in /etc/rc.d/rc0.d/ and /etc/rc.d/rc0.d/, respectively. The symlinks are named "K20cloudstack-management" so the script looks for a pid file named "K20cloudstack-management.pid" which does not exist.

screenshots:

Before fix:
![screen shot 2015-09-10 at 12 33 08 am](https://cloud.githubusercontent.com/assets/1062642/9791113/207412f0-57f7-11e5-8d21-b7ef383747bd.png)

After fix:
![screen shot 2015-09-10 at 5 46 50 pm](https://cloud.githubusercontent.com/assets/1062642/9791136/31c9ca90-57f7-11e5-98c5-9ad18f25788b.png)

* pr/799:
  CLOUDSTACK-8815 : Issues with cloudstack-management init script

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-23 13:57:11 +02:00
Remi Bergsma e15e1f6aca Merge pull request #963 from ustcweizhou/centos7-kvm
CLOUDSTACK-8979: add virtio support for CentOS/RHEL 7 on KVM@borisroman @NuxRo could you test it?

* pr/963:
  CLOUDSTACK-8979: add virtio support for CentOS/RHEL 7 on KVM

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-23 13:33:34 +02:00
Wei Zhou 6960b68443 CLOUDSTACK-8979: add virtio support for CentOS/RHEL 7 on KVM 2015-10-23 11:53:43 +02:00
David Mabry e1a401c023 Added support for KVM teamd devices to LibvirtComputingResource.java. This will allow users to utilze teamd nic teaming devices named team*. 2015-10-22 10:19:50 -05:00
Daan Hoogland d0a1820394 CLOUDSTACK-8981 coded a more obscure host and clear failure message
test fails when port is reachable so prevent it as much as possible
 making sure that all kinds of weird developers can work with it
2015-10-22 15:35:50 +02:00
Wilder Rodrigues 5ca32dfc82 CLOUDSTACK-8935 - Check if the key is available in the dictionary
- This will fix the cleanup problems.
2015-10-22 14:52:07 +02:00