mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-11 04:58:16 +03:00
F #4809: Update SqlDB method name. DO NOT replicate monitoring data
This commit is contained in:
parent
dd0598aaa6
commit
bca17f4ee6
@ -283,13 +283,13 @@ private:
|
||||
ostringstream oss;
|
||||
|
||||
oss.str(Cluster::db_bootstrap);
|
||||
rc = db->exec_bootstrap(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
oss.str(Cluster::datastore_db_bootstrap);
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
oss.str(Cluster::network_db_bootstrap);
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -201,7 +201,7 @@ public:
|
||||
int rc;
|
||||
|
||||
rc = Cluster::bootstrap(_db);
|
||||
rc += _db->exec_bootstrap(
|
||||
rc += _db->exec_local_wr(
|
||||
BitMap<0>::bootstrap(Cluster::bitmap_table, oss_bitmap));
|
||||
|
||||
return rc;
|
||||
|
@ -364,7 +364,7 @@ private:
|
||||
{
|
||||
ostringstream oss(Datastore::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -107,7 +107,7 @@ private:
|
||||
{
|
||||
ostringstream oss(Document::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -210,7 +210,7 @@ private:
|
||||
{
|
||||
ostringstream oss_group(Group::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_group);
|
||||
return db->exec_local_wr(oss_group);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -532,8 +532,8 @@ private:
|
||||
ostringstream oss_host(Host::db_bootstrap);
|
||||
ostringstream oss_monit(Host::monit_db_bootstrap);
|
||||
|
||||
rc = db->exec_bootstrap(oss_host);
|
||||
rc += db->exec_bootstrap(oss_monit);
|
||||
rc = db->exec_local_wr(oss_host);
|
||||
rc += db->exec_local_wr(oss_monit);
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -696,7 +696,7 @@ private:
|
||||
{
|
||||
ostringstream oss_image(Image::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_image);
|
||||
return db->exec_local_wr(oss_image);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -62,9 +62,9 @@ public:
|
||||
*/
|
||||
int exec_wr(ostringstream& cmd);
|
||||
|
||||
int exec_bootstrap(ostringstream& cmd)
|
||||
int exec_local_wr(ostringstream& cmd)
|
||||
{
|
||||
return db->exec_bootstrap(cmd);
|
||||
return db->exec_local_wr(cmd);
|
||||
}
|
||||
|
||||
int exec_rd(ostringstream& cmd, Callbackable* obj)
|
||||
@ -94,7 +94,7 @@ public:
|
||||
{
|
||||
ostringstream oss(db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -221,7 +221,7 @@ private:
|
||||
{
|
||||
ostringstream oss(db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -393,7 +393,7 @@ private:
|
||||
{
|
||||
ostringstream oss(db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -167,7 +167,7 @@ public:
|
||||
{
|
||||
ostringstream oss_quota(GroupQuotas::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_quota);
|
||||
return db->exec_local_wr(oss_quota);
|
||||
};
|
||||
|
||||
protected:
|
||||
@ -220,7 +220,7 @@ public:
|
||||
{
|
||||
ostringstream oss_quota(UserQuotas::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_quota);
|
||||
return db->exec_local_wr(oss_quota);
|
||||
};
|
||||
|
||||
protected:
|
||||
|
@ -217,7 +217,7 @@ private:
|
||||
{
|
||||
ostringstream oss(SecurityGroup::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -38,13 +38,15 @@ public:
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
/**
|
||||
*
|
||||
* Operations on the database:
|
||||
* - exec_local_wr, perform modifications locally, without replication
|
||||
* - exec_rd, read only access to local DB
|
||||
* - exec_wr, update DB and replicate changes
|
||||
* @param sql_cmd the SQL command
|
||||
* @param callbak function to execute on each data returned
|
||||
* @return 0 on success
|
||||
*
|
||||
*/
|
||||
virtual int exec_bootstrap(ostringstream& cmd)
|
||||
virtual int exec_local_wr(ostringstream& cmd)
|
||||
{
|
||||
return exec(cmd, 0, false);
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ private:
|
||||
{
|
||||
ostringstream oss_user(User::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_user);
|
||||
return db->exec_local_wr(oss_user);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -166,7 +166,7 @@ private:
|
||||
{
|
||||
ostringstream oss(VMGroup::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -149,7 +149,7 @@ private:
|
||||
{
|
||||
ostringstream oss(VMTemplate::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -343,7 +343,7 @@ private:
|
||||
{
|
||||
ostringstream oss(Vdc::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1750,10 +1750,10 @@ private:
|
||||
ostringstream oss_hist(History::db_bootstrap);
|
||||
ostringstream oss_showback(VirtualMachine::showback_db_bootstrap);
|
||||
|
||||
rc = db->exec_bootstrap(oss_vm);
|
||||
rc += db->exec_bootstrap(oss_monit);
|
||||
rc += db->exec_bootstrap(oss_hist);
|
||||
rc += db->exec_bootstrap(oss_showback);
|
||||
rc = db->exec_local_wr(oss_vm);
|
||||
rc += db->exec_local_wr(oss_monit);
|
||||
rc += db->exec_local_wr(oss_hist);
|
||||
rc += db->exec_local_wr(oss_showback);
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -236,7 +236,7 @@ public:
|
||||
ostringstream oss_import(import_db_bootstrap);
|
||||
|
||||
rc = VirtualMachine::bootstrap(_db);
|
||||
rc += _db->exec_bootstrap(oss_import);
|
||||
rc += _db->exec_local_wr(oss_import);
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -596,7 +596,7 @@ private:
|
||||
{
|
||||
ostringstream oss_vnet(VirtualNetwork::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss_vnet);
|
||||
return db->exec_local_wr(oss_vnet);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -122,7 +122,7 @@ public:
|
||||
int rc;
|
||||
|
||||
rc = VirtualNetwork::bootstrap(_db);
|
||||
rc += _db->exec_bootstrap(BitMap<0>::bootstrap(vlan_table, oss));
|
||||
rc += _db->exec_local_wr(BitMap<0>::bootstrap(vlan_table, oss));
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -216,7 +216,7 @@ private:
|
||||
{
|
||||
ostringstream oss(VirtualRouter::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -129,7 +129,7 @@ private:
|
||||
{
|
||||
ostringstream oss(Zone::db_bootstrap);
|
||||
|
||||
return db->exec_bootstrap(oss);
|
||||
return db->exec_local_wr(oss);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -108,6 +108,7 @@ public:
|
||||
{
|
||||
return match;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialized follower data
|
||||
* @param last log index
|
||||
@ -126,6 +127,14 @@ public:
|
||||
return state == OFFLINE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the server is the leader of the zone
|
||||
*/
|
||||
bool is_leader()
|
||||
{
|
||||
return state == LEADER;
|
||||
}
|
||||
|
||||
private:
|
||||
State state;
|
||||
|
||||
|
@ -1094,7 +1094,7 @@ int AclManager::bootstrap(SqlDB * _db)
|
||||
{
|
||||
ostringstream oss(db_bootstrap);
|
||||
|
||||
return _db->exec_bootstrap(oss);
|
||||
return _db->exec_local_wr(oss);
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
@ -553,7 +553,7 @@ int Host::update_monitoring(SqlDB * db)
|
||||
|
||||
db->free_str(sql_xml);
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
|
||||
|
@ -303,7 +303,7 @@ int HostPool::clean_expired_monitoring()
|
||||
oss << "DELETE FROM " << Host::monit_table
|
||||
<< " WHERE last_mon_time < " << max_mon_time;
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@ -318,7 +318,7 @@ int HostPool::clean_all_monitoring()
|
||||
|
||||
oss << "DELETE FROM " << Host::monit_table;
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -80,6 +80,8 @@ int LogDB::exec_wr(ostringstream& cmd)
|
||||
ZoneServer * server = 0;
|
||||
unsigned int term = 0;
|
||||
|
||||
bool is_leader;
|
||||
|
||||
if ( server_id != -1 )
|
||||
{
|
||||
Zone * zone = zpool->get(zone_id, true);
|
||||
@ -92,6 +94,11 @@ int LogDB::exec_wr(ostringstream& cmd)
|
||||
term = server->get_term();
|
||||
}
|
||||
|
||||
if ( server != 0 )
|
||||
{
|
||||
is_leader = server->is_leader();
|
||||
}
|
||||
|
||||
zone->unlock();
|
||||
}
|
||||
}
|
||||
@ -120,6 +127,13 @@ int LogDB::exec_wr(ostringstream& cmd)
|
||||
// -------------------------------------------------------------------------
|
||||
// Insert log entry in the database and replicate on followers
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
if ( ! is_leader )
|
||||
{
|
||||
NebulaLog::log("DBM", Log::ERROR,"Tried to modify DB being a follower");
|
||||
return -1;
|
||||
}
|
||||
|
||||
pthread_mutex_lock(&mutex);
|
||||
|
||||
LogDBRequest * lr = new LogDBRequest(next_index, term, cmd);
|
||||
|
@ -65,14 +65,14 @@ int SystemDB::shared_bootstrap()
|
||||
// db versioning, version of OpenNebula.
|
||||
// ---------------------------------------------------------------------
|
||||
oss.str(shared_ver_bootstrap);
|
||||
rc = db->exec_bootstrap(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "INSERT INTO " << shared_ver_table << " (" << shared_ver_names << ") "
|
||||
<< "VALUES (0, '" << Nebula::shared_db_version() << "', " << time(0)
|
||||
<< ", '" << Nebula::version() << " daemon bootstrap')";
|
||||
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
};
|
||||
@ -89,14 +89,14 @@ int SystemDB::local_bootstrap()
|
||||
// pool control, tracks the last ID's assigned to objects
|
||||
// ------------------------------------------------------------------------
|
||||
oss.str(pc_bootstrap);
|
||||
rc = db->exec_bootstrap(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// local db versioning, version of tables that are not replicated in a
|
||||
// slave OpenNebula.
|
||||
// ------------------------------------------------------------------------
|
||||
oss.str(local_ver_bootstrap);
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "INSERT INTO " << local_ver_table << " (" << local_ver_names << ") "
|
||||
@ -104,13 +104,13 @@ int SystemDB::local_bootstrap()
|
||||
<< ", '" << Nebula::version() << " daemon bootstrap', "
|
||||
<< Nebula::instance().is_federation_slave() << ")";
|
||||
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// system
|
||||
// ------------------------------------------------------------------------
|
||||
oss.str(sys_bootstrap);
|
||||
rc += db->exec_bootstrap(oss);
|
||||
rc += db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
};
|
||||
|
@ -1594,7 +1594,7 @@ int VirtualMachine::update_monitoring(SqlDB * db)
|
||||
|
||||
db->free_str(sql_xml);
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
|
||||
|
@ -469,7 +469,7 @@ int VirtualMachinePool::clean_expired_monitoring()
|
||||
oss << "DELETE FROM " << VirtualMachine::monit_table
|
||||
<< " WHERE last_poll < " << max_last_poll;
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@ -484,7 +484,7 @@ int VirtualMachinePool::clean_all_monitoring()
|
||||
|
||||
oss << "DELETE FROM " << VirtualMachine::monit_table;
|
||||
|
||||
rc = db->exec_wr(oss);
|
||||
rc = db->exec_local_wr(oss);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user