+Install Features
+ [Arguments] ${features} ${timeout}=180
+ [Documentation] Install features according to tested distribution
+ Install Features for Other Distributions ${features} ${timeout}
+
+Install Features for Beryllium Distribution
+ [Arguments] ${features} ${timeout}
+ [Documentation] Will wait for features to install only once per run
+ Install a Feature ${features} timeout=${timeout}
+ Set Global Variable If It Does Not Exist \${WAIT_FOR_FEATURES_TO_INSTALL} ${TRUE}
+ Run Keyword If ${WAIT_FOR_FEATURES_TO_INSTALL} Run Keywords Wait For Karaf Log Registering Topology Request Listener ${timeout}
+ ... AND Set Global Variable \${WAIT_FOR_FEATURES_TO_INSTALL} ${FALSE}
+
+Install Features for Other Distributions
+ [Arguments] ${features} ${timeout}
+ [Documentation] Will wait for features to install only if no topoprocessing feature was installed
+ ${installed_features} Issue Command On Karaf Console feature:list -i
+ ${lines} Get Lines Containing String ${installed_features} odl-topoprocessing-framework
+ ${length} Get Length ${lines}
+ Install a Feature ${features} timeout=${timeout}
+ Run Keyword If ${length} == 0 Wait For Karaf Log Registering Topology Request Listener ${timeout}
+