--- 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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel