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
Detail: Get list of all nics and update user data on them, rather than just
the default nic for the VM. This makes the results consistent with the password
and SSH key metadata.
BUG-ID: CLOUDSTACK-3408
Bugfix-for: 4.1.1, 4.2.0
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1373345338 -0600
Recreating local disk will result in cleanup of the old disk and this will lead to data loss. So preventing this and bailing out with error. Once migration of local disk is supported then another option is to migrate the existing disk to the new local storage pool.
in case of networks with external devices after GC
adding missing 'retrun false' for isNetworkReadyForGc for the networks
that use external network devices and has secondary IP's associated with
nics.
If the scaling up fails on the host the vm is running on try to migrate it to other hosts in the cluster and try scaling.
CLOUDSTACK-3349
For deciding the host in the cluster try the new deployment manager now
Signed off by : nitin mehta<nitin.mehta@citrix.com>
involved in the GSLB
add weights to each site participating in the GSLB. Traffic will be load
balanced across the sites based on the weigths associated with each
site. If not specified weight of site is defaulted to 1.
When a volume is created the resource usage for it gets incremented. If it is deleted without being
attached to a volume, the decrement doesn't take place. Fixed the delete volume code to decrement
resource usage for a volume in allocated state too.
-fixing regression due to adding GSLB monitor for GSLB service
-code to add/delete GSLB monitor and GSLB service-monitor binding is
made idempotenet so as to succeed if the resource exists.
in case of networks with external devices after GC
add an exception for networks that use external networking devices and has
secondary guest IP's allocated. On network GC, when network goes through
implement phase a new vlan is allocated, based on the acquired VLAN id cidr
of the network is decided in case of external networking case. While NIC
uses reservation strategy 'Start' which ensures that new primary ip is
allocated for the NiC from the new CIDR. Secondary IP's have hardcoded
IP's in network rules. So prevent network GC.
using affinity group even if the zone is dedicated to an account. The check to make sure that
explicit resources are not picked up for non-explicit deployment was present only at the domain
level for zones. Added a check at account level too.
Update ImageFormat enum to include VHDX format introduced with Hyper-V
Server 2012.
Remove existing Hyper-V plugin, because it does not work and is dead
code.
Remove references to existing Hyper-V plugin from config files.
Remove Hypervisor.HypervisorType.Hyperv special cases from manager code
that are unused or unsupported.
Specifically, there is no CIFS secondary storage class
"CifsSecondaryStorageResource". Also, the Hyper-V plugin's
ServerResource is contacted by the management server and not the other
way around.
Add Hyperv-V support to ListHypervisorsCmd API call
Signed-off-by: Edison Su <sudison@gmail.com>
NAT does not work
making an exception for portabe IP, so that if the current datacenter with
portable IP is associated is different from destiantion data center
also on transfer on to new zone, transfer the portable ip association to
new data center, physical network id's
The elements that deploy IP address are subclass of IpDeployingRequester
CloudRuntimeException will be raised for elements that is not implemeing
the interface at NetworkManagerImpl#applyIpAssociations.
CLOUDSTACK-2457: No check for input values,special character,-ive values can be assigne to GLobal parameter "cluster.cpu.allocated.capacity.disablethreshold"
Added validation for float values and checking limit for weight based parameters by creating a set of parameters.
Signed off by : nitin mehta<nitin.mehta@citrix.com>
Check if there exists any VMware DC already associated with this zone. Deny zone deletion if true.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-3042 - handle Scaling up of vm memory/CPU based on the presence of XS tools in the template
This also takes care of updation of VM after XS tools are installed in the vm and set memory values accordingly to support dynamic scaling after stop start of VM
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
It's introduced by:
commit 052c24c4d1
Author: Bharat Kumar <bharat.kumar@citrix.com>
Date: Mon May 13 17:02:27 2013 +0530
CLOUDSTACK-702: Multiple ip ranges in different subnets.
This commit get userdata provider when caller asked for dhcp provider, thus
result in trouble e.g.
ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-11:job-10) Unexpected
exception while executing
org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd
java.lang.ClassCastException:
com.cloud.baremetal.networkservice.BaremetalUserdataElement_EnhancerByCloudStack_5dee69d2
cannot be cast to com.cloud.network.element.DhcpServiceProvider
at
com.cloud.network.NetworkManagerImpl.getDhcpServiceProvider(NetworkManagerImpl.java:3309)
...
for number of commands participating in Vm deployment process, as parallel deployment is supported on the hypervisor side.
The behavior is controlled by global config varirables:
"execute.in.sequence.hypervisor.commands" (false by default) sets/resets the synchronization for commands:
=========================
StartCommand
StopCommand
CreateCommand
CopyVolumeCommand
"execute.in.sequence.network.element.commands" (false by default) sets/resets the synchronization for commands:
==========================
DhcpEntryCommand
SavePasswordCommand
UserDataCommand
VmDataCommand
As a part of the fix, increased the global lock timeout to 30 mins in several VR scripts:
===========================
edithosts.sh
savepassword.sh
userdata.sh
to support situations when multiple concurrent calls to the script are being made.
- fixes an NPE in case the pool.scope = null
- replaces null checks around toString with ObjectUtils.toString call
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
commons-lang is already a transitive dependency of the utils project, which allows removing some duplicated functionality.
This patch replaces StringUtils.join(String, Object...) with it's commons-lang counterpart.
It also replaces calls to String join(Iterable<? extends Object>, String) in cases where an array is already exist and it is only wrapped into a List.
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
has dedicated resources and the dedicated resources have all been consumed - use.system.public.ips and use.system.guest.vlans
Both configs are configurable at the account level too.
Otherwise when MASTER failed, the user VM would get password reset again after
reboot.
But this fix still have issues if MASTER is failure before VM boot up, but in
that case, password of user VM won't change and user would request password
change again, then it would be fine.
During Scale up of VM, memory/cpu calculations should consider the memory/cpu overprovisioning factors which are set per cluster.
CLOUDSTACK-2939: CPU limit is not getting set for vm after scaleup to a service offering which have cpu cap enabled
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
Added new optional parameter zone id in listSnapshots API which allows to list snapshots with additional criteria.
Signed off by :- Nitin Mehta <nitin.mehta@citrix.com>
Allowing Replacement of realhostip.com with a customized domain for SSVM. Though the config variable was there we were always hardcoding to realhostip.com
Reviewed-by: Abhi
This is done by checking if the last vlan in the new range is same as the start vlan of any existing range.
Since for a single vlan the start and the end vlan are the same the check goes to an infinite loop resulting in a java.lang.OutOfMemoryError: Java heap space error.
Remove the check for a single vlan because if an existing range starts with the single vlan then it implies that the range already exists
The additional response type is basically the same as
StoragePoolResponse. Only additional state reported is whether the
storage pool is suitable for migration. Since this is fetched from
hypervisor capabilities there is no need for a new response type.
Tested with the simulator and I can see the response format correctly.
mysql> select * from hypervisor_capabilities where id=18\G
*************************** 1. row ***************************
id: 18
uuid: 98b88e6e-ccf1-11e2-bd2a-af89de8bd27e
hypervisor_type: Simulator
hypervisor_version: NULL
max_guests_limit: 100
security_group_enabled: 1
max_data_volumes_limit: 100
max_hosts_per_cluster: 100
storage_motion_supported: 1
vm_snapshot_enabled: 1
1 row in set (0.00 sec)
CloudMonkey output as below:
> find storagepoolsformigration id=0a644f79-53dd-4eb6-a871-64679a47cfc6
count = 1
storagepool:
name = PS0
id = 7c07ec9b-a3c6-3466-ab5a-f5669ead0b22
clusterid = 71fb5c34-4852-46e6-bb8f-c9da4e8f827c
clustername = C0
created = 2013-06-04T14:06:55+0530
disksizeallocated = 0
disksizetotal = 1099511627776
disksizeused = 0
ipaddress = 10.147.28.6
jobstatus = 0
path = /export/home/sandbox/primary0
podid = 560d9600-35dd-4a50-addd-81d5618536e9
podname = POD0
scope = CLUSTER
state = Up
suitableformigration = True
type = NetworkFilesystem
zoneid = 3108f711-0db6-4dad-a0d0-2fd7d413e5ef
zonename = Sandbox-simulator
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
SimulatoComponentContext need sto include the dedicated resource manager
to see the commands/apis exposed by it.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The getBase64KeystoreZillionTimes is not required for the current
implementation that closes the file descriptor cleanly.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Added hypervisor type to CreateStoragePoolCmd & Storage pool responses.
DatastoreLifeCycle would consider hypervisor type while attaching datastore to zone.
ZoneWideStoragePoolAllocator would filter zone wide primary storage pools by hypervisor type along with tags in disk profile.
hypervisor type is mandatory parameter if scope is specified as ZONE while creating primary storage pool.
As of now KVM, VMware are allowed to use ZoneWideStoragePoolAllocator.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
DB changes to support hypervisor specific zone wide storage pool.
Added method findZoneWideStoragePoolsByHypervisor to PrimaryStorageDaoImpl to find suitable zone wide storage pool of specific hypervisor type.
Added column 'hypervisor' to table storage_pool. This column can be NULL. Used/populated only for zone wide primary storage pools.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Added vm type to prepareNetworkFromNicInfo in MigrateWithStorageCommand implementation.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Fixing attach volume and delete volume cases for volumes that are moved off original path in datastore when created.
If volume is not found in root directory or datastore, do search in sub folders.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Sending command MigrateWithStorageCommand to source host instead of target host for the case of migration of VM within cluster.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Searching for virtual disk during device tear down.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Added vm type to prepareNetworkFromNicInfo in MigrateWithStorageCommand implementation.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Fixing migrate volume.
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Sending command MigrateWithStorageCommand to source host instead of target host for the case of migration of VM within cluster.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Moved 2 methods that are not specific to VMware but Volume are moved to VolumeManager from VmwareManager.
Moved datastore volume path constructing code to separate method.
Added check for source and target host, if they are from different DCs/vCenter instances.
Updated error message & removed stale comment
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Injecting component VolumeManager into VmwareResource.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
shouldn't be exposed in basic zone
reverting the original fix for this bug. When you add network service
provider instance into a physical network in a basic zone, its not
necessary that a network has been provisioned into zone. So its no
straight-forward to know if the basic zone network has EIP/ELB services enabled.
Issues:
In Implicit planner resource usage is fixed to "Dedicated". It should be Dedicated/Shared depending upon the Implict Planner strict/preferred modes and hosts availability.
Fixed:
Issue is fixed by determining the resource usage to be "Dedicated/Shared" depending upon the Implicit strict/preferred mode and the hosts availability for the planner.
ConfigurationServerImpl.getBase64Keystore did not close the file input stream correctly. This patch adds test and replaces the file read with commons-io FileUtils call.
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The NPE comes as the storage pool id is set to null in the in-memory volume object which is not in sync with the db. entry. Reloading the volume from db. fixes the issue
Patch 2 for https://reviews.apache.org/r/11379/
Created for files server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java, server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java, server/test/org/apache/cloudstack/affinity/AffinityApiUnitTest.java
This feature allows a user to deploy VMs only in the resources dedicated to his account or domain.
1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or domain.
Implemented 12 new APIs to dedicate/list/release resources:
- dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
- dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
- dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a Cluster
- dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then resources(eg. Pod) above that cannot be dedicated to different accounts/domain (not belonging to the same domain)
5. To use Explicit dedication, user needs to create an Affinity Group of type 'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the affinity group of type 'Explicit Dedication' for a deployment of a VM that demands dedicated resources.
This processor implements the AffinityGroupProcessor adapter. This processor will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources available with the parent domains iff no dedicated resources are available with the current user's account or
domain.
10. A VM (without dedication) can be deployed on shared host but not on dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has been added.
14. Added the right permissions in commands.properties
15. Unit tests: For the new APIs and Service, added unit tests under : plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is deployed on the dedicated host.
associated with account
Unlike public ip which gets dis-associated (released) with the account
on network/VPC delete, portable IP should continue to be associated with
the account even when the network/VPC with which it is currently
associated in deleted. This fix ensures portable IP are associated to
account even after network/vpc is deleted.
1) Unfinished jobs that are yet to be processed.
2) Completed jobs
The jobs that are in process, will be skipped by the expunge thread
Conflicts:
server/src/com/cloud/async/dao/AsyncJobDao.java
server/src/com/cloud/async/dao/AsyncJobDaoImpl.java
server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
This is to support restore a vm to a new/currently_attached ISO.
In the restorevm API we have an optional parameter templateId to restore the vm to the new template/ISO ID.