Description:
As part of the fix for Bug CS-13127, a new overloaded function,
addProxyObject() was added to facilitate transparent db id to
uuid conversions when db IDs were added to exceptions that were
thrown in the Cloudstack mgmt server code. However, it turns out
that there are quite many db IDs still in the code that are
being directly embedded in the String message that is passed
during exception creation.
In this commit, we modify the default constructor of
InvalidParameterValueException so that it takes a second
argument of type List<IdentityProxy>. This will help developers
see that there is a second parameter required, and make them
look into what that parameter is about. Hopefully, this will
stop db IDs from being embedded into the exception message.
The parameter can be set to null though, since there are many
places in the code that don't embed any DB IDs in the exception.
This is still a WIP, so the older default constructor for
InvalidParameterValueException has not been removed yet. When
all instances of throw new InvalidParameterValueException()
have been moved over to the new default constructor, the old
one will be removed, else compilation will break. The reason
for having to do this in batches is that there are way too
many places in the code that throw exceptions, and they all
cannot be covered in a single commit without it taking much
time.
In following commits, all other exceptions will be changed
in the same way as InvalidParameterValueException.
2) added "tags" request parameter to the banch of list* Api commands (listVirtualMachines, listSnapshots - all commands are listed in the resource tags functional spec)
* Separate service for NetworkACL - "NetworkACL" service
* allow having just one network supporting LB in the VPC
* perform check against VPC when upgrade network to the new network offering (the same set of checks when you add new network to the VPC)
Description:
1. Added exception processing for uuid lists in exceptions,
for commands of type BaseAsyncCreateCmd.
2. Added nullpointer check in addProxyObject().
3. Miscellaneous whitespace reformatting for git patching.
Bug CS-14448: Wrong error message on using the createVlanIpRange cmd
Cherry-picking from master for bug 14448 into 3.0.x. Resolved
conflicts encountered during cherry-picking.
Description:
Adding overloaded addProxyObject() function to CloudException
and RuntimeCloudException classes and using this function
to stuff exceptions with IDs, to reduce code footprint.
Conflicts:
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/resource/ResourceManagerImpl.java
Bug CS-14448: Wrong error message on using the createVlanIpRange cmd
Cherry-picking from master for bug 14448 into 3.0.x. Resolving
conflicts arising from the pick.
Description:
Modifying the API functions' exception handling to call
addProxyObject() wherever applicable, and removing some
wrong calls to addProxyObject() that were put in in an
earlier commit for this bug.
With this commit, we cover many API functions to use the
new exception handling code, but some pieces may still be
left out. These will be covered as work in progress, when
making changes to the CS API code.
Conflicts:
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
server/src/com/cloud/resource/ResourceManagerImpl.java
2) Added new parameter to listNetworks command - canUseForDeploy(boolean). When true, list only networks that can be used for vm deployment (networks have enough ip addresses to allocate from for the vm)
Conflicts:
api/src/com/cloud/api/ApiConstants.java
api/src/com/cloud/api/commands/ListNetworksCmd.java
api/src/com/cloud/api/response/NetworkResponse.java
api/src/com/cloud/network/NetworkService.java
server/src/com/cloud/api/ApiDBUtils.java
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/dao/IPAddressDao.java
server/src/com/cloud/network/dao/IPAddressDaoImpl.java
Not able to put the host in maintenance mode when one of the host in the cluster has host tag and the other host does not have a host tag. We are also not able to cancel the Maintenance mode.
fixed
reviewed-by: edison
2) Don't allow to add new networks/implement existing ones for VPC in Disabled state. Disabled state indicates that there was unsuccessful attempt to remove the VPC, and the further cleanup will be taken care of by cleanup thread.
Description:
Removed the vcenter_dc_name and vcenter_ipaddr
fields from the virtual_supervisor_module
table, the CiscoNexusVSMDeviceVO, addClusterCmd,
and all other references to these two fields.
Fixing null pointer exceptions when checking
for nexus related global parameter values in
addClusterCmd.
Description:
Adding an optional flag to the addCluster command,
"addvsmflag". If this is set to true, the API will
throw an exception if any VSM parameter is missed
out. The above bug was running into a DB exception
because the vCenter ipaddress wasn't passed in and
the API didn't catch it.
Description:
Incorporating more changes post review by Alena.
1. Renamed the ListCiscoVSMDetailsCmd command
to ListCiscoNexusVSMsCmd. The command will
return a list of VSMs always, depending on
what parameter is passed to it. If a clusterId
is passed to it, it will return the VSM
associated to that cluster, if present. If
a zoneId is passed in, it will return a list
of all VSMs configured for any clusters of
type VMware within that zone. If neither is
passed, it will return a list of all VSMs
configured in the management server. If no
VSMs are found, it will return an exception
response.
2. Cleaned up miscellaneous code.
Description:
Putting in code changes as per Alena's reviews:
Replaced references to CiscoNexusVSMDeviceVO
in GetCiscoVSMByClusterIdCmd to work with an
interface that CiscoNexusVSMDeviceVO instead,
since VO objects should not be directly accessed
in APIs.
Made associated changes in other files.
More commits incorporating Alena's review comments
will follow.
With this fix both SSVM and CPVM will get public IP's in case of basic zone with EIP service.
A static NAT rule is implicitly configured on the EIP service provider to map public IP to a
guest IP address associated with SSVM/CPVM
UploadVolume API is async now with the guidance for all the new apis added in 3.0.x need to be async. Though the success/failure wont be available through the queryAsync job which will report only the initial validation success or failure. The success or failure and the progress will all be available through listVolumes api.