This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch pr/5579
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 51f5f452b440e5107599bc731baa6ad2553716c3
Merge: 16b000238c 62e342c1bc
Author: nvazquez <nicovazque...@gmail.com>
AuthorDate: Thu Feb 2 21:30:17 2023 -0300

    Merge branch 'main' into pr/5579

 .github/boring-cyborg.yml                          |    4 +-
 .github/linters/.flake8                            |   14 +-
 .github/workflows/build.yml                        |   66 +
 .github/workflows/ci.yml                           |  280 ++
 .github/workflows/codecov.yml                      |    6 +-
 .github/workflows/coverage-check.yml               |   94 -
 .github/workflows/linter.yml                       |   30 +-
 .github/workflows/main-coverage.yml                |   63 -
 .github/workflows/main-sonar-check.yml             |   63 +
 .github/workflows/merge-conflict-checker.yml       |   11 +-
 .github/workflows/rat.yml                          |   47 +
 .github/workflows/sonar-check.yml                  |   67 +
 .github/workflows/ui.yml                           |   54 +
 .pre-commit-config.yaml                            |   42 +
 .travis.yml                                        |  228 --
 CHANGES.md                                         |   10 +-
 CONTRIBUTING.md                                    |    2 +-
 INSTALL.md                                         |    2 +-
 README.md                                          |   17 +-
 agent/bindir/cloud-setup-agent.in                  |    3 +-
 agent/conf/agent.properties                        |  497 ++-
 agent/src/main/java/com/cloud/agent/Agent.java     |    6 +-
 .../src/main/java/com/cloud/agent/AgentShell.java  |  136 +-
 .../src/main/java/com/cloud/agent/IAgentShell.java |    1 -
 .../cloud/agent/properties/AgentProperties.java    |  725 +++-
 .../properties/AgentPropertiesFileHandler.java     |   40 +-
 .../test/java/com/cloud/agent/AgentShellTest.java  |  308 ++
 .../properties/AgentPropertiesFileHandlerTest.java |   52 +
 .../agent/properties/AgentPropertiesTest.java      |   43 +
 api/src/main/java/com/cloud/agent/api/Answer.java  |    2 +-
 .../java/com/cloud/agent/api/to/IpAddressTO.java   |   18 +-
 .../com/cloud/agent/api/to/LoadBalancerTO.java     |  113 +-
 .../main/java/com/cloud/agent/api/to/NicTO.java    |    9 +
 .../cloud/configuration/ConfigurationService.java  |    3 +
 api/src/main/java/com/cloud/dc/DataCenter.java     |    6 +
 .../com/cloud/deploy/DataCenterDeployment.java     |   38 +
 .../java/com/cloud/deploy/DeployDestination.java   |    8 +-
 .../main/java/com/cloud/deploy/DeploymentPlan.java |   19 +
 api/src/main/java/com/cloud/event/EventTypes.java  |   34 +
 api/src/main/java/com/cloud/host/ControlState.java |   41 +
 .../main/java/com/cloud/host/HostEnvironment.java  |    1 -
 api/src/main/java/com/cloud/network/Network.java   |    7 +
 .../main/java/com/cloud/network/NetworkModel.java  |    5 +-
 .../java/com/cloud/network/NetworkProfile.java     |   12 +
 .../java/com/cloud/network/NetworkService.java     |   21 +
 api/src/main/java/com/cloud/network/Networks.java  |    5 +-
 .../java/com/cloud/network/TungstenProvider.java   |   31 +
 .../com/cloud/network/as/AutoScaleCounter.java     |    9 +-
 .../java/com/cloud/network/as/AutoScalePolicy.java |   21 +-
 .../com/cloud/network/as/AutoScaleService.java     |    5 +-
 .../com/cloud/network/as/AutoScaleVmGroup.java     |   31 +-
 .../com/cloud/network/as/AutoScaleVmProfile.java   |    8 +-
 .../main/java/com/cloud/network/as/Condition.java  |    2 +-
 .../main/java/com/cloud/network/as/Counter.java    |   18 +-
 .../com/cloud/network/lb/LoadBalancingRule.java    |    6 +-
 .../network/lb/LoadBalancingRulesService.java      |    8 +-
 .../network/router/VirtualRouterAutoScale.java     |  132 +
 .../network/security/SecurityGroupService.java     |    5 +
 .../security/TungstenSecurityGroupRule.java        |   23 +
 api/src/main/java/com/cloud/network/vpc/Vpc.java   |    2 +
 .../java/com/cloud/network/vpc/VpcService.java     |   11 +-
 .../java/com/cloud/offering/NetworkOffering.java   |    5 +
 .../java/com/cloud/server/ManagementService.java   |   11 +-
 .../main/java/com/cloud/server/ResourceTag.java    |   16 +
 .../java/com/cloud/storage/VolumeApiService.java   |    7 +
 api/src/main/java/com/cloud/vm/Nic.java            |    2 +
 api/src/main/java/com/cloud/vm/NicIpAlias.java     |    2 +-
 api/src/main/java/com/cloud/vm/NicProfile.java     |   11 +
 api/src/main/java/com/cloud/vm/UserVmService.java  |    2 +
 .../java/com/cloud/vm/VirtualMachineProfile.java   |    1 +
 .../main/java/com/cloud/vm/VmDetailConstants.java  |    4 +
 .../org/apache/cloudstack/alert/AlertService.java  |    2 +
 .../cloudstack/annotation/AnnotationService.java   |    3 +-
 .../org/apache/cloudstack/api/ApiArgValidator.java |    2 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |  117 +-
 .../java/org/apache/cloudstack/api/BaseCmd.java    |   40 +-
 .../apache/cloudstack/api/ResponseGenerator.java   |    4 +
 .../command/admin/account/CreateAccountCmd.java    |    6 -
 .../command/admin/account/DeleteAccountCmd.java    |   10 -
 .../command/admin/account/DisableAccountCmd.java   |    6 -
 .../command/admin/account/EnableAccountCmd.java    |    6 -
 .../api/command/admin/account/LockAccountCmd.java  |    6 -
 .../command/admin/account/UpdateAccountCmd.java    |    6 -
 .../api/command/admin/acl/CreateRoleCmd.java       |    9 +-
 .../command/admin/acl/CreateRolePermissionCmd.java |    9 +-
 .../api/command/admin/acl/DeleteRoleCmd.java       |    8 +-
 .../command/admin/acl/DeleteRolePermissionCmd.java |    8 +-
 .../api/command/admin/acl/ImportRoleCmd.java       |    9 +-
 .../command/admin/acl/ListRolePermissionsCmd.java  |    8 +-
 .../api/command/admin/acl/ListRolesCmd.java        |    8 +-
 .../api/command/admin/acl/UpdateRoleCmd.java       |    8 +-
 .../command/admin/acl/UpdateRolePermissionCmd.java |   10 +-
 .../admin/acl/project/CreateProjectRoleCmd.java    |    8 +-
 .../project/CreateProjectRolePermissionCmd.java    |    8 +-
 .../admin/acl/project/DeleteProjectRoleCmd.java    |    8 +-
 .../project/DeleteProjectRolePermissionCmd.java    |    8 +-
 .../acl/project/ListProjectRolePermissionsCmd.java |    8 +-
 .../admin/acl/project/ListProjectRolesCmd.java     |    8 +-
 .../admin/acl/project/UpdateProjectRoleCmd.java    |    8 +-
 .../project/UpdateProjectRolePermissionCmd.java    |    8 +-
 .../api/command/admin/alert/GenerateAlertCmd.java  |    8 +-
 .../command/admin/annotation/AddAnnotationCmd.java |   10 +-
 .../admin/annotation/ListAnnotationsCmd.java       |   13 +-
 .../admin/annotation/RemoveAnnotationCmd.java      |    8 +-
 .../annotation/UpdateAnnotationVisibilityCmd.java  |    8 +-
 .../command/admin/autoscale/CreateCounterCmd.java  |    9 +-
 .../command/admin/autoscale/DeleteCounterCmd.java  |    8 +-
 .../admin/backup/DeleteBackupOfferingCmd.java      |    8 +-
 .../admin/backup/ImportBackupOfferingCmd.java      |    8 +-
 .../backup/ListBackupProviderOfferingsCmd.java     |    7 +-
 .../admin/backup/ListBackupProvidersCmd.java       |    8 +-
 .../admin/backup/UpdateBackupOfferingCmd.java      |    8 +-
 .../api/command/admin/ca/IssueCertificateCmd.java  |    8 +-
 .../api/command/admin/ca/ListCAProvidersCmd.java   |    8 +-
 .../api/command/admin/ca/ListCaCertificateCmd.java |    8 +-
 .../command/admin/ca/ProvisionCertificateCmd.java  |    9 +-
 .../api/command/admin/ca/RevokeCertificateCmd.java |    8 +-
 .../api/command/admin/cluster/AddClusterCmd.java   |    6 -
 .../command/admin/cluster/DeleteClusterCmd.java    |    6 -
 .../api/command/admin/cluster/ListClustersCmd.java |    6 -
 .../command/admin/cluster/UpdateClusterCmd.java    |    6 -
 .../command/admin/config/ListCfgGroupsByCmd.java   |   79 +
 .../api/command/admin/config/ListCfgsByCmd.java    |  123 +-
 .../admin/config/ListDeploymentPlannersCmd.java    |    6 -
 .../config/ListHypervisorCapabilitiesCmd.java      |    6 -
 .../api/command/admin/config/ResetCfgCmd.java      |    6 -
 .../api/command/admin/config/UpdateCfgCmd.java     |    6 -
 .../config/UpdateHypervisorCapabilitiesCmd.java    |    6 -
 .../admin/diagnostics/GetDiagnosticsDataCmd.java   |    8 +-
 .../admin/diagnostics/RunDiagnosticsCmd.java       |   11 +-
 .../ListTemplateDirectDownloadCertificatesCmd.java |    9 +-
 ...visionTemplateDirectDownloadCertificateCmd.java |    8 +-
 ...RevokeTemplateDirectDownloadCertificateCmd.java |   10 +-
 ...UploadTemplateDirectDownloadCertificateCmd.java |  240 +-
 .../api/command/admin/domain/CreateDomainCmd.java  |    8 +-
 .../api/command/admin/domain/DeleteDomainCmd.java  |    6 -
 .../admin/domain/ListDomainChildrenCmd.java        |    6 -
 .../api/command/admin/domain/UpdateDomainCmd.java  |    6 -
 .../api/command/admin/guest/AddGuestOsCmd.java     |    6 -
 .../command/admin/guest/AddGuestOsMappingCmd.java  |    6 -
 .../command/admin/guest/ListGuestOsMappingCmd.java |    8 +-
 .../api/command/admin/guest/RemoveGuestOsCmd.java  |    6 -
 .../admin/guest/RemoveGuestOsMappingCmd.java       |    6 -
 .../api/command/admin/guest/UpdateGuestOsCmd.java  |    6 -
 .../admin/guest/UpdateGuestOsMappingCmd.java       |    6 -
 .../command/admin/ha/ConfigureHAForHostCmd.java    |    9 +-
 .../command/admin/ha/DisableHAForClusterCmd.java   |    8 +-
 .../api/command/admin/ha/DisableHAForHostCmd.java  |    9 +-
 .../api/command/admin/ha/DisableHAForZoneCmd.java  |    8 +-
 .../command/admin/ha/EnableHAForClusterCmd.java    |    8 +-
 .../api/command/admin/ha/EnableHAForHostCmd.java   |    9 +-
 .../api/command/admin/ha/EnableHAForZoneCmd.java   |    8 +-
 .../command/admin/ha/ListHostHAProvidersCmd.java   |    8 +-
 .../command/admin/ha/ListHostHAResourcesCmd.java   |    8 +-
 .../api/command/admin/host/AddHostCmd.java         |    6 -
 .../command/admin/host/AddSecondaryStorageCmd.java |    6 -
 .../admin/host/CancelHostAsDegradedCmd.java        |    5 -
 .../command/admin/host/CancelMaintenanceCmd.java   |    6 -
 .../admin/host/DeclareHostAsDegradedCmd.java       |    5 -
 .../api/command/admin/host/DeleteHostCmd.java      |    6 -
 .../admin/host/FindHostsForMigrationCmd.java       |    6 -
 .../api/command/admin/host/ListHostTagsCmd.java    |    8 +-
 .../api/command/admin/host/ListHostsCmd.java       |    6 -
 .../admin/host/PrepareForMaintenanceCmd.java       |    6 -
 .../api/command/admin/host/ReconnectHostCmd.java   |    6 -
 .../admin/host/ReleaseHostReservationCmd.java      |    6 -
 .../api/command/admin/host/UpdateHostCmd.java      |    6 -
 .../command/admin/host/UpdateHostPasswordCmd.java  |    9 +-
 .../ConfigureInternalLoadBalancerElementCmd.java   |    6 -
 .../CreateInternalLoadBalancerElementCmd.java      |    6 -
 .../ListInternalLoadBalancerElementsCmd.java       |    6 -
 .../api/command/admin/management/ListMgmtsCmd.java |    9 +-
 .../command/admin/network/AddNetworkDeviceCmd.java |    6 -
 .../network/AddNetworkServiceProviderCmd.java      |    6 -
 .../network/CreateGuestNetworkIpv6PrefixCmd.java   |    8 +-
 .../network/CreateManagementNetworkIpRangeCmd.java |   10 +-
 .../admin/network/CreateNetworkOfferingCmd.java    |   19 +-
 .../admin/network/CreatePhysicalNetworkCmd.java    |    6 -
 .../network/CreateStorageNetworkIpRangeCmd.java    |    8 +-
 .../admin/network/DedicateGuestVlanRangeCmd.java   |    6 -
 .../network/DeleteGuestNetworkIpv6PrefixCmd.java   |    8 +-
 .../network/DeleteManagementNetworkIpRangeCmd.java |   10 +-
 .../admin/network/DeleteNetworkDeviceCmd.java      |    6 -
 .../admin/network/DeleteNetworkOfferingCmd.java    |    6 -
 .../network/DeleteNetworkServiceProviderCmd.java   |    6 -
 .../admin/network/DeletePhysicalNetworkCmd.java    |    6 -
 .../network/DeleteStorageNetworkIpRangeCmd.java    |    6 -
 .../network/ListDedicatedGuestVlanRangesCmd.java   |    6 -
 .../network/ListGuestNetworkIpv6PrefixesCmd.java   |    8 +-
 .../command/admin/network/ListGuestVlansCmd.java   |    8 +-
 .../network/ListNetworkIsolationMethodsCmd.java    |    6 -
 .../network/ListNetworkServiceProvidersCmd.java    |    6 -
 .../admin/network/ListPhysicalNetworksCmd.java     |    6 -
 .../network/ListStorageNetworkIpRangeCmd.java      |    5 -
 .../network/ListSupportedNetworkServicesCmd.java   |    6 -
 .../command/admin/network/MigrateNetworkCmd.java   |    9 +-
 .../api/command/admin/network/MigrateVPCCmd.java   |    9 +-
 .../network/ReleaseDedicatedGuestVlanRangeCmd.java |    6 -
 .../admin/network/UpdateNetworkOfferingCmd.java    |    6 -
 .../network/UpdateNetworkServiceProviderCmd.java   |    6 -
 .../admin/network/UpdatePhysicalNetworkCmd.java    |    6 -
 .../UpdatePodManagementNetworkIpRangeCmd.java      |    8 +-
 .../network/UpdateStorageNetworkIpRangeCmd.java    |    6 -
 .../admin/offering/CreateDiskOfferingCmd.java      |    6 -
 .../admin/offering/CreateServiceOfferingCmd.java   |    8 +-
 .../admin/offering/DeleteDiskOfferingCmd.java      |    6 -
 .../admin/offering/DeleteServiceOfferingCmd.java   |    6 -
 ...AccountAllowedToCreateOfferingsWithTagsCmd.java |   56 +
 .../admin/offering/UpdateDiskOfferingCmd.java      |    8 -
 .../admin/offering/UpdateServiceOfferingCmd.java   |    9 -
 .../ChangeOutOfBandManagementPasswordCmd.java      |    9 +-
 .../ConfigureOutOfBandManagementCmd.java           |    8 +-
 .../DisableOutOfBandManagementForClusterCmd.java   |    8 +-
 .../DisableOutOfBandManagementForHostCmd.java      |    8 +-
 .../DisableOutOfBandManagementForZoneCmd.java      |    8 +-
 .../EnableOutOfBandManagementForClusterCmd.java    |    8 +-
 .../EnableOutOfBandManagementForHostCmd.java       |    8 +-
 .../EnableOutOfBandManagementForZoneCmd.java       |    8 +-
 .../IssueOutOfBandManagementPowerActionCmd.java    |    9 +-
 .../api/command/admin/pod/CreatePodCmd.java        |   14 +-
 .../api/command/admin/pod/DeletePodCmd.java        |    6 -
 .../api/command/admin/pod/ListPodsByCmd.java       |    6 -
 .../api/command/admin/pod/UpdatePodCmd.java        |    6 -
 .../api/command/admin/region/AddRegionCmd.java     |    6 -
 .../admin/region/CreatePortableIpRangeCmd.java     |    6 -
 .../api/command/admin/region/RemoveRegionCmd.java  |    6 -
 .../api/command/admin/region/UpdateRegionCmd.java  |    6 -
 .../command/admin/resource/ArchiveAlertsCmd.java   |    6 -
 .../command/admin/resource/DeleteAlertsCmd.java    |    6 -
 .../api/command/admin/resource/ListAlertsCmd.java  |    6 -
 .../command/admin/resource/ListCapacityCmd.java    |    6 -
 .../admin/resource/StartRollingMaintenanceCmd.java |   11 +-
 .../admin/resource/UploadCustomCertificateCmd.java |    6 -
 .../admin/resource/icon/DeleteResourceIconCmd.java |    6 -
 .../admin/resource/icon/ListResourceIconCmd.java   |    6 -
 .../admin/resource/icon/UploadResourceIconCmd.java |    6 -
 .../admin/router/ConfigureOvsElementCmd.java       |    6 -
 .../router/ConfigureVirtualRouterElementCmd.java   |    6 -
 .../router/CreateVirtualRouterElementCmd.java      |    6 -
 .../api/command/admin/router/DestroyRouterCmd.java |    6 -
 .../router/GetRouterHealthCheckResultsCmd.java     |    8 +-
 .../command/admin/router/ListOvsElementsCmd.java   |    6 -
 .../api/command/admin/router/ListRoutersCmd.java   |    6 -
 .../admin/router/ListVirtualRouterElementsCmd.java |    6 -
 .../api/command/admin/router/RebootRouterCmd.java  |    6 -
 .../api/command/admin/router/StartRouterCmd.java   |    6 -
 .../api/command/admin/router/StopRouterCmd.java    |    6 -
 .../api/command/admin/router/UpgradeRouterCmd.java |    6 -
 .../admin/router/UpgradeRouterTemplateCmd.java     |    6 -
 .../command/admin/storage/AddImageStoreCmd.java    |    6 -
 .../storage/CreateSecondaryStagingStoreCmd.java    |    6 -
 .../admin/storage/CreateStoragePoolCmd.java        |    6 -
 .../command/admin/storage/DeleteImageStoreCmd.java |    6 -
 .../api/command/admin/storage/DeletePoolCmd.java   |    6 -
 .../storage/DeleteSecondaryStagingStoreCmd.java    |    6 -
 .../storage/FindStoragePoolsForMigrationCmd.java   |    6 -
 .../command/admin/storage/ListImageStoresCmd.java  |    6 -
 .../command/admin/storage/ListStoragePoolsCmd.java |    6 -
 .../admin/storage/ListStorageProvidersCmd.java     |    6 -
 .../command/admin/storage/ListStorageTagsCmd.java  |    6 -
 .../storage/MigrateSecondaryStorageDataCmd.java    |   10 +-
 .../command/admin/storage/SyncStoragePoolCmd.java  |    8 +-
 .../storage/UpdateCloudToUseObjectStoreCmd.java    |    6 -
 .../storage/UpdateStorageCapabilitiesCmd.java      |    9 +-
 .../admin/storage/UpdateStoragePoolCmd.java        |    6 -
 .../api/command/admin/swift/AddSwiftCmd.java       |    6 -
 .../api/command/admin/swift/ListSwiftsCmd.java     |    6 -
 .../command/admin/systemvm/DestroySystemVmCmd.java |    8 +-
 .../command/admin/systemvm/ListSystemVMsCmd.java   |    6 -
 .../command/admin/systemvm/MigrateSystemVMCmd.java |    6 -
 .../command/admin/systemvm/PatchSystemVMCmd.java   |    9 +-
 .../command/admin/systemvm/RebootSystemVmCmd.java  |    6 -
 .../command/admin/systemvm/StartSystemVMCmd.java   |    6 -
 .../command/admin/systemvm/StopSystemVmCmd.java    |    6 -
 .../command/admin/systemvm/UpgradeSystemVMCmd.java |    6 -
 .../command/admin/template/PrepareTemplateCmd.java |    6 -
 .../command/admin/usage/AddTrafficMonitorCmd.java  |    6 -
 .../api/command/admin/usage/AddTrafficTypeCmd.java |    6 -
 .../admin/usage/DeleteTrafficMonitorCmd.java       |    6 -
 .../command/admin/usage/DeleteTrafficTypeCmd.java  |    6 -
 .../admin/usage/GenerateUsageRecordsCmd.java       |    6 -
 .../admin/usage/ListTrafficMonitorsCmd.java        |    6 -
 .../usage/ListTrafficTypeImplementorsCmd.java      |    5 -
 .../command/admin/usage/ListTrafficTypesCmd.java   |    6 -
 .../command/admin/usage/ListUsageRecordsCmd.java   |    9 +-
 .../api/command/admin/usage/ListUsageTypesCmd.java |    6 -
 .../admin/usage/RemoveRawUsageRecordsCmd.java      |    6 -
 .../command/admin/usage/UpdateTrafficTypeCmd.java  |    6 -
 .../api/command/admin/user/CreateUserCmd.java      |    6 -
 .../api/command/admin/user/DeleteUserCmd.java      |    6 -
 .../api/command/admin/user/DisableUserCmd.java     |    6 -
 .../api/command/admin/user/EnableUserCmd.java      |    6 -
 .../api/command/admin/user/GetUserCmd.java         |    6 -
 .../api/command/admin/user/GetUserKeysCmd.java     |   11 +-
 .../api/command/admin/user/ListUsersCmd.java       |    6 -
 .../api/command/admin/user/LockUserCmd.java        |    6 -
 .../api/command/admin/user/MoveUserCmd.java        |    6 -
 .../api/command/admin/user/RegisterCmd.java        |    6 -
 .../api/command/admin/user/UpdateUserCmd.java      |    6 -
 .../command/admin/vlan/CreateVlanIpRangeCmd.java   |   10 +-
 .../admin/vlan/DedicatePublicIpRangeCmd.java       |    6 -
 .../command/admin/vlan/DeleteVlanIpRangeCmd.java   |    6 -
 .../command/admin/vlan/ListVlanIpRangesCmd.java    |    6 -
 .../admin/vlan/ReleasePublicIpRangeCmd.java        |    6 -
 .../command/admin/vlan/UpdateVlanIpRangeCmd.java   |   10 +-
 .../api/command/admin/vm/AssignVMCmd.java          |    6 -
 .../api/command/admin/vm/ExpungeVMCmd.java         |    6 -
 .../api/command/admin/vm/GetVMUserDataCmd.java     |    5 -
 .../admin/vm/ImportUnmanagedInstanceCmd.java       |    8 +-
 .../admin/vm/ListUnmanagedInstancesCmd.java        |    9 +-
 .../api/command/admin/vm/MigrateVMCmd.java         |    6 -
 .../vm/MigrateVirtualMachineWithVolumeCmd.java     |   43 +-
 .../api/command/admin/vm/RecoverVMCmd.java         |    6 -
 .../command/admin/vm/UnmanageVMInstanceCmd.java    |   10 +-
 .../admin/vpc/CreatePrivateGatewayByAdminCmd.java  |    2 +-
 .../command/admin/vpc/CreateVPCOfferingCmd.java    |    6 -
 .../command/admin/vpc/DeletePrivateGatewayCmd.java |    6 -
 .../command/admin/vpc/DeleteVPCOfferingCmd.java    |    6 -
 .../command/admin/vpc/UpdateVPCOfferingCmd.java    |    6 -
 .../api/command/admin/zone/CreateZoneCmd.java      |   17 +-
 .../api/command/admin/zone/DeleteZoneCmd.java      |    6 -
 .../admin/zone/MarkDefaultZoneForAccountCmd.java   |    6 -
 .../api/command/admin/zone/UpdateZoneCmd.java      |    6 -
 .../user/account/AddAccountToProjectCmd.java       |    6 -
 .../command/user/account/AddUserToProjectCmd.java  |    8 +-
 .../user/account/DeleteAccountFromProjectCmd.java  |    6 -
 .../user/account/DeleteUserFromProjectCmd.java     |    8 +-
 .../user/account/ListProjectAccountsCmd.java       |    6 -
 .../user/address/DisassociateIPAddrCmd.java        |    6 -
 .../api/command/user/address/ReleaseIPAddrCmd.java |    6 -
 .../api/command/user/address/ReserveIPAddrCmd.java |    6 -
 .../api/command/user/address/UpdateIPAddrCmd.java  |    8 +-
 .../user/affinitygroup/CreateAffinityGroupCmd.java |    6 -
 .../user/affinitygroup/DeleteAffinityGroupCmd.java |    6 -
 .../affinitygroup/ListAffinityGroupTypesCmd.java   |    6 -
 .../user/affinitygroup/ListAffinityGroupsCmd.java  |    6 -
 .../user/autoscale/CreateAutoScalePolicyCmd.java   |   14 +-
 .../user/autoscale/CreateAutoScaleVmGroupCmd.java  |   15 +-
 .../autoscale/CreateAutoScaleVmProfileCmd.java     |  139 +-
 .../command/user/autoscale/CreateConditionCmd.java |   23 +-
 .../user/autoscale/DeleteAutoScalePolicyCmd.java   |    6 -
 .../user/autoscale/DeleteAutoScaleVmGroupCmd.java  |   18 +-
 .../autoscale/DeleteAutoScaleVmProfileCmd.java     |    6 -
 .../command/user/autoscale/DeleteConditionCmd.java |    8 +-
 .../user/autoscale/ListAutoScalePoliciesCmd.java   |   17 +-
 .../user/autoscale/ListAutoScaleVmGroupsCmd.java   |   13 +-
 .../user/autoscale/ListAutoScaleVmProfilesCmd.java |    6 -
 .../command/user/autoscale/ListConditionsCmd.java  |   12 +-
 .../command/user/autoscale/ListCountersCmd.java    |    9 +-
 .../user/autoscale/UpdateAutoScalePolicyCmd.java   |   20 +-
 .../user/autoscale/UpdateAutoScaleVmGroupCmd.java  |   18 +-
 .../autoscale/UpdateAutoScaleVmProfileCmd.java     |   54 +-
 .../command/user/autoscale/UpdateConditionCmd.java |  117 +
 .../AssignVirtualMachineToBackupOfferingCmd.java   |   11 +-
 .../api/command/user/backup/CreateBackupCmd.java   |    9 +-
 .../user/backup/CreateBackupScheduleCmd.java       |    8 +-
 .../api/command/user/backup/DeleteBackupCmd.java   |   23 +-
 .../user/backup/DeleteBackupScheduleCmd.java       |    8 +-
 .../user/backup/ListBackupOfferingsCmd.java        |    7 +-
 .../command/user/backup/ListBackupScheduleCmd.java |   10 +-
 .../api/command/user/backup/ListBackupsCmd.java    |    9 +-
 .../RemoveVirtualMachineFromBackupOfferingCmd.java |   11 +-
 .../api/command/user/backup/RestoreBackupCmd.java  |    9 +-
 .../RestoreVolumeFromBackupAndAttachToVMCmd.java   |    9 +-
 .../user/backup/UpdateBackupScheduleCmd.java       |    3 +-
 .../command/user/config/ListCapabilitiesCmd.java   |   11 +-
 .../consoleproxy/CreateConsoleEndpointCmd.java     |    8 +-
 .../api/command/user/event/ArchiveEventsCmd.java   |    6 -
 .../api/command/user/event/DeleteEventsCmd.java    |    6 -
 .../api/command/user/event/ListEventTypesCmd.java  |    6 -
 .../api/command/user/event/ListEventsCmd.java      |    6 -
 .../user/firewall/CreateEgressFirewallRuleCmd.java |    6 -
 .../user/firewall/CreateFirewallRuleCmd.java       |    6 -
 .../user/firewall/CreatePortForwardingRuleCmd.java |    6 -
 .../user/firewall/DeleteEgressFirewallRuleCmd.java |    6 -
 .../user/firewall/DeleteFirewallRuleCmd.java       |    6 -
 .../user/firewall/DeletePortForwardingRuleCmd.java |    6 -
 .../user/firewall/ListEgressFirewallRulesCmd.java  |    6 -
 .../user/firewall/ListFirewallRulesCmd.java        |    6 -
 .../user/firewall/ListPortForwardingRulesCmd.java  |    6 -
 .../user/firewall/UpdateEgressFirewallRuleCmd.java |    6 -
 .../user/firewall/UpdateFirewallRuleCmd.java       |    8 +-
 .../user/firewall/UpdatePortForwardingRuleCmd.java |    6 -
 .../user/guest/ListGuestOsCategoriesCmd.java       |    6 -
 .../api/command/user/guest/ListGuestOsCmd.java     |    6 -
 .../user/ipv6/CreateIpv6FirewallRuleCmd.java       |    8 +-
 .../user/ipv6/DeleteIpv6FirewallRuleCmd.java       |    8 +-
 .../user/ipv6/ListIpv6FirewallRulesCmd.java        |    8 +-
 .../user/ipv6/UpdateIpv6FirewallRuleCmd.java       |    8 +-
 .../api/command/user/iso/DeleteIsoCmd.java         |   10 -
 .../api/command/user/iso/ExtractIsoCmd.java        |   10 -
 .../api/command/user/job/ListAsyncJobsCmd.java     |    8 +-
 .../command/user/job/QueryAsyncJobResultCmd.java   |    6 -
 .../loadbalancer/AssignCertToLoadBalancerCmd.java  |    6 -
 .../loadbalancer/AssignToLoadBalancerRuleCmd.java  |    8 +-
 .../CreateApplicationLoadBalancerCmd.java          |    6 -
 .../loadbalancer/CreateLBHealthCheckPolicyCmd.java |    6 -
 .../loadbalancer/CreateLoadBalancerRuleCmd.java    |    8 +-
 .../DeleteApplicationLoadBalancerCmd.java          |    6 -
 .../loadbalancer/DeleteLBHealthCheckPolicyCmd.java |    6 -
 .../loadbalancer/DeleteLoadBalancerRuleCmd.java    |    6 -
 .../user/loadbalancer/DeleteSslCertCmd.java        |    8 +-
 .../ListApplicationLoadBalancersCmd.java           |    6 -
 .../loadbalancer/ListLBHealthCheckPoliciesCmd.java |    6 -
 .../loadbalancer/ListLBStickinessPoliciesCmd.java  |    6 -
 .../loadbalancer/ListLoadBalancerRulesCmd.java     |    6 -
 .../command/user/loadbalancer/ListSslCertsCmd.java |    6 -
 .../RemoveCertFromLoadBalancerCmd.java             |    6 -
 .../RemoveFromLoadBalancerRuleCmd.java             |    8 +-
 .../UpdateApplicationLoadBalancerCmd.java          |    6 -
 .../loadbalancer/UpdateLBHealthCheckPolicyCmd.java |    6 -
 .../loadbalancer/UpdateLBStickinessPolicyCmd.java  |    6 -
 .../loadbalancer/UpdateLoadBalancerRuleCmd.java    |    6 -
 .../user/loadbalancer/UploadSslCertCmd.java        |    6 -
 .../user/nat/CreateIpForwardingRuleCmd.java        |    6 -
 .../user/nat/DeleteIpForwardingRuleCmd.java        |    6 -
 .../api/command/user/nat/DisableStaticNatCmd.java  |    6 -
 .../api/command/user/nat/EnableStaticNatCmd.java   |    6 -
 .../command/user/nat/ListIpForwardingRulesCmd.java |    6 -
 .../command/user/network/CreateNetworkACLCmd.java  |    6 -
 .../user/network/CreateNetworkACLListCmd.java      |    6 -
 .../api/command/user/network/CreateNetworkCmd.java |   23 +
 .../user/network/CreateNetworkPermissionsCmd.java  |    8 +-
 .../command/user/network/DeleteNetworkACLCmd.java  |    6 -
 .../user/network/DeleteNetworkACLListCmd.java      |    6 -
 .../api/command/user/network/DeleteNetworkCmd.java |    6 -
 .../user/network/ListNetworkACLListsCmd.java       |    6 -
 .../command/user/network/ListNetworkACLsCmd.java   |    6 -
 .../user/network/ListNetworkOfferingsCmd.java      |    6 -
 .../user/network/ListNetworkPermissionsCmd.java    |    8 +-
 .../user/network/RemoveNetworkPermissionsCmd.java  |    8 +-
 .../user/network/ReplaceNetworkACLListCmd.java     |    6 -
 .../user/network/ResetNetworkPermissionsCmd.java   |    8 +-
 .../command/user/network/RestartNetworkCmd.java    |    6 -
 .../user/network/UpdateNetworkACLListCmd.java      |    6 -
 .../api/command/user/network/UpdateNetworkCmd.java |   18 +-
 .../user/offering/ListDiskOfferingsCmd.java        |    6 -
 .../user/offering/ListServiceOfferingsCmd.java     |    6 -
 .../api/command/user/project/CreateProjectCmd.java |    6 -
 .../api/command/user/project/DeleteProjectCmd.java |    6 -
 .../user/project/DeleteProjectInvitationCmd.java   |    6 -
 .../user/project/ListProjectInvitationsCmd.java    |    6 -
 .../api/command/user/project/ListProjectsCmd.java  |    6 -
 .../command/user/project/SuspendProjectCmd.java    |    6 -
 .../api/command/user/project/UpdateProjectCmd.java |    6 -
 .../user/project/UpdateProjectInvitationCmd.java   |    6 -
 .../api/command/user/region/ListRegionsCmd.java    |    6 -
 .../ha/gslb/AssignToGlobalLoadBalancerRuleCmd.java |    6 -
 .../ha/gslb/CreateGlobalLoadBalancerRuleCmd.java   |    6 -
 .../ha/gslb/DeleteGlobalLoadBalancerRuleCmd.java   |    6 -
 .../ha/gslb/ListGlobalLoadBalancerRuleCmd.java     |    6 -
 .../ha/gslb/UpdateGlobalLoadBalancerRuleCmd.java   |    6 -
 .../user/resource/GetCloudIdentifierCmd.java       |    6 -
 .../user/resource/ListDetailOptionsCmd.java        |    8 +-
 .../command/user/resource/ListHypervisorsCmd.java  |    6 -
 .../user/resource/ListResourceLimitsCmd.java       |    6 -
 .../user/resource/UpdateResourceCountCmd.java      |    6 -
 .../user/resource/UpdateResourceLimitCmd.java      |    6 -
 .../AuthorizeSecurityGroupEgressCmd.java           |    6 -
 .../AuthorizeSecurityGroupIngressCmd.java          |    6 -
 .../user/securitygroup/CreateSecurityGroupCmd.java |    6 -
 .../user/securitygroup/DeleteSecurityGroupCmd.java |    6 -
 .../user/securitygroup/ListSecurityGroupsCmd.java  |    6 -
 .../RevokeSecurityGroupEgressCmd.java              |    6 -
 .../RevokeSecurityGroupIngressCmd.java             |    6 -
 .../user/securitygroup/UpdateSecurityGroupCmd.java |    9 +-
 .../command/user/snapshot/CreateSnapshotCmd.java   |    6 -
 .../snapshot/CreateSnapshotFromVMSnapshotCmd.java  |    6 -
 .../user/snapshot/CreateSnapshotPolicyCmd.java     |    6 -
 .../command/user/snapshot/DeleteSnapshotCmd.java   |    6 -
 .../user/snapshot/DeleteSnapshotPoliciesCmd.java   |    6 -
 .../user/snapshot/ListSnapshotPoliciesCmd.java     |    6 -
 .../command/user/snapshot/ListSnapshotsCmd.java    |    6 -
 .../command/user/snapshot/RevertSnapshotCmd.java   |    6 -
 .../user/snapshot/UpdateSnapshotPolicyCmd.java     |    8 +-
 .../api/command/user/ssh/CreateSSHKeyPairCmd.java  |    5 -
 .../api/command/user/ssh/DeleteSSHKeyPairCmd.java  |    6 -
 .../api/command/user/ssh/ListSSHKeyPairsCmd.java   |    6 -
 .../command/user/ssh/RegisterSSHKeyPairCmd.java    |    6 -
 .../api/command/user/tag/CreateTagsCmd.java        |    6 -
 .../api/command/user/tag/DeleteTagsCmd.java        |    6 -
 .../api/command/user/tag/ListTagsCmd.java          |    6 -
 .../command/user/template/DeleteTemplateCmd.java   |   10 -
 .../command/user/template/ExtractTemplateCmd.java  |   10 -
 .../template/UpdateTemplatePermissionsCmd.java     |    2 +-
 .../command/user/userdata/DeleteUserDataCmd.java   |    6 -
 .../user/userdata/LinkUserDataToTemplateCmd.java   |    6 -
 .../api/command/user/userdata/ListUserDataCmd.java |    6 -
 .../command/user/userdata/RegisterUserDataCmd.java |    5 -
 .../api/command/user/vm/DeployVMCmd.java           |   32 +
 .../api/command/user/vm/GetVMPasswordCmd.java      |    5 -
 .../api/command/user/vm/ListNicsCmd.java           |    6 -
 .../cloudstack/api/command/user/vm/ListVMsCmd.java |    8 +
 .../api/command/user/vm/RemoveIpFromVmNicCmd.java  |    6 -
 .../cloudstack/api/command/user/vm/StartVMCmd.java |   11 +
 .../api/command/user/vm/UpdateVmNicIpCmd.java      |    6 -
 .../api/command/user/vmgroup/CreateVMGroupCmd.java |    6 -
 .../api/command/user/vmgroup/DeleteVMGroupCmd.java |    6 -
 .../api/command/user/vmgroup/ListVMGroupsCmd.java  |    6 -
 .../api/command/user/vmgroup/UpdateVMGroupCmd.java |    6 -
 .../user/vmsnapshot/CreateVMSnapshotCmd.java       |    6 -
 .../user/vmsnapshot/DeleteVMSnapshotCmd.java       |    6 -
 .../command/user/vmsnapshot/ListVMSnapshotCmd.java |    6 -
 .../command/user/volume/AddResourceDetailCmd.java  |    6 -
 .../api/command/user/volume/AssignVolumeCmd.java   |  119 +
 .../user/volume/ChangeOfferingForVolumeCmd.java    |    8 +-
 .../api/command/user/volume/DeleteVolumeCmd.java   |    6 -
 .../api/command/user/volume/ExtractVolumeCmd.java  |   10 -
 .../user/volume/ListResourceDetailsCmd.java        |    6 -
 .../api/command/user/volume/ListVolumesCmd.java    |    8 +
 .../user/volume/RemoveResourceDetailCmd.java       |    6 -
 .../api/command/user/vpc/CreateStaticRouteCmd.java |    6 -
 .../api/command/user/vpc/CreateVPCCmd.java         |    9 +
 .../api/command/user/vpc/DeleteStaticRouteCmd.java |    6 -
 .../api/command/user/vpc/DeleteVPCCmd.java         |    6 -
 .../command/user/vpc/ListPrivateGatewaysCmd.java   |    6 -
 .../api/command/user/vpc/ListStaticRoutesCmd.java  |    6 -
 .../api/command/user/vpc/ListVPCOfferingsCmd.java  |   20 +-
 .../api/command/user/vpc/RestartVPCCmd.java        |    6 -
 .../api/command/user/vpc/UpdateVPCCmd.java         |   10 +-
 .../api/command/user/vpn/AddVpnUserCmd.java        |    6 -
 .../command/user/vpn/CreateRemoteAccessVpnCmd.java |    8 +-
 .../command/user/vpn/CreateVpnConnectionCmd.java   |    6 -
 .../user/vpn/CreateVpnCustomerGatewayCmd.java      |    6 -
 .../api/command/user/vpn/CreateVpnGatewayCmd.java  |    6 -
 .../command/user/vpn/DeleteRemoteAccessVpnCmd.java |    6 -
 .../command/user/vpn/DeleteVpnConnectionCmd.java   |    6 -
 .../user/vpn/DeleteVpnCustomerGatewayCmd.java      |    6 -
 .../api/command/user/vpn/DeleteVpnGatewayCmd.java  |    6 -
 .../command/user/vpn/ListRemoteAccessVpnsCmd.java  |    8 +-
 .../command/user/vpn/ListVpnConnectionsCmd.java    |    6 -
 .../user/vpn/ListVpnCustomerGatewaysCmd.java       |    6 -
 .../api/command/user/vpn/ListVpnGatewaysCmd.java   |    6 -
 .../api/command/user/vpn/ListVpnUsersCmd.java      |    6 -
 .../api/command/user/vpn/RemoveVpnUserCmd.java     |    6 -
 .../command/user/vpn/ResetVpnConnectionCmd.java    |    6 -
 .../command/user/vpn/UpdateRemoteAccessVpnCmd.java |    8 +-
 .../command/user/vpn/UpdateVpnConnectionCmd.java   |    6 -
 .../user/vpn/UpdateVpnCustomerGatewayCmd.java      |    6 -
 .../api/command/user/vpn/UpdateVpnGatewayCmd.java  |    6 -
 .../api/response/AnnotationResponse.java           |    4 +-
 .../api/response/AutoScalePolicyResponse.java      |    8 +
 .../api/response/AutoScaleVmGroupResponse.java     |  141 +-
 .../api/response/AutoScaleVmProfileResponse.java   |   30 +-
 .../api/response/CapabilitiesResponse.java         |   32 +
 .../cloudstack/api/response/ConditionResponse.java |   22 +-
 .../api/response/ConfigurationGroupResponse.java   |   76 +
 .../api/response/ConfigurationResponse.java        |   96 +
 .../response/ConfigurationSubGroupResponse.java    |   50 +
 .../cloudstack/api/response/CounterResponse.java   |    8 +
 .../api/response/DomainRouterResponse.java         |    8 +
 .../response/HypervisorCapabilitiesResponse.java   |    4 +
 ...ntAllowedToCreateOfferingsWithTagsResponse.java |   34 +
 .../api/response/LBStickinessPolicyResponse.java   |    4 +-
 .../api/response/NetworkOfferingResponse.java      |    8 +
 .../cloudstack/api/response/NetworkResponse.java   |   48 +
 .../cloudstack/api/response/NicResponse.java       |   16 +-
 .../api/response/PrivateGatewayResponse.java       |    2 +-
 .../api/response/SSHKeyPairResponse.java           |   16 +
 .../cloudstack/api/response/SystemVmResponse.java  |   12 +
 .../cloudstack/api/response/UserVmResponse.java    |   46 +-
 .../api/response/VMSnapshotResponse.java           |    2 +-
 .../cloudstack/api/response/VolumeResponse.java    |   12 +
 .../cloudstack/api/response/VpcResponse.java       |    8 +
 .../cloudstack/api/response/ZoneResponse.java      |   36 +
 .../apache/cloudstack/backup/BackupManager.java    |   13 +-
 .../apache/cloudstack/backup/BackupProvider.java   |    5 +-
 .../java/org/apache/cloudstack/ca/CAManager.java   |   11 +-
 .../cloudstack/config/ApiServiceConfiguration.java |    6 +-
 .../consoleproxy/ConsoleAccessManager.java         |   18 +-
 .../org/apache/cloudstack/context/CallContext.java |   14 +
 .../org/apache/cloudstack/query/QueryService.java  |   12 +-
 .../apache/cloudstack/region/RegionService.java    |    2 +-
 .../apache/cloudstack/usage/UsageUnitTypes.java    |   52 +
 .../com/cloud/agent/api/storage/OVFHelperTest.java |    2 +-
 .../com/cloud/agent/api/to/LoadBalancerTOTest.java |  176 +
 .../com/cloud/deploy/DataCenterDeploymentTest.java |   57 +
 .../test/java/com/cloud/host/ControlStateTest.java |  109 +
 .../com/cloud/network/as/AutoScalePolicyTest.java  |   55 +
 .../com/cloud/network/as/AutoScaleVmGroupTest.java |   51 +
 .../network/router/VirtualRouterAutoScaleTest.java |   68 +
 .../vm/MigrateVirtualMachineWithVolumeCmdTest.java |  226 ++
 .../api/command/admin/zone/CreateZoneCmdTest.java  |   35 +
 .../api/command/test/AddHostCmdTest.java           |    3 +-
 .../command/test/AddSecondaryStorageCmdTest.java   |    3 +-
 .../test/CreateAutoScaleVmProfileCmdTest.java      |  176 +
 .../api/command/test/ResetVMUserDataCmdTest.java   |    2 +-
 .../test/UpdateAutoScaleVmProfileCmdTest.java      |  129 +
 .../api/command/test/UpdateConditionCmdTest.java   |  132 +
 .../command/test/UpdateHostPasswordCmdTest.java    |   14 +-
 .../command/user/network/CreateNetworkCmdTest.java |  298 ++
 .../command/user/network/UpdateNetworkCmdTest.java |  176 +
 .../api/command/user/vpc/CreateVPCCmdTest.java     |  165 +
 .../api/command/user/vpc/UpdateVPCCmdTest.java     |   94 +
 .../cloudstack/usage/UsageUnitTypesTest.java       |   53 +
 client/bindir/cloud-setup-management.in            |    2 +-
 client/conf/db.properties.in                       |    1 +
 client/conf/ehcache.xml.in                         |    4 +-
 client/pom.xml                                     |   51 +-
 cloud-cli/cloudapis/__init__.py                    |    1 -
 cloud-cli/cloudapis/cloud.py                       |    2 -
 .../com/cloud/agent/api/NetworkUsageCommand.java   |    2 +-
 .../com/cloud/agent/api/UnregisterNicCommand.java  |    2 +-
 .../java/com/cloud/agent/api/VmDiskStatsEntry.java |   37 +
 .../java/com/cloud/agent/api/VmStatsEntry.java     |   12 +-
 .../api/routing/GetAutoScaleMetricsAnswer.java     |   51 +
 .../api/routing/GetAutoScaleMetricsCommand.java    |   65 +
 .../cloud/agent/api/routing/IpAssocCommand.java    |    5 -
 .../cloud/agent/api/routing/IpAssocVpcCommand.java |    6 -
 .../agent/api/routing/NetworkElementCommand.java   |    3 +-
 .../agent/api/routing/SetFirewallRulesCommand.java |    5 -
 .../api/routing/SetIpv6FirewallRulesCommand.java   |    5 -
 .../api/routing/SetMonitorServiceCommand.java      |    5 +
 .../agent/api/routing/SetNetworkACLCommand.java    |    5 -
 .../api/routing/SetPortForwardingRulesCommand.java |    5 -
 .../api/routing/SetStaticNatRulesCommand.java      |    5 -
 .../agent/api/routing/SetStaticRouteCommand.java   |    5 -
 .../agent/api/routing/SiteLoadBalancerConfig.java  |    2 +-
 .../agent/api/routing/UpdateNetworkCommand.java    |   59 +
 .../api/storage/CreateDatadiskTemplateCommand.java |    6 +
 .../agent/resource/virtualnetwork/VRScripts.java   |    2 +
 .../virtualnetwork/VirtualRoutingResource.java     |   54 +
 .../facade/IpAssociationConfigItem.java            |    1 +
 .../facade/SetGuestNetworkConfigItem.java          |    4 +-
 .../virtualnetwork/model/GuestNetwork.java         |   10 +
 .../resource/virtualnetwork/model/IpAddress.java   |    9 +-
 .../resource/virtualnetwork/model/TcpAclRule.java  |    2 +-
 .../resource/virtualnetwork/model/UdpAclRule.java  |    2 +-
 .../com/cloud/network/HAProxyConfigurator.java     |    8 +-
 .../network/resource/TrafficSentinelResource.java  |    2 +-
 .../com/cloud/resource/ServerResourceBase.java     |  131 +-
 .../storage/template/HttpTemplateDownloader.java   |    2 +-
 .../template/MetalinkTemplateDownloader.java       |    2 +-
 .../java/com/cloud/storage/template/Processor.java |    2 +-
 .../storage/template/S3TemplateDownloader.java     |    4 +-
 .../cloudstack/storage/command/DettachCommand.java |    9 +
 .../storage/command/MoveVolumeCommand.java         |   66 +
 .../core/spring-core-registry-core-context.xml     |    2 +-
 .../agent/api/storage/DownloadAnswerTest.java      |    2 +-
 .../resource/virtualnetwork/ConfigHelperTest.java  |    2 +-
 .../virtualnetwork/VirtualRoutingResourceTest.java |    6 +-
 .../com/cloud/resource/ServerResourceBaseTest.java |  241 ++
 .../cloudstack/api/agent/test/AnswerTest.java      |    2 +-
 .../agent/test/GetAutoScaleMetricsAnswerTest.java  |   93 +
 .../agent/test/GetAutoScaleMetricsCommandTest.java |   77 +
 debian/cloudstack-usage.postinst                   |    7 +
 debian/control                                     |    4 +-
 debian/rules                                       |    2 +
 .../java/com/cloud/vm/VirtualMachineManager.java   |   26 +-
 .../cloud/entity/api/VirtualMachineEntity.java     |    6 +-
 .../service/NetworkOrchestrationService.java       |    2 +-
 .../subsystem/api/network/NetworkSubsystem.java    |    2 +-
 .../subsystem/api/storage/DataMotionStrategy.java  |    2 +-
 .../subsystem/api/storage/EndPointSelector.java    |    2 +
 .../engine/subsystem/api/storage/SnapshotInfo.java |    6 +
 .../subsystem/api/storage/VolumeService.java       |    4 +
 .../main/java/com/cloud/alert/AlertManager.java    |    2 +-
 .../java/com/cloud/capacity/CapacityManager.java   |    2 +-
 .../cloud/configuration/ConfigurationManager.java  |   23 +-
 .../cloud/deploy/DeploymentPlanningManager.java    |    6 +
 .../java/com/cloud/network/IpAddressManager.java   |   11 +-
 .../network/lb/LoadBalancingRulesManager.java      |   13 +-
 .../com/cloud/network/rules/FirewallManager.java   |    2 +-
 .../java/com/cloud/network/vpc/VpcManager.java     |    3 +-
 .../java/com/cloud/resource/ResourceManager.java   |    6 +-
 .../java/com/cloud/storage/StorageManager.java     |   34 +-
 .../com/cloud/vm/VirtualMachineProfileImpl.java    |    5 +-
 engine/orchestration/pom.xml                       |    3 -
 .../com/cloud/agent/manager/AgentManagerImpl.java  |   10 +-
 .../agent/manager/ClusteredAgentManagerImpl.java   |    8 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  171 +-
 .../engine/cloud/entity/api/VMEntityManager.java   |    2 +-
 .../cloud/entity/api/VMEntityManagerImpl.java      |    5 +-
 .../cloud/entity/api/VirtualMachineEntityImpl.java |    6 +-
 .../entity/api/db/EngineDataCenterVO.java          |   10 +
 .../engine/orchestration/NetworkOrchestrator.java  |  154 +-
 .../engine/orchestration/VolumeOrchestrator.java   |   67 +-
 .../cloud/vm/VirtualMachineManagerImplTest.java    |  159 +-
 .../orchestration/NetworkOrchestratorTest.java     |    2 +
 .../engine/provisioning/test/ProvisioningTest.java |   63 +-
 .../src/test/resources/provisioningContext.xml     |   47 -
 engine/schema/pom.xml                              |    6 +
 .../src/main/java/com/cloud/dc/DataCenterVO.java   |   13 +
 .../main/java/com/cloud/dc/dao/DataCenterDao.java  |    2 +
 .../java/com/cloud/dc/dao/DataCenterDaoImpl.java   |   21 +
 .../main/java/com/cloud/domain/dao/DomainDao.java  |    3 +
 .../java/com/cloud/domain/dao/DomainDaoImpl.java   |   25 +
 .../src/main/java/com/cloud/host/dao/HostDao.java  |    8 +
 .../main/java/com/cloud/host/dao/HostDaoImpl.java  |   24 +-
 .../java/com/cloud/host/dao/HostDetailsDao.java    |    3 +
 .../com/cloud/host/dao/HostDetailsDaoImpl.java     |   13 +-
 .../network/TungstenGuestNetworkIpAddressVO.java   |  104 +
 .../com/cloud/network/as/AutoScalePolicyVO.java    |   29 +-
 .../network/as/AutoScaleVmGroupStatisticsVO.java   |  168 +
 .../com/cloud/network/as/AutoScaleVmGroupVO.java   |   54 +-
 .../com/cloud/network/as/AutoScaleVmProfileVO.java |   85 +-
 .../java/com/cloud/network/as/ConditionVO.java     |   17 +-
 .../main/java/com/cloud/network/as/CounterVO.java  |   12 +-
 .../cloud/network/as/dao/AutoScaleVmGroupDao.java  |    9 +
 .../network/as/dao/AutoScaleVmGroupDaoImpl.java    |   70 +-
 .../as/dao/AutoScaleVmGroupStatisticsDao.java      |   41 +
 .../as/dao/AutoScaleVmGroupStatisticsDaoImpl.java  |  138 +
 .../network/as/dao/AutoScaleVmGroupVmMapDao.java   |    7 +
 .../as/dao/AutoScaleVmGroupVmMapDaoImpl.java       |   78 +-
 .../com/cloud/network/as/dao/ConditionDaoImpl.java |    2 +-
 .../java/com/cloud/network/as/dao/CounterDao.java  |    2 +-
 .../com/cloud/network/as/dao/CounterDaoImpl.java   |   12 +-
 .../java/com/cloud/network/dao/IPAddressDao.java   |    6 +
 .../com/cloud/network/dao/IPAddressDaoImpl.java    |   34 +
 .../java/com/cloud/network/dao/NetworkDaoImpl.java |    2 +-
 .../main/java/com/cloud/network/dao/NetworkVO.java |   26 +
 .../dao/TungstenGuestNetworkIpAddressDao.java      |   34 +
 .../dao/TungstenGuestNetworkIpAddressDaoImpl.java  |   93 +
 .../com/cloud/network/dao/TungstenProviderDao.java |   32 +
 .../cloud/network/dao/TungstenProviderDaoImpl.java |   84 +
 .../cloud/network/element/TungstenProviderVO.java  |  169 +
 .../security/TungstenSecurityGroupRuleVO.java      |  129 +
 .../security/dao/TungstenSecurityGroupRuleDao.java |   31 +
 .../dao/TungstenSecurityGroupRuleDaoImpl.java      |   78 +
 .../src/main/java/com/cloud/network/vpc/VpcVO.java |   11 +
 .../com/cloud/offerings/NetworkOfferingVO.java     |   24 +
 .../java/com/cloud/service/ServiceOfferingVO.java  |    2 +-
 .../service/dao/ServiceOfferingDetailsDaoImpl.java |    2 +-
 .../main/java/com/cloud/storage/VolumeStatsVO.java |   86 +
 .../storage/dao/GuestOSHypervisorDaoImpl.java      |    5 +-
 .../main/java/com/cloud/storage/dao/VolumeDao.java |    1 +
 .../java/com/cloud/storage/dao/VolumeDaoImpl.java  |    7 +
 .../java/com/cloud/storage/dao/VolumeStatsDao.java |   82 +
 .../com/cloud/storage/dao/VolumeStatsDaoImpl.java  |  124 +
 .../upgrade/ConfigurationGroupsAggregator.java     |  106 +
 .../com/cloud/upgrade/DatabaseUpgradeChecker.java  |   52 +-
 .../cloud/upgrade/DatabaseVersionHierarchy.java    |    9 +-
 .../main/java/com/cloud/upgrade/GuestOsMapper.java |   18 +-
 .../com/cloud/upgrade/dao/Upgrade2214to30.java     |    2 +-
 .../com/cloud/upgrade/dao/Upgrade222to224.java     |    4 +-
 .../com/cloud/upgrade/dao/Upgrade304to305.java     |    2 +-
 .../com/cloud/upgrade/dao/Upgrade41400to41500.java |  238 --
 .../com/cloud/upgrade/dao/Upgrade41500to41510.java |  140 +-
 .../com/cloud/upgrade/dao/Upgrade41510to41520.java |   10 +-
 .../com/cloud/upgrade/dao/Upgrade41520to41600.java |    9 -
 .../com/cloud/upgrade/dao/Upgrade41600to41610.java |   10 +-
 .../com/cloud/upgrade/dao/Upgrade41610to41700.java |    9 +-
 .../com/cloud/upgrade/dao/Upgrade41700to41710.java |    2 +-
 .../com/cloud/upgrade/dao/Upgrade41710to41720.java |   75 +
 .../com/cloud/upgrade/dao/Upgrade41710to41800.java |   86 -
 .../com/cloud/upgrade/dao/Upgrade41720to41800.java |  712 ++++
 .../com/cloud/upgrade/dao/Upgrade430to440.java     |    2 +-
 .../com/cloud/upgrade/dao/Upgrade450to451.java     |    3 +-
 .../src/main/java/com/cloud/usage/UsageVO.java     |    6 +
 .../main/java/com/cloud/usage/dao/UsageDao.java    |    5 +-
 .../java/com/cloud/usage/dao/UsageDaoImpl.java     |   86 +-
 .../src/main/java/com/cloud/user/AccountVO.java    |    4 +
 .../main/java/com/cloud/vm/ConsoleSessionVO.java   |  134 +
 .../schema/src/main/java/com/cloud/vm/NicVO.java   |   12 +
 .../java/com/cloud/vm/constants/VmDetails.java     |   32 +
 .../java/com/cloud/vm/dao/ConsoleSessionDao.java   |   36 +
 .../com/cloud/vm/dao/ConsoleSessionDaoImpl.java    |   69 +
 .../src/main/java/com/cloud/vm/dao/NicDao.java     |    4 +
 .../src/main/java/com/cloud/vm/dao/NicDaoImpl.java |   16 +
 .../resourcedetail/ResourceDetailsDao.java         |    2 +-
 .../resourcedetail/ResourceDetailsDaoBase.java     |    2 +-
 .../dao/DiskOfferingDetailsDaoImpl.java            |    2 +-
 .../datastore/db/SnapshotDataStoreDaoImpl.java     |  466 +++
 ...n-daos-between-management-and-usage-context.xml |   70 +
 .../spring-engine-schema-core-daos-context.xml     |   49 +-
 .../resources/META-INF/db/schema-2211to2212.sql    |    2 +-
 .../main/resources/META-INF/db/schema-228to229.sql |    2 +-
 .../resources/META-INF/db/schema-229to2210.sql     |    2 +-
 .../main/resources/META-INF/db/schema-305to306.sql |    2 +-
 .../resources/META-INF/db/schema-41000to41100.sql  |    2 +-
 .../main/resources/META-INF/db/schema-410to420.sql |    4 +-
 .../resources/META-INF/db/schema-41610to41700.sql  |    8 +-
 .../META-INF/db/schema-41710to41800-cleanup.sql    |   20 -
 .../resources/META-INF/db/schema-41710to41800.sql  |  577 ---
 .../META-INF/db/schema-41720to41800-cleanup.sql    |   20 +
 .../resources/META-INF/db/schema-41720to41800.sql  | 1495 ++++++++
 .../main/resources/META-INF/db/schema-420to421.sql |    2 +-
 .../src/test/java/com/cloud/host/HostVOTest.java   |  122 +-
 .../cloud/network/as/AutoScaleVmProfileVOTest.java |   65 +
 .../as/dao/AutoScaleVmGroupDaoImplTest.java        |  137 +
 .../dao/AutoScaleVmGroupStatisticsDaoImplTest.java |  247 ++
 .../as/dao/AutoScaleVmGroupVmMapDaoImplTest.java   |  204 ++
 .../cloud/upgrade/DatabaseUpgradeCheckerTest.java  |   40 +-
 .../upgrade/DatabaseVersionHierarchyTest.java      |  117 +
 .../storage/motion/AncientDataMotionStrategy.java  |    3 +-
 .../manager/ImageStoreProviderManagerImpl.java     |    4 +-
 .../storage/test/ChildTestConfiguration.java       |   14 +-
 .../apache/cloudstack/storage/test/TestHttp.java   |   22 +-
 .../src/test/resources/component.xml               |    6 +-
 .../src/test/resources/fakeDriverTestContext.xml   |    2 +-
 .../src/test/resources/storageContext.xml          |    2 +-
 .../storage/snapshot/DefaultSnapshotStrategy.java  |   64 +-
 .../snapshot/DefaultSnapshotStrategyTest.java      |  104 +-
 .../allocator/AbstractStoragePoolAllocator.java    |    6 +
 .../ClusterScopeStoragePoolAllocator.java          |    2 +-
 .../allocator/LocalStoragePoolAllocator.java       |    2 +-
 .../allocator/ZoneWideStoragePoolAllocator.java    |    2 +-
 .../storage/datastore/DataObjectManagerImpl.java   |    4 +-
 .../storage/endpoint/DefaultEndPointSelector.java  |   12 +-
 .../storage/image/db/SnapshotDataStoreDaoImpl.java |  552 ---
 .../image/deployasis/DeployAsIsHelperImpl.java     |    6 +-
 .../datastore/db/SnapshotDataStoreDaoImplTest.java |  145 +
 .../image/db/SnapshotDataStoreDaoImplTest.java     |   77 -
 .../storage/datastore/PrimaryDataStoreImpl.java    |    6 +
 .../storage/volume/VolumeServiceImpl.java          |   59 +-
 .../cluster/ClusterServiceServletHttpHandler.java  |    4 +-
 .../apache/cloudstack/config/Configuration.java    |   29 +-
 .../cloudstack/config/ConfigurationGroup.java      |   28 +
 .../cloudstack/config/ConfigurationSubGroup.java   |   30 +
 .../framework/config/ConfigDepotAdmin.java         |    4 +
 .../cloudstack/framework/config/ConfigKey.java     |   70 +-
 .../config/dao/ConfigurationGroupDao.java          |   25 +
 .../config/dao/ConfigurationGroupDaoImpl.java      |   44 +
 .../config/dao/ConfigurationSubGroupDao.java       |   31 +
 .../config/dao/ConfigurationSubGroupDaoImpl.java   |  131 +
 .../framework/config/impl/ConfigDepotImpl.java     |  114 +
 .../config/impl/ConfigurationGroupVO.java          |   91 +
 .../config/impl/ConfigurationSubGroupVO.java       |  103 +
 .../framework/config/impl/ConfigurationVO.java     |  112 +-
 .../spring-framework-config-system-context.xml     |    6 +
 .../cloudstack/framework/config/ConfigKeyTest.java |    4 +-
 .../config/impl/ConfigDepotAdminTest.java          |   61 +-
 .../cloud/utils/crypt/DBEncryptionFinderCLI.java   |   30 +
 .../utils/crypt/EncryptionSecretKeyChanger.java    |  755 +++-
 .../java/com/cloud/utils/crypt/OVFPropertyTO.java  |  130 +
 .../main/java/com/cloud/utils/db/GenericDao.java   |    2 +
 .../java/com/cloud/utils/db/GenericDaoBase.java    |   41 +-
 .../java/com/cloud/utils/db/SearchCriteria.java    |    8 +
 .../crypt/EncryptionSecretKeyChangerTest.java      |   87 +
 .../com/cloud/utils/db/GenericDaoBaseTest.java     |   32 +
 .../jobs/AsyncJobManagerTestConfiguration.java     |   19 +-
 .../cloudstack/quota/QuotaAlertManagerImpl.java    |   60 +-
 .../apache/cloudstack/quota/QuotaManagerImpl.java  |  666 ++--
 .../activationrule/presetvariables/Account.java    |   32 +
 .../presetvariables/BackupOffering.java            |   33 +
 .../presetvariables/ComputeOffering.java           |   32 +
 .../presetvariables/ComputingResources.java        |   56 +
 .../activationrule/presetvariables/Domain.java     |   32 +
 .../presetvariables/GenericPresetVariable.java     |   52 +
 .../quota/activationrule/presetvariables/Host.java |   34 +
 .../presetvariables/PresetVariableHelper.java      |  653 ++++
 .../presetvariables/PresetVariables.java           |   76 +
 .../activationrule/presetvariables/Resource.java   |   48 +
 .../quota/activationrule/presetvariables/Role.java |   34 +
 .../activationrule/presetvariables/Storage.java    |   46 +
 .../activationrule/presetvariables/Value.java      |  188 +
 .../cloudstack/quota/constant/QuotaConfig.java     |   24 +-
 .../cloudstack/quota/constant/QuotaTypes.java      |   52 +-
 .../cloudstack/quota/dao/QuotaAccountDaoImpl.java  |   15 +-
 .../cloudstack/quota/dao/QuotaTariffDao.java       |    4 +
 .../cloudstack/quota/dao/QuotaTariffDaoImpl.java   |   77 +-
 .../apache/cloudstack/quota/dao/VmTemplateDao.java |   24 +
 .../cloudstack/quota/dao/VmTemplateDaoImpl.java    |   33 +
 .../apache/cloudstack/quota/vo/QuotaTariffVO.java  |   98 +-
 .../quota/spring-framework-quota-context.xml       |    1 +
 .../cloudstack/quota/QuotaManagerImplTest.java     |  562 ++-
 .../presetvariables/AccountTest.java               |   34 +
 .../presetvariables/BackupOfferingTest.java        |   36 +
 .../presetvariables/ComputeOfferingTest.java       |   35 +
 .../presetvariables/ComputingResourcesTest.java    |   40 +
 .../activationrule/presetvariables/DomainTest.java |   35 +
 .../presetvariables/GenericPresetVariableTest.java |   73 +
 .../activationrule/presetvariables/HostTest.java   |   34 +
 .../presetvariables/PresetVariableHelperTest.java  | 1151 ++++++
 .../presetvariables/ResourceTest.java              |   40 +
 .../activationrule/presetvariables/RoleTest.java   |   34 +
 .../presetvariables/StorageTest.java               |   41 +
 .../activationrule/presetvariables/ValueTest.java  |  139 +
 .../cloudstack/quota/constant/QuotaTypesTest.java  |    2 +-
 .../quota/dao/QuotaAccountDaoImplTest.java         |   80 +
 .../cloudstack/quota/vo/QuotaTariffVOTest.java     |   51 +
 .../lifecycle/registry/ExtensionRegistry.java      |    4 +-
 packaging/centos7/cloud.spec                       |   18 +-
 packaging/centos8/cloud.spec                       |  112 +-
 packaging/centos8/replace.properties               |    2 +-
 packaging/el9                                      |    1 +
 packaging/suse15                                   |    1 +
 packaging/suse15/cloud-ipallocator.rc              |   96 -
 packaging/suse15/cloud.limits                      |   19 -
 packaging/suse15/cloud.spec                        |  684 ----
 packaging/suse15/cloudstack-agent.te               |   33 -
 packaging/suse15/cloudstack-sccs                   |   20 -
 packaging/suse15/replace.properties                |   59 -
 .../cloudstack/affinity/HostAffinityProcessor.java |    4 +-
 .../non-strict-host-affinity/pom.xml               |   30 +
 .../affinity/NonStrictHostAffinityProcessor.java   |  133 +
 .../non-strict-host-affinity/module.properties     |   18 +
 .../spring-non-strict-host-affinity-context.xml    |   37 +
 .../NonStrictHostAffinityProcessorTest.java        |  172 +
 .../non-strict-host-anti-affinity/pom.xml          |   38 +
 .../NonStrictHostAntiAffinityProcessor.java        |   28 +
 .../module.properties                              |   18 +
 ...pring-non-strict-host-anti-affinity-context.xml |   37 +
 .../NonStrictHostAntiAffinityProcessorTest.java    |  172 +
 plugins/alert-handlers/snmp-alerts/CS-ROOT-MIB.mib |    4 +-
 .../api/command/user/discovery/ListApisCmd.java    |    6 -
 .../command/admin/ratelimit/ResetApiLimitCmd.java  |    6 -
 .../api/command/user/ratelimit/GetApiLimitCmd.java |    6 -
 .../ratelimit/ApiRateLimitServiceImpl.java         |   17 +
 .../cloudstack/ratelimit/ApiRateLimitTest.java     |   18 +-
 .../admin/solidfire/GetPathForVolumeCmd.java       |    6 -
 .../admin/solidfire/GetSolidFireAccountIdCmd.java  |    6 -
 .../GetSolidFireVolumeAccessGroupIdsCmd.java       |    8 +-
 .../admin/solidfire/GetSolidFireVolumeSizeCmd.java |    8 +-
 .../solidfire/GetVolumeSnapshotDetailsCmd.java     |    8 +-
 .../admin/solidfire/GetVolumeiScsiNameCmd.java     |    8 +-
 .../api/command/admin/sioc/UpdateSiocInfoCmd.java  |    8 +-
 .../cloudstack/backup/DummyBackupProvider.java     |    2 +-
 plugins/backup/networker/pom.xml                   |   54 +
 .../cloudstack/backup/NetworkerBackupProvider.java |  639 ++++
 .../backup/networker/NetworkerBackupOffering.java  |   76 +
 .../backup/networker/NetworkerClient.java          |  351 ++
 .../backup/networker/NetworkerObject.java          |   27 +
 .../cloudstack/backup/networker/api/Action.java    |  350 ++
 .../backup/networker/api/ActionSpecificData.java   |  107 +
 .../cloudstack/backup/networker/api/Attribute.java |   92 +
 .../backup/networker/api/BackupSpecificData.java   |   75 +
 .../networker/api/CompletionNotification.java      |   91 +
 .../cloudstack/backup/networker/api/Expire.java    |   47 +
 .../cloudstack/backup/networker/api/Instance.java  |  124 +
 .../cloudstack/backup/networker/api/Link.java      |   91 +
 .../backup/networker/api/NetworkerBackup.java      |  334 ++
 .../backup/networker/api/NetworkerBackups.java     |   92 +
 .../backup/networker/api/ProtectionPolicies.java   |   92 +
 .../backup/networker/api/ProtectionPolicy.java     |  175 +
 .../backup/networker/api/ResourceId.java           |   91 +
 .../backup/networker/api/ServerBackup.java         |  140 +
 .../cloudstack/backup/networker/api/Size.java      |   90 +
 .../backup/networker/api/SummaryNotification.java  |   91 +
 .../backup/networker/api/Traditional.java          |  238 ++
 .../cloudstack/networker/module.properties         |   18 +
 .../networker/spring-backup-networker-context.xml  |   27 +
 .../backup/networker/NetworkerClientTest.java      |  732 ++++
 .../cloudstack/backup/VeeamBackupProvider.java     |   33 +-
 .../cloudstack/backup/veeam/VeeamClient.java       |   26 +-
 .../cloudstack/backup/VeeamBackupProviderTest.java |  133 +
 .../cloudstack/backup/veeam/VeeamClientTest.java   |    2 +-
 .../cloudstack/api/command/QuotaBalanceCmd.java    |    6 -
 .../cloudstack/api/command/QuotaCreditsCmd.java    |    6 -
 .../api/command/QuotaEmailTemplateListCmd.java     |    5 -
 .../api/command/QuotaEmailTemplateUpdateCmd.java   |    6 -
 .../cloudstack/api/command/QuotaEnabledCmd.java    |    6 -
 .../cloudstack/api/command/QuotaStatementCmd.java  |    6 -
 .../cloudstack/api/command/QuotaSummaryCmd.java    |    6 -
 .../api/command/QuotaTariffCreateCmd.java          |  137 +
 .../api/command/QuotaTariffDeleteCmd.java          |   63 +
 .../cloudstack/api/command/QuotaTariffListCmd.java |   47 +-
 .../api/command/QuotaTariffUpdateCmd.java          |   60 +-
 .../cloudstack/api/command/QuotaUpdateCmd.java     |    6 -
 .../api/response/QuotaResponseBuilder.java         |    5 +
 .../api/response/QuotaResponseBuilderImpl.java     |  204 +-
 .../api/response/QuotaSummaryResponse.java         |   12 +
 .../api/response/QuotaTariffResponse.java          |   89 +-
 .../apache/cloudstack/quota/QuotaServiceImpl.java  |   10 +-
 .../api/command/QuotaTariffListCmdTest.java        |    2 +-
 .../api/command/QuotaTariffUpdateCmdTest.java      |    2 +-
 .../api/response/QuotaResponseBuilderImplTest.java |  238 +-
 .../api/commands/DedicateClusterCmd.java           |    6 -
 .../cloudstack/api/commands/DedicateHostCmd.java   |    6 -
 .../cloudstack/api/commands/DedicatePodCmd.java    |    6 -
 .../cloudstack/api/commands/DedicateZoneCmd.java   |    6 -
 .../api/commands/ListDedicatedClustersCmd.java     |    6 -
 .../api/commands/ListDedicatedHostsCmd.java        |    6 -
 .../api/commands/ListDedicatedPodsCmd.java         |    6 -
 .../api/commands/ListDedicatedZonesCmd.java        |    6 -
 .../api/commands/ReleaseDedicatedClusterCmd.java   |    6 -
 .../api/commands/ReleaseDedicatedHostCmd.java      |    6 -
 .../api/commands/ReleaseDedicatedPodCmd.java       |    6 -
 .../api/commands/ReleaseDedicatedZoneCmd.java      |    6 -
 .../implicitplanner/ImplicitPlannerTest.java       |   34 +-
 .../mom/inmemory/InMemoryEventBusTest.java         |    6 +-
 .../cloud/baremetal/database/BaremetalRctDao.java  |   52 +-
 .../baremetal/database/BaremetalRctDaoImpl.java    |   52 +-
 .../cloud/baremetal/database/BaremetalRctVO.java   |  164 +-
 .../com/cloud/baremetal/manager/BaremetalRct.java  |  250 +-
 .../baremetal/manager/BaremetalVlanManager.java    |   86 +-
 .../manager/BaremetalVlanManagerImpl.java          |  544 +--
 .../networkservice/BareMetalResourceBase.java      |    2 +-
 .../networkservice/BaremetalPingPxeResource.java   |    2 +-
 .../networkservice/BaremetalRctResponse.java       |  110 +-
 .../networkservice/BaremetalSwitchBackend.java     |   68 +-
 .../BaremetalVirtualRouterCommands.java            |  244 +-
 .../networkservice/BaremetalVlanStruct.java        |  184 +-
 .../Force10BaremetalSwitchBackend.java             |  332 +-
 .../apache/cloudstack/api/AddBaremetalDhcpCmd.java |    6 -
 .../apache/cloudstack/api/AddBaremetalRctCmd.java  |  166 +-
 .../cloudstack/api/DeleteBaremetalRctCmd.java      |  164 +-
 .../cloudstack/api/ListBaremetalDhcpCmd.java       |    6 -
 .../cloudstack/api/ListBaremetalPxeServersCmd.java |    5 -
 .../apache/cloudstack/api/ListBaremetalRctCmd.java |    6 -
 .../security_group_agent/cs_sg_agent.py            |  472 +--
 .../security_group_agent/xmlobject.py              |  194 +-
 .../HypervResource/HypervResourceController.cs     |    2 +-
 ...on.v2.Msvm_VirtualSystemMigrationSettingData.cs |    2 +-
 plugins/hypervisors/kvm/pom.xml                    |    5 +
 .../hypervisor/kvm/resource/BridgeVifDriver.java   |    7 +-
 .../hypervisor/kvm/resource/IvsVifDriver.java      |    8 +-
 .../kvm/resource/LibvirtComputingResource.java     |  694 ++--
 .../kvm/resource/LibvirtDomainXMLParser.java       |   31 +-
 .../kvm/resource/LibvirtStoragePoolDef.java        |   12 +-
 .../kvm/resource/LibvirtStoragePoolXMLParser.java  |   13 +-
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |  176 +-
 .../hypervisor/kvm/resource/OvsVifDriver.java      |   11 +-
 .../hypervisor/kvm/resource/VRouterVifDriver.java  |  117 +
 .../LibvirtGetAutoScaleMetricsCommandWrapper.java  |   76 +
 .../wrapper/LibvirtReadyCommandWrapper.java        |    9 +-
 .../wrapper/LibvirtScaleVmCommandWrapper.java      |    2 +-
 .../wrapper/LibvirtSetTfRouteCommandWrapper.java   |   39 +
 .../LibvirtSetupTungstenVRouterCommandWrapper.java |   40 +
 ...pdateTungstenLoadbalancerSslCommandWrapper.java |   44 +
 ...ateTungstenLoadbalancerStatsCommandWrapper.java |   44 +
 .../resource/wrapper/LibvirtUtilitiesHelper.java   |    2 +-
 .../hypervisor/kvm/storage/KVMPhysicalDisk.java    |   28 +-
 .../kvm/storage/KVMStorageProcessor.java           |  228 +-
 .../kvm/storage/LinstorStorageAdaptor.java         |  583 ---
 .../cloudstack/utils/qemu/QemuImageOptions.java    |   16 +-
 .../org/apache/cloudstack/utils/qemu/QemuImg.java  |  283 +-
 .../kvm/resource/LibvirtComputingResourceTest.java | 1514 +++++---
 .../kvm/resource/LibvirtDomainXMLParserTest.java   |    6 +
 .../kvm/resource/LibvirtStoragePoolDefTest.java    |   32 +
 .../resource/LibvirtStoragePoolXMLParserTest.java  |  104 +
 .../hypervisor/kvm/resource/LibvirtVMDefTest.java  |   89 +
 .../kvm/resource/LibvirtVifDriverTest.java         |   29 +-
 ...bvirtGetAutoScaleMetricsCommandWrapperTest.java |  120 +
 .../wrapper/LibvirtScaleVmCommandWrapperTest.java  |    2 +-
 .../wrapper/LibvirtUtilitiesHelperTest.java        |    2 +-
 .../kvm/storage/KVMPhysicalDiskTest.java           |   20 +
 .../kvm/storage/KVMStorageProcessorTest.java       |   94 +
 .../utils/qemu/QemuImageOptionsTest.java           |    4 +-
 .../com/cloud/ovm/hypervisor/OvmResourceBase.java  |    4 +-
 .../src/main/java/com/cloud/ovm/object/OvmVm.java  |    2 +-
 .../scripts/vm/hypervisor/ovm/ConfigFileOps.py     |    1 -
 .../scripts/vm/hypervisor/ovm/OvmCommonModule.py   |    1 -
 .../scripts/vm/hypervisor/ovm/OvmDispatcher.py     |    8 +-
 .../scripts/vm/hypervisor/ovm/OvmFaultConstants.py |    4 +-
 .../vm/hypervisor/ovm/OvmHaHeartBeatModule.py      |    1 -
 .../scripts/vm/hypervisor/ovm/OvmOCFS2Module.py    |    1 -
 .../vm/hypervisor/ovm/OvmSecurityGroupModule.py    |   38 -
 .../vm/hypervisor/ovm/OvmStoragePoolModule.py      |    2 -
 .../main/scripts/vm/hypervisor/ovm/OvmVmModule.py  |    2 +-
 .../scripts/vm/hypervisor/ovm/OvmVolumeModule.py   |    3 -
 .../ovm3/resources/helpers/Ovm3StoragePool.java    |    4 +-
 .../cloud/agent/manager/MockAgentManagerImpl.java  |   12 +-
 .../cloud/api/commands/ConfigureSimulatorCmd.java  |    2 +-
 .../java/com/cloud/ucs/manager/UcsHttpClient.java  |    2 +-
 .../api/AssociateUcsProfileToBladeCmd.java         |    5 -
 .../apache/cloudstack/api/ListUcsManagerCmd.java   |    2 +-
 .../cloud/api/commands/DeleteCiscoNexusVSMCmd.java |    6 -
 .../api/commands/DisableCiscoNexusVSMCmd.java      |    6 -
 .../cloud/api/commands/EnableCiscoNexusVSMCmd.java |    6 -
 .../java/com/cloud/hypervisor/guru/VMwareGuru.java |   50 +-
 .../hypervisor/vmware/manager/VmwareManager.java   |    2 +-
 .../vmware/manager/VmwareStorageManagerImpl.java   |   13 +-
 .../hypervisor/vmware/resource/VmwareResource.java |   96 +-
 .../storage/resource/VmwareStorageProcessor.java   |    7 +-
 .../api/command/admin/zone/AddVmwareDcCmd.java     |    6 -
 .../zone/ImportVsphereStoragePoliciesCmd.java      |    8 +-
 .../api/command/admin/zone/ListVmwareDcsCmd.java   |    6 -
 .../admin/zone/ListVsphereStoragePoliciesCmd.java  |    8 +-
 ...ListVsphereStoragePolicyCompatiblePoolsCmd.java |    8 +-
 .../api/command/admin/zone/RemoveVmwareDcCmd.java  |    6 -
 .../api/command/admin/zone/UpdateVmwareDcCmd.java  |   10 +-
 .../com/cloud/hypervisor/guru/VMwareGuruTest.java  |   33 +
 .../manager/VmwareStorageManagerImplTest.java      |  119 +
 .../vmware/resource/VmwareResourceTest.java        |  121 +-
 .../xenserver/resource/CitrixResourceBase.java     |   44 +-
 .../xenserver/resource/XcpServerResource.java      |   24 +
 .../xenserver/resource/XenServer56Resource.java    |    6 +-
 ...XcpServerGetAutoScaleMetricsCommandWrapper.java |   85 +
 .../xcp/XcpServerNetworkUsageCommandWrapper.java   |    2 +-
 ...nServer56GetAutoScaleMetricsCommandWrapper.java |   85 +
 .../XenServer56NetworkUsageCommandWrapper.java     |    2 +-
 .../CitrixCreateVMSnapshotCommandWrapper.java      |    2 +-
 .../CitrixOvsCreateGreTunnelCommandWrapper.java    |    2 +-
 .../wrapper/xenbase/CitrixSetupCommandWrapper.java |    2 +-
 .../wrapper/xenbase/CitrixStartCommandWrapper.java |    2 +-
 .../xenserver/resource/CitrixResourceBaseTest.java |   66 +-
 .../xenserver/resource/XcpServerResourceTest.java  |   25 +
 .../resource/XenServer56ResourceTest.java          |   25 +
 .../wrapper/xenbase/XcpServerWrapperTest.java      |  101 +-
 .../wrapper/xenbase/XenServer56WrapperTest.java    |  105 +-
 .../cloudian/api/CloudianIsEnabledCmd.java         |   10 +-
 .../cloudian/api/CloudianSsoLoginCmd.java          |   10 +-
 .../cloudstack/cloudian/client/CloudianClient.java |    4 +-
 .../cloudstack/cloudian/CloudianClientTest.java    |   34 +-
 .../cluster/KubernetesClusterManagerImpl.java      |    9 +-
 .../cluster/KubernetesClusterService.java          |   20 +-
 .../KubernetesClusterActionWorker.java             |   11 +-
 .../KubernetesClusterDestroyWorker.java            |    3 +-
 .../KubernetesClusterScaleWorker.java              |    3 +-
 .../KubernetesClusterStartWorker.java              |    2 +-
 .../KubernetesClusterUpgradeWorker.java            |    2 +-
 .../cluster/utils/KubernetesClusterUtil.java       |   60 +-
 .../version/AddKubernetesSupportedVersionCmd.java  |    8 +-
 .../DeleteKubernetesSupportedVersionCmd.java       |    8 +-
 .../UpdateKubernetesSupportedVersionCmd.java       |    8 +-
 .../cluster/CreateKubernetesClusterCmd.java        |    8 +-
 .../cluster/DeleteKubernetesClusterCmd.java        |    8 +-
 .../cluster/GetKubernetesClusterConfigCmd.java     |    8 +-
 .../cluster/ListKubernetesClustersCmd.java         |    8 +-
 .../cluster/ScaleKubernetesClusterCmd.java         |    8 +-
 .../cluster/StartKubernetesClusterCmd.java         |    8 +-
 .../cluster/StopKubernetesClusterCmd.java          |    8 +-
 .../cluster/UpgradeKubernetesClusterCmd.java       |    8 +-
 .../ListKubernetesSupportedVersionsCmd.java        |    8 +-
 .../main/resources/script/deploy-cloudstack-secret |   10 +
 .../cluster/utils/KubernetesClusterUtilTest.java   |   49 +-
 .../cloudstack/metrics/PrometheusExporterImpl.java |   25 +-
 .../metrics/PrometheusExporterServer.java          |    4 +-
 .../metrics/PrometheusExporterServerImpl.java      |    2 +-
 .../api/BaseResourceUsageHistoryCmd.java           |   54 +
 .../cloudstack/api/ListClustersMetricsCmd.java     |    8 +-
 .../apache/cloudstack/api/ListDbMetricsCmd.java    |    8 +-
 .../apache/cloudstack/api/ListHostsMetricsCmd.java |    8 +-
 .../cloudstack/api/ListInfrastructureCmd.java      |    8 +-
 .../apache/cloudstack/api/ListMgmtsMetricsCmd.java |    8 +-
 .../cloudstack/api/ListStoragePoolsMetricsCmd.java |    8 +-
 .../api/ListSystemVMsUsageHistoryCmd.java          |   71 +
 .../cloudstack/api/ListUsageServerMetricsCmd.java  |    8 +-
 .../apache/cloudstack/api/ListVMsMetricsCmd.java   |   15 +-
 .../cloudstack/api/ListVMsMetricsCmdByAdmin.java   |   73 +
 .../cloudstack/api/ListVMsUsageHistoryCmd.java     |   35 +-
 .../cloudstack/api/ListVolumesMetricsCmd.java      |    8 +-
 .../cloudstack/api/ListVolumesUsageHistoryCmd.java |   72 +
 .../apache/cloudstack/api/ListZonesMetricsCmd.java |    8 +-
 .../apache/cloudstack/metrics/MetricsService.java  |   11 +-
 .../cloudstack/metrics/MetricsServiceImpl.java     |  271 +-
 .../cloudstack/response/DbMetricsResponse.java     |    8 +-
 .../response/VolumeMetricsStatsResponse.java       |   54 +
 .../cloudstack/metrics/MetricsServiceImplTest.java |   20 +-
 .../api/commands/AddBigSwitchBcfDeviceCmd.java     |    6 -
 .../api/commands/DeleteBigSwitchBcfDeviceCmd.java  |    6 -
 .../cloud/network/bigswitch/BigSwitchBcfApi.java   |    2 +-
 .../cloud/network/bigswitch/BigSwitchApiTest.java  |    8 +-
 .../cloud/api/commands/AddBrocadeVcsDeviceCmd.java |    6 -
 .../api/commands/DeleteBrocadeVcsDeviceCmd.java    |    6 -
 .../src/main/resources/components-example.xml      |    2 +-
 plugins/network-elements/f5/pom.xml                |   41 -
 .../api/commands/AddExternalLoadBalancerCmd.java   |  118 -
 .../cloud/api/commands/AddF5LoadBalancerCmd.java   |  143 -
 .../api/commands/ConfigureF5LoadBalancerCmd.java   |  124 -
 .../commands/DeleteExternalLoadBalancerCmd.java    |   96 -
 .../api/commands/DeleteF5LoadBalancerCmd.java      |  112 -
 .../api/commands/ListExternalLoadBalancersCmd.java |   90 -
 .../commands/ListF5LoadBalancerNetworksCmd.java    |  108 -
 .../cloud/api/commands/ListF5LoadBalancersCmd.java |  112 -
 .../cloud/api/response/F5LoadBalancerResponse.java |  109 -
 .../element/F5ExternalLoadBalancerElement.java     |  538 ---
 .../F5ExternalLoadBalancerElementService.java      |   97 -
 .../cloud/network/resource/F5BigIpResource.java    | 1176 ------
 .../META-INF/cloudstack/f5/module.properties       |   18 -
 .../META-INF/cloudstack/f5/spring-f5-context.xml   |   34 -
 .../cloudstack/api/AddGloboDnsHostCmd.java         |    6 -
 .../api/command/CreateServiceInstanceCmd.java      |    6 -
 .../contrail/management/ContrailManagerImpl.java   |    4 +-
 .../network/contrail/management/DBSyncGeneric.java |    2 +-
 .../contrail/model/VirtualMachineModel.java        |    2 +-
 .../management/IntegrationTestConfiguration.java   |   10 +-
 .../contrail/management/ManagementServerMock.java  |    2 +-
 plugins/network-elements/juniper-srx/pom.xml       |   37 -
 .../cloud/api/commands/AddExternalFirewallCmd.java |  116 -
 .../com/cloud/api/commands/AddSrxFirewallCmd.java  |  141 -
 .../api/commands/ConfigureSrxFirewallCmd.java      |  123 -
 .../api/commands/DeleteExternalFirewallCmd.java    |   90 -
 .../cloud/api/commands/DeleteSrxFirewallCmd.java   |  111 -
 .../api/commands/ListExternalFirewallsCmd.java     |   89 -
 .../api/commands/ListSrxFirewallNetworksCmd.java   |  107 -
 .../cloud/api/commands/ListSrxFirewallsCmd.java    |  109 -
 .../cloud/api/response/SrxFirewallResponse.java    |  159 -
 .../element/JuniperSRXExternalFirewallElement.java |  551 ---
 .../element/JuniperSRXFirewallElementService.java  |   95 -
 .../cloud/network/resource/JuniperSrxResource.java | 3795 --------------------
 .../META-INF/cloudstack/srx/module.properties      |   18 -
 .../META-INF/cloudstack/srx/spring-srx-context.xml |   35 -
 .../api/commands/AddNetscalerLoadBalancerCmd.java  |    6 -
 .../ConfigureNetscalerLoadBalancerCmd.java         |    6 -
 .../commands/DeleteNetscalerLoadBalancerCmd.java   |    6 -
 .../ListNetscalerLoadBalancerNetworksCmd.java      |    5 -
 .../RegisterNetscalerControlCenterCmd.java         |   12 +-
 .../cloud/network/element/NetscalerElement.java    |   14 +-
 .../cloud/network/resource/NetscalerResource.java  |   29 +-
 .../cloud/api/commands/AddNiciraNvpDeviceCmd.java  |    6 -
 .../api/commands/DeleteNiciraNvpDeviceCmd.java     |    6 -
 .../com/cloud/network/nicira/NiciraRestClient.java |    2 +-
 .../agent/OpenDaylightControllerResource.java      |    2 +-
 .../network/opendaylight/api/resources/Action.java |    2 +-
 .../api/test/NeutronNetworkAdapterTest.java        |    4 +-
 .../api/test/NeutronNodeAdapterTest.java           |    4 +-
 .../api/test/NeutronPortAdapterTest.java           |    4 +-
 .../cloud/api/commands/AddPaloAltoFirewallCmd.java |    6 -
 .../api/commands/ConfigurePaloAltoFirewallCmd.java |    6 -
 .../api/commands/DeletePaloAltoFirewallCmd.java    |    6 -
 .../commands/ListPaloAltoFirewallNetworksCmd.java  |    5 -
 .../stratosphere-ssp/sspmock/sspmock.py            |    8 +-
 plugins/network-elements/tungsten/pom.xml          |   47 +
 ...ngstenNetworkGatewayToLogicalRouterCommand.java |   57 +
 .../agent/api/AddTungstenNetworkSubnetCommand.java |  101 +
 .../agent/api/AddTungstenPolicyRuleCommand.java    |  133 +
 .../api/AddTungstenSecondaryIpAddressCommand.java  |   64 +
 .../api/AddTungstenSecurityGroupRuleCommand.java   |   89 +
 .../api/AddTungstenVmToSecurityGroupCommand.java   |   52 +
 .../api/ApplyTungstenNetworkPolicyCommand.java     |   86 +
 .../api/ApplyTungstenPortForwardingCommand.java    |   89 +
 .../agent/api/ApplyTungstenTagCommand.java         |   77 +
 .../agent/api/AssignTungstenFloatingIpCommand.java |   70 +
 .../api/ClearTungstenNetworkGatewayCommand.java    |   57 +
 .../api/CreateTungstenAddressGroupCommand.java     |   64 +
 .../CreateTungstenApplicationPolicySetCommand.java |   52 +
 .../api/CreateTungstenDefaultProjectCommand.java   |   20 +
 .../agent/api/CreateTungstenDomainCommand.java     |   51 +
 .../api/CreateTungstenFirewallPolicyCommand.java   |   64 +
 .../api/CreateTungstenFirewallRuleCommand.java     |  126 +
 .../agent/api/CreateTungstenFloatingIpCommand.java |   70 +
 .../api/CreateTungstenFloatingIpPoolCommand.java   |   59 +
 .../api/CreateTungstenLogicalRouterCommand.java    |   57 +
 .../agent/api/CreateTungstenNetworkCommand.java    |  139 +
 .../CreateTungstenNetworkLoadbalancerCommand.java  |  200 ++
 .../api/CreateTungstenNetworkPolicyCommand.java    |   61 +
 .../agent/api/CreateTungstenPolicyCommand.java     |   58 +
 .../agent/api/CreateTungstenProjectCommand.java    |   64 +
 .../CreateTungstenRoutingLogicalRouterCommand.java |   58 +
 .../api/CreateTungstenSecurityGroupCommand.java    |   64 +
 .../api/CreateTungstenServiceGroupCommand.java     |   71 +
 .../agent/api/CreateTungstenTagCommand.java        |   58 +
 .../agent/api/CreateTungstenTagTypeCommand.java    |   52 +
 .../api/CreateTungstenVirtualMachineCommand.java   |  125 +
 .../api/DeleteTungstenAddressGroupCommand.java     |   45 +
 .../DeleteTungstenApplicationPolicySetCommand.java |   45 +
 .../agent/api/DeleteTungstenDomainCommand.java     |   45 +
 .../api/DeleteTungstenFirewallPolicyCommand.java   |   45 +
 .../api/DeleteTungstenFirewallRuleCommand.java     |   45 +
 .../agent/api/DeleteTungstenFloatingIpCommand.java |   57 +
 .../api/DeleteTungstenFloatingIpPoolCommand.java   |   51 +
 .../api/DeleteTungstenLoadBalancerCommand.java     |   83 +
 .../DeleteTungstenLoadBalancerListenerCommand.java |   51 +
 .../agent/api/DeleteTungstenNetworkCommand.java    |   46 +
 .../api/DeleteTungstenNetworkPolicyCommand.java    |   57 +
 .../agent/api/DeleteTungstenObjectCommand.java     |   47 +
 .../agent/api/DeleteTungstenPolicyCommand.java     |   46 +
 .../agent/api/DeleteTungstenProjectCommand.java    |   45 +
 .../DeleteTungstenRoutingLogicalRouterCommand.java |   46 +
 .../api/DeleteTungstenSecurityGroupCommand.java    |   45 +
 .../api/DeleteTungstenServiceGroupCommand.java     |   45 +
 .../agent/api/DeleteTungstenTagCommand.java        |   46 +
 .../agent/api/DeleteTungstenTagTypeCommand.java    |   46 +
 .../api/DeleteTungstenVRouterPortCommand.java      |   51 +
 .../agent/api/DeleteTungstenVmCommand.java         |   46 +
 .../api/DeleteTungstenVmInterfaceCommand.java      |   51 +
 .../agent/api/GetTungstenFabricNetworkCommand.java |   21 +
 .../agent/api/GetTungstenFloatingIpsCommand.java   |   51 +
 .../agent/api/GetTungstenLoadBalancerCommand.java  |   51 +
 .../agent/api/GetTungstenNatIpCommand.java         |   51 +
 .../agent/api/GetTungstenNetworkDnsCommand.java    |   51 +
 .../agent/api/GetTungstenPolicyCommand.java        |   51 +
 .../agent/api/GetTungstenSecurityGroupCommand.java |   45 +
 .../agent/api/ListTungstenAddressGroupCommand.java |   45 +
 .../ListTungstenApplicationPolicySetCommand.java   |   45 +
 ...enConnectedNetworkFromLogicalRouterCommand.java |   45 +
 .../api/ListTungstenFirewallPolicyCommand.java     |   51 +
 .../agent/api/ListTungstenFirewallRuleCommand.java |   51 +
 .../agent/api/ListTungstenNetworkCommand.java      |   51 +
 .../tungsten/agent/api/ListTungstenNicCommand.java |   51 +
 .../agent/api/ListTungstenPolicyCommand.java       |   64 +
 .../agent/api/ListTungstenPolicyRuleCommand.java   |   45 +
 .../ListTungstenRoutingLogicalRouterCommand.java   |   51 +
 .../agent/api/ListTungstenServiceGroupCommand.java |   45 +
 .../tungsten/agent/api/ListTungstenTagCommand.java |   76 +
 .../agent/api/ListTungstenTagTypeCommand.java      |   45 +
 .../tungsten/agent/api/ListTungstenVmCommand.java  |   51 +
 .../api/ReleaseTungstenFloatingIpCommand.java      |   57 +
 ...stenNetworkGatewayFromLogicalRouterCommand.java |   51 +
 .../api/RemoveTungstenNetworkSubnetCommand.java    |   51 +
 .../agent/api/RemoveTungstenPolicyCommand.java     |   51 +
 .../agent/api/RemoveTungstenPolicyRuleCommand.java |   51 +
 .../RemoveTungstenSecondaryIpAddressCommand.java   |   45 +
 .../RemoveTungstenSecurityGroupRuleCommand.java    |   51 +
 .../agent/api/RemoveTungstenTagCommand.java        |   77 +
 .../RemoveTungstenVmFromSecurityGroupCommand.java  |   52 +
 .../api/SetTungstenNetworkGatewayCommand.java      |   70 +
 .../tungsten/agent/api/SetupTfRouteCommand.java    |   64 +
 .../agent/api/SetupTungstenVRouterCommand.java     |   77 +
 .../tungsten/agent/api/StartupTungstenCommand.java |   26 +
 .../network/tungsten/agent/api/TungstenAnswer.java |  112 +
 .../tungsten/agent/api/TungstenCommand.java        |   26 +
 .../UpdateLoadBalancerServiceInstanceCommand.java  |   70 +
 .../UpdateTungstenDefaultSecurityGroupCommand.java |   45 +
 ...teTungstenLoadBalancerHealthMonitorCommand.java |   95 +
 .../UpdateTungstenLoadBalancerListenerCommand.java |   70 +
 .../UpdateTungstenLoadBalancerMemberCommand.java   |   67 +
 .../api/UpdateTungstenLoadBalancerPoolCommand.java |  102 +
 .../api/UpdateTungstenLoadbalancerSslCommand.java  |   83 +
 .../UpdateTungstenLoadbalancerStatsCommand.java    |   71 +
 .../api/UpdateTungstenVrouterConfigCommand.java    |   45 +
 ...stenFabricNetworkGatewayToLogicalRouterCmd.java |   97 +
 .../command/AddTungstenFabricPolicyRuleCmd.java    |  131 +
 .../api/command/ApplyTungstenFabricPolicyCmd.java  |   97 +
 .../api/command/ApplyTungstenFabricTagCmd.java     |  109 +
 .../command/ConfigTungstenFabricServiceCmd.java    |  203 ++
 .../CreateTungstenFabricAddressGroupCmd.java       |   95 +
 ...reateTungstenFabricApplicationPolicySetCmd.java |   89 +
 .../CreateTungstenFabricFirewallPolicyCmd.java     |   96 +
 .../CreateTungstenFabricFirewallRuleCmd.java       |  129 +
 .../CreateTungstenFabricLogicalRouterCmd.java      |   87 +
 .../CreateTungstenFabricManagementNetworkCmd.java  |   94 +
 .../api/command/CreateTungstenFabricPolicyCmd.java |   87 +
 .../command/CreateTungstenFabricProviderCmd.java   |  134 +
 .../CreateTungstenFabricPublicNetworkCmd.java      |  105 +
 .../CreateTungstenFabricServiceGroupCmd.java       |   98 +
 .../api/command/CreateTungstenFabricTagCmd.java    |   89 +
 .../command/CreateTungstenFabricTagTypeCmd.java    |   87 +
 .../DeleteTungstenFabricAddressGroupCmd.java       |   86 +
 ...eleteTungstenFabricApplicationPolicySetCmd.java |   86 +
 .../DeleteTungstenFabricFirewallPolicyCmd.java     |   87 +
 .../DeleteTungstenFabricFirewallRuleCmd.java       |   86 +
 .../DeleteTungstenFabricLogicalRouterCmd.java      |   93 +
 .../api/command/DeleteTungstenFabricPolicyCmd.java |   86 +
 .../DeleteTungstenFabricServiceGroupCmd.java       |   86 +
 .../api/command/DeleteTungstenFabricTagCmd.java    |   86 +
 .../command/DeleteTungstenFabricTagTypeCmd.java    |   86 +
 .../command/GetLoadBalancerSslCertificateCmd.java  |   85 +
 .../command/ListTungstenFabricAddressGroupCmd.java |   90 +
 .../ListTungstenFabricApplictionPolicySetCmd.java  |   90 +
 .../ListTungstenFabricFirewallPolicyCmd.java       |   93 +
 .../command/ListTungstenFabricFirewallRuleCmd.java |   93 +
 .../ListTungstenFabricLBHealthMonitorCmd.java      |   75 +
 .../ListTungstenFabricLogicalRouterCmd.java        |   93 +
 .../api/command/ListTungstenFabricNetworkCmd.java  |   95 +
 .../api/command/ListTungstenFabricNicCmd.java      |   89 +
 .../api/command/ListTungstenFabricPolicyCmd.java   |   97 +
 .../command/ListTungstenFabricPolicyRuleCmd.java   |   93 +
 .../command/ListTungstenFabricProvidersCmd.java    |   88 +
 .../command/ListTungstenFabricServiceGroupCmd.java |   90 +
 .../api/command/ListTungstenFabricTagCmd.java      |  104 +
 .../api/command/ListTungstenFabricTagTypeCmd.java  |   90 +
 .../api/command/ListTungstenFabricVmCmd.java       |   89 +
 ...enFabricNetworkGatewayFromLogicalRouterCmd.java |   97 +
 .../api/command/RemoveTungstenFabricPolicyCmd.java |   91 +
 .../command/RemoveTungstenFabricPolicyRuleCmd.java |   91 +
 .../api/command/RemoveTungstenFabricTagCmd.java    |  104 +
 .../command/SynchronizeTungstenFabricDataCmd.java  |   80 +
 .../UpdateTungstenFabricLBHealthMonitorCmd.java    |  161 +
 .../tungsten/api/response/TlsDataResponse.java     |   62 +
 .../TungstenFabricAddressGroupResponse.java        |  116 +
 ...TungstenFabricApplicationPolicySetResponse.java |  136 +
 .../TungstenFabricFirewallPolicyResponse.java      |  119 +
 .../TungstenFabricFirewallRuleResponse.java        |  279 ++
 .../TungstenFabricLBHealthMonitorResponse.java     |  185 +
 .../TungstenFabricLogicalRouterResponse.java       |  103 +
 .../response/TungstenFabricNetworkResponse.java    |   88 +
 .../api/response/TungstenFabricNicResponse.java    |   90 +
 .../api/response/TungstenFabricPolicyResponse.java |  135 +
 .../response/TungstenFabricProviderResponse.java   |  148 +
 .../api/response/TungstenFabricRuleResponse.java   |  278 ++
 .../TungstenFabricServiceGroupResponse.java        |  129 +
 .../api/response/TungstenFabricTagResponse.java    |  222 ++
 .../response/TungstenFabricTagTypeResponse.java    |   82 +
 .../api/response/TungstenFabricVmResponse.java     |   88 +
 .../dao/TungstenFabricLBHealthMonitorDao.java      |   23 +
 .../dao/TungstenFabricLBHealthMonitorDaoImpl.java  |   46 +
 .../dao/TungstenFabricLBHealthMonitorVO.java       |  159 +
 .../tungsten/model/TungstenLoadBalancerMember.java |   47 +
 .../tungsten/model/TungstenLogicalRouter.java      |   51 +
 .../network/tungsten/model/TungstenModel.java      |   20 +
 .../tungsten/model/TungstenNetworkPolicy.java      |   51 +
 .../network/tungsten/model/TungstenRule.java       |  132 +
 .../network/tungsten/model/TungstenTag.java        |   97 +
 .../tungsten/resource/TungstenResource.java        | 2366 ++++++++++++
 .../network/tungsten/service/TungstenApi.java      | 2790 ++++++++++++++
 .../network/tungsten/service/TungstenElement.java  | 1185 ++++++
 .../tungsten/service/TungstenFabricUtils.java      |   58 +
 .../tungsten/service/TungstenGuestNetworkGuru.java |  524 +++
 .../tungsten/service/TungstenIntrospectApi.java    |   40 +
 .../tungsten/service/TungstenProviderService.java  |   33 +
 .../service/TungstenProviderServiceImpl.java       |  234 ++
 .../network/tungsten/service/TungstenService.java  |  207 ++
 .../tungsten/service/TungstenServiceImpl.java      | 2555 +++++++++++++
 .../tungsten/service/TungstenVRouterApi.java       |   48 +
 .../network/tungsten/vrouter/CustomHttpDelete.java |   40 +
 .../network/tungsten/vrouter/Gateway.java          |   75 +
 .../tungsten/vrouter/IntrospectApiConnector.java   |   23 +
 .../vrouter/IntrospectApiConnectorFactory.java     |   32 +
 .../vrouter/IntrospectApiConnectorImpl.java        |   72 +
 .../cloudstack/network/tungsten/vrouter/Port.java  |  166 +
 .../network/tungsten/vrouter/Subnet.java           |   48 +
 .../network/tungsten/vrouter/VRouter.java          |   63 +
 .../tungsten/vrouter/VRouterApiConnector.java      |   34 +
 .../vrouter/VRouterApiConnectorFactory.java        |   32 +
 .../tungsten/vrouter/VRouterApiConnectorImpl.java  |  138 +
 .../META-INF/cloudstack/tungsten/module.properties |   21 +
 .../tungsten/spring-tungsten-context.xml           |   42 +
 ...FabricNetworkGatewayToLogicalRouterCmdTest.java |   70 +
 .../AddTungstenFabricPolicyRuleCmdTest.java        |   85 +
 .../command/ApplyTungstenFabricPolicyCmdTest.java  |   64 +
 .../api/command/ApplyTungstenFabricTagCmdTest.java |   69 +
 .../ConfigTungstenFabricServiceCmdTest.java        |  101 +
 .../CreateTungstenFabricAddressGroupCmdTest.java   |   66 +
 ...eTungstenFabricApplicationPolicySetCmdTest.java |   63 +
 .../CreateTungstenFabricFirewallPolicyCmdTest.java |   66 +
 .../CreateTungstenFabricFirewallRuleCmdTest.java   |   80 +
 .../CreateTungstenFabricLogicalRouterCmdTest.java  |   62 +
 ...eateTungstenFabricManagementNetworkCmdTest.java |   67 +
 .../command/CreateTungstenFabricPolicyCmdTest.java |   60 +
 .../CreateTungstenFabricProviderCmdTest.java       |   69 +
 .../CreateTungstenFabricPublicNetworkCmdTest.java  |   82 +
 .../CreateTungstenFabricServiceGroupCmdTest.java   |   67 +
 .../command/CreateTungstenFabricTagCmdTest.java    |   62 +
 .../CreateTungstenFabricTagTypeCmdTest.java        |   60 +
 .../DeleteTungstenFabricAddressGroupCmdTest.java   |   61 +
 ...eTungstenFabricApplicationPolicySetCmdTest.java |   61 +
 .../DeleteTungstenFabricFirewallPolicyCmdTest.java |   61 +
 .../DeleteTungstenFabricFirewallRuleCmdTest.java   |   61 +
 .../DeleteTungstenFabricLogicalRouterCmdTest.java  |   67 +
 .../command/DeleteTungstenFabricPolicyCmdTest.java |   61 +
 .../DeleteTungstenFabricServiceGroupCmdTest.java   |   61 +
 .../command/DeleteTungstenFabricTagCmdTest.java    |   61 +
 .../DeleteTungstenFabricTagTypeCmdTest.java        |   61 +
 .../GetLoadBalancerSslCertificateCmdTest.java      |   64 +
 .../ListTungstenFabricAddressGroupCmdTest.java     |   92 +
 ...stTungstenFabricApplictionPolicySetCmdTest.java |   93 +
 .../ListTungstenFabricFirewallPolicyCmdTest.java   |   93 +
 .../ListTungstenFabricFirewallRuleCmdTest.java     |   93 +
 .../ListTungstenFabricLBHealthMonitorCmdTest.java  |   74 +
 .../ListTungstenFabricLogicalRouterCmdTest.java    |   93 +
 .../command/ListTungstenFabricNetworkCmdTest.java  |   94 +
 .../api/command/ListTungstenFabricNicCmdTest.java  |   92 +
 .../command/ListTungstenFabricPolicyCmdTest.java   |   98 +
 .../ListTungstenFabricPolicyRuleCmdTest.java       |   95 +
 .../ListTungstenFabricProvidersCmdTest.java        |   75 +
 .../ListTungstenFabricServiceGroupCmdTest.java     |   92 +
 .../api/command/ListTungstenFabricTagCmdTest.java  |  107 +
 .../command/ListTungstenFabricTagTypeCmdTest.java  |   92 +
 .../api/command/ListTungstenFabricVmCmdTest.java   |   90 +
 ...bricNetworkGatewayFromLogicalRouterCmdTest.java |   70 +
 .../command/RemoveTungstenFabricPolicyCmdTest.java |   63 +
 .../RemoveTungstenFabricPolicyRuleCmdTest.java     |   63 +
 .../command/RemoveTungstenFabricTagCmdTest.java    |   73 +
 .../SynchronizeTungstenFabricDataCmdTest.java      |   59 +
 ...UpdateTungstenFabricLBHealthMonitorCmdTest.java |  114 +
 .../tungsten/resource/TungstenResourceTest.java    | 1465 ++++++++
 .../network/tungsten/service/TungstenApiTest.java  | 2059 +++++++++++
 .../tungsten/service/TungstenElementTest.java      | 1061 ++++++
 .../tungsten/service/TungstenFabricUtilsTest.java  |   95 +
 .../service/TungstenGuestNetworkGuruTest.java      |  532 +++
 .../service/TungstenIntrospectApiTest.java         |   58 +
 .../service/TungstenProviderServiceTest.java       |  133 +
 .../tungsten/service/TungstenServiceImplTest.java  | 1789 +++++++++
 .../tungsten/service/TungstenVRouterApiTest.java   |   78 +
 .../vrouter/IntrospectApiConnectorImplTest.java    |  127 +
 .../vrouter/VRouterApiConnectorImplTest.java       |  222 ++
 .../tungsten/src/test/resources/db.properties      |   68 +
 .../tungsten/src/test/resources/log4j.properties   |   35 +
 plugins/pom.xml                                    |   15 +-
 .../allocator/RandomStoragePoolAllocator.java      |    2 +-
 .../driver/DateraPrimaryDataStoreDriver.java       |    4 +-
 .../storage/datastore/util/DateraUtil.java         |    2 +-
 .../CloudStackPrimaryDataStoreLifeCycleImpl.java   |   49 +-
 plugins/storage/volume/linstor/pom.xml             |    5 +
 .../kvm/storage/LinstorStorageAdaptor.java         |  584 +++
 .../hypervisor/kvm/storage/LinstorStoragePool.java |    0
 .../driver/LinstorPrimaryDataStoreDriverImpl.java  |  118 +-
 .../LinstorPrimaryDataStoreLifeCycleImpl.java      |    8 +-
 .../datastore/client/ScaleIOGatewayClientImpl.java |    2 +-
 .../driver/ScaleIOPrimaryDataStoreDriver.java      |    5 +
 .../storage/datastore/util/ScaleIOUtil.java        |    2 +-
 .../client/ScaleIOGatewayClientImplTest.java       |   16 +-
 plugins/storage/volume/storpool/pom.xml            |   10 +
 .../StorPoolDownloadTemplateCommandWrapper.java    |    5 +
 .../StorPoolModifyStorageCommandWrapper.java       |    4 +-
 .../kvm/storage/StorPoolStorageAdaptor.java        |   95 +-
 .../driver/StorPoolPrimaryDataStoreDriver.java     |  257 +-
 .../datastore/provider/StorPoolHostListener.java   |   39 +-
 .../storage/datastore/util/StorPoolUtil.java       |   71 +-
 .../storage/snapshot/StorPoolSnapshotStrategy.java |    2 +-
 .../snapshot/StorPoolVMSnapshotStrategy.java       |    2 +-
 .../driver/StorPoolPrimaryDataStoreDriverTest.java |  245 ++
 .../cloudstack/api/command/LDAPConfigCmd.java      |    6 -
 .../cloudstack/api/command/LDAPRemoveCmd.java      |    6 -
 .../api/command/LinkAccountToLdapCmd.java          |   10 +-
 .../api/command/LinkDomainToLdapCmd.java           |    6 -
 .../apache/cloudstack/ldap/LdapConfiguration.java  |    2 +-
 .../cloudstack/ldap/OpenLdapUserManagerImpl.java   |    6 +-
 .../ldap/LdapConfigurationResponseSpec.groovy      |    2 +-
 .../cloudstack/ldap/LdapContextFactorySpec.groovy  |    8 +-
 .../ldap/LdapCreateAccountCmdSpec.groovy           |    2 +-
 .../api/command/LdapListUsersCmdTest.java          |    2 +-
 .../api/command/LinkAccountToLdapCmdTest.java      |    3 +-
 .../api/command/AuthorizeSAMLSSOCmd.java           |    8 +-
 .../api/command/ListAndSwitchSAMLAccountCmd.java   |    8 +-
 .../apache/cloudstack/api/command/ListIdpsCmd.java |    9 +-
 .../apache/cloudstack/saml/SAML2AuthManager.java   |    4 +-
 pom.xml                                            |   12 +-
 python/lib/cloud_utils.py                          |    1 -
 python/lib/cloudutils/networkConfig.py             |    1 -
 python/lib/cloudutils/serviceConfig.py             |   71 +-
 python/lib/cloudutils/syscfg.py                    |   44 +-
 python/lib/cloudutils/utilities.py                 |    4 +
 scripts/installer/createtmplt.sh                   |    2 +-
 scripts/installer/createvolume.sh                  |    2 +-
 scripts/network/exdhcp/dhcpd_edithosts.py          |    1 -
 .../ping/prepare_kickstart_kernel_initrd.py        |    1 -
 scripts/storage/secondary/cloud-install-sys-tmplt  |    4 +-
 .../storage/secondary/cloud-install-sys-tmplt.py   |    2 +-
 scripts/storage/secondary/createvolume.sh          |    2 +-
 scripts/storage/secondary/swift                    |    6 +-
 scripts/util/keystore-cert-import                  |    6 +
 scripts/util/keystore-setup                        |   22 +
 scripts/vm/hypervisor/kvm/nsrkvmbackup.sh          |  260 ++
 scripts/vm/hypervisor/kvm/nsrkvmrestore.sh         |  223 ++
 scripts/vm/hypervisor/update_host_passwd.sh        |   12 +-
 .../create_privatetemplate_from_snapshot.sh        |    4 +-
 scripts/vm/hypervisor/xenserver/perfmon.py         |   39 +-
 scripts/vm/hypervisor/xenserver/s3xenserver        |    6 +-
 scripts/vm/hypervisor/xenserver/storagePlugin      |    2 +-
 scripts/vm/hypervisor/xenserver/swift              |    6 +-
 .../vm/hypervisor/xenserver/upgrade_snapshot.sh    |    4 +-
 scripts/vm/hypervisor/xenserver/vmops              |    2 +-
 scripts/vm/network/ovs-pvlan-kvm-vm.sh             |    4 +-
 scripts/vm/network/security_group.py               |    4 +-
 scripts/vm/network/tungsten/create_tap_device.sh   |   20 +
 scripts/vm/network/tungsten/delete_tap_device.sh   |   19 +
 .../vm/network/tungsten/setup_tungsten_vrouter.sh  |   24 +
 .../tungsten/update_tungsten_loadbalancer_ssl.sh   |   36 +
 .../tungsten/update_tungsten_loadbalancer_stats.sh |   41 +
 scripts/vm/network/vnet/ovstunnel.py               |    1 -
 server/conf/migration-components.xml               |    4 +-
 server/pom.xml                                     |   12 +
 .../src/main/java/com/cloud/acl/DomainChecker.java |    2 +-
 server/src/main/java/com/cloud/api/ApiDBUtils.java |   13 +-
 .../main/java/com/cloud/api/ApiResponseHelper.java |  128 +-
 server/src/main/java/com/cloud/api/ApiServer.java  |    2 +-
 server/src/main/java/com/cloud/api/ApiServlet.java |    3 +-
 .../api/auth/DefaultLoginAPIAuthenticatorCmd.java  |    8 +-
 .../api/auth/DefaultLogoutAPIAuthenticatorCmd.java |    9 +-
 .../com/cloud/api/dispatch/ParamProcessWorker.java |   61 +-
 .../java/com/cloud/api/query/QueryManagerImpl.java |   75 +-
 .../cloud/api/query/dao/DataCenterJoinDaoImpl.java |   17 +-
 .../cloud/api/query/dao/DomainRouterJoinDao.java   |    3 +
 .../api/query/dao/DomainRouterJoinDaoImpl.java     |   26 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |   19 +-
 .../com/cloud/api/query/dao/VolumeJoinDaoImpl.java |    4 +
 .../com/cloud/api/query/vo/DataCenterJoinVO.java   |    9 +
 .../com/cloud/api/query/vo/DomainRouterJoinVO.java |   23 +
 .../cloud/api/query/vo/NetworkOfferingJoinVO.java  |   16 +
 .../java/com/cloud/api/query/vo/UserVmJoinVO.java  |   46 +-
 .../cloud/api/response/ApiResponseSerializer.java  |    2 +-
 .../main/java/com/cloud/configuration/Config.java  |   92 +-
 .../configuration/ConfigurationManagerImpl.java    |  631 +++-
 .../java/com/cloud/consoleproxy/AgentHookBase.java |    5 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   22 +-
 .../deploy/DeploymentPlanningManagerImpl.java      |   34 +-
 .../com/cloud/hypervisor/HypervisorGuruBase.java   |    1 +
 .../main/java/com/cloud/hypervisor/KVMGuru.java    |  131 +-
 .../kvm/discoverer/LibvirtServerDiscoverer.java    |    3 +-
 .../network/ExternalFirewallDeviceManager.java     |    2 +-
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    7 +-
 .../com/cloud/network/IpAddressManagerImpl.java    |   23 +-
 .../cloud/network/NetworkMigrationManagerImpl.java |    3 +-
 .../java/com/cloud/network/NetworkModelImpl.java   |  126 +-
 .../java/com/cloud/network/NetworkServiceImpl.java |  383 +-
 .../com/cloud/network/as/AutoScaleManager.java     |   32 +
 .../com/cloud/network/as/AutoScaleManagerImpl.java | 2098 +++++++++--
 .../network/element/VirtualRouterElement.java      |   22 +-
 .../com/cloud/network/guru/DirectNetworkGuru.java  |    8 +
 .../network/guru/ExternalGuestNetworkGuru.java     |    2 +-
 .../com/cloud/network/guru/GuestNetworkGuru.java   |    2 +
 .../network/lb/LoadBalancingRulesManagerImpl.java  |  195 +-
 .../cloud/network/router/CommandSetupHelper.java   |   44 +-
 .../router/VirtualNetworkApplianceManager.java     |   24 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   65 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |    7 +-
 .../network/security/SecurityGroupManagerImpl.java |   23 +-
 .../security/SecurityGroupManagerImpl2.java        |    3 +-
 .../java/com/cloud/network/vpc/VpcManagerImpl.java |  278 +-
 .../java/com/cloud/projects/ProjectManager.java    |    5 +-
 .../com/cloud/projects/ProjectManagerImpl.java     |   12 +-
 .../java/com/cloud/resource/DiscovererBase.java    |    2 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |    2 +-
 .../com/cloud/server/ConfigurationServerImpl.java  |   54 +-
 .../com/cloud/server/ManagementServerImpl.java     |  210 +-
 .../main/java/com/cloud/server/StatsCollector.java |  593 +--
 .../com/cloud/servlet/ConsoleProxyClientParam.java |    5 +
 .../com/cloud/servlet/ConsoleProxyServlet.java     |    2 +-
 .../java/com/cloud/storage/StorageManagerImpl.java |   13 +
 .../com/cloud/storage/VolumeApiServiceImpl.java    |  349 +-
 .../cloud/storage/snapshot/SnapshotManager.java    |    3 -
 .../storage/snapshot/SnapshotManagerImpl.java      |   27 +-
 .../com/cloud/storage/upload/UploadListener.java   |    7 +-
 .../com/cloud/tags/ResourceManagerUtilImpl.java    |   10 +-
 .../com/cloud/tags/TaggedResourceManagerImpl.java  |   11 +-
 .../com/cloud/template/TemplateManagerImpl.java    |    4 +-
 .../main/java/com/cloud/test/DatabaseConfig.java   |    2 +-
 .../main/java/com/cloud/test/PodZoneConfig.java    |    2 +-
 .../java/com/cloud/user/AccountManagerImpl.java    |   20 +-
 .../main/java/com/cloud/user/DomainManager.java    |    2 +
 .../java/com/cloud/user/DomainManagerImpl.java     |    1 +
 .../src/main/java/com/cloud/vm/UserVmManager.java  |   34 +-
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  |  352 +-
 .../affinity/AffinityGroupServiceImpl.java         |    5 +-
 .../agent/lb/IndirectAgentLBServiceImpl.java       |    6 +-
 .../annotation/AnnotationManagerImpl.java          |    6 +
 .../cloudstack/backup/BackupManagerImpl.java       |   23 +-
 .../org/apache/cloudstack/ca/CAManagerImpl.java    |    2 +-
 .../consoleproxy/ConsoleAccessManagerImpl.java     |  193 +-
 .../diagnostics/DiagnosticsServiceImpl.java        |    4 +-
 .../fileprocessor/DiagnosticsFilesList.java        |   12 +-
 .../network/topology/BasicNetworkVisitor.java      |    2 +-
 .../apache/cloudstack/region/RegionManager.java    |    2 +-
 .../apache/cloudstack/snapshot/SnapshotHelper.java |    5 +-
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     |   12 +-
 server/src/test/async-job-component.xml            |    2 +
 .../java/com/cloud/api/ApiResponseHelperTest.java  |  115 +-
 .../java/com/cloud/configuration/ConfigTest.java   |   42 +
 .../ConfigurationManagerImplTest.java              |  194 +
 .../configuration/ConfigurationManagerTest.java    |  103 +-
 .../consoleproxy/ConsoleProxyManagerTest.java      |   23 +
 .../deploy/DeploymentPlanningManagerImplTest.java  |   46 +
 .../java/com/cloud/hypervisor/KVMGuruTest.java     |    8 +-
 .../cloud/network/CreatePrivateNetworkTest.java    |    3 +-
 .../ExternalLoadBalancerDeviceManagerImplTest.java |    3 +
 .../java/com/cloud/network/NetworkModelTest.java   |   18 +
 .../com/cloud/network/NetworkServiceImplTest.java  |  369 +-
 .../cloud/network/as/AutoScaleManagerImplTest.java | 2454 +++++++++++++
 .../com/cloud/network/as/AutoScaleManagerTest.java |   61 +
 .../network/element/VirtualRouterElementTest.java  |   21 +-
 .../cloud/network/lb/AssignLoadBalancerTest.java   |   24 +-
 .../lb/LoadBalancingRulesManagerImplTest.java      |   55 +-
 .../VirtualNetworkApplianceManagerImplTest.java    |   23 +-
 .../SecurityGroupManagerTestConfiguration.java     |    6 +-
 .../com/cloud/network/vpc/VpcManagerImplTest.java  |  214 +-
 .../com/cloud/server/ManagementServerImplTest.java |  135 +-
 .../java/com/cloud/server/StatsCollectorTest.java  |   74 +-
 .../cloud/storage/VolumeApiServiceImplTest.java    |  330 +-
 .../storage/snapshot/SnapshotManagerTest.java      |   62 +-
 .../cloud/tags/TaggedResourceManagerImplTest.java  |    7 +
 .../com/cloud/user/AccountManagerImplTest.java     |    3 +-
 .../AccountManagerImplVolumeDeleteEventTest.java   |    7 +-
 .../com/cloud/user/AccountManagetImplTestBase.java |    4 +-
 .../java/com/cloud/user/DomainManagerImplTest.java |    6 +-
 .../java/com/cloud/user/MockUsageEventDao.java     |    5 +
 .../java/com/cloud/vm/FirstFitPlannerTest.java     |   16 +
 .../java/com/cloud/vm/UserVmManagerImplTest.java   |   60 +
 .../cloud/vpc/MockConfigurationManagerImpl.java    |   30 +-
 .../java/com/cloud/vpc/MockNetworkManagerImpl.java |    6 +-
 .../java/com/cloud/vpc/VpcTestConfiguration.java   |    8 +-
 .../cloud/vpc/dao/MockConfigurationDaoImpl.java    |    1 -
 .../apache/cloudstack/ca/CABackgroundTaskTest.java |   12 +-
 .../download/DirectDownloadManagerImplTest.java    |    4 +-
 .../network/lb/ApplicationLoadBalancerTest.java    |   17 +-
 .../networkoffering/CreateNetworkOfferingTest.java |   20 +-
 .../src/test/resources/createNetworkOffering.xml   |    2 +
 services/console-proxy/rdpconsole/README.txt       |    2 +-
 .../rdpconsole/src/main/java/common/Client.java    |    2 +-
 .../src/main/java/rdpclient/ntlmssp/NegoFlags.java |    4 +-
 ...nnelJoinRequestServerMCSChannelConfirmPDUs.java |    2 +-
 .../java/rdpclient/rdp/ServerIOChannelRouter.java  |    2 +-
 .../src/main/java/streamer/ByteBuffer.java         |    2 +-
 .../src/main/java/streamer/debug/MockSink.java     |    2 +-
 .../java/com/cloud/consoleproxy/ConsoleProxy.java  |    5 +-
 .../consoleproxy/ConsoleProxyAjaxHandler.java      |   12 +-
 .../consoleproxy/ConsoleProxyAjaxImageHandler.java |   10 +-
 .../consoleproxy/ConsoleProxyClientParam.java      |    5 +
 .../ConsoleProxyClientStatsCollector.java          |   16 +-
 .../cloud/consoleproxy/ConsoleProxyCmdHandler.java |    2 +-
 .../cloud/consoleproxy/ConsoleProxyGCThread.java   |   35 +-
 .../ConsoleProxyHttpHandlerHelper.java             |    8 +
 .../consoleproxy/ConsoleProxyNoVNCHandler.java     |    8 +
 .../consoleproxy/ConsoleProxyNoVncClient.java      |  152 +-
 .../consoleproxy/ConsoleProxyResourceHandler.java  |    6 +-
 .../consoleproxy/ConsoleProxyThumbnailHandler.java |   18 +-
 .../com/cloud/consoleproxy/vnc/NoVncClient.java    |  363 +-
 .../com/cloud/consoleproxy/vnc/RfbConstants.java   |    5 +-
 .../cloud/consoleproxy/vnc/network/NioSocket.java  |  123 +
 .../consoleproxy/vnc/network/NioSocketHandler.java |   45 +
 .../vnc/network/NioSocketHandlerImpl.java          |  116 +
 .../vnc/network/NioSocketInputStream.java          |  202 ++
 .../vnc/network/NioSocketOutputStream.java         |  114 +
 .../vnc/network/NioSocketSSLEngineManager.java     |  191 +
 .../consoleproxy/vnc/network/NioSocketStream.java  |   89 +
 .../vnc/network/NioSocketTLSInputStream.java       |   73 +
 .../vnc/network/NioSocketTLSOutputStream.java      |   65 +
 .../consoleproxy/vnc/security/NoneVncSecurity.java |   27 +
 .../consoleproxy/vnc/security/VncAuthSecurity.java |   59 +
 .../consoleproxy/vnc/security/VncSecurity.java     |   45 +
 .../consoleproxy/vnc/security/VncTLSSecurity.java  |  103 +
 .../consoleproxy/ConsoleProxyNoVncClientTest.java  |   32 +
 .../SecondaryStorageManagerImpl.java               |   48 +-
 .../SecondaryStorageManagerTest.java               |   42 +-
 .../storage/resource/HttpUploadServerHandler.java  |   12 +-
 .../resource/NfsSecondaryStorageResource.java      |   49 +-
 setup/bindir/cloud-migrate-databases.in            |  299 +-
 ...t-guest-sshkey-password-userdata-configdrive.in |    6 +-
 setup/bindir/cloud-setup-databases.in              |   38 +-
 setup/bindir/cloud-setup-encryption.in             |    6 +-
 setup/bindir/cloud-sysvmadm.in                     |   75 +-
 setup/dev/advancedsgtf.cfg                         |  131 +
 setup/dev/advancedtf.cfg                           |  134 +
 systemvm/agent/js/ajaxviewer.js                    |    2 +-
 systemvm/agent/js/cloud.logger.js                  |    2 +-
 systemvm/agent/noVNC/app/styles/base.css           |   10 +-
 systemvm/agent/noVNC/app/ui.js                     |   24 +-
 systemvm/agent/noVNC/core/rfb.js                   |    9 +-
 systemvm/agent/scripts/ssvm-check.sh               |   37 +-
 systemvm/debian/etc/haproxy/haproxy.cfg            |    2 +-
 systemvm/debian/etc/vpcdnsmasq.conf                |    2 +-
 systemvm/debian/opt/cloud/bin/configure.py         |    2 +-
 systemvm/debian/opt/cloud/bin/cs/CsAddress.py      |   47 +-
 systemvm/debian/opt/cloud/bin/cs/CsDhcp.py         |    9 +-
 systemvm/debian/opt/cloud/bin/cs/CsHelper.py       |   10 +-
 systemvm/debian/opt/cloud/bin/cs_ip.py             |    2 +
 systemvm/debian/opt/cloud/bin/dnsmasq.sh           |    4 +-
 systemvm/debian/opt/cloud/bin/get_haproxy_stats.sh |   45 +
 systemvm/debian/opt/cloud/bin/loadbalancer.sh      |    4 +-
 systemvm/debian/opt/cloud/bin/merge.py             |    1 +
 systemvm/debian/opt/cloud/bin/netusage.sh          |   26 +-
 systemvm/debian/opt/cloud/bin/passwd_server_ip.py  |    4 +-
 systemvm/debian/opt/cloud/bin/setup/bootstrap.sh   |   17 +-
 systemvm/debian/opt/cloud/bin/setup/common.sh      |   36 +
 systemvm/debian/opt/cloud/bin/setup/init.sh        |    2 +
 systemvm/debian/opt/cloud/bin/setup/router.sh      |    7 +-
 systemvm/debian/opt/cloud/bin/setup/secstorage.sh  |    4 +-
 systemvm/debian/opt/cloud/bin/setup/vpcrouter.sh   |   22 +-
 systemvm/debian/opt/cloud/bin/setup_tf_route.py    |   45 +
 systemvm/debian/opt/cloud/bin/update_config.py     |    2 -
 .../opt/cloud/bin/update_interface_config.sh       |   63 +
 systemvm/debian/opt/cloud/bin/vpc_netusage.sh      |    2 -
 systemvm/debian/opt/cloud/bin/vr_cfg.sh            |    2 +-
 systemvm/debian/root/func.sh                       |    2 +-
 .../maint/test_zone_level_local_storage_setting.py |    6 +-
 .../broken/test_ps_resource_limits_volume.py       |    1 -
 test/integration/broken/test_vr_metadata.py        |    1 -
 .../component/maint/test_hypervisor_limit.py       |    2 +-
 .../maint/test_ip_resource_count_for_vpc.py        |    6 +-
 .../component/maint/test_redundant_router.py       |    8 +-
 .../test_redundant_router_deployment_planning.py   |   10 +-
 .../maint/testpath_disable_enable_zone.py          |   10 +-
 .../component/maint/testpath_disablestoragepool.py |    2 +-
 .../component/maint/testpath_vMotion_vmware.py     |    2 +-
 .../component/test_acl_isolatednetwork_delete.py   |    3 +-
 .../integration/component/test_acl_listsnapshot.py |    2 +-
 test/integration/component/test_acl_listvm.py      |    2 +-
 test/integration/component/test_acl_listvolume.py  |    2 +-
 .../component/test_acl_sharednetwork.py            |    2 -
 .../component/test_advancedsg_networks.py          |   12 +-
 .../component/test_affinity_groups_projects.py     |    3 -
 test/integration/component/test_baremetal.py       |    1 -
 test/integration/component/test_brocade_vcs.py     |    1 -
 .../integration/component/test_browse_templates.py |   80 +-
 test/integration/component/test_browse_volumes.py  |  222 +-
 .../test_concurrent_create_volume_from_snapshot.py |    1 -
 test/integration/component/test_cpu_limits.py      |    2 +-
 test/integration/component/test_deploy_vgpu_vm.py  |    2 +-
 .../component/test_deploy_vm_userdata_reg.py       |    2 +-
 .../integration/component/test_dhcp_dns_offload.py |    1 -
 .../component/test_dynamic_compute_offering.py     |   20 +-
 .../component/test_edgezone_supportedoperations.py |  133 +
 test/integration/component/test_egress_rules.py    |    3 -
 .../component/test_escalations_instances.py        |    5 +-
 .../component/test_escalations_ipaddresses.py      |   26 +-
 .../component/test_escalations_templates.py        |    3 -
 .../component/test_escalations_vmware.py           |    3 -
 test/integration/component/test_haproxy.py         |    6 +-
 test/integration/component/test_host.py            |  400 +--
 .../component/test_hypervisor_capabilities.py      |    1 -
 .../component/test_interpod_migration.py           |    2 +-
 test/integration/component/test_invalid_gw_nm.py   |    1 -
 test/integration/component/test_ldap.py            |    1 -
 .../integration/component/test_ldap_auto_import.py |    2 -
 .../component/test_multi_tag_support.py            |  434 +--
 .../component/test_multiple_ips_per_nic.py         |    4 +-
 .../component/test_multiple_nic_support.py         |    1 -
 .../test_multiple_physical_network_creation.py     |  405 +++
 .../component/test_ncc_integration_dedicated.py    |  538 +--
 .../component/test_ncc_integration_shared.py       |  646 ++--
 test/integration/component/test_network_ipv6.py    |    2 +-
 test/integration/component/test_network_mtu.py     |  395 ++
 .../component/test_network_vpc_custom_dns.py       |    1 -
 .../component/test_organization_states.py          |    8 +-
 test/integration/component/test_project_configs.py |  158 +-
 test/integration/component/test_project_limits.py  |   16 +-
 .../component/test_project_resources.py            |    8 +-
 .../component/test_redundant_router_services.py    |    1 -
 .../component/test_snapshots_improvement.py        |    4 +-
 test/integration/component/test_stopped_vm.py      |    2 +-
 test/integration/component/test_tags.py            |   70 +-
 ...template_from_snapshot_with_template_details.py |    2 +-
 test/integration/component/test_vpc_ipv6.py        |    2 +-
 test/integration/component/test_vpc_offerings.py   |    8 +-
 .../component/test_vpc_vms_deployment.py           |    6 +-
 test/integration/plugins/ldap/test_ldap.py         |    2 +-
 .../plugins/solidfire/TestAddRemoveHosts.py        |    1 -
 .../plugins/solidfire/TestManagedSystemVMs.py      |    1 -
 .../integration/plugins/solidfire/TestSnapshots.py |    1 -
 test/integration/plugins/solidfire/TestVolumes.py  |    1 -
 .../plugins/storpool/MigrateVolumeToStorPool.py    |    7 +
 .../plugins/storpool/TestStorPoolVolumes.py        |    2 -
 test/integration/plugins/storpool/sp_util.py       |   30 +
 test/integration/plugins/tf/common.py              |   94 +
 test/integration/plugins/tf/test_isolated_zone.py  | 1410 ++++++++
 test/integration/plugins/tf/test_shared_zone.py    |  972 +++++
 test/integration/smoke/test_accounts.py            |   14 +-
 test/integration/smoke/test_create_network.py      |    1 -
 .../smoke/test_deploy_vm_root_resize.py            |    5 +-
 .../smoke/test_deploy_vm_with_userdata.py          |    2 +-
 .../test_enable_role_based_users_in_projects.py    |    1 -
 test/integration/smoke/test_global_settings.py     |  106 +
 test/integration/smoke/test_host_control_state.py  |  252 ++
 test/integration/smoke/test_metrics_api.py         |  222 +-
 test/integration/smoke/test_network.py             |   99 +-
 test/integration/smoke/test_network_ipv6.py        |    2 +-
 test/integration/smoke/test_network_permissions.py |    2 +-
 test/integration/smoke/test_non_contigiousvlan.py  |    1 -
 .../smoke/test_nonstrict_affinity_group.py         |  448 +++
 .../smoke/test_outofbandmanagement_nestedplugin.py |    2 +-
 test/integration/smoke/test_primary_storage.py     |   14 +-
 test/integration/smoke/test_projects.py            |  172 +-
 test/integration/smoke/test_pvlan.py               |    4 +-
 test/integration/smoke/test_register_userdata.py   |    2 -
 test/integration/smoke/test_scale_vm.py            |  519 ++-
 test/integration/smoke/test_templates.py           |    6 +-
 test/integration/smoke/test_vm_autoscaling.py      | 1112 ++++++
 test/integration/smoke/test_vm_life_cycle.py       |   93 +-
 .../smoke/test_vm_lifecycle_unmanage_import.py     |   92 +-
 test/integration/smoke/test_vm_snapshots.py        |    2 +-
 test/integration/smoke/test_vpc_ipv6.py            |    2 +-
 .../testpaths/testpath_delta_snapshots.py          |    1 -
 .../integration/testpaths/testpath_same_vm_name.py |    2 +-
 .../testpaths/testpath_snapshot_hadrning.py        |   10 +-
 test/integration/testpaths/testpath_stopped_vm.py  |    4 +-
 .../testpaths/testpath_storage_migration.py        |    2 +-
 test/integration/testpaths/testpath_usage.py       |   12 +-
 test/integration/testpaths/testpath_vmlc.py        |   10 +-
 .../testpath_volume_cuncurrent_snapshots.py        |    4 +-
 test/metadata/func/regression.xml                  |    2 +-
 test/metadata/func/regression_new.xml              |    2 +-
 test/metadata/func/regression_test.xml             |    2 +-
 test/metadata/func/regression_user.xml             |    2 +-
 test/metadata/func/regression_works.xml            |    2 +-
 test/metadata/func/srxstresswithportfwd.xml        |  595 ---
 test/metadata/func/vmapi.xml                       |    4 +-
 test/selenium/browser/firefox.py                   |    1 -
 test/selenium/common/__init__.py                   |    2 -
 test/selenium/common/shared.py                     |    1 -
 test/selenium/cspages/__init__.py                  |    2 -
 test/selenium/cspages/cspage.py                    |    1 -
 test/selenium/cspages/dashboard/__init__.py        |    2 -
 test/selenium/cspages/dashboard/dashboardpage.py   |    1 -
 test/selenium/cspages/login/__init__.py            |    2 -
 test/selenium/cstests/__init__.py                  |    1 -
 test/selenium/cstests/regressiontests/__init__.py  |    1 -
 test/selenium/cstests/smoketests/__init__.py       |    1 -
 test/selenium/cstests/smoketests/smokecfg.py       |    1 -
 test/selenium/lib/Global_Locators.py               |    2 -
 test/selenium/smoke/main.py                        |    5 +-
 .../main/java/com/cloud/test/utils/TestClient.java |    2 +-
 tools/apidoc/build-apidoc.sh                       |    4 +-
 tools/apidoc/gen_toc.py                            |   74 +
 tools/apidoc/generatecommand.xsl                   |    2 +-
 tools/apidoc/generatecommands.xsl                  |    2 +-
 tools/apidoc/generatetoc_header.xsl                |    2 +-
 tools/appliance/README.md                          |    2 +-
 .../scripts/configure_systemvm_services.sh         |    6 +-
 tools/appliance/systemvmtemplate/template.json     |    6 +-
 tools/cli/README                                   |    1 -
 .../files/default/cloud-install-sys-tmplt          |    5 +-
 tools/docker/Dockerfile                            |    6 +-
 tools/docker/README.md                             |    2 +-
 tools/git/git-fwd-merge                            |    7 +-
 tools/git/git-pr                                   |   48 +-
 tools/marvin/marvin/cloudstackException.py         |    1 -
 tools/marvin/marvin/config/test_data.py            |    2 +-
 tools/marvin/marvin/configGenerator.py             |   33 +-
 tools/marvin/marvin/deployDataCenter.py            |   56 +
 tools/marvin/marvin/lib/base.py                    |  687 +++-
 tools/marvin/marvin/lib/common.py                  |    2 +-
 tools/marvin/marvin/lib/ncc.py                     |    4 +-
 tools/marvin/marvin/lib/utils.py                   |    3 +-
 tools/marvin/marvin/misc/build/CI.md               |    4 +-
 tools/marvin/marvin/misc/build/bashUtils.py        |    1 -
 tools/marvin/marvin/misc/build/restartMgmt.py      |    1 -
 tools/marvin/marvin/sandbox/__init__.py            |    2 -
 tools/marvin/marvin/sandbox/advanced/__init__.py   |    2 -
 tools/marvin/marvin/sandbox/advancedsg/__init__.py |    2 -
 tools/marvin/marvin/sandbox/basic/__init__.py      |    2 -
 tools/marvin/marvin/sandbox/demo/__init__.py       |    1 -
 tools/marvin/marvin/sandbox/demo/live/__init__.py  |    1 -
 .../marvin/sandbox/demo/simulator/__init__.py      |    2 -
 .../sandbox/demo/simulator/testcase/__init__.py    |    2 -
 .../demo/simulator/testcase/libs/__init__.py       |    2 -
 .../sandbox/demo/simulator/testcase/libs/common.py |    4 +-
 .../demo/simulator/testcase/test_vm_life_cycle.py  |    6 +-
 tools/marvin/mvn-setup.py                          |    4 +-
 tools/marvin/pom.xml                               |    6 +-
 tools/marvin/setup.py                              |    2 +-
 tools/{travis => marvin}/xunit-reader.py           |    0
 tools/ngui/precache.py                             |    2 +-
 tools/ngui/static/js/lib/angular.js                |    4 +-
 tools/ngui/static/js/lib/jquery-1.7.2.js           |    2 +-
 tools/transifex/README-transifex.txt               |    2 +-
 tools/travis/after_failure.sh                      |   24 -
 tools/travis/after_script.sh                       |   22 -
 tools/travis/after_success.sh                      |   20 -
 tools/travis/before_install.sh                     |  139 -
 tools/travis/before_script.sh                      |   27 -
 tools/travis/install.sh                            |   76 -
 tools/travis/script.sh                             |   36 -
 .../database_comparision_during_upgrade/README     |    4 +-
 tools/whisker/LICENSE                              |    2 +-
 tools/whisker/descriptor-for-packaging.xml         |    2 +-
 tools/whisker/descriptor.xml                       |    2 +-
 ui/README.md                                       |   19 +-
 ui/docs/development.md                             |    6 +-
 ui/index.html                                      |    2 +-
 ui/package-lock.json                               |  157 -
 ui/package.json                                    |    3 +-
 ui/public/config.json                              |    2 +-
 ui/public/error.html                               |    2 +-
 ui/public/locales/ar.json                          |    4 +-
 ui/public/locales/ca.json                          |    4 +-
 ui/public/locales/de_DE.json                       |   16 +-
 ui/public/locales/el_GR.json                       | 1568 +++++---
 ui/public/locales/en.json                          |  205 +-
 ui/public/locales/es.json                          |    4 +-
 ui/public/locales/fr_FR.json                       |    4 +-
 ui/public/locales/hu.json                          |    4 +-
 ui/public/locales/it_IT.json                       |    4 +-
 ui/public/locales/ja_JP.json                       |   22 +-
 ui/public/locales/ko_KR.json                       |   16 +-
 ui/public/locales/nb_NO.json                       |    4 +-
 ui/public/locales/nl_NL.json                       |    4 +-
 ui/public/locales/pl.json                          |    4 +-
 ui/public/locales/pt_BR.json                       |   30 +-
 ui/public/locales/ru_RU.json                       |    4 +-
 ui/public/locales/zh_CN.json                       |   22 +-
 ui/src/api/index.js                                |    2 +-
 ui/src/components/header/ExternalLink.vue          |   54 +
 ui/src/components/header/UserMenu.vue              |    4 +-
 ui/src/components/view/AnnotationsTab.vue          |    1 +
 ui/src/components/view/BulkActionProgress.vue      |    3 +
 ui/src/components/view/BulkActionView.vue          |   13 +-
 ui/src/components/view/DetailsTab.vue              |   16 +-
 ui/src/components/view/InfoCard.vue                |   36 +-
 ui/src/components/view/ListView.vue                |   17 +-
 ui/src/components/view/SettingsTab.vue             |   24 +-
 ui/src/components/view/StatsTab.vue                |  577 ++-
 ui/src/components/view/VolumesTab.vue              |  125 +
 ui/src/components/view/chart/LineChart.vue         |   55 -
 ui/src/components/view/stats/ResourceStatsInfo.vue |   19 +-
 .../view/stats/ResourceStatsLineChart.vue          |  239 ++
 ui/src/components/widgets/Console.vue              |   17 +-
 ui/src/components/widgets/TooltipLabel.vue         |   10 +-
 ui/src/config/router.js                            |   14 +-
 ui/src/config/section/compute.js                   |  131 +-
 ui/src/config/section/config.js                    |    4 +-
 ui/src/config/section/image.js                     |    6 +-
 ui/src/config/section/infra/ilbvms.js              |    4 +-
 ui/src/config/section/infra/routers.js             |   12 +-
 ui/src/config/section/infra/systemVms.js           |   14 +-
 ui/src/config/section/infra/zones.js               |   22 +-
 ui/src/config/section/network.js                   |   17 +-
 ui/src/config/section/plugin/quota.js              |   10 +-
 ui/src/config/section/storage.js                   |   13 +
 ui/src/core/lazy_lib/components_use.js             |    4 +-
 ui/src/core/lazy_lib/icons_use.js                  |    2 +
 ui/src/style/README.md                             |    2 +-
 ui/src/style/components/view/StatsTab.scss         |    5 +-
 ui/src/style/vars.less                             |    4 +
 ui/src/utils/plugins.js                            |   18 +
 ui/src/views/AutogenView.vue                       |   35 +-
 ui/src/views/compute/AutoScaleDownPolicyTab.vue    |  952 +++++
 ui/src/views/compute/AutoScaleLoadBalancing.vue    | 1221 +++++++
 ui/src/views/compute/AutoScaleUpPolicyTab.vue      |  952 +++++
 ui/src/views/compute/AutoScaleVmProfile.vue        |  667 ++++
 ui/src/views/compute/CreateAutoScaleVmGroup.vue    | 3029 ++++++++++++++++
 ui/src/views/compute/CreateKubernetesCluster.vue   |    3 +-
 ui/src/views/compute/CreateSnapshotWizard.vue      |    2 +-
 ui/src/views/compute/DeployVM.vue                  |   67 +-
 ui/src/views/compute/InstanceTab.vue               |   67 +-
 ui/src/views/compute/KubernetesServiceTab.vue      |    4 +-
 ui/src/views/compute/StartVirtualMachine.vue       |   11 +-
 .../compute/wizard/AffinityGroupSelection.vue      |    9 +-
 .../compute/wizard/ComputeOfferingSelection.vue    |   13 +-
 .../views/compute/wizard/LoadBalancerSelection.vue |  208 ++
 .../views/compute/wizard/MultiNetworkSelection.vue |    2 +-
 .../views/compute/wizard/NetworkConfiguration.vue  |   22 +-
 ui/src/views/compute/wizard/NetworkSelection.vue   |   47 +-
 ui/src/views/iam/AddLdapAccount.vue                |    2 +-
 .../views/image/AddKubernetesSupportedVersion.vue  |    1 +
 ui/src/views/image/RegisterOrUploadIso.vue         |    9 +-
 ui/src/views/image/RegisterOrUploadTemplate.vue    |   28 +-
 ui/src/views/infra/AddPrimaryStorage.vue           |   14 +-
 ui/src/views/infra/network/IpRangesTabGuest.vue    |    1 -
 .../views/infra/network/IpRangesTabManagement.vue  |    1 -
 ui/src/views/infra/network/IpRangesTabPublic.vue   |    1 -
 ui/src/views/infra/network/IpRangesTabStorage.vue  |    1 -
 ui/src/views/infra/network/ServiceProvidersTab.vue |   59 -
 .../infra/network/providers/AddSrxFirewall.vue     |  381 --
 .../infra/network/providers/ProviderListView.vue   |    9 -
 .../views/infra/zone/AdvancedGuestTrafficForm.vue  |    7 +-
 ui/src/views/infra/zone/ZoneWizard.vue             |   41 +-
 ui/src/views/infra/zone/ZoneWizardAddResources.vue |   51 +-
 .../infra/zone/ZoneWizardCoreZoneTypeStep.vue      |  194 +
 ui/src/views/infra/zone/ZoneWizardLaunchZone.vue   |   21 +-
 .../infra/zone/ZoneWizardNetworkSetupStep.vue      |   19 +-
 .../zone/ZoneWizardPhysicalNetworkSetupStep.vue    |   13 +-
 .../views/infra/zone/ZoneWizardZoneDetailsStep.vue |  294 +-
 ui/src/views/infra/zone/ZoneWizardZoneTypeStep.vue |   63 +-
 ui/src/views/network/CreateIsolatedNetworkForm.vue |   77 +-
 ui/src/views/network/CreateL2NetworkForm.vue       |    2 +-
 ui/src/views/network/CreateNetwork.vue             |   49 +-
 ui/src/views/network/CreateSharedNetworkForm.vue   |   81 +-
 ui/src/views/network/CreateVlanIpRange.vue         |    1 +
 ui/src/views/network/CreateVpc.vue                 |   52 +-
 ui/src/views/network/LoadBalancing.vue             |  126 +-
 ui/src/views/network/UpdateNetwork.vue             |   82 +-
 ui/src/views/network/VpcTiersTab.vue               |   42 +-
 ui/src/views/offering/AddComputeOffering.vue       |   26 +-
 ui/src/views/offering/AddDiskOffering.vue          |   23 +-
 ui/src/views/offering/AddNetworkOffering.vue       |   24 +-
 ui/src/views/offering/AddVpcOffering.vue           |   52 +
 ui/src/views/plugins/quota/QuotaSummary.vue        |    4 +-
 ui/src/views/setting/ConfigurationHierarchy.vue    |   90 +
 ui/src/views/setting/ConfigurationTab.vue          |  365 ++
 ui/src/views/setting/ConfigurationTable.vue        |  191 +
 ui/src/views/setting/ConfigurationValue.vue        |  363 ++
 ui/src/views/storage/FormSchedule.vue              |    6 +-
 ui/src/views/storage/UploadLocalVolume.vue         |    9 +-
 ui/src/views/storage/UploadVolume.vue              |    5 +-
 ui/tests/mockData/AutogenView.mock.json            |    6 +-
 ui/tests/unit/components/view/ActionButton.spec.js |    3 +
 ui/tests/unit/views/AutogenView.spec.js            |   14 +-
 .../java/com/cloud/usage/UsageManagerImpl.java     |   15 +-
 .../java/com/cloud/usage/UsageSanityChecker.java   |  146 +-
 .../src/main/resources/usageApplicationContext.xml |    6 +
 .../cloud/usage/UsageManagerTestConfiguration.java |    4 +-
 utils/pom.xml                                      |   43 +
 utils/src/main/java/com/cloud/utils/DateUtil.java  |    2 +
 .../main/java/com/cloud/utils/EncryptionUtil.java  |   10 +-
 .../java/com/cloud/utils/HumanReadableJson.java    |   26 +-
 utils/src/main/java/com/cloud/utils/LogUtils.java  |   24 +
 .../java/com/cloud/utils/SerialVersionUID.java     |    1 +
 .../src/main/java/com/cloud/utils/StringUtils.java |   24 +-
 .../main/java/com/cloud/utils/TungstenUtils.java   |  290 ++
 utils/src/main/java/com/cloud/utils/UriUtils.java  |   86 +-
 utils/src/main/java/com/cloud/utils/UuidUtils.java |   10 +-
 .../cloud/utils/cisco/n1kv/vsm/VsmResponse.java    |    2 +-
 .../com/cloud/utils/crypt/AeadBase64Encryptor.java |   63 +
 .../com/cloud/utils/crypt/Base64Encryptor.java     |   27 +
 .../com/cloud/utils/crypt/CloudStackEncryptor.java |  147 +
 .../com/cloud/utils/crypt/DBEncryptionUtil.java    |   34 +-
 .../java/com/cloud/utils/crypt/EncryptionCLI.java  |   80 +
 .../com/cloud/utils/crypt/EncryptionException.java |   34 +
 .../utils/crypt/EncryptionSecretKeyChecker.java    |   54 +-
 .../cloud/utils/crypt/LegacyBase64Encryptor.java   |   58 +
 .../main/java/com/cloud/utils/db/DbProperties.java |   18 +-
 .../main/java/com/cloud/utils/net/NetUtils.java    |   67 +-
 .../nicira/nvp/plugin/NiciraNvpApiVersion.java     |    6 +-
 .../java/com/cloud/utils/rest/HttpConstants.java   |    2 +-
 .../cloud/utils/rest/HttpUriRequestBuilder.java    |    2 +-
 .../com/cloud/utils/server/ServerProperties.java   |    7 +-
 .../cloudstack/utils/bytescale/ByteScaleUtils.java |   37 +-
 .../utils/jsinterpreter/JsInterpreter.java         |  146 +
 .../ReflectionToStringBuilderUtils.java            |   14 +
 .../com/cloud/utils/HumanReadableJsonTest.java     |   12 +-
 .../test/java/com/cloud/utils/LogUtilsTest.java    |   39 +
 .../src/test/java/com/cloud/utils/ScriptTest.java  |    2 +-
 .../test/java/com/cloud/utils/UriUtilsTest.java    |  154 +-
 .../test/java/com/cloud/utils/UuidUtilsTest.java   |   22 +-
 .../crypt/EncryptionSecretKeyCheckerTest.java      |   58 +
 .../java/com/cloud/utils/net/NetUtilsTest.java     |  114 +-
 .../utils/bytescale/ByteScaleUtilsTest.java        |   44 +-
 .../utils/jsinterpreter/JsInterpreterTest.java     |  188 +
 .../utils/mailing/SMTPMailSenderTest.java          |    3 +-
 .../ReflectionToStringBuilderUtilsTest.java        |   24 +
 .../com/cloud/hypervisor/vmware/mo/HostMO.java     |    2 +
 .../hypervisor/vmware/mo/HypervisorHostHelper.java |    4 +-
 .../hypervisor/vmware/mo/VirtualMachineMO.java     |    9 +-
 .../vmware/mo/VirtualStorageObjectManagerMO.java   |    2 +-
 .../hypervisor/vmware/util/VmwareContext.java      |   60 +-
 .../cloud/hypervisor/vmware/util/VmwareHelper.java |   21 +-
 .../hypervisor/vmware/util/VmwareHelperTest.java   |   56 +
 2080 files changed, 105645 insertions(+), 28990 deletions(-)

