protected Answer execute(final VpnUsersCfgCommand cmd) {
final String controlIp = getRouterSshControlIp(cmd);
for (final VpnUsersCfgCommand.UsernamePassword userpwd : cmd.getUserpwds()) {
final StringBuffer argsBuf = new StringBuffer();
if (!userpwd.isAdd()) {
argsBuf.append(" -U ").append(userpwd.getUsername());
} else {
argsBuf.append(" -u ").append(userpwd.getUsernamePassword());
}
try {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Executing /opt/cloud/bin/vpn_lt2p.sh ");
}
final Pair<Boolean, String> result = SshHelper.sshExecute(controlIp, DEFAULT_DOMR_SSHPORT, "root", getSystemVMKeyFile(), null, "/opt/cloud/bin/vpn_l2tp.sh " + argsBuf.toString());
if (!result.first()) {
s_logger.error("VpnUserCfg command on domR failed, message: " + result.second());
return new Answer(cmd, false, "VpnUserCfg command failed due to " + result.second());
}
} catch (final Throwable e) {
if (e instanceof RemoteException) {
s_logger.warn(e.getMessage());
}
final String msg = "VpnUserCfg command failed due to " + e.getMessage();
s_logger.error(msg, e);
return new Answer(cmd, false, msg);
}
}
return new Answer(cmd);
}
private SetStaticRouteAnswer execute(final SetStaticRouteCommand cmd) {