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

rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit c1a02e1697bc1c47a16353ddc04b194044c28d90
Merge: d763169 d6a7427
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
AuthorDate: Mon Mar 29 16:34:22 2021 +0530

    Merge remote-tracking branch 'origin/4.15'
    
    Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>

 .../apache/cloudstack/api/ApiServerService.java    |  2 --
 .../api/command/admin/acl/ImportRoleCmd.java       |  3 --
 .../volume/datastore/PrimaryDataStoreHelper.java   |  2 ++
 .../hypervisor/vmware/resource/VmwareResource.java |  8 ++++-
 ...ernetesClusterResourceModifierActionWorker.java | 34 ++++++++++++++++++++++
 .../KubernetesClusterStartWorker.java              |  2 ++
 server/src/main/java/com/cloud/api/ApiServer.java  | 11 -------
 .../com/cloud/storage/VolumeApiServiceImpl.java    |  9 +++++-
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 28 ++++++++++++++----
 ui/public/locales/en.json                          |  1 +
 ui/src/components/view/ListResourceTable.vue       |  3 +-
 ui/src/components/view/ResourceLimitTab.vue        |  1 +
 ui/src/style/vars.less                             |  8 ++++-
 ui/src/views/AutogenView.vue                       | 26 ++++++++++++++---
 ui/src/views/compute/AssignInstance.vue            | 20 ++++++++++---
 ui/src/views/compute/AttachIso.vue                 |  3 +-
 ui/src/views/compute/ChangeAffinity.vue            |  3 +-
 ui/src/views/compute/CreateKubernetesCluster.vue   |  3 +-
 ui/src/views/compute/CreateSSHKeyPair.vue          |  3 +-
 ui/src/views/compute/CreateSnapshotWizard.vue      |  3 +-
 ui/src/views/compute/DeployVM.vue                  | 13 ++++++++-
 ui/src/views/compute/DestroyVM.vue                 |  3 +-
 ui/src/views/compute/EditVM.vue                    |  3 +-
 ui/src/views/compute/InstanceTab.vue               | 10 ++++---
 ui/src/views/compute/MigrateWizard.vue             |  3 +-
 ui/src/views/compute/ScaleKubernetesCluster.vue    |  3 +-
 ui/src/views/compute/StartVirtualMachine.vue       |  3 +-
 ui/src/views/compute/UpgradeKubernetesCluster.vue  |  3 +-
 ui/src/views/compute/backup/FormSchedule.vue       |  3 +-
 .../compute/wizard/ComputeOfferingSelection.vue    | 13 ++++++++-
 ui/src/views/compute/wizard/ComputeSelection.vue   |  2 ++
 ui/src/views/compute/wizard/DiskSizeSelection.vue  |  1 +
 ui/src/views/compute/wizard/MultiDiskSelection.vue |  1 +
 .../views/compute/wizard/NetworkConfiguration.vue  |  8 +++--
 ui/src/views/iam/AddAccount.vue                    |  3 +-
 ui/src/views/iam/AddLdapAccount.vue                |  2 +-
 ui/src/views/iam/AddUser.vue                       |  3 +-
 ui/src/views/iam/ChangeUserPassword.vue            |  3 +-
 ui/src/views/iam/ConfigureSamlSsoAuth.vue          |  1 +
 ui/src/views/iam/CreateRole.vue                    |  3 +-
 ui/src/views/iam/DomainActionForm.vue              | 17 ++++++++++-
 ui/src/views/iam/EditUser.vue                      |  3 +-
 ui/src/views/iam/ImportRole.vue                    |  3 +-
 ui/src/views/iam/PermissionEditable.vue            |  3 +-
 .../views/image/AddKubernetesSupportedVersion.vue  |  3 +-
 ui/src/views/image/IsoZones.vue                    |  3 +-
 ui/src/views/image/RegisterOrUploadIso.vue         |  5 ++--
 ui/src/views/image/RegisterOrUploadTemplate.vue    |  5 ++--
 ui/src/views/image/TemplateZones.vue               |  3 +-
 .../image/UpdateKubernetesSupportedVersion.vue     |  3 +-
 .../views/image/UpdateTemplateIsoPermissions.vue   |  6 +++-
 ui/src/views/infra/AddPrimaryStorage.vue           |  5 +++-
 ui/src/views/infra/AddSecondaryStorage.vue         |  2 +-
 ui/src/views/infra/ClusterAdd.vue                  |  2 +-
 ui/src/views/infra/HostAdd.vue                     |  2 +-
 ui/src/views/infra/MigrateData.vue                 |  1 +
 ui/src/views/infra/PodAdd.vue                      |  3 +-
 ui/src/views/infra/network/DedicatedVLANTab.vue    |  1 +
 ui/src/views/infra/network/EditTrafficLabel.vue    |  1 +
 .../views/infra/network/IpRangesTabManagement.vue  |  1 +
 ui/src/views/infra/network/IpRangesTabPublic.vue   |  3 +-
 ui/src/views/infra/network/IpRangesTabStorage.vue  |  1 +
 ui/src/views/infra/network/ServiceProvidersTab.vue |  4 +++
 .../infra/network/providers/AddF5LoadBalancer.vue  |  1 +
 .../network/providers/AddNetscalerLoadBalancer.vue |  1 +
 .../infra/network/providers/AddNiciraNvpDevice.vue |  1 +
 .../network/providers/AddPaloAltoFirewall.vue      |  1 +
 .../infra/network/providers/AddSrxFirewall.vue     |  1 +
 ui/src/views/infra/routers/RouterHealthCheck.vue   |  3 +-
 .../views/infra/zone/AdvancedGuestTrafficForm.vue  |  1 +
 ui/src/views/infra/zone/IpAddressRangeForm.vue     |  1 +
 ui/src/views/infra/zone/StaticInputsForm.vue       |  4 +++
 .../zone/ZoneWizardPhysicalNetworkSetupStep.vue    |  2 +-
 .../views/infra/zone/ZoneWizardZoneDetailsStep.vue |  1 +
 ui/src/views/infra/zone/ZoneWizardZoneTypeStep.vue |  1 +
 ui/src/views/network/AclListRulesTab.vue           |  6 ++--
 ui/src/views/network/CreateIsolatedNetworkForm.vue |  3 +-
 ui/src/views/network/CreateL2NetworkForm.vue       |  3 +-
 ui/src/views/network/CreateSharedNetworkForm.vue   |  3 +-
 ui/src/views/network/CreateVlanIpRange.vue         |  1 +
 ui/src/views/network/CreateVpc.vue                 |  3 +-
 ui/src/views/network/CreateVpnCustomerGateway.vue  |  3 +-
 ui/src/views/network/EgressRulesTab.vue            |  2 +-
 ui/src/views/network/EnableStaticNat.vue           |  6 +++-
 ui/src/views/network/FirewallRules.vue             |  4 +--
 .../views/network/IngressEgressRuleConfigure.vue   | 10 +++++--
 ui/src/views/network/InternalLBAssignVmForm.vue    |  6 +++-
 ui/src/views/network/IpAddressesTab.vue            |  2 ++
 ui/src/views/network/LoadBalancing.vue             | 12 +++++---
 ui/src/views/network/PortForwarding.vue            |  5 +++-
 ui/src/views/network/StaticRoutesTab.vue           |  6 ++--
 ui/src/views/network/VpcTab.vue                    |  8 +++--
 ui/src/views/network/VpcTiersTab.vue               |  4 ++-
 ui/src/views/offering/AddComputeOffering.vue       |  1 +
 ui/src/views/offering/AddDiskOffering.vue          |  1 +
 ui/src/views/offering/AddNetworkOffering.vue       |  1 +
 ui/src/views/offering/AddVpcOffering.vue           |  1 +
 ui/src/views/offering/ImportBackupOffering.vue     |  1 +
 ui/src/views/offering/UpdateOfferingAccess.vue     |  2 ++
 .../views/plugins/quota/EditTariffValueWizard.vue  |  1 +
 ui/src/views/project/AddAccountOrUserToProject.vue |  6 ++--
 ui/src/views/project/InvitationTokenTemplate.vue   |  1 +
 ui/src/views/project/InvitationsTemplate.vue       |  3 +-
 ui/src/views/project/iam/ProjectRoleTab.vue        |  8 +++--
 ui/src/views/storage/AttachVolume.vue              |  1 +
 .../views/storage/CreateSnapshotFromVMSnapshot.vue |  1 +
 ui/src/views/storage/CreateVolume.vue              |  3 +-
 ui/src/views/storage/FormSchedule.vue              |  3 +-
 ui/src/views/storage/MigrateVolume.vue             |  5 +++-
 ui/src/views/storage/ResizeVolume.vue              |  4 ++-
 ui/src/views/storage/RestoreAttachBackupVolume.vue |  3 +-
 ui/src/views/storage/TakeSnapshot.vue              |  3 +-
 ui/src/views/storage/UploadLocalVolume.vue         |  3 +-
 .../cloudstack/utils/redfish/RedfishClient.java    |  3 +-
 .../utils/redfish/RedfishClientTest.java           | 22 ++++++++++++++
 115 files changed, 399 insertions(+), 120 deletions(-)

diff --cc server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index a3f818a,737beb5..09b15bf
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@@ -145,6 -150,6 +145,8 @@@ import com.cloud.agent.api.to.deployasi
  import com.cloud.agent.manager.Commands;
  import com.cloud.alert.AlertManager;
  import com.cloud.api.ApiDBUtils;
++import com.cloud.api.query.dao.ServiceOfferingJoinDao;
++import com.cloud.api.query.vo.ServiceOfferingJoinVO;
  import com.cloud.capacity.Capacity;
  import com.cloud.capacity.CapacityManager;
  import com.cloud.configuration.Config;
@@@ -512,7 -515,9 +514,9 @@@ public class UserVmManagerImpl extends 
      @Inject
      private UserVmDeployAsIsDetailsDao userVmDeployAsIsDetailsDao;
      @Inject
-     private StorageManager _storageManager;
 -    private StorageManager storageMgr;
++    private StorageManager storageManager;
+     @Inject
+     private ServiceOfferingJoinDao serviceOfferingJoinDao;
  
      private ScheduledExecutorService _executor = null;
      private ScheduledExecutorService _vmIpFetchExecutor = null;
@@@ -2046,21 -2024,14 +2050,21 @@@
              if (!CollectionUtils.isEmpty(volumeLocators)) {
  
                  GetVolumeStatsCommand cmd = new 
GetVolumeStatsCommand(poolType, poolUuid, volumeLocators);
 +                Answer answer = null;
  
 -                if (timeout > 0) {
 -                    cmd.setWait(timeout/1000);
 -                }
 +                if (poolType == StoragePoolType.PowerFlex) {
 +                    // Get volume stats from the pool directly instead of 
sending cmd to host
 +                    // Added support for ScaleIO/PowerFlex pool only
-                     answer = _storageManager.getVolumeStats(storagePool, cmd);
++                    answer = storageManager.getVolumeStats(storagePool, cmd);
 +                } else {
 +                    if (timeout > 0) {
 +                        cmd.setWait(timeout/1000);
 +                    }
  
 -                Answer answer = _agentMgr.easySend(neighbor.getId(), cmd);
 +                    answer = _agentMgr.easySend(neighbor.getId(), cmd);
 +                }
  
 -                if (answer instanceof GetVolumeStatsAnswer){
 +                if (answer != null && answer instanceof GetVolumeStatsAnswer){
                      GetVolumeStatsAnswer volstats = 
(GetVolumeStatsAnswer)answer;
                      if (volstats.getVolumeStats() != null) {
                          volumeStatsByUuid.putAll(volstats.getVolumeStats());
@@@ -6349,7 -6262,7 +6365,7 @@@
                  HypervisorType hypervisorType = 
_volsDao.getHypervisorType(volume.getId());
                  if (hypervisorType.equals(HypervisorType.VMware)) {
                      try {
-                         boolean isStoragePoolStoragepolicyComplaince = 
_storageManager.isStoragePoolComplaintWithStoragePolicy(Arrays.asList(volume), 
pool);
 -                        boolean isStoragePoolStoragepolicyComplaince = 
storageMgr.isStoragePoolComplaintWithStoragePolicy(Arrays.asList(volume), pool);
++                        boolean isStoragePoolStoragepolicyComplaince = 
storageManager.isStoragePoolComplaintWithStoragePolicy(Arrays.asList(volume), 
pool);
                          if (!isStoragePoolStoragepolicyComplaince) {
                              throw new 
CloudRuntimeException(String.format("Storage pool %s is not storage policy 
compliance with the volume %s", pool.getUuid(), volume.getUuid()));
                          }
diff --cc ui/src/views/storage/TakeSnapshot.vue
index a898491,59cc003..735229f
--- a/ui/src/views/storage/TakeSnapshot.vue
+++ b/ui/src/views/storage/TakeSnapshot.vue
@@@ -31,10 -31,11 +31,11 @@@
              <a-form-item :label="$t('label.name')">
                <a-input
                  v-decorator="['name']"
-                 :placeholder="apiParams.name.description" />
+                 :placeholder="apiParams.name.description"
+                 autoFocus />
              </a-form-item>
            </a-col>
 -          <a-col :md="24" :lg="24">
 +          <a-col :md="24" :lg="24" v-if="!supportsStorageSnapshot">
              <a-form-item :label="$t('label.asyncbackup')">
                <a-switch v-decorator="['asyncbackup']" />
              </a-form-item>

Reply via email to