diff --cc ui/public/locales/en.json
index f6d48177d2,9177bdde00..4969f28390
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@@ -226,9 -218,10 +229,11 @@@
  "label.add.note": "Add comment",
  "label.add.opendaylight.device": "Add OpenDaylight controller",
  "label.add.pa.device": "Add Palo Alto device",
+ "label.add.param": "Add param",
  "label.add.physical.network": "Add physical network",
  "label.add.pod": "Add pod",
 +"label.add.prefix": "Add prefix",
+ "label.add.policy": "Add policy",
  "label.add.primary.storage": "Add primary storage",
  "label.add.private.gateway": "Add private gateway",
  "label.add.resources": "Add resources",
@@@ -337,7 -312,8 +345,9 @@@
  "label.auto.assign": "Automatically assign",
  "label.auto.assign.diskoffering.disk.size": "Automatically assign offering 
matching the disk size",
  "label.auto.assign.random.ip": "Automatically assign a random IP address",
 +"label.automigrate.volume": "Auto migrate volume to another storage pool if 
required",
+ "label.autoscale.vm.groups": "AutoScale VM Groups",
+ "label.autoscale.vm.profile": "AutoScale VM Profile",
  "label.autoscalingenabled": "Auto scaling",
  "label.availability": "Availability",
  "label.available": "Available",
@@@ -398,10 -375,10 +409,10 @@@
  "label.certificateid": "Certificate ID",
  "label.change": "Change",
  "label.change.affinity": "Change affinity",
- "label.change.ip.addess": "Change IP address",
+ "label.change.ip.address": "Change IP address",
  "label.change.ipaddress": "Change IP address for NIC",
 -"label.change.service.offering": "Change service offering",
  "label.change.offering.for.volume": "Change disk offering for the volume",
 +"label.change.service.offering": "Change service offering",
  "label.character": "Character",
  "label.checksum": "Checksum",
  "label.choose.resource.icon": "Choose icon",
@@@ -440,12 -416,12 +451,13 @@@
  "label.community": "Community",
  "label.complete": "Complete",
  "label.compute": "Compute",
 +"label.compute.offerings": "Compute offerings",
  "label.computeonly.offering": "Compute only disk offering",
  "label.computeonly.offering.tooltip": "Option to specify root disk related 
information in the compute offering or to directly link a disk offering to the 
compute offering",
 -"label.compute.offerings": "Compute offerings",
+ "label.conditions": "Conditions",
  "label.configuration": "Configuration",
  "label.configure": "Configure",
 +"label.configure.health.monitor": "Configure Health Monitor",
  "label.configure.ldap": "Configure LDAP",
  "label.configure.ovs": "Configure Ovs",
  "label.configure.sticky.policy": "Configure sticky policy",
