mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-13 12:58:17 +03:00
Merge branch 'juanmont-feature-5015' into feature-5015
This commit is contained in:
commit
c68b54851e
@ -141,6 +141,13 @@ private:
|
||||
*/
|
||||
int insert_replace(SqlDB *db, bool replace, string& error_str);
|
||||
|
||||
/**
|
||||
* Execute this method after update the template.
|
||||
* @param error Returns the error reason, if any
|
||||
* @return 0 one success
|
||||
*/
|
||||
int post_update_template(string& error);
|
||||
|
||||
/**
|
||||
* Bootstraps the database table(s) associated to the VMTemplate
|
||||
* @return 0 on success
|
||||
@ -160,6 +167,11 @@ private:
|
||||
*/
|
||||
int from_xml(const string &xml_str);
|
||||
|
||||
/**
|
||||
* This method removes sched_action DONE/MESSAGE attributes
|
||||
*/
|
||||
void parse_sched_action();
|
||||
|
||||
protected:
|
||||
|
||||
// *************************************************************************
|
||||
|
@ -74,13 +74,16 @@ int VMTemplate::insert(SqlDB *db, string& error_str)
|
||||
// ---------------------------------------------------------------------
|
||||
// Check default attributes
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
erase_template_attribute("NAME", name);
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Remove DONE/MESSAGE from SCHED_ACTION
|
||||
// ---------------------------------------------------------------------
|
||||
parse_sched_action();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Insert the Template
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
return insert_replace(db, false, error_str);
|
||||
}
|
||||
|
||||
@ -167,6 +170,30 @@ error_common:
|
||||
return -1;
|
||||
}
|
||||
|
||||
void VMTemplate::parse_sched_action()
|
||||
{
|
||||
vector<VectorAttribute *> _sched_actions;
|
||||
vector<VectorAttribute *>::iterator i;
|
||||
|
||||
get_template_attribute("SCHED_ACTION", _sched_actions);
|
||||
|
||||
for ( i = _sched_actions.begin(); i != _sched_actions.end() ; ++i)
|
||||
{
|
||||
(*i)->remove("DONE");
|
||||
(*i)->remove("MESSAGE");
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
int VMTemplate::post_update_template(string& error)
|
||||
{
|
||||
parse_sched_action();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ************************************************************************ */
|
||||
/* VMTemplate :: Misc */
|
||||
/* ************************************************************************ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user