private OutOfBandManagementResponse buildEnableDisableResponse(final boolean enabled) { final OutOfBandManagementResponse response = new OutOfBandManagementResponse(); response.setEnabled(enabled); response.setSuccess(true); return response; }
public OutOfBandManagementResponse(final OutOfBandManagement outOfBandManagementConfig) { this(); if (outOfBandManagementConfig == null) { this.setEnabled(false); this.setPowerState(OutOfBandManagement.PowerState.Disabled); return; } this.setEnabled(outOfBandManagementConfig.isEnabled()); if (outOfBandManagementConfig.getPowerState() != null) { this.setPowerState(outOfBandManagementConfig.getPowerState()); } else { this.setPowerState(OutOfBandManagement.PowerState.Unknown); } this.setDriver(outOfBandManagementConfig.getDriver()); this.setIpAddress(outOfBandManagementConfig.getAddress()); if (outOfBandManagementConfig.getPort() != null) { this.setPort(outOfBandManagementConfig.getPort()); } this.setUsername(outOfBandManagementConfig.getUsername()); if (!Strings.isNullOrEmpty(outOfBandManagementConfig.getPassword())) { this.setPassword(outOfBandManagementConfig.getPassword().substring(0, 1) + "****"); } }
final OutOfBandManagementResponse response = new OutOfBandManagementResponse(outOfBandManagementDao.findByHost(host.getId())); response.setSuccess(driverResponse.isSuccess()); response.setResultDescription(driverResponse.getResult()); response.setId(host.getUuid()); response.setOutOfBandManagementAction(powerOperation.toString()); return response;
final OutOfBandManagementResponse response = new OutOfBandManagementResponse(); response.setSuccess(changePasswordResult ); response.setId(host.getUuid()); return response;
@Override public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException { final Host host = _resourceService.getHost(getHostId()); if (host == null) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable to find host by ID: " + getHostId()); } CallContext.current().putContextParameter(Host.class, host.getUuid()); final OutOfBandManagementResponse response = outOfBandManagementService.configure(host, getHostPMOptions()); response.setId(host.getUuid()); response.setResponseName(getCommandName()); setResponseObject(response); }
@Override @ActionEvent(eventType = EventTypes.EVENT_HOST_OUTOFBAND_MANAGEMENT_CONFIGURE, eventDescription = "updating out-of-band management configuration") public OutOfBandManagementResponse configure(final Host host, final ImmutableMap<OutOfBandManagement.Option, String> options) { OutOfBandManagement outOfBandManagementConfig = outOfBandManagementDao.findByHost(host.getId()); if (outOfBandManagementConfig == null) { outOfBandManagementConfig = outOfBandManagementDao.persist(new OutOfBandManagementVO(host.getId())); } outOfBandManagementConfig = updateConfig(outOfBandManagementConfig, options); if (Strings.isNullOrEmpty(outOfBandManagementConfig.getDriver()) || !outOfBandManagementDriversMap.containsKey(outOfBandManagementConfig.getDriver().toLowerCase())) { throw new CloudRuntimeException("Out-of-band management driver is not available. Please provide a valid driver name."); } boolean updatedConfig = outOfBandManagementDao.update(outOfBandManagementConfig.getId(), (OutOfBandManagementVO) outOfBandManagementConfig); CallContext.current().setEventDetails("host id:" + host.getId() + " configuration:" + outOfBandManagementConfig.getAddress() + ":" + outOfBandManagementConfig.getPort()); if (!updatedConfig) { throw new CloudRuntimeException("Failed to update out-of-band management config for the host in the database."); } String result = "Out-of-band management successfully configured for the host"; LOG.debug(result); final OutOfBandManagementResponse response = new OutOfBandManagementResponse(outOfBandManagementDao.findByHost(host.getId())); response.setResultDescription(result); response.setSuccess(true); return response; }
public void setOutOfBandManagementResponse(final OutOfBandManagement outOfBandManagementConfig) { this.outOfBandManagementResponse = new OutOfBandManagementResponse(outOfBandManagementConfig); }
@Override public boolean fence(Host r) throws HAFenceException { try { if (outOfBandManagementService.isOutOfBandManagementEnabled(r)){ final OutOfBandManagementResponse resp = outOfBandManagementService.executePowerOperation(r, PowerOperation.OFF, null); return resp.getSuccess(); } else { LOG.warn("OOBM fence operation failed for this host " + r.getName()); return false; } } catch (Exception e){ LOG.warn("OOBM service is not configured or enabled for this host " + r.getName() + " error is " + e.getMessage()); throw new HAFenceException("OOBM service is not configured or enabled for this host " + r.getName() , e); } }
metricsResponse.setPowerState(hostResponse.getOutOfBandManagementResponse().getPowerState()); metricsResponse.setInstances(upInstances, totalInstances); metricsResponse.setCpuTotal(hostResponse.getCpuNumber(), hostResponse.getCpuSpeed(), cpuOvercommitRatio);
@Override final public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException { final Host host = _resourceService.getHost(getHostId()); if (host == null) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable to find host by ID: " + getHostId()); } OutOfBandManagementResponse response = outOfBandManagementService.enableOutOfBandManagement(host); CallContext.current().setEventDetails("Host Id:" + host.getId() + " out-of-band management enabled: true"); CallContext.current().putContextParameter(Host.class, host.getUuid()); response.setId(host.getUuid()); response.setResponseName(getCommandName()); setResponseObject(response); }
@Override public boolean recover(Host r) throws HARecoveryException { try { if (outOfBandManagementService.isOutOfBandManagementEnabled(r)){ final OutOfBandManagementResponse resp = outOfBandManagementService.executePowerOperation(r, PowerOperation.RESET, null); return resp.getSuccess(); } else { LOG.warn("OOBM recover operation failed for the host " + r.getName()); return false; } } catch (Exception e){ LOG.warn("OOBM service is not configured or enabled for this host " + r.getName() + " error is " + e.getMessage()); throw new HARecoveryException(" OOBM service is not configured or enabled for this host " + r.getName(), e); } }
@Override final public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException { final Host host = _resourceService.getHost(getHostId()); if (host == null) { throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable to find host by ID: " + getHostId()); } OutOfBandManagementResponse response = outOfBandManagementService.disableOutOfBandManagement(host); CallContext.current().setEventDetails("Host Id:" + host.getId() + " out-of-band management enabled: false"); CallContext.current().putContextParameter(Host.class, host.getUuid()); response.setId(host.getUuid()); response.setResponseName(getCommandName()); setResponseObject(response); }