@@@ -638,7 -590,7 +657,8 @@@
  "label.direct.attached.public.ip": "Direct attached public IP",
  "label.direct.ips": "Shared network IPs",
  "label.directdownload": "Direct download",
 +"label.direction": "Direction",
+ "label.disable.autoscale.vmgroup": "Disable AutoScale VM Group",
  "label.disable.host": "Disable host",
  "label.disable.network.offering": "Disable network offering",
  "label.disable.provider": "Disable provider",
@@@ -705,10 -659,17 +725,19 @@@
  "label.download.state": "Download state",
  "label.dpd": "Dead peer detection",
  "label.driver": "Driver",
+ "label.duration": "Duration (in sec)",
+ "label.duration.custom": "Custom",
+ "label.duration.1hour": "1 hour",
+ "label.duration.6hours": "6 hours",
+ "label.duration.12hours": "12 hours",
+ "label.duration.24hours": "24 hours",
+ "label.duration.7days": "7 days",
  "label.dynamicscalingenabled": "Dynamic scaling enabled",
  "label.dynamicscalingenabled.tooltip": "VM can dynamically scale only when 
dynamic scaling is enabled on template, service offering and global setting.",
 +"label.diskofferingstrictness": "Disk offering strictness",
 +"label.disksizestrictness": "Disk size strictness",
