1) When account/domainId or projectId are passed in:
* list all account specific networks of the account/project
* list all domain level networks from the domainId + subdomains if the targeted network has allowSubdomainAccess = true
In other words, we use all the networks that can be used for vm deployment by account/domainId.
If listAll is not specified in the request, account/domainId are being defaulted to the account/domainId of the caller
listAll is ignored if the call is being done by the regular user.
2) listAll is passed in by the Root admin, we list:
* all Account specific networks in the system
* all domain specific networks in the system
3) listAll is passed by the Domain admin, we list:
* All Account specific networks belonging to domain/subdomains of the domain admin.
* All domain specific networks belonging to domain/subdomains of the domain admin
* All domain specific networks allowing subdomain access belonging to the parent domain.
4) domainId - can be passed either with or without listAll. We list:
* all account specific networks belonging to the domain
* all domain specific networks of the domain
* all domain specific networks of the subdomains if isRecursive = true is passed in
Changes:
- Since Now a zone can have multiple physical networks, we need to find the physical network Id from the networkOffering's tag and zoneId and trafficType when we create a guest network
Reviewed-By: Alena P.
Changes:
- Added upgrade path to 304. This would check the missing portions of the previous upgrades and try to correct.
- This will check if the setup has multiple physical networks with Guest traffic type. If yes then:
- Check if the previous upgrade has left behind any guest networks that were untagged in 2.2.14. For such networks, add a new physical network
- Check if the multiple physical network has tags. If no add tag and clone the network offerings for the networks on this physical network and add this tag to them
- Also clone the network offering service map.
- Thus this creates copies of offerings for each physical network.
Description:
vlanId isn't a db ID, so removing its inclusion
in an IdentityProxy object when throwing an
exception. It's a string, so it was causing
problems since it was being converted to a Long.
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)