28665 Commits

Author SHA1 Message Date
Nitin Kumar Maharana
e8c4b2b44b CLOUDSTACK-8919: Slow UI response while loading the list of networks in network tab.
Instead of searching for each network, now it is searching for each zone.
For basic zone, it will show the security group directly because by default securitygroupsenabled is true.
For advanced zone, check the securitygroupsenabled option in each zone. If any one has value true, then show.
2015-10-30 15:11:02 +05:30
Remi Bergsma
930ef8dc7b Merge pull request #879 from pdube/CLOUDSTACK-8793
CLOUDSTACK-8793 Enable s2s VPN connection for projects

* pr/879:
  CLOUDSTACK-8793 Added project id to create vpn customer gateway, and to the impl of list vpn connections and list vpn customer gateways

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-30 08:35:06 +01:00
Remi Bergsma
c03956ebec Merge pull request #848 from iwebhosting/lbprotocol
Pass LbProtocol down to the HAProxyConfiguratorThis will let us specify a new load balancer protocol (tcp-proxy) which enables HAProxy's `send-proxy` functionality.

`send-proxy` / [the PROXY protocol][1] will send the real connection origin IP through to the servers behind HAProxy, without requiring any protocol specific changes (such as HTTP header rewriting).

[1]: http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt

This is also inline with what [Amazon ELB now supports][2].

[2]: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-protocol.html

* pr/848:
  Pass LbProtocol down to the HAProxyConfigurator

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 20:15:20 +01:00
Remi Bergsma
093cccfce2 Merge pull request #945 from nitin-maharana/CloudStack-Nitin11
CLOUDSTACK-8962: Dedicated cluster is used for virtual routers that belong to non-dedicated account
Earlier the deployment planner was not handling the case of virtual routers.(In Explicit Dedication)
It was only handling for all instance VMs/user VMs.
Added code for checking the case of Virtual Routers.

* pr/945:
  CLOUDSTACK-8962: Dedicated cluster is used for virtual routers that belong to non-dedicated account

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 20:10:31 +01:00
Remi Bergsma
d8f9c235e9 Merge pull request #1002 from ekholabs/test/dhcphosts-CLOUDSTACK-9007
CLOUDSTACK-9007 - Write test to check that the /etc/dhcphosts.txt doesn't contain duplicate IPsThis PR contains a test that will cover the fix on PR #981

The tests does the following:

* Creates account, service offering, network offering, network
* Deploys two virtual machines
  - Each machine with a pre-assigned IP
* Creates two FW and PF rules
* Checks that SSH into the VMs works
* Checks default routes from both VMs
* Checks that the /etc/dhcphosts.txt contains 1 entry per VM IP
* Destroys/Expunges 1 VM
* Creates a new VM with the same IP as the destroyed one
* Checks that the /etc/dhcphosts.txt contains 1 entry per VM IP

* pr/1002:
  CLOUDSTACK-9007 - Add test check that /etc/dhcphosts.txt doesn't contain duplicate IPs

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 19:55:24 +01:00
Remi Bergsma
c60a8a8056 Revert "Merge pull request #961 from K0zka/CLOUDSTACK-8977"
This reverts commit 29d42c7174f90bfeda91aa9ad9fca7deb985911b, reversing
changes made to 5cacd995700a915d239a45b23bd8ea8e5a4fca8f.
2015-10-29 19:11:19 +01:00
Remi Bergsma
323a2aaa2a Merge pull request #981 from serbaut/repopulate-dhcphost
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.

* pr/981:
  CLOUDSTACK-8993: DHCP fails with "no address available" when an IP is reused

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 15:56:54 +01:00
Remi Bergsma
73c6c6c96b Merge pull request #996 from karuturi/CLOUDSTACK-8984
[4.6] CLOUDSTACK-8984: VPC Network offerings tab missing from UIThis is a regression from commit af2f21894ce061faadc8cec29b901719303a29dc

added vpcofferings to the select list

