use of org.ovirt.engine.core.common.vdscommands.RemoveVdsVDSCommandParameters in project ovirt-engine by oVirt.
the class VdsCommand method initializeVds.
protected void initializeVds(boolean newHost) {
runVdsCommand(VDSCommandType.RemoveVds, new RemoveVdsVDSCommandParameters(getVdsId(), newHost));
runVdsCommand(VDSCommandType.AddVds, new AddVdsVDSCommandParameters(getVdsId()));
}
use of org.ovirt.engine.core.common.vdscommands.RemoveVdsVDSCommandParameters in project ovirt-engine by oVirt.
the class GlusterSyncJob method syncServers.
private void syncServers(Cluster cluster, List<VDS> existingServers, List<GlusterServerInfo> fetchedServers) {
log.debug("Existing servers list returned '{}' comparing with fetched servers '{}'", existingServers, fetchedServers);
boolean serverRemoved = false;
Network glusterNetwork = findGlusterNetwork(cluster.getId());
for (VDS server : existingServers) {
GlusterServerInfo glusterServer = findGlusterServer(server, fetchedServers);
if (isSyncableStatus(server.getStatus())) {
if (glusterServer == null) {
if (cluster.supportsVirtService()) {
// If the cluster supports virt service as well, we should not be removing any servers from it, even
// if they have been removed from the Gluster cluster using the Gluster cli, as they could
// potentially be
// used for running VMs. Will mark this server status as DISCONNECTED instead
log.debug("As cluster '{}' supports virt service as well, server '{}' detected as removed from glusterfs will not be removed from engine", cluster.getName(), server.getHostName());
setNonOperational(server);
continue;
}
log.info("Server '{}' has been removed directly using the gluster CLI. Removing it from engine as well.", server.getName());
logUtil.logServerMessage(server, AuditLogType.GLUSTER_SERVER_REMOVED_FROM_CLI);
try (EngineLock lock = glusterUtil.acquireGlusterLockWait(server.getId())) {
removeServerFromDb(server);
// if last but one server, reset alternate probed address for last server
checkAndResetKnownAddress(existingServers, server);
// remove the server from resource manager
runVdsCommand(VDSCommandType.RemoveVds, new RemoveVdsVDSCommandParameters(server.getId()));
serverRemoved = true;
} catch (Exception e) {
log.error("Error while removing server '{}' from database: {}", server.getName(), e.getMessage());
log.debug("Exception", e);
}
} else if (server.getStatus() == VDSStatus.Up && glusterServer.getStatus() == PeerStatus.DISCONNECTED) {
// check gluster is running, if down then move the host to Non-Operational
VDSReturnValue returnValue = runVdsCommand(VDSCommandType.GlusterServersList, new VdsIdVDSCommandParametersBase(server.getId()));
if (!returnValue.getSucceeded()) {
setNonOperational(server);
}
} else {
// update correct status and check if all interfaces with gluster network have been peer probed.
updateStatusAndpeerProbeOtherIface(glusterNetwork, server, glusterServer);
}
}
}
if (serverRemoved) {
log.info("Servers detached using gluster CLI is removed from engine after inspecting the Gluster servers" + " list returned '{}' - comparing with db servers '{}'", fetchedServers, existingServers);
}
}
Aggregations