mirror of https://github.com/apache/cloudstack.git
bug 13961: always return NetworkUsageAnswer from the networkUsageCommand
status 13961: resolved fixed Reviewed-by: Alex Huang
This commit is contained in:
parent
e2c7fe5f4f
commit
f03fc196ad
|
|
@ -34,6 +34,10 @@ public class NetworkUsageAnswer extends Answer {
|
|||
this.bytesSent = bytesSent;
|
||||
routerName = cmd.getDomRName();
|
||||
}
|
||||
|
||||
public NetworkUsageAnswer(Command command, Exception e) {
|
||||
super(command, e);
|
||||
}
|
||||
|
||||
|
||||
public void setBytesReceived(Long bytesReceived) {
|
||||
|
|
|
|||
|
|
@ -169,15 +169,20 @@ public class XenServer56Resource extends CitrixResourceBase {
|
|||
}
|
||||
|
||||
protected NetworkUsageAnswer execute(NetworkUsageCommand cmd) {
|
||||
Connection conn = getConnection();
|
||||
if(cmd.getOption()!=null && cmd.getOption().equals("create") ){
|
||||
String result = networkUsage(conn, cmd.getPrivateIP(), "create", null);
|
||||
NetworkUsageAnswer answer = new NetworkUsageAnswer(cmd, result, 0L, 0L);
|
||||
try {
|
||||
Connection conn = getConnection();
|
||||
if(cmd.getOption()!=null && cmd.getOption().equals("create") ){
|
||||
String result = networkUsage(conn, cmd.getPrivateIP(), "create", null);
|
||||
NetworkUsageAnswer answer = new NetworkUsageAnswer(cmd, result, 0L, 0L);
|
||||
return answer;
|
||||
}
|
||||
long[] stats = getNetworkStats(conn, cmd.getPrivateIP());
|
||||
NetworkUsageAnswer answer = new NetworkUsageAnswer(cmd, "", stats[0], stats[1]);
|
||||
return answer;
|
||||
} catch (Exception ex) {
|
||||
s_logger.warn("Failed to get network usage stats due to ", ex);
|
||||
return new NetworkUsageAnswer(cmd, ex);
|
||||
}
|
||||
long[] stats = getNetworkStats(conn, cmd.getPrivateIP());
|
||||
NetworkUsageAnswer answer = new NetworkUsageAnswer(cmd, "", stats[0], stats[1]);
|
||||
return answer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -667,11 +667,9 @@ public class XenServerConnectionPool {
|
|||
}
|
||||
PoolEmergencyResetMaster(ipAddress, mConn.getIp(), mConn.getUsername(), mConn.getPassword());
|
||||
} catch (Exception e) {
|
||||
String msg = "Master can not talk to Slave " + hostUuid + " IP " + ipAddress;
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug(msg);
|
||||
}
|
||||
throw new CloudRuntimeException(msg);
|
||||
String msg = "Echo test failed on host " + hostUuid + " IP " + ipAddress;
|
||||
s_logger.warn(msg, e);
|
||||
throw new CloudRuntimeException(msg, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -806,7 +806,12 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
|
|||
s_logger.warn("Error while collecting network stats from router: "+router.getInstanceName()+" from host: "+router.getHostId(), e);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (answer != null) {
|
||||
if (!answer.getResult()) {
|
||||
s_logger.warn("Error while collecting network stats from router: "+router.getInstanceName()+" from host: "+router.getHostId() + "; details: " + answer.getDetails());
|
||||
continue;
|
||||
}
|
||||
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
|
||||
try {
|
||||
if ((answer.getBytesReceived() == 0) && (answer.getBytesSent() == 0)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue