Refine search
@Override public boolean processAnswers(long agentId, long seq, Answer[] answers) { for (Answer answer : answers) { if (answer.getResult() == false) { s_logger.warn("Unable to execute sync command: " + answer.toString()); } else { s_logger.debug("Sync command executed: " + answer.toString()); } } return true; }
private boolean hasFailureDetails(Answer answer) { return (null != answer) && (null != answer.getDetails()); }
@Override public boolean forgetObject(DataTO object, Scope scope, Long storeId) { EndPoint ep = selector.select(scope, storeId); ForgetObjectCmd cmd = new ForgetObjectCmd(object); Answer answer = null; if (ep == null) { String errMsg = "No remote endpoint to send command, check if host or ssvm is down?"; s_logger.error(errMsg); answer = new Answer(cmd, false, errMsg); } else { answer = ep.sendMessage(cmd); } if (answer == null || !answer.getResult()) { String errMsg = answer == null ? null : answer.getDetails(); if (errMsg != null) { s_logger.debug("Failed to forget object: " + errMsg); } return false; } return true; }
protected void sendPortForwardingRules(List<PortForwardingRuleTO> portForwardingRules, DataCenter zone, long externalFirewallId) throws ResourceUnavailableException { if (!portForwardingRules.isEmpty()) { SetPortForwardingRulesCommand cmd = new SetPortForwardingRulesCommand(portForwardingRules); Answer answer = _agentMgr.easySend(externalFirewallId, cmd); if (answer == null || !answer.getResult()) { String details = (answer != null) ? answer.getDetails() : "details unavailable"; String msg = "External firewall was unable to apply port forwarding rules to the SRX appliance in zone " + zone.getName() + " due to: " + details + "."; s_logger.error(msg); throw new ResourceUnavailableException(msg, DataCenter.class, zone.getId()); } } }
@Override public final PingCommand getCurrentStatus(final long id) { final PingCommand pingCmd = new PingRoutingCommand(getType(), id, getHostVmStateReport()); if (s_logger.isDebugEnabled()) { s_logger.debug("Ping host " + _name + " (IP " + _agentIp + ")"); } final Answer pingAns = executeRequest(pingCmd); if (pingAns == null || !pingAns.getResult()) { s_logger.info("Cannot ping host " + _name + " (IP " + _agentIp + "), pingAns (blank means null) is:" + pingAns); return null; } return pingCmd; }
private synchronized Answer execute(final IpAssocCommand cmd, final int numRetries) { if (_isSdx) { return Answer.createUnsupportedCommandAnswer(cmd); results[i++] = ip.getPublicIp() + " - success"; final String action = ip.isAdd() ? "associate" : "remove"; if (s_logger.isDebugEnabled()) { s_logger.debug("Netscaler load balancer " + _ip + " successfully executed IPAssocCommand to " + action + " IP " + ip); s_logger.error("Netscaler loadbalancer " + _ip + " failed to execute IPAssocCommand due to " + e.getMessage()); if (shouldRetry(numRetries)) { return retry(cmd, numRetries);
private Answer execute(final CopyCommand cmd) { URI agentUri = null; try { final String cmdName = cmd.getClass().getName(); agentUri = new URI("https", null, _agentIp, _port, "/api/HypervResource/" + cmdName, null, null); } catch (final URISyntaxException e) { final String errMsg = "Could not generate URI for Hyper-V agent"; s_logger.error(errMsg, e); return null; } cleanPassword(cmd.getSrcTO().getDataStore()); cleanPassword(cmd.getDestTO().getDataStore()); // Send the cmd to hyperv agent. final String ansStr = postHttpRequest(s_gson.toJson(cmd), agentUri); if (ansStr == null) { return Answer.createUnsupportedCommandAnswer(cmd); } final Answer[] result = s_gson.fromJson(ansStr, Answer[].class); final String logResult = cleanPassword(s_gson.toJson(result)); s_logger.debug("executeRequest received response " + logResult); if (result.length > 0) { return result[0]; } return null; }
private synchronized Answer execute(final DestroyLoadBalancerApplianceCommand cmd, final int numRetries) { final String vpxName = "Cloud-VPX-" + cmd.getLoadBalancerIP(); if (!_isSdx) { return Answer.createUnsupportedCommandAnswer(cmd); s_logger.warn(msg); return new DestroyLoadBalancerApplianceAnswer(cmd, true, msg); vpxToDelete = ns.delete(_netscalerSdxService, nsDelObj); final String msg = "Deleted VPX instance " + vpxName + " on Netscaler SDX " + _ip + " successfully."; s_logger.info(msg); return new DestroyLoadBalancerApplianceAnswer(cmd, true, msg); } catch (final Exception e) {
private void sendModifyTargetsCommand(ModifyTargetsCommand cmd, long hostId) { Answer answer = _agentMgr.easySend(hostId, cmd); if (answer == null) { String msg = "Unable to get an answer to the modify targets command"; s_logger.warn(msg); } else if (!answer.getResult()) { String msg = "Unable to modify target on the following host: " + hostId; s_logger.warn(msg); } }
private boolean prepareNodes(String clusterName, List<HostVO> hosts) { PrepareOCFS2NodesCommand cmd = new PrepareOCFS2NodesCommand(clusterName, marshalNodes(hosts)); for (HostVO h : hosts) { Answer ans = _agentMgr.easySend(h.getId(), cmd); if (ans == null) { s_logger.debug("Host " + h.getId() + " is not in UP state, skip preparing OCFS2 node on it"); continue; } if (!ans.getResult()) { s_logger.warn("PrepareOCFS2NodesCommand failed on host " + h.getId() + " " + ans.getDetails()); return false; } } return true; }
private boolean doUpdateHostPassword(final long hostId) { if (!_agentMgr.isAgentAttached(hostId)) { return false; } DetailVO nv = _hostDetailsDao.findDetail(hostId, ApiConstants.USERNAME); final String username = nv.getValue(); nv = _hostDetailsDao.findDetail(hostId, ApiConstants.PASSWORD); final String password = nv.getValue(); final HostVO host = _hostDao.findById(hostId); final String hostIpAddress = host.getPrivateIpAddress(); final UpdateHostPasswordCommand cmd = new UpdateHostPasswordCommand(username, password, hostIpAddress); final Answer answer = _agentMgr.easySend(hostId, cmd); s_logger.info("Result returned from update host password ==> " + answer.getDetails()); return answer.getResult(); }
@Override public Answer executeRequest(final Command cmd) { final NuageVspRequestWrapper wrapper = NuageVspRequestWrapper.getInstance(); try { return wrapper.execute(cmd, this); } catch (final Exception e) { if (s_logger.isDebugEnabled()) { s_logger.debug("Received unsupported command " + cmd.toString(), e); } return Answer.createUnsupportedCommandAnswer(cmd); } }
@Override public Answer executeRequest(final Command cmd) { final NiciraNvpRequestWrapper wrapper = NiciraNvpRequestWrapper.getInstance(); try { return wrapper.execute(cmd, this); } catch (final Exception e) { s_logger.debug("Received unsupported command " + cmd.toString()); return Answer.createUnsupportedCommandAnswer(cmd); } }
private <R extends InternalIdentity> void send(Command cmd, long physicalNetworkId, Class<R> resourceClass, R resource) throws ResourceUnavailableException { HostVO nuageVspHost = _nuageVspManager.getNuageVspHost(physicalNetworkId); Answer answer = _agentMgr.easySend(nuageVspHost.getId(), cmd); if (isFailure(answer)) { s_logger.error(cmd.getClass().getName() + " for " + resourceClass.getName() + " " + resource.getId() + " failed on Nuage VSD " + nuageVspHost.getDetail("hostname")); if (hasFailureDetails(answer)) { throw new ResourceUnavailableException(answer.getDetails(), resourceClass, resource.getId()); } } }
private Answer executeQueryCommand(NetworkElementCommand cmd) { if (cmd instanceof CheckRouterCommand) { return execute((CheckRouterCommand)cmd); } else if (cmd instanceof GetDomRVersionCmd) { return execute((GetDomRVersionCmd)cmd); } else if (cmd instanceof CheckS2SVpnConnectionsCommand) { return execute((CheckS2SVpnConnectionsCommand)cmd); } else if (cmd instanceof GetRouterAlertsCommand) { return execute((GetRouterAlertsCommand)cmd); } else if (cmd instanceof DiagnosticsCommand) { return execute((DiagnosticsCommand)cmd); } else { s_logger.error("Unknown query command in VirtualRoutingResource!"); return Answer.createUnsupportedCommandAnswer(cmd); } }
/** * Upload and import certificate to hostId on keystore */ protected boolean uploadCertificate(String certificate, String certificateName, long hostId) { String cert = certificate.replaceAll("(.{64})", "$1\n"); final String prettified_cert = BEGIN_CERT + LINE_SEPARATOR + cert + LINE_SEPARATOR + END_CERT; SetupDirectDownloadCertificate cmd = new SetupDirectDownloadCertificate(prettified_cert, certificateName); Answer answer = agentManager.easySend(hostId, cmd); if (answer == null || !answer.getResult()) { return false; } s_logger.info("Certificate " + certificateName + " successfully uploaded to host: " + hostId); return true; } }
@Override public Answer executeRequest(final Command cmd) { if (cmd instanceof CheckConsoleProxyLoadCommand) { return execute((CheckConsoleProxyLoadCommand)cmd); } else if (cmd instanceof WatchConsoleProxyLoadCommand) { return execute((WatchConsoleProxyLoadCommand)cmd); } else if (cmd instanceof ReadyCommand) { s_logger.info("Receive ReadyCommand, response with ReadyAnswer"); return new ReadyAnswer((ReadyCommand)cmd); } else if (cmd instanceof CheckHealthCommand) { return new CheckHealthAnswer((CheckHealthCommand)cmd, true); } else if (cmd instanceof StartConsoleProxyAgentHttpHandlerCommand) { return execute((StartConsoleProxyAgentHttpHandlerCommand)cmd); } else { return Answer.createUnsupportedCommandAnswer(cmd); } }
return execute((CheckNetworkCommand) cmd); } else { return Answer.createUnsupportedCommandAnswer(cmd); s_logger.debug(t.getMessage(), t); return new Answer(cmd, false, t.getMessage());