+ "label.edge": "Edge",
+ "label.edge.zone": "Edge Zone",
  "label.edit": "Edit",
  "label.edit.acl.list": "Edit ACL list",
  "label.edit.acl.rule": "Edit ACL rule",
@@@ -1186,8 -1148,8 +1229,9 @@@
  "label.minimum": "Minimum",
  "label.miniops": "Min IOPS",
  "label.minmaxiops": "Min IOPS / Max IOPS",
+ "label.minmembers": "Min members",
  "label.minmemory": "Min memory (in MB)",
 +"label.minorsequence": "Minor Sequence",
  "label.minsize": "Minimum size",
  "label.minute.past.hour": "minute(s) past the hour",
  "label.monday": "Monday",
@@@ -1495,14 -1461,11 +1556,15 @@@
  "label.remove": "Remove",
  "label.remove.annotation": "Remove comment",
  "label.remove.egress.rule": "Remove egress rule",
 +"label.remove.interface.route.table": "Remove Tungsten interface route table",
  "label.remove.ip.range": "Remove IP range",
  "label.remove.ldap": "Remove LDAP",
 +"label.remove.logical.network": "Remove Network from logical router",
 +"label.remove.logical.router": "Remove logical router",
  "label.remove.network.offering": "Remove network offering",
 +"label.remove.network.route.table": "Remove Tungsten Fabric network routing 
table",
  "label.remove.pf": "Remove port forwarding rule",
+ "label.remove.policy": "Remove policy",
  "label.remove.project.account": "Remove account from project",
  "label.remove.project.role": "Remove project role",
  "label.remove.project.user": "Remove user from project",
@@@ -1559,20 -1520,16 +1621,22 @@@
  "label.root.disk.size": "Root disk size (GB)",
  "label.rootdisk": "ROOT disk",
  "label.rootdiskcontrollertype": "Root disk controller",
+ "label.rootdiskcontrollertypekvm": "Root disk controller",
+ "label.rootdisksize": "Root disk size (GB)",
 +"label.routenexthop": "Route next hop",
 +"label.routenexthoptype": "Route next hop type",
 +"label.routeprefix": "Route prefix",
  "label.router.health.check.last.updated": "Last updated",
  "label.router.health.check.name": "Check name",
  "label.router.health.check.success": "Success",
  "label.router.health.checks": "Health checks",
  "label.routercount": "Total of virtual routers",
- "label.routerip": "IPv4 address for router in shared network.",
- "label.routeripv6": "IPv6 address for router in shared network.",
+ "label.routerip": "IPv4 address for the VR in this shared network.",
+ "label.routeripv6": "IPv6 address for the VR in this shared network.",
  "label.resourcegroup": "Resource group",
 +"label.routing.policy": "Routing policy",
 +"label.routing.policy.terms": "Routing policy terms",
 +"label.routing.policy.terms.then": "Routing policy terms then",
  "label.rule": "Rule",
  "label.rule.number": "Rule number",
  "label.rules": "Rules",
@@@ -2293,10 -2202,8 +2374,9 @@@
  "message.confirm.start.lb.vm": "Please confirm you want to start LB VM.",
  "message.confirm.sync.storage": "Please confirm you want to sync the storage 
pool",
  "message.confirm.upgrade.router.newer.template": "Please confirm that you 
want to upgrade router to use newer template.",
- "message.cpu.usage.info.multi.cpu": "The CPU usage percentage can exceed 100% 
if the VM has more than 1 vCPU or when CPU Cap is not enabled. This behavior 
happens according to how the hypervisor being used accounts the stats.",
- "message.cpu.usage.info.cpu.cap": "If a VM has only 1 vCPU and the CPU Cap on 
its compute offering is disabled, then the percentage of CPU usage can also go 
over 100%. This happens because the VM can use more CPUs than it has been 
allocated.",
+ "message.cpu.usage.info": "The CPU usage percentage can exceed 100% if the VM 
has more than 1 vCPU or when CPU Cap is not enabled. This behavior happens 
according to the hypervisor being used (e.g: in KVM), due to how they account 
the stats",
  "message.create.compute.offering": "Compute offering created",
 +"message.create.tungsten.public.network": "Create Tungsten-Fabric public 
network",
  "message.create.internallb": "Creating internal LB",
  "message.create.internallb.failed": "Failed to create internal LB.",
  "message.create.internallb.processing": "Creation of internal LB is in 
