CLOUDSTACK-5122. [VMware] During upgrade from 4.1 system vms don't come up with 'ROOT-x-y VMDK file not found' exception.
During VM start, if VM already exists and CS finds a matching disk in storage for each of the existing disk then the VM is reconfigured with VM's existing disk information. This existing disk information for a VM is got from vCenter.
CS checks if a matching disk exists in storage by checking if there is a disk in storage whose name atleast partially matches with the name of the existing disk.
Post 4.1, Volume path has been changed to ROOT-<instanceId> from ROOT-<instanceId>-<volumeId>. Hence in case of an upgraded setup (pre 4.1 to 4.2) during search for an existing disk in storage even though ROOT-<instanceId>-<volumeId> has been deleted, CS does a postive match of the old existing disk because of the partial match with the new disk ROOT-<instanceId> that exists in storage. And so when VM is being powered on by vCenter it looks for ROOT-<instanceId>-<volumeId> and fails to power on.
Solution - While looking for a VM's matching disk in storage, instead of checking if a disk with a partial match exists check if a disk with the exact name exists.
CLOUDSTACK-4959: added the connection and socket timeout parameters for SMTP and sending message in new thread so that HA doesn't get blocked beacause of hang in sending email alert
CLOUDSTACK-5224: Add missing configuration for Netscaler, F5, SRX, and VNMC
CLOUDSTACK-4793: UI > Virtual Routers > Select View > group by zone > implement detailView of Zone, Total of Virtual Routers, Virtual Routers require upgrade.
CLOUDSTACK-4793: UI > Virtual Routers > Select View > group by zone > detailView > add action "upgrade all routers in this zone to use newer template".
CLOUDSTACK-5221:
In order to keep backward compatibility, listisos should return an empty response than an error when id of a removed iso is passed.
CLOUDSTACK-4793: UI > Virtual Routers > Select View > add "group by pod".
CLOUDSTACK-4793: UI > Virtual Routers > Select View > add "group by cluster".
CLOUDSTACK-4793: UI > Virtual Routers > Select View > group by cluster > detailView > add pod name, zone name.
CLOUDSTACK-4793: UI > Virtual Routers > remove Advanced Search since we now have Select View (group by zone/pod/cluster).
Resource metadata - fixed the bug in removeResourceDetail API - when "key" parameter was passed in, used to remove the details matching the key, for all the resources, not just the one defined by resource_id
Disable VR UI quickview, due to technical limitations
CLOUDSTACK-4913: Don't enable ebtables/iptables for non-security group zone
Revert "Disable VR UI quickview, due to technical limitations"

This reverts commit 9dd650aca753dc41995ce1ef209371d275bc598b.
Monitoring python script organized into more methods
Monitoring python script removed semicolon
CLOUDSTACK-5257: Fixed Network ACL issue related to Egress traffic

Signed-off-by: Girish Shilamkar <girish@clogeny.com>
Make sure that if the file does not exist an Exception is thrown and that once it exists it is also closed after the properties are loaded.

Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
CLOUDSTACK-5223: Fix hosttags.

Signed-off-by: Girish Shilamkar <girish@clogeny.com>
CLOUDSTACK-5162 Usage details are not getting populated when using dynamic offerings.

Signed-off-by: Koushik Das <koushik@apache.org>