mirror of
https://github.com/OpenNebula/one.git
synced 2025-02-26 09:57:23 +03:00
Bug #1306: Add tm_mad to History elements
This commit is contained in:
parent
1130e37a2e
commit
d5b40785f5
@ -46,6 +46,7 @@ public:
|
||||
const string& hostname,
|
||||
const string& vmm,
|
||||
const string& vnm,
|
||||
const string& tmm,
|
||||
const string& vm_info);
|
||||
|
||||
~History(){};
|
||||
@ -89,6 +90,7 @@ private:
|
||||
|
||||
string vmm_mad_name;
|
||||
string vnm_mad_name;
|
||||
string tm_mad_name;
|
||||
|
||||
time_t stime;
|
||||
time_t etime;
|
||||
|
@ -57,13 +57,14 @@ protected:
|
||||
AuthRequest::Operation op);
|
||||
|
||||
int get_host_information(int hid, string& name, string& vmm, string& vnm,
|
||||
RequestAttributes& att, PoolObjectAuth& host_perms);
|
||||
string& tm, RequestAttributes& att, PoolObjectAuth& host_perms);
|
||||
|
||||
int add_history(VirtualMachine * vm,
|
||||
int hid,
|
||||
const string& hostname,
|
||||
const string& vmm_mad,
|
||||
const string& vnm_mad,
|
||||
const string& tm_mad,
|
||||
RequestAttributes& att);
|
||||
|
||||
VirtualMachine * get_vm(int id, RequestAttributes& att);
|
||||
|
@ -242,7 +242,8 @@ public:
|
||||
int hid,
|
||||
const string& hostname,
|
||||
const string& vmm_mad,
|
||||
const string& vnm_mad);
|
||||
const string& vnm_mad,
|
||||
const string& tm_mad);
|
||||
|
||||
/**
|
||||
* Duplicates the last history record. Only the host related fields are
|
||||
@ -318,6 +319,26 @@ public:
|
||||
return previous_history->vnm_mad_name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the TM driver name for the current host. The hasHistory()
|
||||
* function MUST be called before this one.
|
||||
* @return the TM mad name
|
||||
*/
|
||||
const string & get_tm_mad() const
|
||||
{
|
||||
return history->tm_mad_name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the TM driver name for the previous host. The
|
||||
* hasPreviousHistory() function MUST be called before this one.
|
||||
* @return the TM mad name
|
||||
*/
|
||||
const string & get_previous_tm_mad() const
|
||||
{
|
||||
return previous_history->tm_mad_name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the transfer filename. The transfer file is in the form:
|
||||
* $ONE_LOCATION/var/$VM_ID/transfer.$SEQ
|
||||
|
@ -99,6 +99,7 @@ int RequestManagerVirtualMachine::get_host_information(int hid,
|
||||
string& name,
|
||||
string& vmm,
|
||||
string& vnm,
|
||||
string& tm,
|
||||
RequestAttributes& att,
|
||||
PoolObjectAuth& host_perms)
|
||||
{
|
||||
@ -121,6 +122,7 @@ int RequestManagerVirtualMachine::get_host_information(int hid,
|
||||
name = host->get_name();
|
||||
vmm = host->get_vmm_mad();
|
||||
vnm = host->get_vnm_mad();
|
||||
tm = ""; // TODO host->get_cluster_id, get DS from Cluster, get TM from DS
|
||||
|
||||
host->get_permissions(host_perms);
|
||||
|
||||
@ -156,6 +158,7 @@ int RequestManagerVirtualMachine::add_history(VirtualMachine * vm,
|
||||
const string& hostname,
|
||||
const string& vmm_mad,
|
||||
const string& vnm_mad,
|
||||
const string& tm_mad,
|
||||
RequestAttributes& att)
|
||||
{
|
||||
string vmdir;
|
||||
@ -163,7 +166,7 @@ int RequestManagerVirtualMachine::add_history(VirtualMachine * vm,
|
||||
|
||||
VirtualMachinePool * vmpool = static_cast<VirtualMachinePool *>(pool);
|
||||
|
||||
vm->add_history(hid,hostname,vmm_mad,vnm_mad);
|
||||
vm->add_history(hid,hostname,vmm_mad,vnm_mad,tm_mad);
|
||||
|
||||
rc = vmpool->update_history(vm);
|
||||
|
||||
@ -308,13 +311,14 @@ void VirtualMachineDeploy::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
string hostname;
|
||||
string vmm_mad;
|
||||
string vnm_mad;
|
||||
string tm_mad;
|
||||
|
||||
int id = xmlrpc_c::value_int(paramList.getInt(1));
|
||||
int hid = xmlrpc_c::value_int(paramList.getInt(2));
|
||||
|
||||
bool auth = false;
|
||||
|
||||
if (get_host_information(hid,hostname,vmm_mad,vnm_mad,att, host_perms) != 0)
|
||||
if (get_host_information(hid,hostname,vmm_mad,vnm_mad,tm_mad,att, host_perms) != 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -341,7 +345,7 @@ void VirtualMachineDeploy::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
return;
|
||||
}
|
||||
|
||||
if ( add_history(vm,hid,hostname,vmm_mad,vnm_mad,att) != 0)
|
||||
if ( add_history(vm,hid,hostname,vmm_mad,vnm_mad,tm_mad,att) != 0)
|
||||
{
|
||||
vm->unlock();
|
||||
return;
|
||||
@ -369,6 +373,7 @@ void VirtualMachineMigrate::request_execute(xmlrpc_c::paramList const& paramList
|
||||
string hostname;
|
||||
string vmm_mad;
|
||||
string vnm_mad;
|
||||
string tm_mad;
|
||||
|
||||
int id = xmlrpc_c::value_int(paramList.getInt(1));
|
||||
int hid = xmlrpc_c::value_int(paramList.getInt(2));
|
||||
@ -376,7 +381,7 @@ void VirtualMachineMigrate::request_execute(xmlrpc_c::paramList const& paramList
|
||||
|
||||
bool auth = false;
|
||||
|
||||
if (get_host_information(hid,hostname,vmm_mad,vnm_mad,att, host_perms) != 0)
|
||||
if (get_host_information(hid,hostname,vmm_mad,vnm_mad,tm_mad,att, host_perms) != 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -405,7 +410,7 @@ void VirtualMachineMigrate::request_execute(xmlrpc_c::paramList const& paramList
|
||||
return;
|
||||
}
|
||||
|
||||
if ( add_history(vm,hid,hostname,vmm_mad,vnm_mad,att) != 0)
|
||||
if ( add_history(vm,hid,hostname,vmm_mad,vnm_mad,tm_mad,att) != 0)
|
||||
{
|
||||
vm->unlock();
|
||||
return;
|
||||
|
@ -44,6 +44,7 @@ History::History(
|
||||
hid(-1),
|
||||
vmm_mad_name(""),
|
||||
vnm_mad_name(""),
|
||||
tm_mad_name(""),
|
||||
stime(0),
|
||||
etime(0),
|
||||
prolog_stime(0),
|
||||
@ -64,6 +65,7 @@ History::History(
|
||||
const string& _hostname,
|
||||
const string& _vmm,
|
||||
const string& _vnm,
|
||||
const string& _tmm,
|
||||
const string& _vm_info):
|
||||
oid(_oid),
|
||||
seq(_seq),
|
||||
@ -71,6 +73,7 @@ History::History(
|
||||
hid(_hid),
|
||||
vmm_mad_name(_vmm),
|
||||
vnm_mad_name(_vnm),
|
||||
tm_mad_name(_tmm),
|
||||
stime(0),
|
||||
etime(0),
|
||||
prolog_stime(0),
|
||||
@ -292,6 +295,7 @@ string& History::to_xml(string& xml, bool database) const
|
||||
"<ETIME>" << etime << "</ETIME>" <<
|
||||
"<VMMMAD>" << vmm_mad_name << "</VMMMAD>"<<
|
||||
"<VNMMAD>" << vnm_mad_name << "</VNMMAD>"<<
|
||||
"<TMMAD>" << tm_mad_name << "</TMMAD>" <<
|
||||
"<PSTIME>" << prolog_stime << "</PSTIME>"<<
|
||||
"<PETIME>" << prolog_etime << "</PETIME>"<<
|
||||
"<RSTIME>" << running_stime << "</RSTIME>"<<
|
||||
@ -328,6 +332,10 @@ int History::rebuild_attributes()
|
||||
rc += xpath(etime , "/HISTORY/ETIME", 0);
|
||||
rc += xpath(vmm_mad_name , "/HISTORY/VMMMAD", "not_found");
|
||||
xpath(vnm_mad_name , "/HISTORY/VNMMAD", "dummy");
|
||||
|
||||
// TODO: add TMMAD element in onedb migrator
|
||||
rc += xpath(tm_mad_name , "/HISTORY/TMMAD", "not_found");
|
||||
|
||||
rc += xpath(prolog_stime , "/HISTORY/PSTIME", 0);
|
||||
rc += xpath(prolog_etime , "/HISTORY/PETIME", 0);
|
||||
rc += xpath(running_stime , "/HISTORY/RSTIME", 0);
|
||||
|
@ -826,7 +826,8 @@ void VirtualMachine::add_history(
|
||||
int hid,
|
||||
const string& hostname,
|
||||
const string& vmm_mad,
|
||||
const string& vnm_mad)
|
||||
const string& vnm_mad,
|
||||
const string& tm_mad)
|
||||
{
|
||||
ostringstream os;
|
||||
int seq;
|
||||
@ -851,6 +852,7 @@ void VirtualMachine::add_history(
|
||||
hostname,
|
||||
vmm_mad,
|
||||
vnm_mad,
|
||||
tm_mad,
|
||||
vm_xml);
|
||||
|
||||
history_records.push_back(history);
|
||||
@ -877,6 +879,7 @@ void VirtualMachine::cp_history()
|
||||
history->hostname,
|
||||
history->vmm_mad_name,
|
||||
history->vnm_mad_name,
|
||||
history->tm_mad_name,
|
||||
vm_xml);
|
||||
|
||||
previous_history = history;
|
||||
@ -906,6 +909,7 @@ void VirtualMachine::cp_previous_history()
|
||||
previous_history->hostname,
|
||||
previous_history->vmm_mad_name,
|
||||
previous_history->vnm_mad_name,
|
||||
previous_history->tm_mad_name,
|
||||
vm_xml);
|
||||
|
||||
previous_history = history;
|
||||
|
Loading…
x
Reference in New Issue
Block a user