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

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

commit 0926e5c15a985d5f26f30a84d74a5b77c8055e82
Merge: 8f6721ed4c4 2a56c61adea
Author: Abhishek Kumar <[email protected]>
AuthorDate: Mon Feb 26 12:23:34 2024 +0530

    Merge remote-tracking branch 'apache/4.19'

 .../command/admin/vlan/DeleteVlanIpRangeCmd.java   |   2 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |   5 +-
 .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java   |  23 ++-
 .../db/views/cloud.account_netstats_view.sql       |  31 +++
 .../db/views/cloud.account_vmstats_view.sql        |  35 ++++
 .../db/views/cloud.affinity_group_view.sql         |  60 ++++++
 .../META-INF/db/views/cloud.event_view.sql         |  63 +++++++
 .../META-INF/db/views/cloud.free_ip_view.sql       |  32 ++++
 .../META-INF/db/views/cloud.image_store_view.sql   |  45 +++++
 .../db/views/cloud.instance_group_view.sql         |  48 +++++
 .../db/views/cloud.last_annotation_view.sql        |  43 +++++
 .../META-INF/db/views/cloud.mshost_view.sql        |  46 +++++
 .../db/views/cloud.project_account_view.sql        |  54 ++++++
 .../db/views/cloud.project_invitation_view.sql     |  52 ++++++
 .../META-INF/db/views/cloud.project_view.sql       |  50 +++++
 .../META-INF/db/views/cloud.resource_tag_view.sql  |  51 +++++
 .../db/views/cloud.security_group_view.sql         |  79 ++++++++
 .../META-INF/db/views/cloud.volume_view.sql        | 156 ++++++++++++++++
 .../META-INF/db/views/cloud.vpc_offering_view.sql  |  63 +++++++
 .../com/cloud/vm/dao/VMInstanceDaoImplTest.java    | 152 +++++++++++++--
 .../main/resources/conf/k8s-control-node-add.yml   |   4 +
 .../configuration/ConfigurationManagerImpl.java    | 208 +++++++++++++--------
 .../router/VirtualNetworkApplianceManagerImpl.java |  21 +--
 .../VpcVirtualNetworkApplianceManagerImpl.java     |   7 +-
 .../ConfigurationManagerImplTest.java              | 157 ++++++++++++++++
 test/integration/smoke/test_guest_os.py            |   2 +-
 ui/src/config/section/storage.js                   |  54 ------
 27 files changed, 1377 insertions(+), 166 deletions(-)

diff --cc 
api/src/main/java/org/apache/cloudstack/api/command/admin/vlan/DeleteVlanIpRangeCmd.java
index 7f583fe225a,390759c2c06..7ab0b053004
--- 
a/api/src/main/java/org/apache/cloudstack/api/command/admin/vlan/DeleteVlanIpRangeCmd.java
+++ 
b/api/src/main/java/org/apache/cloudstack/api/command/admin/vlan/DeleteVlanIpRangeCmd.java
@@@ -28,9 -29,10 +28,9 @@@ import org.apache.cloudstack.api.respon
  
  import com.cloud.user.Account;
  
- @APICommand(name = "deleteVlanIpRange", description = "Creates a VLAN IP 
range.", responseObject = SuccessResponse.class,
+ @APICommand(name = "deleteVlanIpRange", description = "Deletes a VLAN IP 
range.", responseObject = SuccessResponse.class,
          requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
  public class DeleteVlanIpRangeCmd extends BaseCmd {
 -    public static final Logger s_logger = 
Logger.getLogger(DeleteVlanIpRangeCmd.class.getName());
  
  
      /////////////////////////////////////////////////////
diff --cc 
engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
index b5fc2e7c3a9,59d129bc065..f3ec3dd4761
--- 
a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
+++ 
b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java
@@@ -2206,10 -2208,11 +2206,12 @@@ public class VirtualMachineManagerImpl 
  
              boolean result = stateTransitTo(vm, Event.OperationSucceeded, 
null);
              if (result) {
+                 vm.setPowerState(PowerState.PowerOff);
+                 _vmDao.update(vm.getId(), vm);
                  if (VirtualMachine.Type.User.equals(vm.type) && 
ResourceCountRunningVMsonly.value()) {
                      ServiceOfferingVO offering = 
_offeringDao.findById(vm.getId(), vm.getServiceOfferingId());
 -                    resourceCountDecrement(vm.getAccountId(), 
offering.getCpu().longValue(), offering.getRamSize().longValue());
 +                    VMTemplateVO template = 
_templateDao.findByIdIncludingRemoved(vm.getTemplateId());
 +                    
_resourceLimitMgr.decrementVmResourceCount(vm.getAccountId(), vm.isDisplay(), 
offering, template);
                  }
              } else {
                  throw new CloudRuntimeException("unable to stop " + vm);
diff --cc engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
index cc82813b412,322895f0ec5..b7b787b0045
--- a/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
@@@ -64,7 -65,8 +64,7 @@@ import com.cloud.vm.VirtualMachine.Type
  @Component
  public class VMInstanceDaoImpl extends GenericDaoBase<VMInstanceVO, Long> 
implements VMInstanceDao {
  
-     private static final int MAX_CONSECUTIVE_SAME_STATE_UPDATE_COUNT = 3;
 -    public static final Logger s_logger = 
Logger.getLogger(VMInstanceDaoImpl.class);
+     static final int MAX_CONSECUTIVE_SAME_STATE_UPDATE_COUNT = 3;
  
      protected SearchBuilder<VMInstanceVO> VMClusterSearch;
      protected SearchBuilder<VMInstanceVO> LHVMClusterSearch;
@@@ -927,6 -931,17 +929,17 @@@
          });
      }
  
+     private boolean isPowerStateInSyncWithInstanceState(final 
VirtualMachine.PowerState powerState, final long powerHostId, final 
VMInstanceVO instance) {
+         State instanceState = instance.getState();
+         if ((powerState == VirtualMachine.PowerState.PowerOff && 
instanceState == State.Running)
+                 || (powerState == VirtualMachine.PowerState.PowerOn && 
instanceState == State.Stopped)) {
 -            s_logger.debug(String.format("VM id: %d on host id: %d and power 
host id: %d is in %s state, but power state is %s",
++            logger.debug(String.format("VM id: %d on host id: %d and power 
host id: %d is in %s state, but power state is %s",
+                     instance.getId(), instance.getHostId(), powerHostId, 
instanceState, powerState));
+             return false;
+         }
+         return true;
+     }
+ 
      @Override
      public boolean isPowerStateUpToDate(final long instanceId) {
          VMInstanceVO instance = findById(instanceId);
diff --cc 
engine/schema/src/test/java/com/cloud/vm/dao/VMInstanceDaoImplTest.java
index 00eae3b78d4,9dc773cd7d6..4a32dc08359
--- a/engine/schema/src/test/java/com/cloud/vm/dao/VMInstanceDaoImplTest.java
+++ b/engine/schema/src/test/java/com/cloud/vm/dao/VMInstanceDaoImplTest.java
@@@ -17,20 -17,25 +17,26 @@@
  
  package com.cloud.vm.dao;
  
- import com.cloud.utils.Pair;
- import com.cloud.vm.VirtualMachine;
+ import static com.cloud.vm.VirtualMachine.State.Running;
+ import static com.cloud.vm.VirtualMachine.State.Stopped;
+ import static 
com.cloud.vm.dao.VMInstanceDaoImpl.MAX_CONSECUTIVE_SAME_STATE_UPDATE_COUNT;
+ import static org.junit.Assert.assertFalse;
+ import static org.junit.Assert.assertTrue;
+ import static org.mockito.ArgumentMatchers.any;
+ import static org.mockito.ArgumentMatchers.anyLong;
+ import static org.mockito.Mockito.doReturn;
+ import static org.mockito.Mockito.never;
+ import static org.mockito.Mockito.times;
+ import static org.mockito.Mockito.verify;
+ import static org.mockito.Mockito.when;
+ 
+ import java.util.Date;
+ 
  import org.joda.time.DateTime;
 +import org.junit.After;
  import org.junit.Before;
  import org.junit.Test;
- import org.junit.Assert;
  import org.mockito.Mock;
- 
- import static com.cloud.vm.VirtualMachine.State.Running;
- import static com.cloud.vm.VirtualMachine.State.Stopped;
- 
- import static org.mockito.Mockito.when;
- import com.cloud.vm.VMInstanceVO;
  import org.mockito.MockitoAnnotations;
  import org.mockito.Spy;
  
@@@ -57,15 -64,10 +67,15 @@@ public class VMInstanceDaoImplTest 
          when(vm.getUpdateTime()).thenReturn(DateTime.now().toDate());
      }
  
 +    @After
 +    public void tearDown() throws Exception {
 +        closeable.close();
 +    }
 +
      @Test
-     public void testUpdateState() throws Exception {
+     public void testUpdateState() {
          Long destHostId = null;
-         Pair<Long, Long> opaqueMock = new Pair<Long, Long>(new Long(1), 
destHostId);
+         Pair<Long, Long> opaqueMock = new Pair<>(1L, destHostId);
          vmInstanceDao.updateState(Stopped, 
VirtualMachine.Event.FollowAgentPowerOffReport, Stopped, vm , opaqueMock);
      }
  
diff --cc 
server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 8467e6a3d4c,dd27c938d8e..a5c5c8a3e08
--- 
a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@@ -1625,13 -1627,13 +1625,13 @@@ Configurable, StateListener<VirtualMach
              return false;
          }
  
 -        s_logger.info("Updating data for router health checks for router " + 
router.getUuid());
 +        logger.info("Updating data for router health checks for router " + 
router.getUuid());
          Answer origAnswer = null;
          try {
-             SetMonitorServiceCommand command = 
createMonitorServiceCommand(router, null, true, true);
+             SetMonitorServiceCommand command = 
createMonitorServiceCommand(router, null, true, true, 
getRouterHealthChecksConfig(router));
              origAnswer = _agentMgr.easySend(router.getHostId(), command);
          } catch (final Exception e) {
 -            s_logger.error("Error while sending update data for health check 
to router: " + router.getInstanceName(), e);
 +            logger.error("Error while sending update data for health check to 
router: " + router.getInstanceName(), e);
              return false;
          }
  

Reply via email to