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
Reviewed-By: Alex
Changes:
- Deleting and inserting the host_details in one transaction leads to this MySQL deadlock issue sometimes
- This fix is to use the ON DUPLICATE KEY UPDATE MySQL query that will insert the deatils if they are new or update the ones that are existing.
- This needs a UNIQUE constraint on host_details.
Support for up to 16 VDIs per VM on XS 6.0 and above (16 VDIs => root + cd + 14 data volumes). Currently in CS number of data disk that can be attached to VM is hard-coded to 6. Made this setting configurable by moving it to hypervisor capabilities. Although XS 6.0 and above supports upto 16 VDIs but while testing on XS 6.0.2 found that only 13 data volumes can be attached to a VM. So for XS 6.0 and 6.0.2 max_data_volumes_limit is set to 13 currently.
Reviewed-by: Nitin
- Zone level config to enable/disable local storage usage for service and disk offerings.
- Local storage gets discovered when a host is added/reconnected if zone level config is enabled. When disabled existing local storages are not removed but any new local storage is not added.
- Deploy VM command validates service and disk offerings based on local storage config.
- Upgrade uses the global config 'use.local.storage' to set the zone level config for local storage.
Reviewed-by: Abhi, Nitin
Description:
1) With this commit in the series for this bug,
removed all occurrances of db IDs being passed
when raising InvalidParameterValueException.
2) Renamed HyervisorTemplateAdapter.java to
HypervisorTemplateAdapter.java.
Following changes are made:
- Create disk offering API now takes an extra parameter to denote storage type (local or shared). This is similar to storage type in service offering.
- Create/delete of data volume on local storage
- Attach/detach for local data volumes. Re-attach is allowed as long as vm host and data volume storage pool host is same.
- Migration of VM instance is not supported if it uses local root or data volumes.
- Migrate is not supported for local volumes.
Reviewed-by: Abhi
NetScaler changes for deleteAutoScaleVmGroup and min/max member
policies - Tested
Introducing apikey/sharedsecret/csurl empty checks as well
Introducing the autoscale change sheet that got deleted during the merge
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
Changes:
- Correct the virtual router entries from table' virtual_router_providers' that wrongly refer to SecurityGroupProvider instead of VirtualRouter provider in physical_network_service_providers table
- For such entries, we update them to point to the VirtualRouter provider in physical_network_service_providers table
reviewed-by: kishan
- Add physical network to the removed data_center as well and mark it as removed, to avoid foreign constraint failures
- Since rest all stuff related to multiple physcial networks is done based on networks having non-null removed field, nothing will apply to this zone.
Reviewed-By: Alena
- Update instructions for setups with multiple physical networks and guest vnets
- if there are such setups upgraded to 3.0.3 and face problems starting VMs, then they need to roll back to 2.2.14 and carry out the instructions and then upgrade to 3.0.4
Reviewed-By: Alena
Changes:
- Looks like we cannot default to 'cloud-private' label.
- If it is not set, CS figures out the default management interface and usus its name.
- We will use the global config variable as the label. if it is null, the label on the physical network will be null.
Reviewed-by: Alena
Changes:
- If a 2.2.14 setup uses guest vnet and has multiple network tags, we cannot upgrade this to 3.0.x since on upgrade we dont know how to assign the vnets to physical networks
- So we error out and provide instructions
- If an already upgraded 3.0.3 setup has this some guest networks using vnet but the assignment of vnet to physical network is wrong, upgrade to 3.04 will detect it and error out with further steps
CS-15414 [upgrde from 2.2.14 to 3.0.4] Need to decrypt xen.guest.network.device value before setting the traffic label after upgrade.
Reviewed-by: Alena
- This uncovered a generic case where only 1 network tag is used and other few untagged networks.
- Upgrdae 303 to 304, should create a physical network for the untagged networks.
- Earlier we were doing this only if the 303 db has multiple physical networks. But in this case the 303 db will have just 1 physcial network (created due to the single tag used on 2.2.14).
- So we need to create the extra physical network for the untagged networks irrespective of the number of physical networks present in 303 db.
- This commit also take care of the decryption of the xen.guest.network.device value
Reviewed-By: Sheng Yang
Changes:
- Add uuid to data_center while upgrading from 2.2.14 to 3.0x.
- For previous setups that have already been updated, correctly add the uuid in 304 upgrade
CS-15382: Hosts going to Alert state if there were destroyed networks with non-existent tags prior to upgrade
Reviewed-By: Alena P.
Changes:
- If 2.2.14, create the SG provider by looking at is_security_group_enabled flag
- if 3.0.3, create the SG provider by looking at the ntwk_service_map.
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:
Removing a reference to user_vm table when populating a system VM
id in an exception. Undoing change committed earlier as part of
Bug CS-15217.
Issue happens when ROOT volume gets created and there is subsequent failure in starting the VM. During retry if allocator assigns a different storage pool the scenario was not handled. Now in case of local storage the volume get recreated on the newly assigned pool and old one gets cleaned up. In case of shared storage the existing volume is migrated to new storage pool.
Reviewed-by: Prachi, Edison, Nitin
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.