progress",
@@@ -2427,7 -2328,9 +2517,8 @@@
  "message.error.description": "Please enter description.",
  "message.error.discovering.feature": "Exception caught while discovering 
features.",
  "message.error.display.text": "Please enter display text.",
+ "message.error.duration.less.than.interval": "The duration in Autoscale 
policy cannot be less than interval",
  "message.error.enable.saml": "Unable to find users IDs to enable SAML single 
sign on, kindly enable it manually.",
 -"message.error.end.date.and.time": "Please select the end date and time!",
  "message.error.endip": "Please enter end IP.",
  "message.error.gateway": "Please enter gateway.",
  "message.error.host.name": "Please enter host name.",
@@@ -2440,9 -2343,10 +2531,10 @@@
  "message.error.internallb.instance.port": "Please specify a instance port.",
  "message.error.internallb.name": "Please specify a name for the internal LB.",
  "message.error.internallb.source.port": "Please specify a source port.",
+ "message.error.invalid.autoscale.vmgroup.name": "Invalid AutoScale VM group 
name. It can contain the ASCII letters 'a' through 'z', 'A' through 'Z', the 
digits '0' through '9' and the hyphen ('-'), must be between 1 and 255 
characters long.",
  "message.error.ip.range": "Please enter valid range.",
  "message.error.ipv4.address": "Please enter a valid IPv4 address.",
 -"message.error.ipv4.dns1": "Please enter IpV4 DNS 1.",
 +"message.error.ipv4.dns2": "Please enter IpV4 DNS 2",
  "message.error.ipv6.address": "Please enter a valid IP v6 address.",
  "message.error.ipv6.gateway": "Please enter IpV6 Gateway",
  "message.error.ipv6.gateway.format": "Please enter a valid IPv6 Gateway.",
@@@ -2467,17 -2375,17 +2563,21 @@@
  "message.error.rados.pool": "Please enter RADOS pool",
  "message.error.rados.secret": "Please enter RADOS secret",
  "message.error.rados.user": "Please enter RADOS user",
 +"message.error.remove.logical.router": "Removing Logical Router failed",
 +"message.error.remove.network.policy": "Removing Network Policy failed",
  "message.error.remove.nic": "There was an error",
  "message.error.remove.secondary.ipaddress": "There was an error removing the 
secondary IP Address",
 -"message.error.reset.config": "Unable to reset config to default value",
 +"message.error.remove.tungsten.routing.policy": "Removing Tungsten-Fabric 
Routing Policy from network failed",
  "message.error.required.input": "Please enter input",
 +"message.error.reset.config": "Unable to reset config to default value",
  "message.error.retrieve.kubeconfig": "Unable to retrieve Kubernetes cluster 
config",
 +"message.error.routing.policy.term": "Community need to have the following 
format number:number",
  "message.error.s3nfs.path": "Please enter S3 NFS Path",
  "message.error.s3nfs.server": "Please enter S3 NFS Server",
+ "message.error.select.load.balancer": "Please select a load balancer",
+ "message.error.select.network": "Please select a network",
+ "message.error.select.network.supports.vm.autoscaling": "The default network 
you selected does not support VM AutoScaling, please select a default network 
which supports VM AutoScaling.",
+ "message.error.select.user": "Please select a user",
  "message.error.swift.account": "Please enter account",
  "message.error.swift.key": "Please enter key",
  "message.error.swift.username": "Please enter username",
@@@ -2737,9 -2634,7 +2852,10 @@@
  "message.success.add.vpc.network": "Successfully added VPC network",
  "message.success.add.vpn.customer.gateway": "Successfully added VPN customer 
gateway",
  "message.success.add.vpn.gateway": "Successfully added VPN gateway",
+ "message.success.assign.vm": "Successfully assigned VM",
 +"message.success.apply.network.policy": "Successfully applied Network Policy",
 +"message.success.apply.tungsten.tag": "Successfully applied Tag",
 +"message.success.asign.vm": "Successfully assigned VM",
  "message.success.assigned.vms": "Successfully assigned VMs",
  "message.success.certificate.upload": "Certificate successfully uploaded",
  "message.success.change.affinity.group": "Successfully changed affinity 
groups",
diff --cc ui/src/components/view/ListView.vue
index eb2b6b9ec4,c1508e8211..fcd94008d8
--- a/ui/src/components/view/ListView.vue
+++ b/ui/src/components/view/ListView.vue
@@@ -519,12 -516,9 +525,13 @@@ export default 
      }
    },
    methods: {
 +    isTungstenPath () {
 +      return ['/tungstennetworkroutertable', '/tungstenpolicy', 
'/tungsteninterfaceroutertable',
 +        '/tungstenpolicyset', '/tungstenroutingpolicy', '/firewallrule', 
'/tungstenfirewallpolicy'].includes(this.$route.path)
 +    },
+     createPathBasedOnVmType: createPathBasedOnVmType,
      quickViewEnabled () {
-       return new RegExp(['/vm', '/kubernetes', '/ssh', '/userdata', 
'/vmgroup', '/affinitygroup',
+       return new RegExp(['/vm', '/kubernetes', '/ssh', '/userdata', 
'/vmgroup', '/affinitygroup', '/autoscalevmgroup',
          '/volume', '/snapshot', '/vmsnapshot', '/backup',
          '/guestnetwork', '/vpc', '/vpncustomergateway',
          '/template', '/iso',
diff --cc ui/src/views/infra/zone/ZoneWizard.vue
index d8aa4ac6e0,710a1d1883..0b33c7488d
--- a/ui/src/views/infra/zone/ZoneWizard.vue
+++ b/ui/src/views/infra/zone/ZoneWizard.vue
@@@ -118,8 -137,9 +137,9 @@@ export default 
            hint: this.$t('message.zone.detail.hint')
          },
          {
+           name: 'network',
            title: 'label.network',
 -          step: ['physicalNetwork', 'netscaler', 'pod', 'guestTraffic', 
'storageTraffic', 'publicTraffic'],
 +          step: ['physicalNetwork', 'tungsten', 'netscaler', 'pod', 
'guestTraffic', 'storageTraffic', 'publicTraffic'],
            description: this.$t('message.network.description'),
            hint: this.$t('message.network.hint')
          },
diff --cc ui/src/views/network/LoadBalancing.vue
index 1afada30ad,cc6899bb5b..5b64d5b857
--- a/ui/src/views/network/LoadBalancing.vue
+++ b/ui/src/views/network/LoadBalancing.vue
@@@ -104,17 -132,20 +132,27 @@@
            {{ returnStickinessLabel(record.id) }}
          </a-button>
        </template>
+       <template #autoscale="{record}">
+         <div>
+           <router-link :to="{ path: '/autoscalevmgroup/' + 
record.autoscalevmgroup.id }" v-if='record.autoscalevmgroup'>
 -              <a-button>{{ $t('label.view') }}</a-button>
++            <a-button>{{ $t('label.view') }}</a-button>
+           </router-link>
+           <router-link :to="{ path: '/action/createAutoScaleVmGroup', query: 
{ networkid: record.networkid, lbruleid : record.id } }" 
v-else-if='!record.ruleInstances'>
 -              <a-button>{{ $t('label.new') }}</a-button>
++            <a-button>{{ $t('label.new') }}</a-button>
+           </router-link>
+         </div>
+       </template>
 +      <template #healthmonitor="{ record }">
 +        <a-button @click="() => openHealthMonitorModal(record.id)">
 +          {{ returnHealthMonitorLabel(record.id) }}
 +        </a-button>
 +      </template>
        <template #add="{record}">
-         <a-button type="primary" @click="() => { selectedRule = record; 
handleOpenAddVMModal() }">
+         <a-button type="primary" @click="() => { selectedRule = record; 
handleOpenAddVMModal() }" v-if='!record.autoscalevmgroup'>
 -          <template #icon><plus-outlined /></template>
 -            {{ $t('label.add') }}
 +          <template #icon>
 +            <plus-outlined />
 +          </template>
 +          {{ $t('label.add') }}
          </a-button>
        </template>
        <template #expandedRowRender="{ record }">
@@@ -678,10 -639,10 +724,14 @@@ export default 
            title: this.$t('label.action.configure.stickiness'),
            slots: { customRender: 'stickiness' }
          },
 +        {
 +          title: this.$t('label.action.health.monitor'),
 +          slots: { customRender: 'healthmonitor' }
 +        },
+         {
+           title: this.$t('label.autoscale'),
+           slots: { customRender: 'autoscale' }
+         },
          {
            title: this.$t('label.add.vms'),
            slots: { customRender: 'add' }
@@@ -749,9 -698,11 +799,12 @@@
        return this.selectedRowKeys.length > 0
      }
    },
+   beforeCreate () {
+     this.createLoadBalancerRuleParams = 
this.$getApiParams('createLoadBalancerRule')
+   },
    created () {
      this.initForm()
 +    this.initMonitorForm()
      this.fetchData()
    },
    watch: {
@@@ -828,7 -760,7 +881,8 @@@
              this.fetchLBRuleInstances()
            }, 100)
            this.fetchLBStickinessPolicies()
 +          this.fetchLBTungstenFabricHealthMonitor()
+           this.fetchAutoScaleVMgroups()
            return
          }
          this.loading = false
diff --cc ui/src/views/network/UpdateNetwork.vue
index 3ed2f91a8a,1b8780d174..02b826c1d7
--- a/ui/src/views/network/UpdateNetwork.vue
+++ b/ui/src/views/network/UpdateNetwork.vue
@@@ -41,8 -41,45 +41,45 @@@
            <a-input
              v-model:value="form.displaytext"
              :placeholder="apiParams.displaytext.description"
 -            autoFocus />
 +            v-focus="true" />
          </a-form-item>
+         <div v-if="setMTU">
+           <a-row :gutter="12" v-if="resource.type !== 'L2'">
+             <a-col :md="12" :lg="12">
+               <a-form-item
+               v-if="!resource.vpcid"
+                 ref="publicmtu"
+                 name="publicmtu">
+                 <template #label>
+                   <tooltip-label :title="$t('label.publicmtu')" 
:tooltip="apiParams.publicmtu.description"/>
+                 </template>
+                 <a-input-number
+                   style="width: 100%;"
+                   v-model:value="form.publicmtu"
+                   :defaultValue="resource.publicmtu"
+                   :placeholder="apiParams.publicmtu.description"
+                   @change="updateMtu(true)"/>
+                 <div style="color: red" v-if="errorPublicMtu" 
v-html="errorPublicMtu"></div>
+               </a-form-item>
+             </a-col>
+             <a-col :md="12" :lg="12">
+               <a-form-item
+                 ref="privatemtu"
+                 name="privatemtu">
+                 <template #label>
+                   <tooltip-label :title="$t('label.privatemtu')" 
:tooltip="apiParams.privatemtu.description"/>
+                 </template>
+                 <a-input-number
+                   v-model:value="form.privatemtu"
+                   style="width: 100%;"
+                   :defaultValue="resource.privatemtu"
+                   :placeholder="apiParams.privatemtu.description"
+                   @change="updateMtu(false)"/>
+                 <div style="color: red" v-if="errorPrivateMtu"  
v-html="errorPrivateMtu"></div>
+               </a-form-item>
+             </a-col>
+           </a-row>
+         </div>
          <a-form-item name="networkofferingid" ref="networkofferingid" 
v-if="isUpdatingIsolatedNetwork">
            <template #label>
              <tooltip-label :title="$t('label.networkofferingid')" 
:tooltip="apiParams.networkofferingid.description"/>

Reply via email to