---
src/smf/smfd/SmfUpgradeProcedure.cc | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/smf/smfd/SmfUpgradeProcedure.cc
b/src/smf/smfd/SmfUpgradeProcedure.cc
index 1b8afe806..2937c70ee 100644
--- a/src/smf/smfd/SmfUpgradeProcedure.cc
+++ b/src/smf/smfd/SmfUpgradeProcedure.cc
@@ -572,6 +572,22 @@ bool SmfUpgradeProcedure::calculateRollingSteps(
const std::list<SmfParentType *> &actUnitTemplates =
nodeTemplate->getActivationUnitTemplateList();
+ // If we have all empty elements in a procedure do not create steps for it.
+ // The reason is that we do not want to lock/unlock nodes when there is no
+ // software to install or remove.
+ if (m_beforeLock.empty() &&
+ m_beforeTerm.empty() &&
+ m_afterImmModify.empty() &&
+ m_afterInstantiate.empty() &&
+ m_afterUnlock.empty() &&
+ nodeTemplate->getSwInstallList().empty() &&
+ nodeTemplate->getSwRemoveList().empty() &&
+ byTemplate->getTargetEntityTemplate().empty() &&
+ actUnitTemplates.size() == 0) {
+ LOG_WA("%s: not creating step when elements are empty", __FUNCTION__);
+ return true;
+ }
+
if (actUnitTemplates.size() == 0) {
/* No activation unit templates, use node list as activation/deactivation
* units */
--
2.13.0
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel