From 7a970916ad4208bf8b12c37f3997989c833eba07 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 8 Jan 2021 17:54:31 -0300 Subject: [PATCH 01/14] Enhance log messages with hostName --- .../manager/ClusteredAgentManagerImpl.java | 2 +- .../cloud/vm/VirtualMachineManagerImpl.java | 14 ++++---- .../cloud/capacity/CapacityManagerImpl.java | 7 ++-- .../network/element/VirtualRouterElement.java | 2 +- .../cloud/resource/ResourceManagerImpl.java | 34 +++++++++---------- .../RollingMaintenanceManagerImpl.java | 16 ++++----- .../java/com/cloud/vm/UserVmManagerImpl.java | 2 +- .../agent/lb/IndirectAgentLBServiceImpl.java | 2 +- .../OutOfBandManagementServiceImpl.java | 22 ++++++------ 9 files changed, 53 insertions(+), 48 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index 7a16971ee71d..a717f5079161 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -286,7 +286,7 @@ protected AgentAttache createAttacheForConnect(final HostVO host, final Link lin @Override protected AgentAttache createAttacheForDirectConnect(final Host host, final ServerResource resource) { - s_logger.debug("create ClusteredDirectAgentAttache for " + host.getId()); + s_logger.debug("Create ClusteredDirectAgentAttache for " + host.getName()); final DirectAgentAttache attache = new ClusteredDirectAgentAttache(this, host.getId(), host.getName(), _nodeId, resource, host.isInMaintenanceStates()); AgentAttache old = null; synchronized (_agents) { diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index de1ef20f883e..0ff9bbb2b22b 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4219,14 +4219,16 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI vm.getServiceOfferingId(); final long dstHostId = dest.getHost().getId(); final Host fromHost = _hostDao.findById(srcHostId); + Host srcHost = _hostDao.findById(srcHostId); if (fromHost == null) { - s_logger.info("Unable to find the host to migrate from: " + srcHostId); - throw new CloudRuntimeException("Unable to find the host to migrate from: " + srcHostId); + s_logger.info("Unable to find host to migrate from: " + srcHost.getName()); + throw new CloudRuntimeException("Unable to find host to migrate from: " + srcHost.getName()); } + Host dstHost = _hostDao.findById(dstHostId); if (fromHost.getClusterId().longValue() != dest.getCluster().getId()) { - s_logger.info("Source and destination host are not in same cluster, unable to migrate to host: " + dstHostId); - throw new CloudRuntimeException("Source and destination host are not in same cluster, unable to migrate to host: " + dest.getHost().getId()); + s_logger.info("Source and destination host are not in same cluster, unable to migrate to host: " + dstHost.getName()); + throw new CloudRuntimeException("Source and destination host are not in same cluster, unable to migrate to host: " + dest.getHost().getName()); } final VirtualMachineGuru vmGuru = getVmGuru(vm); @@ -4339,13 +4341,13 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI try { _agentMgr.send(srcHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException e) { - s_logger.error("AgentUnavailableException while cleanup on source host: " + srcHostId); + s_logger.error("AgentUnavailableException while cleanup on source host: " + srcHost.getName()); } cleanup(vmGuru, new VirtualMachineProfileImpl(vm), work, Event.AgentReportStopped, true); throw new CloudRuntimeException("Unable to complete migration for " + vm); } } catch (final OperationTimedoutException e) { - s_logger.debug("Error while checking the vm " + vm + " on host " + dstHostId, e); + s_logger.debug("Error while checking the vm " + vm + " on host " + dstHost.getName(), e); } migrated = true; diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index fba24e0a8c7d..85a9edc38a32 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -917,8 +917,11 @@ public boolean postStateTransitionEvent(StateMachine2.Transition t State oldState = transition.getCurrentState(); State newState = transition.getToState(); Event event = transition.getEvent(); - s_logger.debug("VM state transitted from :" + oldState + " to " + newState + " with event: " + event + "vm's original host id: " + vm.getLastHostId() + - " new host id: " + vm.getHostId() + " host id before state transition: " + oldHostId); + Host lastHost = _hostDao.findById(vm.getLastHostId()); + Host oldHost = _hostDao.findById(oldHostId); + Host newHost = _hostDao.findById(vm.getHostId()); + s_logger.debug("VM state transitted from :" + oldState + " to " + newState + " with event: " + event + "vm's original host: " + lastHost.getName() + + " new host id: " + newHost.getName() + " host before state transition: " + oldHost.getName()); if (oldState == State.Starting) { if (newState != State.Running) { diff --git a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java index bbc6aa77b790..a0ac1f8f644c 100644 --- a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java @@ -411,7 +411,7 @@ public boolean stopVpn(final RemoteAccessVpn vpn) throws ResourceUnavailableExce if (canHandle(network, Service.Vpn)) { final List routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER); if (routers == null || routers.isEmpty()) { - s_logger.debug("Virtual router elemnt doesn't need stop vpn on the backend; virtual router doesn't " + "exist in the network " + network.getId()); + s_logger.debug("Virtual router element doesn't need stop vpn on the backend; virtual router doesn't " + "exist in the network " + network.getId()); return true; } return _routerMgr.deleteRemoteAccessVpn(network, vpn, routers); diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index f2a3caa60004..69c9e855529c 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -903,7 +903,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { try { resourceStateTransitTo(host, ResourceState.Event.DeleteHost, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transmit host " + host.getId() + " to Enabled state", e); + s_logger.debug("Cannot transit host " + host.getName() + " to Enabled state", e); } // Delete the associated entries in host ref table @@ -1246,7 +1246,7 @@ private boolean doMaintain(final long hostId) { try { resourceStateTransitTo(host, ResourceState.Event.AdminAskMaintenance, _nodeId); } catch (final NoTransitionException e) { - final String err = "Cannot transmit resource state of host " + host.getId() + " to " + ResourceState.Maintenance; + final String err = "Cannot transit resource state of host " + host.getName() + " to " + ResourceState.Maintenance; s_logger.debug(err, e); throw new CloudRuntimeException(err + e.getMessage()); } @@ -1498,7 +1498,7 @@ public boolean checkAndMaintain(final long hostId) { hostInMaintenance = attemptMaintain(host); } } catch (final NoTransitionException e) { - s_logger.debug("Cannot transmit host " + host.getId() + " to Maintenance state", e); + s_logger.debug("Cannot transit host " + host.getName() + " to Maintenance state", e); } return hostInMaintenance; } @@ -1965,12 +1965,12 @@ protected HostVO createHostVO(final StartupCommand[] cmds, final ServerResource /* Agent goes to Connecting status */ _agentMgr.agentStatusTransitTo(host, Status.Event.AgentConnected, _nodeId); } catch (final Exception e) { - s_logger.debug("Cannot transmit host " + host.getId() + " to Creating state", e); + s_logger.debug("Cannot transit host " + host.getName() + " to Creating state", e); _agentMgr.agentStatusTransitTo(host, Status.Event.Error, _nodeId); try { resourceStateTransitTo(host, ResourceState.Event.Error, _nodeId); } catch (final NoTransitionException e1) { - s_logger.debug("Cannot transmit host " + host.getId() + "to Error state", e); + s_logger.debug("Cannot transit host " + host.getName() + "to Error state", e); } } @@ -2105,7 +2105,7 @@ private Host createHostAndAgent(final ServerResource resource, final Map " + host.getUuid() + " / " + host.getId() + ". Please make sure you are still able to connect to your hosts."); + throw new CloudRuntimeException("CloudStack failed to update the password of the Host with UUID / Name ==> " + host.getUuid() + " / " + host.getName() + ". Please make sure you are still able to connect to your hosts."); } } } @@ -2697,7 +2697,7 @@ public boolean migrateAwayFailed(final long hostId, final long vmId) { ". Emitting event UnableToMigrate."); return resourceStateTransitTo(host, ResourceState.Event.UnableToMigrate, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("No next resource state for host " + host.getId() + " while current state is " + host.getResourceState() + " with event " + + s_logger.debug("No next resource state for host " + host.getName() + " while current state is " + host.getResourceState() + " with event " + ResourceState.Event.UnableToMigrate, e); return false; } diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index 0bc88276fad7..bbc564616f82 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -395,7 +395,7 @@ private Ternary performMaintenanceStageOnHost(Host hos * @throws AgentUnavailableException */ private void putHostIntoMaintenance(Host host) throws InterruptedException, AgentUnavailableException { - s_logger.debug("Trying to set the host " + host.getId() + " into maintenance"); + s_logger.debug("Trying to set the host " + host.getName() + " into maintenance"); PrepareForMaintenanceCmd cmd = new PrepareForMaintenanceCmd(); cmd.setId(host.getId()); resourceManager.maintain(cmd); @@ -439,7 +439,7 @@ private Ternary reCheckCapacityBeforeMaintenanceOnHost */ private boolean isMaintenanceStageAvoided(Host host, Map hostsToAvoidMaintenance, List hostsSkipped) { if (hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getId() + " is not being put into maintenance, skipping it"); + s_logger.debug("Host " + host.getName() + " is not being put into maintenance, skipping it"); HostSkipped hostSkipped = new HostSkipped(host, hostsToAvoidMaintenance.get(host.getId())); hostsSkipped.add(hostSkipped); return true; @@ -468,7 +468,7 @@ private Ternary performPreMaintenanceStageOnHost(Host return new Ternary<>(true, false, result.second()); } if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getId() + " added to the avoid maintenance set"); + s_logger.debug("Host " + host.getName() + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-maintenance stage set to avoid maintenance"); } return new Ternary<>(false, false, result.second()); @@ -491,7 +491,7 @@ private boolean isMaintenanceScriptDefinedOnHost(Host host, List ho RollingMaintenanceAnswer answer = (RollingMaintenanceAnswer) agentManager.send(host.getId(), new RollingMaintenanceCommand(true)); return answer.isMaintenaceScriptDefined(); } catch (AgentUnavailableException | OperationTimedoutException e) { - String msg = "Could not check for maintenance script on host " + host.getId() + " due to: " + e.getMessage(); + String msg = "Could not check for maintenance script on host " + host.getName() + " due to: " + e.getMessage(); s_logger.error(msg, e); return false; } @@ -537,7 +537,7 @@ private Ternary sendRollingMaintenanceCommandToHost(Ho answer = agentManager.send(host.getId(), cmd); } catch (AgentUnavailableException | OperationTimedoutException e) { // Agent may be restarted on the scripts - continue polling until it is up - String msg = "Cannot send command to host: " + host.getId() + ", waiting " + pingInterval + "ms - " + e.getMessage(); + String msg = "Cannot send command to host: " + host.getName() + ", waiting " + pingInterval + "ms - " + e.getMessage(); s_logger.warn(msg); cmd.setStarted(true); Thread.sleep(pingInterval); @@ -571,7 +571,7 @@ private void performPreFlightChecks(List hosts, int timeout, String payloa for (Host host : hosts) { Ternary result = performStageOnHost(host, Stage.PreFlight, timeout, payload, forced); if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getId() + " added to the avoid maintenance set"); + s_logger.debug("Host " + host.getName() + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-flight stage set to avoid maintenance"); } } @@ -655,7 +655,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host sucessfullyCheckedVmMigrations++; } if (sucessfullyCheckedVmMigrations != vmsRunning.size()) { - return new Pair<>(false, "Host " + host.getId() + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); + return new Pair<>(false, "Host " + host.getName() + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); } return new Pair<>(true, "OK"); } @@ -735,4 +735,4 @@ public String getConfigComponentName() { public ConfigKey[] getConfigKeys() { return new ConfigKey[] {KvmRollingMaintenanceStageTimeout, KvmRollingMaintenancePingInterval, KvmRollingMaintenanceWaitForMaintenanceTimeout}; } -} \ No newline at end of file +} diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index a9c5a69abd9f..39254028fceb 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -5165,7 +5165,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } }); } catch (Exception e) { - s_logger.warn("Unable to update vm disk statistics for vm: " + userVm.getId() + " from host: " + hostId, e); + s_logger.warn(String.format("Unable to update vm disk statistics for vm: %s from host: %s", userVm.getInstanceName(), host.getName()), e); } } } diff --git a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java index a25575cd175a..de35e0d5a10a 100644 --- a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java @@ -221,7 +221,7 @@ public void propagateMSListToAgents() { final SetupMSListCommand cmd = new SetupMSListCommand(msList, lbAlgorithm, lbCheckInterval); final Answer answer = agentManager.easySend(host.getId(), cmd); if (answer == null || !answer.getResult()) { - LOG.warn("Failed to setup management servers list to the agent of host id=" + host.getId()); + LOG.warn("Failed to setup management servers list to the agent of host " + host.getName()); } } } diff --git a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java index 7b09d297939c..0e7f03250c00 100644 --- a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java @@ -189,7 +189,7 @@ private void sendAuthError(final Host host, final String message) { if (sentCount != null && sentCount <= 0) { boolean concurrentUpdateResult = hostAlertCache.asMap().replace(host.getId(), sentCount, sentCount+1L); if (concurrentUpdateResult) { - final String subject = String.format("Out-of-band management auth-error detected for host:%d in cluster:%d, zone:%d", host.getId(), host.getClusterId(), host.getDataCenterId()); + final String subject = String.format("Out-of-band management auth-error detected for host:%d in cluster:%d, zone:%d", host.getName(), host.getClusterId(), host.getDataCenterId()); LOG.error(subject + ": " + message); alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_OOBM_AUTH_ERROR, host.getDataCenterId(), host.getPodId(), subject, message); } @@ -372,7 +372,7 @@ public OutOfBandManagementResponse configure(final Host host, final ImmutableMap } boolean updatedConfig = outOfBandManagementDao.update(outOfBandManagementConfig.getId(), (OutOfBandManagementVO) outOfBandManagementConfig); - CallContext.current().setEventDetails("host id:" + host.getId() + " configuration:" + outOfBandManagementConfig.getAddress() + ":" + outOfBandManagementConfig.getPort()); + CallContext.current().setEventDetails("host id:" + host.getName() + " configuration:" + outOfBandManagementConfig.getAddress() + ":" + outOfBandManagementConfig.getPort()); if (!updatedConfig) { throw new CloudRuntimeException("Failed to update out-of-band management config for the host in the database."); @@ -404,7 +404,7 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final final OutOfBandManagementDriverResponse driverResponse = driver.execute(cmd); if (driverResponse == null) { - throw new CloudRuntimeException(String.format("Out-of-band Management action (%s) on host (%s) failed due to no response from the driver", powerOperation, host.getUuid())); + throw new CloudRuntimeException(String.format("Out-of-band Management action (%s) on host (%s) failed due to no response from the driver", powerOperation, host.getName())); } if (powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -412,9 +412,9 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final } if (!driverResponse.isSuccess()) { - String errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed with error: %s", powerOperation, host.getUuid(), driverResponse.getError()); + String errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed with error: %s", powerOperation, host.getName(), driverResponse.getError()); if (driverResponse.hasAuthFailure()) { - errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed due to authentication error: %s. Please check configured credentials.", powerOperation, host.getUuid(), driverResponse.getError()); + errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed due to authentication error: %s. Please check configured credentials.", powerOperation, host.getName(), driverResponse.getError()); sendAuthError(host, errorMessage); } if (!powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -436,13 +436,13 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final public OutOfBandManagementResponse changePassword(final Host host, final String newPassword) { checkOutOfBandManagementEnabledByZoneClusterHost(host); if (Strings.isNullOrEmpty(newPassword)) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for the host %s.", host.getUuid())); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for the host %s.", host.getName())); } final OutOfBandManagement outOfBandManagementConfig = outOfBandManagementDao.findByHost(host.getId()); final ImmutableMap options = getOptions(outOfBandManagementConfig); if (!(options.containsKey(OutOfBandManagement.Option.PASSWORD) && !Strings.isNullOrEmpty(options.get(OutOfBandManagement.Option.PASSWORD)))) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for the host %s.", host.getUuid())); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for the host %s.", host.getName())); } final OutOfBandManagementDriver driver = getDriver(outOfBandManagementConfig); final OutOfBandManagementDriverChangePasswordCommand changePasswordCmd = new OutOfBandManagementDriverChangePasswordCommand(options, ActionTimeout.valueIn(host.getClusterId()), newPassword); @@ -455,7 +455,7 @@ public Boolean doInTransaction(TransactionStatus status) { boolean result = outOfBandManagementDao.update(updatedOutOfBandManagementConfig.getId(), (OutOfBandManagementVO) updatedOutOfBandManagementConfig); if (!result) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) in the database.", host.getUuid())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) in the database.", host.getName())); } final OutOfBandManagementDriverResponse driverResponse; @@ -463,11 +463,11 @@ public Boolean doInTransaction(TransactionStatus status) { driverResponse = driver.execute(changePasswordCmd); } catch (Exception e) { LOG.error("Out-of-band management change password failed due to driver error: " + e.getMessage()); - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) due to driver error: %s", host.getUuid(), e.getMessage())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) due to driver error: %s", host.getName(), e.getMessage())); } if (!driverResponse.isSuccess()) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) with error: %s", host.getUuid(), driverResponse.getError())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) with error: %s", host.getName(), driverResponse.getError())); } return result && driverResponse.isSuccess(); @@ -566,7 +566,7 @@ protected void runInContext() { } else if (outOfBandManagementHost.getPowerState() != OutOfBandManagement.PowerState.Disabled) { if (transitionPowerStateToDisabled(Collections.singletonList(host))) { if (LOG.isDebugEnabled()) { - LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for host id:" + host.getId()); + LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for host:" + host.getName()); } } } From c6fcfde233606f1d6a6669c774d57b1642f89c92 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 19 Feb 2021 10:16:52 -0300 Subject: [PATCH 02/14] Use host.toString() on most of host logs. --- .../manager/ClusteredAgentManagerImpl.java | 2 +- .../cloud/vm/VirtualMachineManagerImpl.java | 16 ++++---- .../cloud/capacity/CapacityManagerImpl.java | 4 +- .../cloud/resource/ResourceManagerImpl.java | 37 ++++++++++--------- .../RollingMaintenanceManagerImpl.java | 14 +++---- .../java/com/cloud/vm/UserVmManagerImpl.java | 2 +- .../agent/lb/IndirectAgentLBServiceImpl.java | 2 +- .../OutOfBandManagementServiceImpl.java | 21 ++++++----- 8 files changed, 51 insertions(+), 47 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index a717f5079161..2b0aefc5f12b 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -286,7 +286,7 @@ protected AgentAttache createAttacheForConnect(final HostVO host, final Link lin @Override protected AgentAttache createAttacheForDirectConnect(final Host host, final ServerResource resource) { - s_logger.debug("Create ClusteredDirectAgentAttache for " + host.getName()); + s_logger.debug(String.format("Create ClusteredDirectAgentAttache for for host %s.", host)); final DirectAgentAttache attache = new ClusteredDirectAgentAttache(this, host.getId(), host.getName(), _nodeId, resource, host.isInMaintenanceStates()); AgentAttache old = null; synchronized (_agents) { diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 0ff9bbb2b22b..b30d309affd1 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4221,14 +4221,16 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI final Host fromHost = _hostDao.findById(srcHostId); Host srcHost = _hostDao.findById(srcHostId); if (fromHost == null) { - s_logger.info("Unable to find host to migrate from: " + srcHost.getName()); - throw new CloudRuntimeException("Unable to find host to migrate from: " + srcHost.getName()); + String logMessageUnableToFindHost = String.format("Unable to find host to migrate from host %s.", srcHost); + s_logger.info(logMessageUnableToFindHost); + throw new CloudRuntimeException(logMessageUnableToFindHost); } Host dstHost = _hostDao.findById(dstHostId); if (fromHost.getClusterId().longValue() != dest.getCluster().getId()) { - s_logger.info("Source and destination host are not in same cluster, unable to migrate to host: " + dstHost.getName()); - throw new CloudRuntimeException("Source and destination host are not in same cluster, unable to migrate to host: " + dest.getHost().getName()); + String logMessageHostsOnDifferentCluster = String.format("Source and destination host are not in same cluster, unable to migrate to host %s", srcHost); + s_logger.info(logMessageHostsOnDifferentCluster); + throw new CloudRuntimeException(logMessageHostsOnDifferentCluster); } final VirtualMachineGuru vmGuru = getVmGuru(vm); @@ -4341,13 +4343,13 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI try { _agentMgr.send(srcHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException e) { - s_logger.error("AgentUnavailableException while cleanup on source host: " + srcHost.getName()); + s_logger.error(String.format("AgentUnavailableException while cleanup on source host: %s", srcHost)); } cleanup(vmGuru, new VirtualMachineProfileImpl(vm), work, Event.AgentReportStopped, true); throw new CloudRuntimeException("Unable to complete migration for " + vm); } } catch (final OperationTimedoutException e) { - s_logger.debug("Error while checking the vm " + vm + " on host " + dstHost.getName(), e); + s_logger.debug("Error while checking the vm " + vm + " on host " + dstHost, e); } migrated = true; @@ -4356,7 +4358,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI s_logger.info("Migration was unsuccessful. Cleaning up: " + vm); _alertMgr.sendAlert(alertType, fromHost.getDataCenterId(), fromHost.getPodId(), - "Unable to migrate vm " + vm.getInstanceName() + " from host " + fromHost.getName() + " in zone " + dest.getDataCenter().getName() + " and pod " + + "Unable to migrate vm " + vm.getInstanceName() + " from host " + fromHost + " in zone " + dest.getDataCenter().getName() + " and pod " + dest.getPod().getName(), "Migrate Command failed. Please check logs."); try { _agentMgr.send(dstHostId, new Commands(cleanup(vm.getInstanceName())), null); diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index 85a9edc38a32..b0bb2de82d9a 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -920,8 +920,8 @@ public boolean postStateTransitionEvent(StateMachine2.Transition t Host lastHost = _hostDao.findById(vm.getLastHostId()); Host oldHost = _hostDao.findById(oldHostId); Host newHost = _hostDao.findById(vm.getHostId()); - s_logger.debug("VM state transitted from :" + oldState + " to " + newState + " with event: " + event + "vm's original host: " + lastHost.getName() + - " new host id: " + newHost.getName() + " host before state transition: " + oldHost.getName()); + s_logger.debug("VM state transited from :" + oldState + " to " + newState + " with event: " + event + "vm's original host: " + lastHost + + ", new host: " + newHost + ", host before state transition: " + oldHost); if (oldState == State.Starting) { if (newState != State.Running) { diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 69c9e855529c..ba3210abdfa0 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -890,6 +890,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { host.setClusterId(null); _hostDao.update(host.getId(), host); + Host hostRemoved = _hostDao.findById(hostId); _hostDao.remove(hostId); if (clusterId != null) { final List hosts = listAllHostsInCluster(clusterId); @@ -903,7 +904,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { try { resourceStateTransitTo(host, ResourceState.Event.DeleteHost, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host.getName() + " to Enabled state", e); + s_logger.debug("Cannot transit host " + host + " to Enabled state", e); } // Delete the associated entries in host ref table @@ -928,7 +929,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { storagePool.setClusterId(null); _storagePoolDao.update(poolId, storagePool); _storagePoolDao.remove(poolId); - s_logger.debug("Local storage id=" + poolId + " is removed as a part of host removal id=" + hostId); + s_logger.debug(String.format("Local storage id=%s is removed as a part of host (%s) removal", poolId, hostRemoved.toString())); } } @@ -1246,7 +1247,7 @@ private boolean doMaintain(final long hostId) { try { resourceStateTransitTo(host, ResourceState.Event.AdminAskMaintenance, _nodeId); } catch (final NoTransitionException e) { - final String err = "Cannot transit resource state of host " + host.getName() + " to " + ResourceState.Maintenance; + final String err = "Cannot transit resource state of host " + host + " to " + ResourceState.Maintenance; s_logger.debug(err, e); throw new CloudRuntimeException(err + e.getMessage()); } @@ -1433,7 +1434,7 @@ protected boolean setHostIntoPrepareForMaintenanceAfterErrorsFixed(HostVO host) protected boolean attemptMaintain(HostVO host) throws NoTransitionException { final long hostId = host.getId(); - s_logger.info("Attempting maintenance for host " + host.getName()); + s_logger.info("Attempting maintenance for host " + host); // Step 0: First gather if VMs have pending HAWork for migration with retries left. final List allVmsOnHost = _vmDao.listByHostId(hostId); @@ -1498,7 +1499,7 @@ public boolean checkAndMaintain(final long hostId) { hostInMaintenance = attemptMaintain(host); } } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host.getName() + " to Maintenance state", e); + s_logger.debug("Cannot transit host " + host + " to Maintenance state", e); } return hostInMaintenance; } @@ -1965,12 +1966,12 @@ protected HostVO createHostVO(final StartupCommand[] cmds, final ServerResource /* Agent goes to Connecting status */ _agentMgr.agentStatusTransitTo(host, Status.Event.AgentConnected, _nodeId); } catch (final Exception e) { - s_logger.debug("Cannot transit host " + host.getName() + " to Creating state", e); + s_logger.debug("Cannot transit host " + host + " to Creating state", e); _agentMgr.agentStatusTransitTo(host, Status.Event.Error, _nodeId); try { resourceStateTransitTo(host, ResourceState.Event.Error, _nodeId); } catch (final NoTransitionException e1) { - s_logger.debug("Cannot transit host " + host.getName() + "to Error state", e); + s_logger.debug("Cannot transit host " + host + "to Error state", e); } } @@ -2354,7 +2355,7 @@ public HostVO fillRoutingHostVO(final HostVO host, final StartupRoutingCommand s @Override public void deleteRoutingHost(final HostVO host, final boolean isForced, final boolean forceDestroyStorage) throws UnableDeleteHostException { if (host.getType() != Host.Type.Routing) { - throw new CloudRuntimeException(String.format("Non-Routing host: %s gets in deleteRoutingHost", host.getName())); + throw new CloudRuntimeException(String.format("Non-Routing host %s gets in deleteRoutingHost", host)); } if (s_logger.isDebugEnabled()) { @@ -2385,7 +2386,7 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b try { _vmMgr.destroy(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error when destroying the vm: %s as a part of hostDelete host: %s", vm, host.getName()); + final String errorMsg = String.format("There was an error when destroying the vm: %s as a part of hostDelete host: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } @@ -2400,16 +2401,16 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b // Restart HA enabled vms for (final VMInstanceVO vm : vms) { if (!vm.isHaEnabled() || vm.getState() == State.Stopping) { - s_logger.debug("Stopping vm: " + vm + " as a part of deleteHost host:" + host.getName()); + s_logger.debug("Stopping vm: " + vm + " as a part of deleteHost host:" + host); try { _vmMgr.advanceStop(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error stopping the vm: %s as a part of hostDelete host: %s", vm, host.getName()); + final String errorMsg = String.format("There was an error stopping the vm: %s as a part of hostDelete host: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } } else if (vm.isHaEnabled() && (vm.getState() == State.Running || vm.getState() == State.Starting)) { - s_logger.debug("Scheduling restart for vm: " + vm + " " + vm.getState() + " on host: " + host.getName()); + s_logger.debug("Scheduling restart for vm: " + vm + " " + vm.getState() + " on host: " + host); _haMgr.scheduleRestart(vm, false); } } @@ -2455,7 +2456,7 @@ private boolean doCancelMaintenance(final long hostId) { resourceStateTransitTo(host, ResourceState.Event.AdminCancelMaintenance, _nodeId); _agentMgr.pullAgentOutMaintenance(hostId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host.getName() + "to Enabled state", e); + s_logger.debug("Cannot transit host " + host + "to Enabled state", e); return false; } @@ -2513,7 +2514,7 @@ protected void connectAndRestartAgentOnHost(HostVO host, String username, String SSHCmdHelper.SSHCmdResult result = SSHCmdHelper.sshExecuteCmdOneShot( connection, "service cloudstack-agent restart"); if (result.getReturnCode() != 0) { - throw new CloudRuntimeException("Could not restart agent on host " + host.getName() + " due to: " + result.getStdErr()); + throw new CloudRuntimeException("Could not restart agent on host " + host + " due to: " + result.getStdErr()); } s_logger.debug("cloudstack-agent restart result: " + result.toString()); } catch (final SshException e) { @@ -2615,13 +2616,13 @@ public boolean updateClusterPassword(final UpdateHostPasswordCmd command) { return result; } } catch (final AgentUnavailableException e) { - s_logger.error("Agent is not availbale!", e); + s_logger.error("Agent is not available!", e); } if (shouldUpdateHostPasswd) { final boolean isUpdated = doUpdateHostPassword(host.getId()); if (!isUpdated) { - throw new CloudRuntimeException("CloudStack failed to update the password of the Host with UUID / Name ==> " + host.getUuid() + " / " + host.getName() + ". Please make sure you are still able to connect to your hosts."); + throw new CloudRuntimeException("CloudStack failed to update the password of Host " + host + ". Please make sure you are still able to connect to your hosts."); } } } @@ -2697,7 +2698,7 @@ public boolean migrateAwayFailed(final long hostId, final long vmId) { ". Emitting event UnableToMigrate."); return resourceStateTransitTo(host, ResourceState.Event.UnableToMigrate, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("No next resource state for host " + host.getName() + " while current state is " + host.getResourceState() + " with event " + + s_logger.debug("No next resource state for host " + host + " while current state is " + host.getResourceState() + " with event " + ResourceState.Event.UnableToMigrate, e); return false; } @@ -3017,7 +3018,7 @@ public HashMap> getGPUStatistics(final Ho return null; } if (answer == null || !answer.getResult()) { - final String msg = "Unable to obtain GPU stats for host " + host.getName(); + final String msg = "Unable to obtain GPU stats for host " + host; s_logger.warn(msg); return null; } else { diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index bbc564616f82..be52289dc5fd 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -395,7 +395,7 @@ private Ternary performMaintenanceStageOnHost(Host hos * @throws AgentUnavailableException */ private void putHostIntoMaintenance(Host host) throws InterruptedException, AgentUnavailableException { - s_logger.debug("Trying to set the host " + host.getName() + " into maintenance"); + s_logger.debug("Trying to set the host " + host + " into maintenance"); PrepareForMaintenanceCmd cmd = new PrepareForMaintenanceCmd(); cmd.setId(host.getId()); resourceManager.maintain(cmd); @@ -439,7 +439,7 @@ private Ternary reCheckCapacityBeforeMaintenanceOnHost */ private boolean isMaintenanceStageAvoided(Host host, Map hostsToAvoidMaintenance, List hostsSkipped) { if (hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getName() + " is not being put into maintenance, skipping it"); + s_logger.debug("Host " + host + " is not being put into maintenance, skipping it"); HostSkipped hostSkipped = new HostSkipped(host, hostsToAvoidMaintenance.get(host.getId())); hostsSkipped.add(hostSkipped); return true; @@ -468,7 +468,7 @@ private Ternary performPreMaintenanceStageOnHost(Host return new Ternary<>(true, false, result.second()); } if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getName() + " added to the avoid maintenance set"); + s_logger.debug("Host " + host + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-maintenance stage set to avoid maintenance"); } return new Ternary<>(false, false, result.second()); @@ -491,7 +491,7 @@ private boolean isMaintenanceScriptDefinedOnHost(Host host, List ho RollingMaintenanceAnswer answer = (RollingMaintenanceAnswer) agentManager.send(host.getId(), new RollingMaintenanceCommand(true)); return answer.isMaintenaceScriptDefined(); } catch (AgentUnavailableException | OperationTimedoutException e) { - String msg = "Could not check for maintenance script on host " + host.getName() + " due to: " + e.getMessage(); + String msg = "Could not check for maintenance script on host " + host + " due to: " + e.getMessage(); s_logger.error(msg, e); return false; } @@ -537,7 +537,7 @@ private Ternary sendRollingMaintenanceCommandToHost(Ho answer = agentManager.send(host.getId(), cmd); } catch (AgentUnavailableException | OperationTimedoutException e) { // Agent may be restarted on the scripts - continue polling until it is up - String msg = "Cannot send command to host: " + host.getName() + ", waiting " + pingInterval + "ms - " + e.getMessage(); + String msg = "Cannot send command to host " + host + ", waiting " + pingInterval + "ms - " + e.getMessage(); s_logger.warn(msg); cmd.setStarted(true); Thread.sleep(pingInterval); @@ -571,7 +571,7 @@ private void performPreFlightChecks(List hosts, int timeout, String payloa for (Host host : hosts) { Ternary result = performStageOnHost(host, Stage.PreFlight, timeout, payload, forced); if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host.getName() + " added to the avoid maintenance set"); + s_logger.debug("Host " + host + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-flight stage set to avoid maintenance"); } } @@ -655,7 +655,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host sucessfullyCheckedVmMigrations++; } if (sucessfullyCheckedVmMigrations != vmsRunning.size()) { - return new Pair<>(false, "Host " + host.getName() + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); + return new Pair<>(false, "Host " + host + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); } return new Pair<>(true, "OK"); } diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index 39254028fceb..f63715957ec7 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -5165,7 +5165,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } }); } catch (Exception e) { - s_logger.warn(String.format("Unable to update vm disk statistics for vm: %s from host: %s", userVm.getInstanceName(), host.getName()), e); + s_logger.warn(String.format("Unable to update vm disk statistics for vm %s from host %s", userVm.getInstanceName(), host), e); } } } diff --git a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java index de35e0d5a10a..5497539ab42c 100644 --- a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java @@ -221,7 +221,7 @@ public void propagateMSListToAgents() { final SetupMSListCommand cmd = new SetupMSListCommand(msList, lbAlgorithm, lbCheckInterval); final Answer answer = agentManager.easySend(host.getId(), cmd); if (answer == null || !answer.getResult()) { - LOG.warn("Failed to setup management servers list to the agent of host " + host.getName()); + LOG.warn("Failed to setup management servers list to the agent of host " + host); } } } diff --git a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java index 0e7f03250c00..c392b8e0f34b 100644 --- a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java @@ -189,7 +189,7 @@ private void sendAuthError(final Host host, final String message) { if (sentCount != null && sentCount <= 0) { boolean concurrentUpdateResult = hostAlertCache.asMap().replace(host.getId(), sentCount, sentCount+1L); if (concurrentUpdateResult) { - final String subject = String.format("Out-of-band management auth-error detected for host:%d in cluster:%d, zone:%d", host.getName(), host.getClusterId(), host.getDataCenterId()); + final String subject = String.format("Out-of-band management auth-error detected for host %s in cluster [id: %d] and zone [id: %d].", host, host.getClusterId(), host.getDataCenterId()); LOG.error(subject + ": " + message); alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_OOBM_AUTH_ERROR, host.getDataCenterId(), host.getPodId(), subject, message); } @@ -372,7 +372,8 @@ public OutOfBandManagementResponse configure(final Host host, final ImmutableMap } boolean updatedConfig = outOfBandManagementDao.update(outOfBandManagementConfig.getId(), (OutOfBandManagementVO) outOfBandManagementConfig); - CallContext.current().setEventDetails("host id:" + host.getName() + " configuration:" + outOfBandManagementConfig.getAddress() + ":" + outOfBandManagementConfig.getPort()); + String eventDetails = String.format("host [id:%d, name: %s], configuration: %s:%s", host.getId(), host.getName(), outOfBandManagementConfig.getAddress(), outOfBandManagementConfig.getPort()); + CallContext.current().setEventDetails(eventDetails); if (!updatedConfig) { throw new CloudRuntimeException("Failed to update out-of-band management config for the host in the database."); @@ -404,7 +405,7 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final final OutOfBandManagementDriverResponse driverResponse = driver.execute(cmd); if (driverResponse == null) { - throw new CloudRuntimeException(String.format("Out-of-band Management action (%s) on host (%s) failed due to no response from the driver", powerOperation, host.getName())); + throw new CloudRuntimeException(String.format("Out-of-band Management action (%s) on host (%s) failed due to no response from the driver", powerOperation, host)); } if (powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -412,9 +413,9 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final } if (!driverResponse.isSuccess()) { - String errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed with error: %s", powerOperation, host.getName(), driverResponse.getError()); + String errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed with error: %s", powerOperation, host, driverResponse.getError()); if (driverResponse.hasAuthFailure()) { - errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed due to authentication error: %s. Please check configured credentials.", powerOperation, host.getName(), driverResponse.getError()); + errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed due to authentication error: %s. Please check configured credentials.", powerOperation, host, driverResponse.getError()); sendAuthError(host, errorMessage); } if (!powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -436,13 +437,13 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final public OutOfBandManagementResponse changePassword(final Host host, final String newPassword) { checkOutOfBandManagementEnabledByZoneClusterHost(host); if (Strings.isNullOrEmpty(newPassword)) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for the host %s.", host.getName())); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for host %s.", host)); } final OutOfBandManagement outOfBandManagementConfig = outOfBandManagementDao.findByHost(host.getId()); final ImmutableMap options = getOptions(outOfBandManagementConfig); if (!(options.containsKey(OutOfBandManagement.Option.PASSWORD) && !Strings.isNullOrEmpty(options.get(OutOfBandManagement.Option.PASSWORD)))) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for the host %s.", host.getName())); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for host %s.", host)); } final OutOfBandManagementDriver driver = getDriver(outOfBandManagementConfig); final OutOfBandManagementDriverChangePasswordCommand changePasswordCmd = new OutOfBandManagementDriverChangePasswordCommand(options, ActionTimeout.valueIn(host.getClusterId()), newPassword); @@ -463,11 +464,11 @@ public Boolean doInTransaction(TransactionStatus status) { driverResponse = driver.execute(changePasswordCmd); } catch (Exception e) { LOG.error("Out-of-band management change password failed due to driver error: " + e.getMessage()); - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) due to driver error: %s", host.getName(), e.getMessage())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) due to driver error: %s", host, e.getMessage())); } if (!driverResponse.isSuccess()) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) with error: %s", host.getName(), driverResponse.getError())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) with error: %s", host, driverResponse.getError())); } return result && driverResponse.isSuccess(); @@ -566,7 +567,7 @@ protected void runInContext() { } else if (outOfBandManagementHost.getPowerState() != OutOfBandManagement.PowerState.Disabled) { if (transitionPowerStateToDisabled(Collections.singletonList(host))) { if (LOG.isDebugEnabled()) { - LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for host:" + host.getName()); + LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for host: " + host); } } } From d0a2f7b39d476133b222587395656a61a3ec34aa Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 19 Feb 2021 12:03:54 -0300 Subject: [PATCH 03/14] Remove redundant "Host" in logs and enhance logs --- .../manager/ClusteredAgentManagerImpl.java | 2 +- .../cloud/vm/VirtualMachineManagerImpl.java | 14 ++++---- .../cloud/resource/ResourceManagerImpl.java | 34 +++++++++---------- .../RollingMaintenanceManagerImpl.java | 17 +++++----- .../java/com/cloud/vm/UserVmManagerImpl.java | 2 +- .../agent/lb/IndirectAgentLBServiceImpl.java | 2 +- .../OutOfBandManagementServiceImpl.java | 15 ++++---- 7 files changed, 44 insertions(+), 42 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index 2b0aefc5f12b..4b6bc6a16447 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -286,7 +286,7 @@ protected AgentAttache createAttacheForConnect(final HostVO host, final Link lin @Override protected AgentAttache createAttacheForDirectConnect(final Host host, final ServerResource resource) { - s_logger.debug(String.format("Create ClusteredDirectAgentAttache for for host %s.", host)); + s_logger.debug(String.format("Create ClusteredDirectAgentAttache for for %s.", host)); final DirectAgentAttache attache = new ClusteredDirectAgentAttache(this, host.getId(), host.getName(), _nodeId, resource, host.isInMaintenanceStates()); AgentAttache old = null; synchronized (_agents) { diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index b30d309affd1..7760c0e5fef7 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4221,14 +4221,14 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI final Host fromHost = _hostDao.findById(srcHostId); Host srcHost = _hostDao.findById(srcHostId); if (fromHost == null) { - String logMessageUnableToFindHost = String.format("Unable to find host to migrate from host %s.", srcHost); + String logMessageUnableToFindHost = String.format("Unable to find host to migrate from %s.", srcHost); s_logger.info(logMessageUnableToFindHost); throw new CloudRuntimeException(logMessageUnableToFindHost); } Host dstHost = _hostDao.findById(dstHostId); if (fromHost.getClusterId().longValue() != dest.getCluster().getId()) { - String logMessageHostsOnDifferentCluster = String.format("Source and destination host are not in same cluster, unable to migrate to host %s", srcHost); + String logMessageHostsOnDifferentCluster = String.format("Source and destination host are not in same cluster, unable to migrate to %s", srcHost); s_logger.info(logMessageHostsOnDifferentCluster); throw new CloudRuntimeException(logMessageHostsOnDifferentCluster); } @@ -4349,7 +4349,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI throw new CloudRuntimeException("Unable to complete migration for " + vm); } } catch (final OperationTimedoutException e) { - s_logger.debug("Error while checking the vm " + vm + " on host " + dstHost, e); + s_logger.debug("Error while checking the vm " + vm + " on " + dstHost, e); } migrated = true; @@ -4358,8 +4358,8 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI s_logger.info("Migration was unsuccessful. Cleaning up: " + vm); _alertMgr.sendAlert(alertType, fromHost.getDataCenterId(), fromHost.getPodId(), - "Unable to migrate vm " + vm.getInstanceName() + " from host " + fromHost + " in zone " + dest.getDataCenter().getName() + " and pod " + - dest.getPod().getName(), "Migrate Command failed. Please check logs."); + "Unable to migrate vm " + vm.getInstanceName() + " from " + fromHost + " in zone " + dest.getDataCenter().getName() + " and pod " + + dest.getPod().getName(), "Migrate Command failed. Please check logs."); try { _agentMgr.send(dstHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException ae) { @@ -4695,6 +4695,8 @@ private void handlePowerOnReportWithNoPendingJobsOnVM(final VMInstanceVO vm) { // 3) handle out of sync stationary states, marking VM from Stopped to Running with // alert messages // + Host host = _hostDao.findById(vm.getHostId()); + Host poweredHost = _hostDao.findById(vm.getPowerHostId()); switch (vm.getState()) { case Starting: s_logger.info("VM " + vm.getInstanceName() + " is at " + vm.getState() + " and we received a power-on report while there is no pending jobs on it"); @@ -4716,7 +4718,7 @@ private void handlePowerOnReportWithNoPendingJobsOnVM(final VMInstanceVO vm) { case Running: try { if (vm.getHostId() != null && vm.getHostId().longValue() != vm.getPowerHostId().longValue()) { - s_logger.info("Detected out of band VM migration from host " + vm.getHostId() + " to host " + vm.getPowerHostId()); + s_logger.info("Detected out of band VM migration from " + host + " to " + poweredHost); } stateTransitTo(vm, VirtualMachine.Event.FollowAgentPowerOnReport, vm.getPowerHostId()); } catch (final NoTransitionException e) { diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index ba3210abdfa0..586b18b793d3 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -904,7 +904,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { try { resourceStateTransitTo(host, ResourceState.Event.DeleteHost, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host + " to Enabled state", e); + s_logger.debug("Cannot transit " + host + " to Enabled state", e); } // Delete the associated entries in host ref table @@ -1247,7 +1247,7 @@ private boolean doMaintain(final long hostId) { try { resourceStateTransitTo(host, ResourceState.Event.AdminAskMaintenance, _nodeId); } catch (final NoTransitionException e) { - final String err = "Cannot transit resource state of host " + host + " to " + ResourceState.Maintenance; + final String err = "Cannot transit resource state of " + host + " to " + ResourceState.Maintenance; s_logger.debug(err, e); throw new CloudRuntimeException(err + e.getMessage()); } @@ -1434,7 +1434,7 @@ protected boolean setHostIntoPrepareForMaintenanceAfterErrorsFixed(HostVO host) protected boolean attemptMaintain(HostVO host) throws NoTransitionException { final long hostId = host.getId(); - s_logger.info("Attempting maintenance for host " + host); + s_logger.info("Attempting maintenance for " + host); // Step 0: First gather if VMs have pending HAWork for migration with retries left. final List allVmsOnHost = _vmDao.listByHostId(hostId); @@ -1499,7 +1499,7 @@ public boolean checkAndMaintain(final long hostId) { hostInMaintenance = attemptMaintain(host); } } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host + " to Maintenance state", e); + s_logger.debug("Cannot transit " + host + " to Maintenance state", e); } return hostInMaintenance; } @@ -1966,12 +1966,12 @@ protected HostVO createHostVO(final StartupCommand[] cmds, final ServerResource /* Agent goes to Connecting status */ _agentMgr.agentStatusTransitTo(host, Status.Event.AgentConnected, _nodeId); } catch (final Exception e) { - s_logger.debug("Cannot transit host " + host + " to Creating state", e); + s_logger.debug("Cannot transit " + host + " to Creating state", e); _agentMgr.agentStatusTransitTo(host, Status.Event.Error, _nodeId); try { resourceStateTransitTo(host, ResourceState.Event.Error, _nodeId); } catch (final NoTransitionException e1) { - s_logger.debug("Cannot transit host " + host + "to Error state", e); + s_logger.debug("Cannot transit " + host + "to Error state", e); } } @@ -2179,7 +2179,7 @@ private Host createHostAndAgentDeferred(final ServerResource resource, final Map // added, no // need to add // again - s_logger.debug("Found the host " + host.getName() + " by guid: " + firstCmd.getGuid() + ", old host reconnected as new"); + s_logger.debug(String.format("Found host [id: %d, name: %s] by guid %s, old host reconnected as new", host.getId(), host.getName(), firstCmd.getGuid())); hostExists = true; // ensures that host status is left // unchanged in case of adding same one // again @@ -2355,11 +2355,11 @@ public HostVO fillRoutingHostVO(final HostVO host, final StartupRoutingCommand s @Override public void deleteRoutingHost(final HostVO host, final boolean isForced, final boolean forceDestroyStorage) throws UnableDeleteHostException { if (host.getType() != Host.Type.Routing) { - throw new CloudRuntimeException(String.format("Non-Routing host %s gets in deleteRoutingHost", host)); + throw new CloudRuntimeException("Non-Routing host gets in deleteRoutingHost, id is " + host.getId()); } if (s_logger.isDebugEnabled()) { - s_logger.debug("Deleting Host: " + host.getName() + " Guid:" + host.getGuid()); + s_logger.debug("Deleting Host: " + host); } if (forceDestroyStorage) { @@ -2386,7 +2386,7 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b try { _vmMgr.destroy(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error when destroying the vm: %s as a part of hostDelete host: %s", vm, host); + final String errorMsg = String.format("There was an error when destroying the vm: %s as a part of hostDelete: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } @@ -2401,11 +2401,11 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b // Restart HA enabled vms for (final VMInstanceVO vm : vms) { if (!vm.isHaEnabled() || vm.getState() == State.Stopping) { - s_logger.debug("Stopping vm: " + vm + " as a part of deleteHost host:" + host); + s_logger.debug("Stopping vm: " + vm + " as a part of hostDelete: " + host); try { _vmMgr.advanceStop(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error stopping the vm: %s as a part of hostDelete host: %s", vm, host); + final String errorMsg = String.format("There was an error stopping the vm: %s as a part of hostDelete: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } @@ -2456,7 +2456,7 @@ private boolean doCancelMaintenance(final long hostId) { resourceStateTransitTo(host, ResourceState.Event.AdminCancelMaintenance, _nodeId); _agentMgr.pullAgentOutMaintenance(hostId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit host " + host + "to Enabled state", e); + s_logger.debug("Cannot transit " + host + "to Enabled state", e); return false; } @@ -2514,7 +2514,7 @@ protected void connectAndRestartAgentOnHost(HostVO host, String username, String SSHCmdHelper.SSHCmdResult result = SSHCmdHelper.sshExecuteCmdOneShot( connection, "service cloudstack-agent restart"); if (result.getReturnCode() != 0) { - throw new CloudRuntimeException("Could not restart agent on host " + host + " due to: " + result.getStdErr()); + throw new CloudRuntimeException("Could not restart agent on " + host + " due to: " + result.getStdErr()); } s_logger.debug("cloudstack-agent restart result: " + result.toString()); } catch (final SshException e) { @@ -2622,7 +2622,7 @@ public boolean updateClusterPassword(final UpdateHostPasswordCmd command) { if (shouldUpdateHostPasswd) { final boolean isUpdated = doUpdateHostPassword(host.getId()); if (!isUpdated) { - throw new CloudRuntimeException("CloudStack failed to update the password of Host " + host + ". Please make sure you are still able to connect to your hosts."); + throw new CloudRuntimeException("CloudStack failed to update the password of " + host + ". Please make sure you are still able to connect to your hosts."); } } } @@ -2698,7 +2698,7 @@ public boolean migrateAwayFailed(final long hostId, final long vmId) { ". Emitting event UnableToMigrate."); return resourceStateTransitTo(host, ResourceState.Event.UnableToMigrate, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("No next resource state for host " + host + " while current state is " + host.getResourceState() + " with event " + + s_logger.debug("No next resource state for " + host + " while current state is " + host.getResourceState() + " with event " + ResourceState.Event.UnableToMigrate, e); return false; } @@ -3018,7 +3018,7 @@ public HashMap> getGPUStatistics(final Ho return null; } if (answer == null || !answer.getResult()) { - final String msg = "Unable to obtain GPU stats for host " + host; + final String msg = "Unable to obtain GPU stats for " + host; s_logger.warn(msg); return null; } else { diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index be52289dc5fd..68f2b8dd8ab7 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -395,7 +395,7 @@ private Ternary performMaintenanceStageOnHost(Host hos * @throws AgentUnavailableException */ private void putHostIntoMaintenance(Host host) throws InterruptedException, AgentUnavailableException { - s_logger.debug("Trying to set the host " + host + " into maintenance"); + s_logger.debug("Trying to set " + host + " into maintenance"); PrepareForMaintenanceCmd cmd = new PrepareForMaintenanceCmd(); cmd.setId(host.getId()); resourceManager.maintain(cmd); @@ -439,7 +439,7 @@ private Ternary reCheckCapacityBeforeMaintenanceOnHost */ private boolean isMaintenanceStageAvoided(Host host, Map hostsToAvoidMaintenance, List hostsSkipped) { if (hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host + " is not being put into maintenance, skipping it"); + s_logger.debug(host + " is not being put into maintenance, skipping it"); HostSkipped hostSkipped = new HostSkipped(host, hostsToAvoidMaintenance.get(host.getId())); hostsSkipped.add(hostSkipped); return true; @@ -468,7 +468,7 @@ private Ternary performPreMaintenanceStageOnHost(Host return new Ternary<>(true, false, result.second()); } if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host + " added to the avoid maintenance set"); + s_logger.debug(host + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-maintenance stage set to avoid maintenance"); } return new Ternary<>(false, false, result.second()); @@ -571,7 +571,7 @@ private void performPreFlightChecks(List hosts, int timeout, String payloa for (Host host : hosts) { Ternary result = performStageOnHost(host, Stage.PreFlight, timeout, payload, forced); if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug("Host " + host + " added to the avoid maintenance set"); + s_logger.debug(host + " added to the avoid maintenance set"); hostsToAvoidMaintenance.put(host.getId(), "Pre-flight stage set to avoid maintenance"); } } @@ -616,7 +616,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host ServiceOfferingVO serviceOffering = serviceOfferingDao.findById(runningVM.getServiceOfferingId()); for (Host hostInCluster : hostsInCluster) { if (!checkHostTags(hostTags, hostTagsDao.gethostTags(hostInCluster.getId()), serviceOffering.getHostTag())) { - s_logger.debug("Host tags mismatch between host " + host.getUuid() + " and host " + hostInCluster.getUuid() + + s_logger.debug("Host tags mismatch between " + host + " and " + hostInCluster + ". Skipping it from the capacity check"); continue; } @@ -627,7 +627,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host affinityChecks = affinityChecks && affinityProcessor.check(vmProfile, deployDestination); } if (!affinityChecks) { - s_logger.debug("Affinity check failed between host " + host.getUuid() + " and host " + hostInCluster.getUuid() + + s_logger.debug("Affinity check failed between " + host + " and " + hostInCluster + ". Skipping it from the capacity check"); continue; } @@ -647,15 +647,14 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host } } if (!canMigrateVm) { - String msg = "VM " + runningVM.getUuid() + " cannot be migrated away from host " + host.getUuid() + - " to any other host in the cluster"; + String msg = "VM " + runningVM.getUuid() + " cannot be migrated away from " + host + "to any other host in the cluster"; s_logger.error(msg); return new Pair<>(false, msg); } sucessfullyCheckedVmMigrations++; } if (sucessfullyCheckedVmMigrations != vmsRunning.size()) { - return new Pair<>(false, "Host " + host + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); + return new Pair<>(false, host + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); } return new Pair<>(true, "OK"); } diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index f63715957ec7..4908b97d5542 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -5165,7 +5165,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } }); } catch (Exception e) { - s_logger.warn(String.format("Unable to update vm disk statistics for vm %s from host %s", userVm.getInstanceName(), host), e); + s_logger.warn(String.format("Unable to update vm disk statistics for vm %s from %s", userVm.getInstanceName(), host), e); } } } diff --git a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java index 5497539ab42c..a791313267bc 100644 --- a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java @@ -221,7 +221,7 @@ public void propagateMSListToAgents() { final SetupMSListCommand cmd = new SetupMSListCommand(msList, lbAlgorithm, lbCheckInterval); final Answer answer = agentManager.easySend(host.getId(), cmd); if (answer == null || !answer.getResult()) { - LOG.warn("Failed to setup management servers list to the agent of host " + host); + LOG.warn("Failed to setup management servers list to the agent of " + host); } } } diff --git a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java index c392b8e0f34b..1fd414d47aff 100644 --- a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java @@ -189,7 +189,7 @@ private void sendAuthError(final Host host, final String message) { if (sentCount != null && sentCount <= 0) { boolean concurrentUpdateResult = hostAlertCache.asMap().replace(host.getId(), sentCount, sentCount+1L); if (concurrentUpdateResult) { - final String subject = String.format("Out-of-band management auth-error detected for host %s in cluster [id: %d] and zone [id: %d].", host, host.getClusterId(), host.getDataCenterId()); + final String subject = String.format("Out-of-band management auth-error detected for %s in cluster [id: %d] and zone [id: %d].", host, host.getClusterId(), host.getDataCenterId()); LOG.error(subject + ": " + message); alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_OOBM_AUTH_ERROR, host.getDataCenterId(), host.getPodId(), subject, message); } @@ -203,11 +203,12 @@ private boolean transitionPowerState(OutOfBandManagement.PowerState.Event event, return false; } OutOfBandManagement.PowerState currentPowerState = outOfBandManagementHost.getPowerState(); + Host host = hostDao.findById(outOfBandManagementHost.getHostId()); try { OutOfBandManagement.PowerState newPowerState = OutOfBandManagement.PowerState.getStateMachine().getNextState(currentPowerState, event); boolean result = OutOfBandManagement.PowerState.getStateMachine().transitTo(outOfBandManagementHost, event, null, outOfBandManagementDao); if (result) { - final String message = String.format("Transitioned out-of-band management power state from:%s to:%s due to event:%s for the host id:%d", currentPowerState, newPowerState, event, outOfBandManagementHost.getHostId()); + final String message = String.format("Transitioned out-of-band management power state from %s to %s due to event: %s for %d", currentPowerState, newPowerState, event, host); LOG.debug(message); if (newPowerState == OutOfBandManagement.PowerState.Unknown) { ActionEventUtils.onActionEvent(CallContext.current().getCallingUserId(), CallContext.current().getCallingAccountId(), Domain.ROOT_DOMAIN, @@ -216,7 +217,7 @@ private boolean transitionPowerState(OutOfBandManagement.PowerState.Event event, } return result; } catch (NoTransitionException ignored) { - LOG.trace(String.format("Unable to transition out-of-band management power state for host id=%s for the event=%s and current power state=%s", outOfBandManagementHost.getHostId(), event, currentPowerState)); + LOG.trace(String.format("Unable to transition out-of-band management power state for %s for the event: %s and current power state: %s", host, event, currentPowerState)); } return false; } @@ -437,13 +438,13 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final public OutOfBandManagementResponse changePassword(final Host host, final String newPassword) { checkOutOfBandManagementEnabledByZoneClusterHost(host); if (Strings.isNullOrEmpty(newPassword)) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for host %s.", host)); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as provided new-password is null or empty for %s.", host)); } final OutOfBandManagement outOfBandManagementConfig = outOfBandManagementDao.findByHost(host.getId()); final ImmutableMap options = getOptions(outOfBandManagementConfig); if (!(options.containsKey(OutOfBandManagement.Option.PASSWORD) && !Strings.isNullOrEmpty(options.get(OutOfBandManagement.Option.PASSWORD)))) { - throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for host %s.", host)); + throw new CloudRuntimeException(String.format("Cannot change out-of-band management password as we've no previously configured password for %s.", host)); } final OutOfBandManagementDriver driver = getDriver(outOfBandManagementConfig); final OutOfBandManagementDriverChangePasswordCommand changePasswordCmd = new OutOfBandManagementDriverChangePasswordCommand(options, ActionTimeout.valueIn(host.getClusterId()), newPassword); @@ -456,7 +457,7 @@ public Boolean doInTransaction(TransactionStatus status) { boolean result = outOfBandManagementDao.update(updatedOutOfBandManagementConfig.getId(), (OutOfBandManagementVO) updatedOutOfBandManagementConfig); if (!result) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) in the database.", host.getName())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) in the database.", host)); } final OutOfBandManagementDriverResponse driverResponse; @@ -567,7 +568,7 @@ protected void runInContext() { } else if (outOfBandManagementHost.getPowerState() != OutOfBandManagement.PowerState.Disabled) { if (transitionPowerStateToDisabled(Collections.singletonList(host))) { if (LOG.isDebugEnabled()) { - LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for host: " + host); + LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for " + host); } } } From 5e304b904ea9ecce6526c978653f47cc45f6731d Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 19 Feb 2021 13:59:18 -0300 Subject: [PATCH 04/14] duplicated "for" --- .../java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index 4b6bc6a16447..fa24df290d34 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -286,7 +286,7 @@ protected AgentAttache createAttacheForConnect(final HostVO host, final Link lin @Override protected AgentAttache createAttacheForDirectConnect(final Host host, final ServerResource resource) { - s_logger.debug(String.format("Create ClusteredDirectAgentAttache for for %s.", host)); + s_logger.debug(String.format("Create ClusteredDirectAgentAttache for %s.", host)); final DirectAgentAttache attache = new ClusteredDirectAgentAttache(this, host.getId(), host.getName(), _nodeId, resource, host.isInMaintenanceStates()); AgentAttache old = null; synchronized (_agents) { From a413895f1dcf2b762fff25177ffc2eb6020313f8 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Thu, 6 May 2021 10:40:42 -0300 Subject: [PATCH 05/14] Adopt String.format, and enhance code --- .../cloud/vm/VirtualMachineManagerImpl.java | 12 +++--- .../src/main/java/com/cloud/dc/ClusterVO.java | 5 +++ .../cloud/capacity/CapacityManagerImpl.java | 4 +- .../network/element/VirtualRouterElement.java | 4 +- .../cloud/resource/ResourceManagerImpl.java | 38 ++++++++++--------- .../RollingMaintenanceManagerImpl.java | 31 +++++++-------- .../agent/lb/IndirectAgentLBServiceImpl.java | 2 +- .../OutOfBandManagementServiceImpl.java | 20 +++++----- 8 files changed, 63 insertions(+), 53 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 7760c0e5fef7..ca8de6b9244e 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4214,7 +4214,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI throws ResourceUnavailableException, ConcurrentOperationException { VMInstanceVO vm = _vmDao.findByUuid(vmUuid); - s_logger.info("Migrating " + vm + " to " + dest); + s_logger.info(String.format("Migrating %s to %s", vm, dest)); vm.getServiceOfferingId(); final long dstHostId = dest.getHost().getId(); @@ -4227,7 +4227,9 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI } Host dstHost = _hostDao.findById(dstHostId); - if (fromHost.getClusterId().longValue() != dest.getCluster().getId()) { + long destHostClusterId = dest.getCluster().getId(); + long fromHostClusterId = fromHost.getClusterId(); + if (fromHostClusterId != destHostClusterId) { String logMessageHostsOnDifferentCluster = String.format("Source and destination host are not in same cluster, unable to migrate to %s", srcHost); s_logger.info(logMessageHostsOnDifferentCluster); throw new CloudRuntimeException(logMessageHostsOnDifferentCluster); @@ -4343,13 +4345,13 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI try { _agentMgr.send(srcHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException e) { - s_logger.error(String.format("AgentUnavailableException while cleanup on source host: %s", srcHost)); + s_logger.error(String.format("AgentUnavailableException while cleanup on source %s: %s", srcHost), e); } cleanup(vmGuru, new VirtualMachineProfileImpl(vm), work, Event.AgentReportStopped, true); throw new CloudRuntimeException("Unable to complete migration for " + vm); } } catch (final OperationTimedoutException e) { - s_logger.debug("Error while checking the vm " + vm + " on " + dstHost, e); + s_logger.debug(String.format("Error while checking the vm %s on %s", vm, dstHost), e); } migrated = true; @@ -4718,7 +4720,7 @@ private void handlePowerOnReportWithNoPendingJobsOnVM(final VMInstanceVO vm) { case Running: try { if (vm.getHostId() != null && vm.getHostId().longValue() != vm.getPowerHostId().longValue()) { - s_logger.info("Detected out of band VM migration from " + host + " to " + poweredHost); + s_logger.info(String.format("Detected out of band VM migration from %s to %s", host, poweredHost)); } stateTransitTo(vm, VirtualMachine.Event.FollowAgentPowerOnReport, vm.getPowerHostId()); } catch (final NoTransitionException e) { diff --git a/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java b/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java index 2a76789136a9..f8da639648cb 100644 --- a/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java +++ b/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java @@ -196,4 +196,9 @@ public void setUuid(String uuid) { public PartitionType partitionType() { return PartitionType.Cluster; } + + @Override + public String toString() { + return String.format("Cluster [{id: \"%s\", name: \"%s\", uuid: \"%s\"}]", id, name, uuid); + } } diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index b0bb2de82d9a..ffa60c40ed09 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -920,8 +920,8 @@ public boolean postStateTransitionEvent(StateMachine2.Transition t Host lastHost = _hostDao.findById(vm.getLastHostId()); Host oldHost = _hostDao.findById(oldHostId); Host newHost = _hostDao.findById(vm.getHostId()); - s_logger.debug("VM state transited from :" + oldState + " to " + newState + " with event: " + event + "vm's original host: " + lastHost + - ", new host: " + newHost + ", host before state transition: " + oldHost); + s_logger.debug(String.format("VM state transited from [%s] to [%] with event [%]. VM's original host: %s, new host: %s, host before state transition: %s", oldState, + newState, event, lastHost, newHost, oldHost)); if (oldState == State.Starting) { if (newState != State.Running) { diff --git a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java index a0ac1f8f644c..660e659ffe03 100644 --- a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java @@ -411,12 +411,12 @@ public boolean stopVpn(final RemoteAccessVpn vpn) throws ResourceUnavailableExce if (canHandle(network, Service.Vpn)) { final List routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER); if (routers == null || routers.isEmpty()) { - s_logger.debug("Virtual router element doesn't need stop vpn on the backend; virtual router doesn't " + "exist in the network " + network.getId()); + s_logger.debug(String.format("Virtual router element doesn't need stop VPN on the backend; virtual router doesn't exist in the network %s", network.getId())); return true; } return _routerMgr.deleteRemoteAccessVpn(network, vpn, routers); } else { - s_logger.debug("Element " + getName() + " doesn't handle removeVpn command"); + s_logger.debug(String.format("Element %s doesn't handle removeVpn command", getName())); return false; } } diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 586b18b793d3..eb97c1a07ded 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -905,6 +905,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { resourceStateTransitTo(host, ResourceState.Event.DeleteHost, _nodeId); } catch (final NoTransitionException e) { s_logger.debug("Cannot transit " + host + " to Enabled state", e); + s_logger.debug(String.format("Cannot transit %s to Enabled state", host), e); } // Delete the associated entries in host ref table @@ -929,7 +930,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { storagePool.setClusterId(null); _storagePoolDao.update(poolId, storagePool); _storagePoolDao.remove(poolId); - s_logger.debug(String.format("Local storage id=%s is removed as a part of host (%s) removal", poolId, hostRemoved.toString())); + s_logger.debug(String.format("Local storage [id: %s] is removed as a part of %s removal", poolId, hostRemoved.toString())); } } @@ -1247,7 +1248,7 @@ private boolean doMaintain(final long hostId) { try { resourceStateTransitTo(host, ResourceState.Event.AdminAskMaintenance, _nodeId); } catch (final NoTransitionException e) { - final String err = "Cannot transit resource state of " + host + " to " + ResourceState.Maintenance; + final String err = String.format("Cannot transit resource state of %s to %s", host, ResourceState.Maintenance); s_logger.debug(err, e); throw new CloudRuntimeException(err + e.getMessage()); } @@ -1434,7 +1435,7 @@ protected boolean setHostIntoPrepareForMaintenanceAfterErrorsFixed(HostVO host) protected boolean attemptMaintain(HostVO host) throws NoTransitionException { final long hostId = host.getId(); - s_logger.info("Attempting maintenance for " + host); + s_logger.info(String.format("Attempting maintenance for %s", host)); // Step 0: First gather if VMs have pending HAWork for migration with retries left. final List allVmsOnHost = _vmDao.listByHostId(hostId); @@ -1442,7 +1443,7 @@ protected boolean attemptMaintain(HostVO host) throws NoTransitionException { boolean hasPendingMigrationRetries = false; for (VMInstanceVO vmInstanceVO : allVmsOnHost) { if (_haMgr.hasPendingMigrationsWork(vmInstanceVO.getId())) { - s_logger.info("Attempting maintenance for " + host + " found pending migration for VM " + vmInstanceVO); + s_logger.info(String.format("Attempting maintenance for %s found pending migration for VM %s.", host, vmInstanceVO)); hasPendingMigrationRetries = true; break; } @@ -1499,7 +1500,7 @@ public boolean checkAndMaintain(final long hostId) { hostInMaintenance = attemptMaintain(host); } } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit " + host + " to Maintenance state", e); + s_logger.debug(String.format("Cannot transit %s to Maintenance state", host), e); } return hostInMaintenance; } @@ -1966,12 +1967,12 @@ protected HostVO createHostVO(final StartupCommand[] cmds, final ServerResource /* Agent goes to Connecting status */ _agentMgr.agentStatusTransitTo(host, Status.Event.AgentConnected, _nodeId); } catch (final Exception e) { - s_logger.debug("Cannot transit " + host + " to Creating state", e); + s_logger.debug(String.format("Cannot transit %s to Creating state", host), e); _agentMgr.agentStatusTransitTo(host, Status.Event.Error, _nodeId); try { resourceStateTransitTo(host, ResourceState.Event.Error, _nodeId); } catch (final NoTransitionException e1) { - s_logger.debug("Cannot transit " + host + "to Error state", e); + s_logger.debug(String.format("Cannot transit %s to Error state", host), e); } } @@ -2106,7 +2107,7 @@ private Host createHostAndAgent(final ServerResource resource, final Map> getGPUStatistics(final Ho return null; } if (answer == null || !answer.getResult()) { - final String msg = "Unable to obtain GPU stats for " + host; + final String msg = String.format("Unable to obtain GPU stats for %s", host); s_logger.warn(msg); return null; } else { diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index 68f2b8dd8ab7..8c416dc3fd02 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -44,6 +44,7 @@ import com.cloud.utils.Ternary; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.net.HTTPUtils; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachineProfileImpl; @@ -55,6 +56,7 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.commons.collections.CollectionUtils; +import org.apache.http.HttpStatus; import org.apache.log4j.Logger; import javax.inject.Inject; @@ -395,7 +397,7 @@ private Ternary performMaintenanceStageOnHost(Host hos * @throws AgentUnavailableException */ private void putHostIntoMaintenance(Host host) throws InterruptedException, AgentUnavailableException { - s_logger.debug("Trying to set " + host + " into maintenance"); + s_logger.debug(String.format("Trying to set %s into maintenance", host)); PrepareForMaintenanceCmd cmd = new PrepareForMaintenanceCmd(); cmd.setId(host.getId()); resourceManager.maintain(cmd); @@ -423,9 +425,9 @@ private void enableClusterIfDisabled(Cluster cluster, Set disabledClusters private Ternary reCheckCapacityBeforeMaintenanceOnHost(Cluster cluster, Host host, Boolean forced, List hostsSkipped) { Pair capacityCheckBeforeMaintenance = performCapacityChecksBeforeHostInMaintenance(host, cluster); if (!capacityCheckBeforeMaintenance.first()) { - String errorMsg = "Capacity check failed for host " + host.getUuid() + ": " + capacityCheckBeforeMaintenance.second(); + String errorMsg = String.format("Capacity check failed for %s: %s", host, capacityCheckBeforeMaintenance.second()); if (forced) { - s_logger.info("Skipping host " + host.getUuid() + " as: " + errorMsg); + s_logger.info(String.format("Skipping %s as: %s", host, errorMsg)); hostsSkipped.add(new HostSkipped(host, errorMsg)); return new Ternary<>(true, true, capacityCheckBeforeMaintenance.second()); } @@ -439,7 +441,7 @@ private Ternary reCheckCapacityBeforeMaintenanceOnHost */ private boolean isMaintenanceStageAvoided(Host host, Map hostsToAvoidMaintenance, List hostsSkipped) { if (hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(host + " is not being put into maintenance, skipping it"); + s_logger.debug(String.format("%s is not being put into maintenance, skipping it", host)); HostSkipped hostSkipped = new HostSkipped(host, hostsToAvoidMaintenance.get(host.getId())); hostsSkipped.add(hostSkipped); return true; @@ -468,7 +470,7 @@ private Ternary performPreMaintenanceStageOnHost(Host return new Ternary<>(true, false, result.second()); } if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(host + " added to the avoid maintenance set"); + s_logger.debug(String.format("%s added to the avoid maintenance set", host)); hostsToAvoidMaintenance.put(host.getId(), "Pre-maintenance stage set to avoid maintenance"); } return new Ternary<>(false, false, result.second()); @@ -491,7 +493,7 @@ private boolean isMaintenanceScriptDefinedOnHost(Host host, List ho RollingMaintenanceAnswer answer = (RollingMaintenanceAnswer) agentManager.send(host.getId(), new RollingMaintenanceCommand(true)); return answer.isMaintenaceScriptDefined(); } catch (AgentUnavailableException | OperationTimedoutException e) { - String msg = "Could not check for maintenance script on host " + host + " due to: " + e.getMessage(); + String msg = String.format("Could not check for maintenance script on %s due to: %s", host, e.getMessage()); s_logger.error(msg, e); return false; } @@ -537,7 +539,7 @@ private Ternary sendRollingMaintenanceCommandToHost(Ho answer = agentManager.send(host.getId(), cmd); } catch (AgentUnavailableException | OperationTimedoutException e) { // Agent may be restarted on the scripts - continue polling until it is up - String msg = "Cannot send command to host " + host + ", waiting " + pingInterval + "ms - " + e.getMessage(); + String msg = String.format("Cannot send command to %s, waiting %sms - %s", host, pingInterval, e.getMessage()); s_logger.warn(msg); cmd.setStarted(true); Thread.sleep(pingInterval); @@ -571,7 +573,7 @@ private void performPreFlightChecks(List hosts, int timeout, String payloa for (Host host : hosts) { Ternary result = performStageOnHost(host, Stage.PreFlight, timeout, payload, forced); if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(host + " added to the avoid maintenance set"); + s_logger.debug(String.format("%s added to the avoid maintenance set", host)); hostsToAvoidMaintenance.put(host.getId(), "Pre-flight stage set to avoid maintenance"); } } @@ -584,7 +586,7 @@ private void performCapacityChecks(Cluster cluster, List hosts, Boolean fo for (Host host : hosts) { Pair result = performCapacityChecksBeforeHostInMaintenance(host, cluster); if (!result.first() && !forced) { - throw new CloudRuntimeException("Capacity check failed for host " + host.getUuid() + ": " + result.second()); + throw new CloudRuntimeException(String.format("Capacity check failed for %s : %s", host, result.second())); } } } @@ -616,8 +618,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host ServiceOfferingVO serviceOffering = serviceOfferingDao.findById(runningVM.getServiceOfferingId()); for (Host hostInCluster : hostsInCluster) { if (!checkHostTags(hostTags, hostTagsDao.gethostTags(hostInCluster.getId()), serviceOffering.getHostTag())) { - s_logger.debug("Host tags mismatch between " + host + " and " + hostInCluster + - ". Skipping it from the capacity check"); + s_logger.debug(String.format("Host tags mismatch between %s and %s Skipping it from the capacity check", host, hostInCluster)); continue; } DeployDestination deployDestination = new DeployDestination(null, null, null, host); @@ -627,8 +628,7 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host affinityChecks = affinityChecks && affinityProcessor.check(vmProfile, deployDestination); } if (!affinityChecks) { - s_logger.debug("Affinity check failed between " + host + " and " + hostInCluster + - ". Skipping it from the capacity check"); + s_logger.debug(String.format("Affinity check failed between %s and %s Skipping it from the capacity check", host, hostInCluster)); continue; } boolean maxGuestLimit = capacityManager.checkIfHostReachMaxGuestLimit(host); @@ -647,14 +647,15 @@ private Pair performCapacityChecksBeforeHostInMaintenance(Host } } if (!canMigrateVm) { - String msg = "VM " + runningVM.getUuid() + " cannot be migrated away from " + host + "to any other host in the cluster"; + String msg = String.format("%s cannot be migrated away from %s to any other host in the cluster", runningVM, host); s_logger.error(msg); return new Pair<>(false, msg); } sucessfullyCheckedVmMigrations++; } if (sucessfullyCheckedVmMigrations != vmsRunning.size()) { - return new Pair<>(false, host + " cannot enter maintenance mode as capacity check failed for hosts in cluster " + cluster.getUuid()); + String migrationCheckDetails = String.format("%s cannot enter maintenance mode as capacity check failed for hosts in cluster %s", host, cluster); + return new Pair<>(false, migrationCheckDetails); } return new Pair<>(true, "OK"); } diff --git a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java index a791313267bc..003664cc5e7c 100644 --- a/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/agent/lb/IndirectAgentLBServiceImpl.java @@ -221,7 +221,7 @@ public void propagateMSListToAgents() { final SetupMSListCommand cmd = new SetupMSListCommand(msList, lbAlgorithm, lbCheckInterval); final Answer answer = agentManager.easySend(host.getId(), cmd); if (answer == null || !answer.getResult()) { - LOG.warn("Failed to setup management servers list to the agent of " + host); + LOG.warn(String.format("Failed to setup management servers list to the agent of %s", host)); } } } diff --git a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java index 1fd414d47aff..fc4fb1f8f9d4 100644 --- a/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/outofbandmanagement/OutOfBandManagementServiceImpl.java @@ -373,14 +373,14 @@ public OutOfBandManagementResponse configure(final Host host, final ImmutableMap } boolean updatedConfig = outOfBandManagementDao.update(outOfBandManagementConfig.getId(), (OutOfBandManagementVO) outOfBandManagementConfig); - String eventDetails = String.format("host [id:%d, name: %s], configuration: %s:%s", host.getId(), host.getName(), outOfBandManagementConfig.getAddress(), outOfBandManagementConfig.getPort()); + String eventDetails = String.format("Configuring %s out-of-band with address [%s] and port [%s]", host, outOfBandManagementConfig.getAddress(), outOfBandManagementConfig.getPort()); CallContext.current().setEventDetails(eventDetails); if (!updatedConfig) { - throw new CloudRuntimeException("Failed to update out-of-band management config for the host in the database."); + throw new CloudRuntimeException(String.format("Failed to update out-of-band management config for %s in the database.", host)); } - String result = "Out-of-band management successfully configured for the host"; + String result = String.format("Out-of-band management successfully configured for %s.", host); LOG.debug(result); final OutOfBandManagementResponse response = new OutOfBandManagementResponse(outOfBandManagementDao.findByHost(host.getId())); @@ -406,7 +406,7 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final final OutOfBandManagementDriverResponse driverResponse = driver.execute(cmd); if (driverResponse == null) { - throw new CloudRuntimeException(String.format("Out-of-band Management action (%s) on host (%s) failed due to no response from the driver", powerOperation, host)); + throw new CloudRuntimeException(String.format("Out-of-band Management action [%s] on %s failed due to no response from the driver", powerOperation, host)); } if (powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -414,9 +414,9 @@ public OutOfBandManagementResponse executePowerOperation(final Host host, final } if (!driverResponse.isSuccess()) { - String errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed with error: %s", powerOperation, host, driverResponse.getError()); + String errorMessage = String.format("Out-of-band Management action [%s] on %s failed with error: %s", powerOperation, host, driverResponse.getError()); if (driverResponse.hasAuthFailure()) { - errorMessage = String.format("Out-of-band Management action (%s) on host (%s) failed due to authentication error: %s. Please check configured credentials.", powerOperation, host, driverResponse.getError()); + errorMessage = String.format("Out-of-band Management action [%s] on %s failed due to authentication error: %s. Please check configured credentials.", powerOperation, host, driverResponse.getError()); sendAuthError(host, errorMessage); } if (!powerOperation.equals(OutOfBandManagement.PowerOperation.STATUS)) { @@ -457,7 +457,7 @@ public Boolean doInTransaction(TransactionStatus status) { boolean result = outOfBandManagementDao.update(updatedOutOfBandManagementConfig.getId(), (OutOfBandManagementVO) updatedOutOfBandManagementConfig); if (!result) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) in the database.", host)); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for %s in the database.", host)); } final OutOfBandManagementDriverResponse driverResponse; @@ -465,11 +465,11 @@ public Boolean doInTransaction(TransactionStatus status) { driverResponse = driver.execute(changePasswordCmd); } catch (Exception e) { LOG.error("Out-of-band management change password failed due to driver error: " + e.getMessage()); - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) due to driver error: %s", host, e.getMessage())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for %s due to driver error: %s", host, e.getMessage())); } if (!driverResponse.isSuccess()) { - throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for host (%s) with error: %s", host, driverResponse.getError())); + throw new CloudRuntimeException(String.format("Failed to change out-of-band management password for %s with error: %s", host, driverResponse.getError())); } return result && driverResponse.isSuccess(); @@ -568,7 +568,7 @@ protected void runInContext() { } else if (outOfBandManagementHost.getPowerState() != OutOfBandManagement.PowerState.Disabled) { if (transitionPowerStateToDisabled(Collections.singletonList(host))) { if (LOG.isDebugEnabled()) { - LOG.debug("Out-of-band management was disabled in zone/cluster/host, disabled power state for " + host); + LOG.debug(String.format("Out-of-band management was disabled in zone/cluster/host, disabled power state for %s", host)); } } } From e22e12707f5aa71b94d1b5bd10c9f99fe8bcc0d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Beims=20Br=C3=A4scher?= Date: Fri, 7 May 2021 12:47:59 -0300 Subject: [PATCH 06/14] Address reviews enhancing log messages Update server/src/main/java/com/cloud/resource/ResourceManagerImpl.java -- server/src/main/java/com/cloud/vm/UserVmManagerImpl.java -- server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> --- .../java/com/cloud/resource/ResourceManagerImpl.java | 10 ++++------ .../cloud/resource/RollingMaintenanceManagerImpl.java | 2 +- .../src/main/java/com/cloud/vm/UserVmManagerImpl.java | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index eb97c1a07ded..8d993f07b560 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -904,7 +904,6 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { try { resourceStateTransitTo(host, ResourceState.Event.DeleteHost, _nodeId); } catch (final NoTransitionException e) { - s_logger.debug("Cannot transit " + host + " to Enabled state", e); s_logger.debug(String.format("Cannot transit %s to Enabled state", host), e); } @@ -2387,7 +2386,7 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b try { _vmMgr.destroy(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error when destroying the vm: %s as a part of hostDelete: %s", vm, host); + String errorMsg = String.format("There was an error when destroying the VM: %s as a part of hostDelete: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } @@ -2402,17 +2401,16 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b // Restart HA enabled vms for (final VMInstanceVO vm : vms) { if (!vm.isHaEnabled() || vm.getState() == State.Stopping) { - s_logger.debug("Stopping vm: " + vm + " as a part of hostDelete: " + host); + s_logger.debug("Stopping VM: " + vm + " as a part of hostDelete: " + host); try { _vmMgr.advanceStop(vm.getUuid(), false); } catch (final Exception e) { - final String errorMsg = String.format("There was an error stopping the vm: %s as a part of hostDelete: %s", vm, host); + final String errorMsg = String.format("There was an error stopping the VM: %s as a part of hostDelete: %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } } else if (vm.isHaEnabled() && (vm.getState() == State.Running || vm.getState() == State.Starting)) { - s_logger.debug("Scheduling restart for vm: " + vm + " " + vm.getState() + " on host: " + host); - s_logger.debug(String.format("Scheduling restart for vm: %s, state: %s on host: %s.", vm, vm.getState(), host)); + s_logger.debug(String.format("Scheduling restart for VM: %s, state: %s on host: %s.", vm, vm.getState(), host)); _haMgr.scheduleRestart(vm, false); } } diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index 8c416dc3fd02..bf97e300a246 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -540,7 +540,7 @@ private Ternary sendRollingMaintenanceCommandToHost(Ho } catch (AgentUnavailableException | OperationTimedoutException e) { // Agent may be restarted on the scripts - continue polling until it is up String msg = String.format("Cannot send command to %s, waiting %sms - %s", host, pingInterval, e.getMessage()); - s_logger.warn(msg); + s_logger.warn(msg, e); cmd.setStarted(true); Thread.sleep(pingInterval); timeSpent += pingInterval; diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index 4908b97d5542..e70e9b4fcc60 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -5165,7 +5165,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } }); } catch (Exception e) { - s_logger.warn(String.format("Unable to update vm disk statistics for vm %s from %s", userVm.getInstanceName(), host), e); + s_logger.warn(String.format("Unable to update VM disk statistics for vm %s from %s", userVm.getInstanceName(), host), e); } } } From cd8c39071fad2913af114a8c8b0598fb4b6ca5b3 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 7 May 2021 13:15:07 -0300 Subject: [PATCH 07/14] Fix String.format issue and change log message from debug to warn --- .../src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java | 2 +- .../src/main/java/com/cloud/resource/ResourceManagerImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index ca8de6b9244e..7102853c822d 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4345,7 +4345,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI try { _agentMgr.send(srcHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException e) { - s_logger.error(String.format("AgentUnavailableException while cleanup on source %s: %s", srcHost), e); + s_logger.error(String.format("AgentUnavailableException while cleanup on source %s: ", srcHost), e); } cleanup(vmGuru, new VirtualMachineProfileImpl(vm), work, Event.AgentReportStopped, true); throw new CloudRuntimeException("Unable to complete migration for " + vm); diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 8d993f07b560..4be9570361aa 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -1499,7 +1499,7 @@ public boolean checkAndMaintain(final long hostId) { hostInMaintenance = attemptMaintain(host); } } catch (final NoTransitionException e) { - s_logger.debug(String.format("Cannot transit %s to Maintenance state", host), e); + s_logger.warn(String.format("Cannot transit %s from %s to Maintenance state.", host, host.getResourceState()), e); } return hostInMaintenance; } From e6680f803c34456213d38e328fc26d07a01fa1b8 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Fri, 7 May 2021 14:24:20 -0300 Subject: [PATCH 08/14] Fix checkstyle issue --- .../java/com/cloud/resource/RollingMaintenanceManagerImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index bf97e300a246..e6c975bca057 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -44,7 +44,6 @@ import com.cloud.utils.Ternary; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.utils.net.HTTPUtils; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachineProfileImpl; @@ -56,7 +55,6 @@ import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.commons.collections.CollectionUtils; -import org.apache.http.HttpStatus; import org.apache.log4j.Logger; import javax.inject.Inject; From dd592d55600be6f66c1686de96e4660f6c290731 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Mon, 10 May 2021 11:28:39 -0300 Subject: [PATCH 09/14] Fix string.format log --- .../src/main/java/com/cloud/capacity/CapacityManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index ffa60c40ed09..923afd97eb9b 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -920,7 +920,7 @@ public boolean postStateTransitionEvent(StateMachine2.Transition t Host lastHost = _hostDao.findById(vm.getLastHostId()); Host oldHost = _hostDao.findById(oldHostId); Host newHost = _hostDao.findById(vm.getHostId()); - s_logger.debug(String.format("VM state transited from [%s] to [%] with event [%]. VM's original host: %s, new host: %s, host before state transition: %s", oldState, + s_logger.debug(String.format("VM state transited from [%s] to [%s] with event [%s]. VM's original host: %s, new host: %s, host before state transition: %s", oldState, newState, event, lastHost, newHost, oldHost)); if (oldState == State.Starting) { From 061ee2f969fc5a6547be7fa598fe92b6edc5bac7 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Wed, 30 Jun 2021 22:57:59 -0300 Subject: [PATCH 10/14] Address review: enhance logs --- .../java/com/cloud/vm/VirtualMachineManagerImpl.java | 9 +++++---- .../com/cloud/network/element/VirtualRouterElement.java | 3 ++- .../java/com/cloud/resource/ResourceManagerImpl.java | 4 ++-- .../cloud/resource/RollingMaintenanceManagerImpl.java | 8 ++++++-- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 0e686becb85d..5b22dbc77c85 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4480,7 +4480,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI try { _agentMgr.send(srcHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException e) { - s_logger.error(String.format("AgentUnavailableException while cleanup on source %s: ", srcHost), e); + s_logger.error(String.format("Unable to cleanup source %s. ", srcHost), e); } cleanup(vmGuru, new VirtualMachineProfileImpl(vm), work, Event.AgentReportStopped, true); throw new CloudRuntimeException("Unable to complete migration for " + vm); @@ -4494,9 +4494,10 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI if (!migrated) { s_logger.info("Migration was unsuccessful. Cleaning up: " + vm); - _alertMgr.sendAlert(alertType, fromHost.getDataCenterId(), fromHost.getPodId(), - "Unable to migrate vm " + vm.getInstanceName() + " from " + fromHost + " in zone " + dest.getDataCenter().getName() + " and pod " + - dest.getPod().getName(), "Migrate Command failed. Please check logs."); + String alertSubject = String.format("Unable to migrate VM [%s] from %s in Zone [%s] and Pod [%s].", + vm.getInstanceName(), fromHost, dest.getDataCenter().getName(), dest.getPod().getName()); + String alertBody = "Migrate Command failed. Please check logs."; + _alertMgr.sendAlert(alertType, fromHost.getDataCenterId(), fromHost.getPodId(), alertSubject, alertBody); try { _agentMgr.send(dstHostId, new Commands(cleanup(vm.getInstanceName())), null); } catch (final AgentUnavailableException ae) { diff --git a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java index f1d65a125508..d101a5e4f607 100644 --- a/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/main/java/com/cloud/network/element/VirtualRouterElement.java @@ -411,7 +411,8 @@ public boolean stopVpn(final RemoteAccessVpn vpn) throws ResourceUnavailableExce if (canHandle(network, Service.Vpn)) { final List routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER); if (routers == null || routers.isEmpty()) { - s_logger.debug(String.format("Virtual router element doesn't need stop VPN on the backend; virtual router doesn't exist in the network %s", network.getId())); + s_logger.debug(String.format("There is no virtual router in network [uuid: %s, name: %s], it is not necessary to stop the VPN on backend.", + network.getUuid(), network.getName())); return true; } return _routerMgr.deleteRemoteAccessVpn(network, vpn, routers); diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 94ccb2708719..03682d0586dc 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -2482,7 +2482,7 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b try { _vmMgr.destroy(vm.getUuid(), false); } catch (final Exception e) { - String errorMsg = String.format("There was an error when destroying the VM: %s as a part of hostDelete: %s", vm, host); + String errorMsg = String.format("There was an error when destroying %s as a part of hostDelete for %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } @@ -2608,7 +2608,7 @@ protected void connectAndRestartAgentOnHost(HostVO host, String username, String final com.trilead.ssh2.Connection connection = SSHCmdHelper.acquireAuthorizedConnection( host.getPrivateIpAddress(), 22, username, password); if (connection == null) { - throw new CloudRuntimeException(String.format("SSH to agent is enabled, but failed to connect to %s via IP address %s.", host, host.getPrivateIpAddress())); + throw new CloudRuntimeException(String.format("SSH to agent is enabled, but failed to connect to %s via IP address [%s].", host, host.getPrivateIpAddress())); } try { SSHCmdHelper.SSHCmdResult result = SSHCmdHelper.sshExecuteCmdOneShot( diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index e6c975bca057..fe63f0c1460a 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -468,7 +468,7 @@ private Ternary performPreMaintenanceStageOnHost(Host return new Ternary<>(true, false, result.second()); } if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(String.format("%s added to the avoid maintenance set", host)); + logHostAddedToAvoidMaintenanceSet(host); hostsToAvoidMaintenance.put(host.getId(), "Pre-maintenance stage set to avoid maintenance"); } return new Ternary<>(false, false, result.second()); @@ -571,12 +571,16 @@ private void performPreFlightChecks(List hosts, int timeout, String payloa for (Host host : hosts) { Ternary result = performStageOnHost(host, Stage.PreFlight, timeout, payload, forced); if (result.third() && !hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(String.format("%s added to the avoid maintenance set", host)); + logHostAddedToAvoidMaintenanceSet(host); hostsToAvoidMaintenance.put(host.getId(), "Pre-flight stage set to avoid maintenance"); } } } + private void logHostAddedToAvoidMaintenanceSet(Host host) { + s_logger.debug(String.format("%s added to the avoid maintenance set.", host)); + } + /** * Capacity checks on hosts */ From 522708979ef2b6cc269f028717341ce30f9dedfc Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Wed, 30 Jun 2021 23:20:08 -0300 Subject: [PATCH 11/14] Enhance log of hosts in maintenance avoid list --- .../java/com/cloud/resource/RollingMaintenanceManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java index fe63f0c1460a..80a243156aa0 100644 --- a/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/RollingMaintenanceManagerImpl.java @@ -439,9 +439,9 @@ private Ternary reCheckCapacityBeforeMaintenanceOnHost */ private boolean isMaintenanceStageAvoided(Host host, Map hostsToAvoidMaintenance, List hostsSkipped) { if (hostsToAvoidMaintenance.containsKey(host.getId())) { - s_logger.debug(String.format("%s is not being put into maintenance, skipping it", host)); HostSkipped hostSkipped = new HostSkipped(host, hostsToAvoidMaintenance.get(host.getId())); hostsSkipped.add(hostSkipped); + s_logger.debug(String.format("%s is in avoid maintenance list [hosts skipped: %d], skipping its maintenance.", host, hostsSkipped.size())); return true; } return false; From 73eccb4ae9422d3864a215bb50e2ecaedbfb3c03 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Thu, 1 Jul 2021 14:46:09 -0300 Subject: [PATCH 12/14] Remove "VM" on logs as vm.toString() already appends VM-
--- .../main/java/com/cloud/vm/VirtualMachineManagerImpl.java | 4 ++-- engine/schema/src/main/java/com/cloud/dc/ClusterVO.java | 2 +- .../main/java/com/cloud/resource/ResourceManagerImpl.java | 8 ++++---- server/src/main/java/com/cloud/vm/UserVmManagerImpl.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index 5b22dbc77c85..618e79c312f7 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -4486,7 +4486,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI throw new CloudRuntimeException("Unable to complete migration for " + vm); } } catch (final OperationTimedoutException e) { - s_logger.debug(String.format("Error while checking the vm %s on %s", vm, dstHost), e); + s_logger.debug(String.format("Error while checking the %s on %s", vm, dstHost), e); } migrated = true; @@ -4494,7 +4494,7 @@ private void orchestrateMigrateForScale(final String vmUuid, final long srcHostI if (!migrated) { s_logger.info("Migration was unsuccessful. Cleaning up: " + vm); - String alertSubject = String.format("Unable to migrate VM [%s] from %s in Zone [%s] and Pod [%s].", + String alertSubject = String.format("Unable to migrate %s from %s in Zone [%s] and Pod [%s].", vm.getInstanceName(), fromHost, dest.getDataCenter().getName(), dest.getPod().getName()); String alertBody = "Migrate Command failed. Please check logs."; _alertMgr.sendAlert(alertType, fromHost.getDataCenterId(), fromHost.getPodId(), alertSubject, alertBody); diff --git a/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java b/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java index f8da639648cb..f60765e28566 100644 --- a/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java +++ b/engine/schema/src/main/java/com/cloud/dc/ClusterVO.java @@ -199,6 +199,6 @@ public PartitionType partitionType() { @Override public String toString() { - return String.format("Cluster [{id: \"%s\", name: \"%s\", uuid: \"%s\"}]", id, name, uuid); + return String.format("Cluster {id: \"%s\", name: \"%s\", uuid: \"%s\"}", id, name, uuid); } } diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 03682d0586dc..c5b9f81e944f 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -1539,7 +1539,7 @@ protected boolean attemptMaintain(HostVO host) throws NoTransitionException { boolean hasPendingMigrationRetries = false; for (VMInstanceVO vmInstanceVO : allVmsOnHost) { if (_haMgr.hasPendingMigrationsWork(vmInstanceVO.getId())) { - s_logger.info(String.format("Attempting maintenance for %s found pending migration for VM %s.", host, vmInstanceVO)); + s_logger.info(String.format("Attempting maintenance for %s found pending migration for %s.", host, vmInstanceVO)); hasPendingMigrationRetries = true; break; } @@ -2501,16 +2501,16 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b } for (final VMInstanceVO vm : vms) { if ((! HighAvailabilityManager.ForceHA.value() && !vm.isHaEnabled()) || vm.getState() == State.Stopping) { - s_logger.debug(String.format("Stopping VM: %s as a part of hostDelete: %s",vm, host)); + s_logger.debug(String.format("Stopping %s as a part of hostDelete for %s",vm, host)); try { _haMgr.scheduleStop(vm, host.getId(), WorkType.Stop); } catch (final Exception e) { - final String errorMsg = String.format("There was an error stopping the VM: %s as a part of hostDelete: %s", vm, host); + final String errorMsg = String.format("There was an error stopping the %s as a part of hostDelete for %s", vm, host); s_logger.debug(errorMsg, e); throw new UnableDeleteHostException(errorMsg + "," + e.getMessage()); } } else if ((HighAvailabilityManager.ForceHA.value() || vm.isHaEnabled()) && (vm.getState() == State.Running || vm.getState() == State.Starting)) { - s_logger.debug(String.format("Scheduling restart for VM: %s, state: %s on host: %s.", vm, vm.getState(), host)); + s_logger.debug(String.format("Scheduling restart for %s, state: %s on host: %s.", vm, vm.getState(), host)); _haMgr.scheduleRestart(vm, false); } } diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index 043765746087..4ba6591a6cf9 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -5255,7 +5255,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) { } }); } catch (Exception e) { - s_logger.warn(String.format("Unable to update VM disk statistics for vm %s from %s", userVm.getInstanceName(), host), e); + s_logger.warn(String.format("Unable to update VM disk statistics for %s from %s", userVm.getInstanceName(), host), e); } } } From d97f089f9cb8fe4bbc20cddf62926e9a6ece9f66 Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Thu, 1 Jul 2021 15:15:36 -0300 Subject: [PATCH 13/14] Add more details of the VM when postStateTransitionEvent --- .../src/main/java/com/cloud/capacity/CapacityManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index 73edf4ca0e63..05ea9fd94ca2 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -929,7 +929,7 @@ public boolean postStateTransitionEvent(StateMachine2.Transition t Host lastHost = _hostDao.findById(vm.getLastHostId()); Host oldHost = _hostDao.findById(oldHostId); Host newHost = _hostDao.findById(vm.getHostId()); - s_logger.debug(String.format("VM state transited from [%s] to [%s] with event [%s]. VM's original host: %s, new host: %s, host before state transition: %s", oldState, + s_logger.debug(String.format("%s state transited from [%s] to [%s] with event [%s]. VM's original host: %s, new host: %s, host before state transition: %s", vm, oldState, newState, event, lastHost, newHost, oldHost)); if (oldState == State.Starting) { From a0c3d665d6f234b401c296c2f02fbfbf9d2c22cc Mon Sep 17 00:00:00 2001 From: Gabriel Brascher Date: Thu, 1 Jul 2021 15:36:04 -0300 Subject: [PATCH 14/14] Address reviewer and enhance VMInstanceVO.toString() --- engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java | 2 +- .../src/main/java/com/cloud/resource/ResourceManagerImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java b/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java index aa2e7360bf4b..afc7134990c9 100644 --- a/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/VMInstanceVO.java @@ -506,7 +506,7 @@ public void setRemoved(Date removed) { @Override public String toString() { - return String.format("VM instance {\"id\": \"%s\", \"name\": \"%s\", \"uuid\": \"%s\", \"type\"=\"%s\"}", id, getInstanceName(), uuid, type); + return String.format("VM instance {id: \"%s\", name: \"%s\", uuid: \"%s\", type=\"%s\"}", id, getInstanceName(), uuid, type); } @Override diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index c5b9f81e944f..488be99e32da 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -2456,7 +2456,7 @@ public void deleteRoutingHost(final HostVO host, final boolean isForced, final b } if (s_logger.isDebugEnabled()) { - s_logger.debug(String.format("Deleting Host: %s", host)); + s_logger.debug(String.format("Deleting %s", host)); } final StoragePoolVO storagePool = _storageMgr.findLocalStorageOnHost(host.getId());