Detail: Accounts can fail in cleanup/gc process due to inconsistent op_networks
table and null pointer in looking up account for event publishing.
BUG-ID: CLOUDSTACK-3957
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1375204815 -0600
sourceNAT service on it
if a portable ip is first IP associated with a non-VPC network, then its
being considered as source nat IP. This fix adds exemption for portable
IP not to be considred for source nat.
Add simultor to the seemingly strict filter which should happen within
the hypervisor resource and not the virtualmachine :/
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Implement the download url expiration functionality for templates. Also persist the template download urls after their creation
Signed off by : nitin mehta<nitin.mehta@citrix.com>
Marked the system template new system template as dynamicallyScalable
- handled upgrade case
- moved "dynamicallyScalable" flag to vm_instance table from user_vm_details to support dynamic scaling of system vm
Signed off by : Nitin Mehta<nitin.mehta@citrix.com>
CLOUDSTACK-3437 In case of multiple physical network setup we see log message "can't get physical network"
CloudStack's control network is management network in case of VMware.
Processing management VLAN id provided in zone traffic label for management traffic.`
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Changes:
- ListCapacity API was searching the capacities per zone, pod and cluster causing duplicates to end up in th result.
- Instead we should group by zone if zone and pod both are null. Group by pod if zone is provided but no pod. Or group by cluster when zone and pod both are provided.
This issue is reporducible if user adds a primary storage and quickly fires
listStoragePool API command without waiting for the responce of previous
createStoragePool API command. So during this period
(before receiving createStoragePool API resonce), the primary srorage is in
initialized status and the "scope" of storage is not set.
Some existing scenarios for root and data volume combination was not working. These are
a. Local root + Shared data
b. Shared root + Local data
Enabled these scenarios as part of this fix
Conflicts:
server/src/com/cloud/storage/VolumeManagerImpl.java
Removing memoryovercommitratio and cpuovercommitratio parameters from addCluster and updateCluster APIs,
since these can be configurable using updateConfiguration API at cluster level.
By default while creating cluster these values are taken from global configuration parameters.
Conflicts:
server/src/com/cloud/resource/ResourceManagerImpl.java
Alerts are generated for VM migration between:
1) Source host is dedicated and destination host is not.
2) Source host is not dedicated and destination host is dedicated.
3) Both hosts are dedicated to different accounts/domains
This reverts commit f99d599930.
Due to it break vpc function and block regression test.
Conflicts:
server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
server/test/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImplTest.java
The issue is that while calculating the used primary storage size, the updateResourceCount
API is also calculating the disk size of virtual router VM, created for that account and
because of this, the API is returning the incorrect result.
Changes:
- Passing the avoid set generated by the first pass of deployment to the second try.
- The second try is done, when the first pass that uses a reserved plan fails to deploy on the reserved host, to search over the entire zone again
The uuid->id of the affinity group created is not included as part of
the response. Included the uuid.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
This issue is happing because of the steps the code follow to cleanup the account.
The cleanupAccount was deleting the entries from the resource_limit and
resource_count table and performing further cleaning afterwards. Ideally, deletion
of entries from resourceLimit and resourceCount should be the last step in
cleanupAccount process.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 21b1c9449a)
Changes:
- Locking the group and save reservation mechanism done by DPM
- Added admin operation to cleanup VM reservations
- DPM will also cleanup VM reservations on startup
intact with portable IP
fix ensures that, on release of portable IP associated with 'EIP
enabled' basic zone vm, a new system public IP is allocated and
associated with the VM
Tiered Network
When portable IP is transferred across the zones, we emulate portable IP
as provisioned in new zone's physical network carrying public traffic
and logical public network. network Id, and physical network id both
were bieng set to same physical network id resulting in IP association
to fail. This fix ensures both network and physcial network are set
appropriatley.
include the UUID of the user/domain that was disabled.
- added enity type and enity UUID details to UserContext
- publish the entity type and UUID details for the action events
generated for accout/user/domain
In UI there is a restriction to first put a host in maintenance and only then deletion is allowed. But there is no such restriction in the deleteHost API.
Added a validation in deleteHost API to prevent deletion if the host is not in maintenance. In case of a forced deletion the restriction doesn't apply.
User should be able to delete/archive alerts and events by selecting a time period or by
choosing the alerts and events older than a date. Added the ability to choose a time period
too.
This is a regresion caused due to fix for CLOUDSTACK-70. In order to fix network restart scenario, delays got introduced in the user VM deployment scenario.
Fixed it by separating out the network restart and new VM deployment scenario such that the latter is not affected due to the fix for CLOUDSTACK-70.
Description:
a) Fixing NPE when wrong path is provided for primary datastore.
b) No error dialog shows up in GUI when wrong path is provided,
after NPE fix - propagating exception upward.
c) If the KVM agent is down, an invalid datastore gets logged in
storage_pool table and doesn't get removed, so it shows up
in the GUI in the list of datastores - fixing this as well.
The problem was because in cloudstack when a vm is stopped it gets destroyed on the host. For a
windows vm the timeoffset (which can be set by changing the timezone from within the vm) is stored
in the platform:timeoffset attribute of vm record. The information is lost when the vm is destroted.
Made change to read and persist the platform:timeoffset vm attribute when an instance is stopped.
The value is persisted in the user_vm_details table. When the vm is started again the attribute is
set for the vm instance that gets created.
Eventutils and ActionEventUtils files
removing the 'EventUtils' file which got merged back during the Spring
changes to master at 4.1. 'EventUtils' file was replaced by
'ActionEventUtils', and the original file was removed for events
frameworks. This file conflict was resulting in action events not to be
published on to event bus
Summary of changes in the fix
- Optimized host scan logic, now instead of iterating over each cluster host scan is done for a batch of clusters
- Made host scan task interval configurable
only on first rule is created on the IP and last rule is revoked on the
IP
Current suboptima logic of IP Assoc
- On associate IP to GuestNetwork there is an IPAssoc command sent to
corresponding network service providers of the network
- On every rule apply on IP associated with the network send IP assoc
to the network service providers
- On every rule deletion on IP associated with a network sernd IP assoc
command to the network service providers
With this fix logic of IP assoc is changed as below which eliminates
executio of unnessary and expensive IpAssocCommand resource command
- On associate IP to GuestNetwork, associate IP only to the network,
Untill any service is associated with the IP dont send IP Assoc
- On creation of first rule on the IP send IPAssoc to corresponding
network service provider. Since IP is used for a service, IPAssoc
need to be sent to correpondign service provider
- On deletion of last rule on the IP send IPAssoc to corresponding
network service provider. When last rule is deleted, IP has no
service associated with it, so send IP assoc to service provider to
remove the IP association