1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-08 20:58:17 +03:00

F #2143: renamed to reset vs sync

This commit is contained in:
Ruben S. Montero 2018-06-26 13:14:04 +02:00
parent 783044391e
commit 8eadc0f88f
6 changed files with 24 additions and 24 deletions

View File

@ -84,14 +84,14 @@ public:
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
class ZoneSyncServer : public RequestManagerZone
class ZoneResetServer : public RequestManagerZone
{
public:
ZoneSyncServer():
RequestManagerZone("one.zone.syncserver", "Sync a server to zone",
ZoneResetServer():
RequestManagerZone("one.zone.resetserver", "Reset server log index",
"A:sis"){};
~ZoneSyncServer(){};
~ZoneResetServer(){};
void request_execute(xmlrpc_c::paramList const& _paramList,
RequestAttributes& att);

View File

@ -129,13 +129,14 @@ cmd=CommandParser::CmdParser.new(ARGV) do
end
syncserver_desc = <<-EOT.unindent
Sync an OpenNebula server from the list of out of sync servers.
resetserver_desc = <<-EOT.unindent
Reset follower log index. This should be trigger when a follower DB has
been reset.
EOT
command :"server-sync", syncserver_desc, :zoneid, :serverid do
helper.perform_action(args[0], options, "server synchronized") do |o|
o.sync_servers(args[1].to_i)
command :"server-reset", resetserver_desc, :zoneid, :serverid do
helper.perform_action(args[0], options, "server reset") do |o|
o.reset_server(args[1].to_i)
end
end

View File

@ -31,7 +31,7 @@ module OpenNebula
:delete => "zone.delete",
:addserver => "zone.addserver",
:delserver => "zone.delserver",
:syncserver => "zone.syncserver"
:resetserver => "zone.resetserver"
}
# Creates a Zone description with just its identifier
@ -175,8 +175,8 @@ module OpenNebula
#
# @return [nil, OpenNebula::Error] nil in case of success, Error
# otherwise
def sync_servers(server_id)
return call(ZONE_METHODS[:syncserver], @pe_id, server_id)
def reset_server(server_id)
return call(ZONE_METHODS[:resetserver], @pe_id, server_id)
end
private

View File

@ -313,6 +313,7 @@ void RaftManager::add_server(int follower_id, const std::string& endpoint)
}
num_servers++;
servers.insert(std::make_pair(follower_id, endpoint));
next.insert(std::make_pair(follower_id, log_index + 1));
@ -1297,13 +1298,19 @@ void RaftManager::reset_index(int follower_id)
{
std::map<int, unsigned int>::iterator next_it;
unsigned int log_index, log_term;
LogDB * logdb = Nebula::instance().get_logdb();
logdb->get_last_record_index(log_index, log_term);
pthread_mutex_lock(&mutex);
next_it = next.find(follower_id);
if ( next_it != next.end() )
{
next_it->second = commit;
next_it->second = log_index + 1;
}
pthread_mutex_unlock(&mutex);

View File

@ -806,7 +806,7 @@ void RequestManager::register_xml_methods()
xmlrpc_c::methodPtr zone_rename(zone_rename_pt);
xmlrpc_c::methodPtr zone_addserver(new ZoneAddServer());
xmlrpc_c::methodPtr zone_delserver(new ZoneDeleteServer());
xmlrpc_c::methodPtr zone_syncserver(new ZoneSyncServer());
xmlrpc_c::methodPtr zone_resetserver(new ZoneResetServer());
xmlrpc_c::methodPtr zone_replicatelog(new ZoneReplicateLog());
xmlrpc_c::methodPtr zone_voterequest(new ZoneVoteRequest());
xmlrpc_c::methodPtr zone_raftstatus(new ZoneRaftStatus());
@ -827,7 +827,7 @@ void RequestManager::register_xml_methods()
RequestManagerRegistry.addMethod("one.zone.addserver", zone_addserver);
RequestManagerRegistry.addMethod("one.zone.delserver", zone_delserver);
RequestManagerRegistry.addMethod("one.zone.syncserver", zone_syncserver);
RequestManagerRegistry.addMethod("one.zone.resetserver", zone_resetserver);
RequestManagerRegistry.addMethod("one.zonepool.info",zonepool_info);

View File

@ -257,7 +257,7 @@ void ZoneDeleteServer::request_execute(xmlrpc_c::paramList const& paramList,
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
void ZoneSyncServer::request_execute(xmlrpc_c::paramList const& paramList,
void ZoneResetServer::request_execute(xmlrpc_c::paramList const& paramList,
RequestAttributes& att)
{
Nebula& nd = Nebula::instance();
@ -281,14 +281,6 @@ void ZoneSyncServer::request_execute(xmlrpc_c::paramList const& paramList,
return;
}
if ( pool->exist(id) == -1 )
{
att.resp_id = id;
failure_response(NO_EXISTS, att);
return;
}
nd.get_raftm()->reset_index(zs_id);
success_response(id, att);