GutoVeronezi commented on issue #8506:
URL: https://github.com/apache/cloudstack/issues/8506#issuecomment-1924648687

   Hey @DaanHoogland @vishesh92 
   
   I did not have time to elaborate on the proposal until now, but here is the 
draft.
   
   For some edge cases, we have "wait"/"timeout" hardcoded values or values 
that come from global settings to set the commands timeout, like for 
`GetAutoScaleMetricsCommand` and for `MigrateCommand`. Currently, we have 385 
classes that extend `com.cloud.agent.api.Command` (I skipped classes that 
extend `com.cloud.agent.api.Answer`); therefore, externalizing global settings 
for each command  to provide flexibility is not feasible; however, we can reach 
flexibility by other means. 
   
   Currently, if we do not set a `wait` to the command, `AgentManagerImpl` will 
fallback to the `wait` global setting:
   
   
https://github.com/apache/cloudstack/blob/af8a582055c4194d1e42c8c1abd96969692046ed/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java#L441-L443
    
   I propose to create a table of `command_timeout` in which we would store the 
classpath of the command and its wait/timeout. Then, instead of fall backing 
directly to the `wait` global setting, we would check if there is an entry of 
the command in this table. If it exists, then we use the entry's value; 
otherwise, we fall back to the `wait` global setting. Thus, we can change the 
commands wait/timeout on demand and in a flexible way.
   
   The first step of the proposal would be creating the table and changing 
`AgentManagerImpl` to check the table. We could already create some entries for 
hardcoded values, like for the `GetAutoScaleMetricsCommand`.
   
   Then, as a second step, we could create APIs to allow operators to list, 
persist, and remove the wait/timeouts. We could also create an annotation to 
describe the commands and create an API to allow operators to list the 
annotated commands; thus, making it clear to them which processes they can 
manage the timeout.
   
   As a third and final step, we could extend this feature to be managed via 
GUI.
   
   I will create a POC of this proposal; meanwhile, let me know your thoughts 
about the proposal.
   
   Note: this proposal cover the common cases; eventually we will discuss the 
edge cases.
   
   ---
   
   Following there is the code I used to retrieve the classes that extend 
`com.cloud.agent.api.Command`:
   
   ```java
   import com.cloud.agent.api.Answer;
   import com.cloud.agent.api.Command;
   import org.reflections.Reflections;
   import java.util.HashSet;
   import java.util.Set;
   import java.util.stream.Collectors;
   
   class ClassMapper {
   
       public static void main(String[] args) {
           Set<Class<?>> classesToIterateThrough = new HashSet<>(new 
Reflections("org.apache", "com.cloud").getSubTypesOf(Command.class));
           classesToIterateThrough = 
classesToIterateThrough.stream().filter(klazz -> 
!Answer.class.isAssignableFrom(klazz)).collect(Collectors.toSet());
           System.out.println("Count: " + classesToIterateThrough.size());
           for (Class<?> cmd: classesToIterateThrough) {
               System.out.println(cmdClass);
           }
   
       }
   }
   ``` 
   
   To execute it, run `java -cp <path-to-cloud-client.jar> 
<path-to-file-with-the-above-code>`.
   
   Following there are the classes retrieved by the script:
   
   <details><summary>Classes that extend com.cloud.agent.api.Command</summary>
   
   ```
   org.apache.cloudstack.diagnostics.DeleteFileInVrCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AssignTungstenFloatingIpCommand
   com.cloud.agent.api.FindL2GatewayServiceCommand
   com.cloud.agent.api.GetStorageStatsCommand
   com.cloud.agent.api.storage.DestroyCommand
   com.cloud.agent.api.GetVmNetworkStatsCommand
   com.cloud.agent.api.PingRoutingCommand
   com.cloud.agent.api.CreateVolumeFromSnapshotCommand
   com.cloud.agent.api.CreateStoragePoolCommand
   com.cloud.agent.api.ExternalNetworkResourceUsageCommand
   com.cloud.agent.api.CheckOnHostCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenApplicationPolicySetCommand
   com.cloud.agent.api.PropagateResourceEventCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenNetworkPolicyCommand
   com.cloud.agent.api.storage.ResizeVolumeCommand
   com.cloud.agent.api.routing.SetPortForwardingRulesCommand
   com.cloud.agent.api.CleanupNetworkRulesCmd
   com.cloud.agent.api.DeleteBcfSegmentCommand
   com.cloud.agent.api.FindLogicalSwitchPortCommand
   com.cloud.agent.api.ReadyCommand
   com.cloud.agent.api.storage.AbstractUploadCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenNetworkPolicyCommand
   com.cloud.agent.api.SecStorageVMSetupCommand
   com.cloud.agent.api.storage.CreateDatadiskTemplateCommand
   com.cloud.agent.api.NetworkUsageCommand
   com.cloud.agent.api.NetworkRulesVmSecondaryIpCommand
   com.cloud.agent.api.CreateBcfSegmentCommand
   
org.apache.cloudstack.network.tungsten.agent.api.GetTungstenFabricNetworkCommand
   com.cloud.agent.api.DisassociateMacFromNetworkCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenTagTypeCommand
   com.cloud.agent.api.GetVmVncTicketCommand
   com.cloud.agent.api.UnregisterVMCommand
   com.cloud.agent.api.storage.CreateEntityDownloadURLCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadBalancerMemberCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenPolicyRuleCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenFirewallRuleCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenNetworkPolicyCommand
   org.apache.cloudstack.ca.SetupCertificateCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenTagCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenApplicationPolicySetCommand
   com.cloud.agent.api.routing.SetIpv6FirewallRulesCommand
   
org.apache.cloudstack.network.opendaylight.agent.commands.ConfigurePortCommand
   com.cloud.agent.api.routing.SetStaticRouteCommand
   com.cloud.agent.api.storage.CheckStorageAvailabilityCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenFirewallPolicyCommand
   com.cloud.agent.api.GetControllerDataCommand
   com.cloud.agent.api.routing.SavePasswordCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenPolicyCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenAddressGroupCommand
   com.cloud.agent.api.PingTestCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenSecurityGroupRuleCommand
   com.cloud.agent.api.storage.SsCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenDomainCommand
   
org.apache.cloudstack.shutdown.command.TriggerShutdownManagementServerHostCommand
   com.cloud.agent.api.OvsSetTagAndFlowCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenServiceGroupCommand
   com.cloud.agent.api.ValidateVcenterDetailsCommand
   com.cloud.agent.api.RollingMaintenanceCommand
   com.cloud.agent.api.RebootCommand
   com.cloud.agent.api.PlugNicCommand
   com.cloud.agent.api.GetVmDiskStatsCommand
   org.apache.cloudstack.storage.command.CreatePrimaryDataStoreCmd
   com.cloud.agent.api.ConfigurePortForwardingRulesOnLogicalRouterCommand
   org.apache.cloudstack.storage.command.MoveVolumeCommand
   com.cloud.agent.api.DeleteLogicalRouterCommand
   org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenPolicyCommand
   com.cloud.agent.api.CreateBcfAttachmentCommand
   org.apache.cloudstack.storage.command.SnapshotAndCopyCommand
   com.cloud.agent.api.PingRoutingWithOvsCommand
   com.cloud.agent.api.GetDomRVersionCmd
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenVRouterPortCommand
   com.cloud.agent.api.proxy.WatchConsoleProxyLoadCommand
   com.cloud.agent.api.AgentControlCommand
   com.cloud.agent.api.FreezeThawVMCommand
   com.cloud.agent.api.DeleteSnapshotsDirCommand
   com.cloud.agent.api.CheckStateCommand
   com.cloud.agent.api.CopyRemoteVolumeCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ReleaseTungstenFloatingIpCommand
   com.cloud.agent.api.routing.RemoteAccessVpnCfgCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenVmCommand
   com.cloud.agent.api.routing.SetFirewallRulesCommand
   org.apache.cloudstack.agent.directdownload.HttpsDirectDownloadCommand
   com.cloud.agent.api.CreateBcfStaticNatCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenApplicationPolicySetCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenDefaultSecurityGroupCommand
   com.cloud.agent.api.SnapshotCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenFloatingIpPoolCommand
   com.cloud.agent.api.baremetal.PreparePxeServerCommand
   com.cloud.agent.api.routing.LoadRouterHealthChecksConfigCommand
   com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand
   com.cloud.agent.api.PrepareForMigrationCommand
   org.apache.cloudstack.network.tungsten.agent.api.AddTungstenPolicyRuleCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenTagCommand
   com.cloud.agent.api.OvsDestroyBridgeCommand
   com.cloud.agent.api.PvlanSetupCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenFloatingIpCommand
   com.cloud.agent.api.storage.ListVolumeCommand
   com.cloud.agent.api.DeleteStoragePoolCommand
   com.cloud.agent.api.ScaleVmCommand
   com.cloud.agent.api.routing.GetRouterAlertsCommand
   
org.apache.cloudstack.network.tungsten.agent.api.GetTungstenLoadBalancerCommand
   com.cloud.agent.api.GetStoragePoolCapabilitiesCommand
   org.apache.cloudstack.storage.command.QuerySnapshotZoneCopyCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenLogicalRouterCommand
   com.cloud.agent.api.routing.IpAssocVpcCommand
   com.cloud.agent.api.routing.IpAssocCommand
   com.cloud.agent.api.storage.GetDatadisksCommand
   org.apache.cloudstack.storage.command.CopyCommand
   com.cloud.agent.api.routing.LoadBalancerConfigCommand
   org.apache.cloudstack.network.tungsten.agent.api.TungstenCommand
   com.cloud.agent.api.OvsDestroyTunnelCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenSecurityGroupCommand
   com.cloud.agent.api.PrepareOCFS2NodesCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenVmFromSecurityGroupCommand
   com.cloud.agent.api.UpdateBcfAttachmentCommand
   com.cloud.agent.api.PerformanceMonitorCommand
   com.cloud.agent.api.RestoreVMSnapshotCommand
   com.cloud.agent.api.GetVmIpAddressCommand
   org.apache.cloudstack.storage.command.DownloadProgressCommand
   com.cloud.agent.api.OvsVpcRoutingPolicyConfigCommand
   com.cloud.agent.api.routing.HealthCheckLBConfigCommand
   com.cloud.agent.api.GetGPUStatsCommand
   com.cloud.agent.api.ConfigureStaticNatRulesOnLogicalRouterCommand
   com.cloud.agent.api.ModifySshKeysCommand
   com.cloud.agent.api.FindLogicalRouterPortCommand
   com.cloud.agent.api.PingRoutingWithNwGroupsCommand
   
org.apache.cloudstack.network.opendaylight.agent.commands.DestroyNetworkCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenFirewallRuleCommand
   com.cloud.agent.api.routing.VpnUsersCfgCommand
   com.cloud.agent.api.ModifyStoragePoolCommand
   org.apache.cloudstack.ca.SetupKeyStoreCommand
   com.cloud.agent.api.StartupBrocadeVcsCommand
   com.cloud.agent.api.CheckNetworkCommand
   org.apache.cloudstack.network.tungsten.agent.api.SetupTungstenVRouterCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenServiceGroupCommand
   com.cloud.agent.api.CheckVMActivityOnStoragePoolCommand
   com.cloud.agent.api.proxy.AllowConsoleAccessCommand
   com.cloud.agent.api.RevertToVMSnapshotCommand
   com.cloud.agent.api.SetupGuestNetworkCommand
   com.cloud.agent.api.baremetal.IpmiBootorResetCommand
   com.cloud.agent.api.ManageSnapshotCommand
   com.cloud.agent.api.CancelCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenDomainCommand
   org.apache.cloudstack.storage.command.DettachCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadbalancerStatsCommand
   org.apache.cloudstack.storage.command.DeleteCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadBalancerListenerCommand
   org.apache.cloudstack.diagnostics.DiagnosticsCommand
   com.cloud.agent.api.SetupCommand
   com.cloud.agent.api.SecStorageFirewallCfgCommand
   com.cloud.agent.api.CheckS2SVpnConnectionsCommand
   org.apache.cloudstack.agent.directdownload.CheckUrlCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenNetworkSubnetCommand
   com.cloud.agent.api.ShutdownCommand
   com.cloud.agent.api.proxy.ProxyCommand
   com.cloud.agent.api.MigrateCommand
   com.cloud.agent.api.routing.GetRouterMonitorResultsCommand
   com.cloud.agent.api.HandleConfigDriveIsoCommand
   org.apache.cloudstack.storage.command.DownloadCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenVirtualMachineCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenNetworkCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenNetworkLoadbalancerCommand
   com.cloud.agent.api.CreateNetworkCommand
   org.apache.cloudstack.network.tungsten.agent.api.StartupTungstenCommand
   com.cloud.agent.api.storage.ListTemplateCommand
   com.cloud.agent.api.storage.StorageCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenNicCommand
   com.cloud.agent.api.storage.CreateVolumeOVACommand
   com.cloud.agent.api.storage.UploadProgressCommand
   com.cloud.agent.api.StopCommand
   com.cloud.agent.api.ConsoleAccessAuthenticationCommand
   
org.apache.cloudstack.network.opendaylight.agent.commands.ConfigureNetworkCommand
   org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenTagCommand
   org.apache.cloudstack.storage.command.ForgetObjectCmd
   com.cloud.agent.api.GetControllerHostsCommand
   com.cloud.agent.api.VMSnapshotBaseCommand
   org.apache.cloudstack.ca.PostCertificateRenewalCommand
   com.cloud.agent.api.BcfCommand
   com.cloud.agent.api.CleanupPersistentNetworkResourceCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenFirewallPolicyCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenRoutingLogicalRouterCommand
   com.cloud.agent.api.UpdateBcfRouterCommand
   com.cloud.agent.api.DeleteLogicalSwitchPortCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateLoadBalancerServiceInstanceCommand
   com.cloud.agent.api.storage.UploadCommand
   com.cloud.agent.api.storage.StorageNfsVersionCommand
   
org.apache.cloudstack.agent.directdownload.RevokeDirectDownloadCertificateCommand
   com.cloud.agent.api.OvsSetupBridgeCommand
   com.cloud.agent.api.MigrateWithStorageSendCommand
   com.cloud.agent.api.routing.DnsMasqConfigCommand
   com.cloud.agent.api.DeleteLogicalRouterPortCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenConnectedNetworkFromLogicalRouterCommand
   com.cloud.agent.api.DeleteNetworkCommand
   org.apache.cloudstack.storage.command.RevertSnapshotCommand
   
org.apache.cloudstack.shutdown.command.BaseShutdownManagementServerHostCommand
   com.cloud.agent.api.StartCommand
   com.cloud.agent.api.PrepareUnmanageVMInstanceCommand
   com.cloud.agent.api.ScheduleHostScanTaskCommand
   com.cloud.agent.api.storage.CreateCommand
   com.cloud.agent.api.BumpUpPriorityCommand
   com.cloud.agent.api.GetHostStatsCommand
   com.cloud.agent.api.NetworkRulesSystemVmCommand
   com.cloud.agent.api.MigrateWithStorageCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AddTungstenNetworkSubnetCommand
   com.cloud.agent.api.BadCommand
   com.cloud.agent.api.UnregisterNicCommand
   com.cloud.agent.api.routing.NetworkElementCommand
   com.cloud.agent.api.GetUnmanagedInstancesCommand
   com.cloud.agent.api.ConvertInstanceCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenNetworkCommand
   com.cloud.agent.api.routing.SetMonitorServiceCommand
   com.cloud.agent.api.RecurringNetworkUsageCommand
   com.cloud.agent.api.DirectNetworkUsageCommand
   com.cloud.agent.api.MigrateWithStorageCompleteCommand
   com.cloud.agent.api.OvsVpcPhysicalTopologyConfigCommand
   com.cloud.agent.api.baremetal.PrepareCreateTemplateCommand
   com.cloud.agent.api.storage.AbstractDownloadCommand
   
org.apache.cloudstack.network.tungsten.agent.api.GetTungstenSecurityGroupCommand
   com.cloud.agent.api.StartupBigSwitchBcfCommand
   org.apache.cloudstack.network.tungsten.agent.api.GetTungstenNetworkDnsCommand
   com.cloud.baremetal.networkservice.PrepareKickstartPxeServerCommand
   org.apache.cloudstack.network.tungsten.agent.api.GetTungstenPolicyCommand
   com.cloud.agent.api.TransferAgentCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenServiceGroupCommand
   com.cloud.agent.api.GetVmConfigCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenFirewallPolicyCommand
   com.cloud.agent.api.storage.PrepareOVAPackingCommand
   
org.apache.cloudstack.network.opendaylight.agent.commands.StartupOpenDaylightControllerCommand
   com.cloud.agent.api.routing.SetNetworkACLCommand
   com.cloud.agent.api.GetVmStatsCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenFloatingIpPoolCommand
   com.cloud.agent.api.UpdateLogicalSwitchPortCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenPolicyRuleCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenProjectCommand
   com.cloud.agent.api.CheckGuestOsMappingCommand
   com.cloud.agent.api.ConfigureSharedNetworkVlanIdCommand
   com.cloud.agent.api.routing.Site2SiteVpnCfgCommand
   
org.apache.cloudstack.agent.directdownload.SetupDirectDownloadCertificateCommand
   com.cloud.agent.api.routing.CreateLoadBalancerApplianceCommand
   com.cloud.agent.api.CreateVMSnapshotCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenVmCommand
   com.cloud.agent.api.routing.DhcpEntryCommand
   com.cloud.agent.api.FenceCommand
   com.cloud.agent.api.routing.DestroyLoadBalancerApplianceCommand
   com.cloud.agent.api.OvsCreateTunnelCommand
   com.cloud.agent.api.MigrateWithStorageReceiveCommand
   com.cloud.agent.api.ModifyVmNicConfigCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenFloatingIpCommand
   com.cloud.agent.api.GetHypervisorGuestOsNamesCommand
   org.apache.cloudstack.storage.command.IntroduceObjectCmd
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenTagTypeCommand
   com.cloud.agent.api.CheckRouterCommand
   com.cloud.agent.api.SecStorageSetupCommand
   com.cloud.agent.api.routing.CreateIpAliasCommand
   com.cloud.agent.api.SecurityGroupRulesCmd
   com.cloud.agent.api.routing.GetAutoScaleMetricsCommand
   org.apache.cloudstack.agent.directdownload.NfsDirectDownloadCommand
   com.cloud.agent.api.AttachIsoCommand
   com.cloud.agent.api.storage.CopyVolumeCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenPortForwardingCommand
   org.apache.cloudstack.diagnostics.PrepareFilesCommand
   com.cloud.agent.api.StartupRoutingCommand
   org.apache.cloudstack.storage.command.AttachCommand
   org.apache.cloudstack.storage.command.CreateObjectCommand
   com.cloud.agent.api.StartupExternalLoadBalancerCommand
   com.cloud.agent.api.DeleteBcfAttachmentCommand
   
org.apache.cloudstack.network.tungsten.agent.api.SetTungstenNetworkGatewayCommand
   com.cloud.agent.api.ConfigureSharedNetworkUuidCommand
   com.cloud.agent.api.routing.SetStaticNatRulesCommand
   com.cloud.agent.api.StartupTrafficMonitorCommand
   com.cloud.agent.api.CreateVolumeFromVMSnapshotCommand
   org.apache.cloudstack.agent.lb.SetupMSListCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AddTungstenNetworkGatewayToLogicalRouterCommand
   com.cloud.agent.api.CacheBcfTopologyCommand
   com.cloud.agent.api.DeleteBcfStaticNatCommand
   com.cloud.agent.api.routing.DeleteIpAliasCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AddTungstenVmToSecurityGroupCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AddTungstenSecurityGroupRuleCommand
   com.cloud.agent.api.GetRemoteVmsCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenAddressGroupCommand
   com.cloud.agent.api.AssociateMacToNetworkCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenVrouterConfigCommand
   org.apache.cloudstack.agent.directdownload.DirectDownloadCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenObjectCommand
   com.cloud.agent.api.StartupExternalDhcpCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenSecondaryIpAddressCommand
   com.cloud.agent.api.ConsoleProxyLoadReportCommand
   
org.apache.cloudstack.network.tungsten.agent.api.GetTungstenFloatingIpsCommand
   com.cloud.agent.api.DeleteLogicalSwitchCommand
   com.cloud.agent.api.BackupSnapshotCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenRoutingLogicalRouterCommand
   org.apache.cloudstack.storage.command.ResignatureCommand
   com.cloud.agent.api.ValidateSnapshotCommand
   com.cloud.agent.api.SetupPersistentNetworkCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenLoadBalancerCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ClearTungstenNetworkGatewayCommand
   com.cloud.agent.api.CreatePrivateTemplateFromSnapshotCommand
   com.cloud.agent.api.CheckVirtualMachineCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenFirewallRuleCommand
   com.cloud.agent.api.check.CheckSshCommand
   com.cloud.agent.api.CreateBcfRouterCommand
   com.cloud.agent.api.StartupCommand
   com.cloud.agent.api.CheckHealthCommand
   org.apache.cloudstack.diagnostics.CopyToSecondaryStorageCommand
   com.cloud.agent.api.DeleteVMSnapshotCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadbalancerSslCommand
   com.cloud.agent.api.StartupProxyCommand
   com.cloud.agent.api.routing.VmDataCommand
   com.cloud.agent.api.storage.PrimaryStorageDownloadCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenTagTypeCommand
   com.cloud.agent.api.storage.DeleteEntityDownloadURLCommand
   com.cloud.agent.api.CreateLogicalRouterCommand
   org.apache.cloudstack.network.tungsten.agent.api.ApplyTungstenTagCommand
   com.cloud.agent.api.ModifyTargetsCommand
   com.cloud.agent.api.CreateLogicalSwitchCommand
   com.cloud.agent.api.GetVolumeStatsCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenProjectCommand
   
org.apache.cloudstack.network.tungsten.agent.api.ListTungstenAddressGroupCommand
   com.cloud.agent.api.CheckVolumeCommand
   com.cloud.agent.api.MaintainCommand
   com.cloud.agent.api.GetVncPortCommand
   org.apache.cloudstack.network.tungsten.agent.api.GetTungstenNatIpCommand
   com.cloud.agent.api.ConfigurePublicIpsOnLogicalRouterCommand
   com.cloud.agent.api.CreateLogicalSwitchPortCommand
   org.apache.cloudstack.storage.command.browser.ListDataStoreObjectsCommand
   org.apache.cloudstack.agent.directdownload.HttpDirectDownloadCommand
   org.apache.cloudstack.network.tungsten.agent.api.SetupTfRouteCommand
   com.cloud.agent.api.RebootRouterCommand
   com.cloud.agent.api.NetScalerImplementNetworkCommand
   com.cloud.agent.api.UnPlugNicCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenDefaultProjectCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenPolicyCommand
   com.cloud.agent.api.StartupSecondaryStorageCommand
   com.cloud.agent.api.PingStorageCommand
   com.cloud.agent.api.routing.AggregationControlCommand
   org.apache.cloudstack.storage.command.SyncVolumePathCommand
   com.cloud.agent.api.CreateBcfRouterInterfaceCommand
   com.cloud.agent.api.OvsFetchInterfaceCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenLoadBalancerListenerCommand
   
org.apache.cloudstack.shutdown.command.CancelShutdownManagementServerHostCommand
   com.cloud.agent.api.StartupStorageCommand
   com.cloud.agent.api.ChangeAgentCommand
   com.cloud.agent.api.UpdateHostPasswordCommand
   org.apache.cloudstack.storage.command.AttachPrimaryDataStoreCmd
   com.cloud.agent.api.storage.MigrateVolumeCommand
   
org.apache.cloudstack.network.opendaylight.agent.commands.AddHypervisorCommand
   com.cloud.agent.api.ClusterVMMetaDataSyncCommand
   com.cloud.agent.api.baremetal.IpmISetBootDevCommand
   org.apache.cloudstack.agent.directdownload.MetalinkDirectDownloadCommand
   com.cloud.agent.api.StartupNiciraNvpCommand
   
org.apache.cloudstack.shutdown.command.PrepareForShutdownManagementServerHostCommand
   org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenPolicyCommand
   org.apache.cloudstack.storage.command.StorageSubSystemCommand
   com.cloud.agent.api.PingCommand
   org.apache.cloudstack.network.opendaylight.agent.commands.DestroyPortCommand
   com.cloud.agent.api.OvsCreateGreTunnelCommand
   com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadBalancerHealthMonitorCommand
   org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenTagCommand
   com.cloud.agent.api.UpgradeSnapshotCommand
   
org.apache.cloudstack.network.tungsten.agent.api.UpdateTungstenLoadBalancerPoolCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenSecurityGroupCommand
   org.apache.cloudstack.network.tungsten.agent.api.ListTungstenNetworkCommand
   com.cloud.agent.api.routing.SetSourceNatCommand
   com.cloud.agent.api.proxy.StartConsoleProxyAgentHttpHandlerCommand
   com.cloud.agent.api.SyncBcfTopologyCommand
   com.cloud.agent.api.MigrateVmToPoolCommand
   com.cloud.agent.api.OvsDeleteFlowCommand
   
org.apache.cloudstack.network.tungsten.agent.api.DeleteTungstenVmInterfaceCommand
   
org.apache.cloudstack.network.tungsten.agent.api.CreateTungstenRoutingLogicalRouterCommand
   com.cloud.agent.api.PatchSystemVmCommand
   com.cloud.agent.api.routing.UpdateNetworkCommand
   com.cloud.agent.api.ReplugNicCommand
   com.cloud.agent.api.routing.GlobalLoadBalancerConfigCommand
   
org.apache.cloudstack.network.tungsten.agent.api.RemoveTungstenNetworkGatewayFromLogicalRouterCommand
   com.cloud.agent.api.ComputeChecksumCommand
   
org.apache.cloudstack.storage.command.CheckDataStoreStoragePolicyComplainceCommand
   com.cloud.agent.api.proxy.CheckConsoleProxyLoadCommand
   com.cloud.agent.api.StartupPxeServerCommand
   com.cloud.agent.api.StartupExternalFirewallCommand
   
org.apache.cloudstack.network.tungsten.agent.api.AddTungstenSecondaryIpAddressCommand
   com.cloud.agent.api.AttachOrDettachConfigDriveCommand
   com.cloud.agent.api.StartupOvsCommand
   org.apache.cloudstack.storage.command.UploadStatusCommand
   com.cloud.agent.api.SetHostParamsCommand
   ```
   </details>
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to