Upgrade handling.
Detect legacy zones during db upgrade and perform data migration.
If legacy zone is detected the table 'cloud'.'legacy_zones' is populated.
If an existing zone which has resources that belong to single VMware datacenter then such zone would not be marked as legacy zone. Such zone would be automatically associated with the specific Vmware datacenter of the clusters inside the zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Adding all new beans introduced during the feature implementation to nonoss component context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
DB schema changes to support this feature.
Added 3 new tables.
'vmware_data_center' to persist information about each Vmware datacenter known to cloudstack.
'vmware_data_center_zone_map' to persist mapping information of a Vmware datacenter & cloudstack zone.
'legacy_zones' to persist the known legacy zones in the deployment.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Introduced 2 new API command classes AddVmwareDcCmd & RemoveVmwareDcCmd.
The new APIs are addVmwareDc & removeVmwareDc, these APIs will associate a Vmware datacenter to a cloudstack zone & dis-associate a Vmware datacenter from a cloudstack zone.
Constraint checks are added for infrastructure change operations in zone that encompass resources like clusters.
Constraint checks are added in discoverer and manager classes.
Added a service 'VmwareDatacenterService' to expose methods that will have API implementation for 2 APIs addVmwareDc & removeVmwareDc
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for DB changes for Vmware datacenter objects
Support for DB changes to store mapping with CloudStack zones.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Detail: We do two strange things, #1, when a vm is created, we create the uuid
for the domain by converting the name into a uuid, then subsequently, any time
we look for a domain, we convert its name to a uuid and domainLookupByUUID. This
is an unnecessary obfuscation, so instead we just do a domainLookupByName. As
a bonus, we are now setting the domain's uuid to be the cloudstack uuid. It is
no longer used anywhere, but will be less confusing to admins. This shouldn't
affect upgrades, since we can always lookup existing VMs by name.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369287049 -0600
Detail: Undefine VM after migration. Lingering domain definitions cause
migrations back to the original host to fail, since domain already exists.
BUG-ID: CLOUDSTACK-2640
Bugfix-for: 4.1.0,4.2.0
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369285950 -0600
Provide support for the following error codes -
AuthFailure, DependencyViolation, IncorrectState, InvalidAMIID.NotFound, InvalidAttachment.NotFound, InvalidDevice.InUse, InvalidFilter, InvalidGroup.Duplicate, InvalidGroup.InUse, InvalidGroup.NotFound
InvalidInstanceID.NotFound, InvalidKeyPair.Duplicate, InvalidKeyPair.Format, InvalidKeyPair.NotFound, InvalidParameterCombinatio, InvalidParameterValue, InvalidPermission.Duplicate, InvalidPermission.Malformed
InvalidSnapshot.NotFound, InvalidVolume.NotFound, InvalidVolumeID.Duplicate, InvalidZone.NotFound, MissingParameter, UnsupportedOperation, SignatureDoesNotMatch, InternalError, AddressLimitExceeded, InstanceLimitExceeded
VolumeLimitExceeded, Unavailable, ResourceLimitExceeded
CLOUDSTACK-2624. Support ModifyInstanceAttribute API in AWSAPI.
2 AWS instance attributes will be supported, 'InstanceType' and 'UserData'
As per AWS EC2, to modify both the attributes, the instance must be stopped. If not throw 'IncorrectInstanceState' error
listPortForwarding API returns an exception if the PF is deleted.
Changed testcases to handle this exception.
Signed-off-by: Girish Shilamkar <girish@clogeny.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
1. Planner tests rewritten to use marvin integration libraries
2. Included verification of multi VM deployment for user dispersion
3. Included a test for user concentrated planner
TODO: firstfit planner test doesn't actually test the planner strategy.
It only deploys a VM using the offering.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Adding tags to the deployvm test from the marvin tutorial
Adding docstrings to the vm snapshot tests
Add tag to the pvlan test
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
platform
Use the Gson adapters to serialize/deserialize the NatRules
Switch the NiciraNvpApi to a single gson Object with the proper adapters
Fix missing order setting for static nat rules and portforwarding rules
Return an error when a port range is passed in a portforwarding rule
The serializer is not required
Fix a bug where an ip address could be released even if it was still in
use for SourceNat
Throw a json parse exception when the type is unknown to the adapter
Each rule created in VNMC under a policy object needs to have an unique order value. Rules are evaluated based on this value.
Eariler order was computed based on the rule count under a policy object. This resulted in duplicate order value when rules get
deleted and recreated. Changed the logic to compute order based on the CS db id of the rule which is unique.
RPCbind service is running in the 4.2 systemVMs resulting in ssvm-check
trying to write to the mountpoint. Avoid writing to the rpc_pipefs.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Changes:
- In VolumeReservationVO, the getter method of a column had a typo, causing us to create a wrong searchbuilder. It was searching over the 'id' column instead of 'vm_reservation_id' causing
- This bug was causing the vm deployment to choose a wrong pool during deployment since the search was choosing incorrectly
- This bug in the GenericSearchBuilder is also fixed - if the getter method does not use the standard 'get' or 'is' prefix, one should annotate that method using
@Column(name = "<column_name>") and indicate which column this method refers to. This will cause the GenericSearchBuilder to identify the field correctly.
Automation tests to qualify User provides hostname feature.
1. Defines services class
2. Test to verify custom hostname for the instance with internal name
3. Test to verify custom hostname for the instance without internal name
Signed-off-by: Prasanna Santhanam <tsp@apache.org>