Before the change (from the bug):
![offerings_46](https://cloud.githubusercontent.com/assets/186833/10781847/34ae9bc4-7d71-11e5-8159-b90422ef34f6.png)

After the change:
![screen shot 2015-10-28 at 12 32 59 pm](https://cloud.githubusercontent.com/assets/186833/10781850/3ef96500-7d71-11e5-84c5-34589ec10bf9.png)

* pr/996:
  CLOUDSTACK-8984: VPC Network offerings tab missing from UI

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 15:43:14 +01:00
Wilder Rodrigues
bf3c894fb9 CLOUDSTACK-9007 - Add test check that /etc/dhcphosts.txt doesn't contain duplicate IPs 2015-10-29 15:22:58 +01:00
Remi Bergsma
eabf11c99d Merge pull request #998 from ekholabs/fix/vr_passwd_server-CLOUDSTACK-8957
CLOUDSTACK-8957 - VR password server feature is brokenThis PR implements the update of the password as it use to be done with the bash file, but using the Python code for it.

A new integration test was added in order to cover the fix. The test can be found at component/test_password_server.py and does the following:

* Creates an Account
* Creates a Service Offering
* Creates a Network Offering
* Creates a Network
* Creates two Virtual Machines
* Creates two FW rules
* Creates two PF rules
* SSH into each VM and checks the default routes (by pinging 8.8.8.8)
* SSH to the host and executes a command in the router to check the password-[gateway] file
  - The file is under /var/cache/cloud/passwords-[gateway]

The [gateway] is replaced by the gateway from each virtual machine NIC.

* pr/998:
  CLOUDSTACK-8957 - Add integration test that cheks if the password file is present and not empty
  CLOUDSTACK-8957 - Implement password server in configure.py

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 09:34:54 +01:00
Wilder Rodrigues
097ef34b85 CLOUDSTACK-8957 - Add integration test that cheks if the password file is present and not empty 2015-10-29 07:14:51 +01:00
Wilder Rodrigues
b2aa1f8417 CLOUDSTACK-8957 - Implement password server in configure.py 2015-10-29 07:14:51 +01:00
Rajani Karuturi
d9f614cea2 CLOUDSTACK-8984: VPC Network offerings tab missing from UI
This is a regression from commit af2f21894ce061faadc8cec29b901719303a29dc

added vpcofferings to the select list
2015-10-29 09:21:16 +05:30
Remi Bergsma
1f6781babc Merge pull request #989 from ekholabs/fix/cleanup_vr_ips-CLOUDSTACK-8991
CLOUDSTACK-8991 - IP address is not removed from VR even after disabling static NATThis PR fixes the Public IP removal form the virtual routers. It also improves the existing test_network.py.

* pr/989:
  CLOUDSTACK-8991 - Process the IPs that have been removed
  CLOUDSTACK-8991 - Remove public IP form interface in case add = false
  CLOUDSTACK-8991 - Make sure the public IP is removed form the router before checking

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 22:24:40 +01:00
Wilder Rodrigues
7d40814ba1 CLOUDSTACK-8991 - Process the IPs that have been removed 2015-10-28 19:51:57 +01:00
Remi Bergsma
da9063e7df Merge pull request #991 from shapeblue/allow-pluggable-kvmresource-master
[master/4.6] CLOUDSTACK-8999: Don't override resource if provided by agent.propertiesIf a custom resource (kvm/libvirt implementation) is defined in agent.properties
don't override with the default, but check and fallback to the default if
resource property not defined

A simple if-else fix, cc @remibergsma @wido @wilderrodrigues @borisroman and others

* pr/991:
  CLOUDSTACK-8999: Don't override resource if provided by agent.properties

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 19:20:47 +01:00
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
Patrick Dube
110f66ff13 CLOUDSTACK-8793 Added project id to create vpn customer gateway, and to the impl of list vpn connections and list vpn customer gateways 2015-10-28 09:58:37 -04:00
Aaron Brady
cacac14425 Pass LbProtocol down to the HAProxyConfigurator 2015-10-28 13:42:51 +00: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
Rohit Yadav
1e8d39b12e CLOUDSTACK-8999: Don't override resource if provided by agent.properties
If a custom resource (kvm/libvirt implementation) is defined in agent.properties
don't override with the default, but check and fallback to the default if
resource property not defined

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 536a8b22c8865dc94281bce6267930a63e03ab77)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-10-28 10:56:36 +05:30
Mike Tutkowski
7d1dc97423 CLOUDSTACK-8985: Deleted volume's removed column not updated 2015-10-27 15:04:15 -06:00
Wilder Rodrigues
7197cf2e24 CLOUDSTACK-8991 - Remove public IP form interface in case add = false 2015-10-27 19:46:13 +01:00
Wilder Rodrigues
99318caa67 CLOUDSTACK-8991 - Make sure the public IP is removed form the router before checking
- Adding proper logger to the tests
   - Changing message that was copied/pasted from another assert
2015-10-27 19:45:34 +01: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