Log ${output}
[Return] ${output}
+Install a Feature Using Active Connection
+ [Arguments] ${feature_name}
+ [Documentation] Will Install the given ${feature_name} using active connection
+ ${cmd}= BuiltIn.Set_Variable feature:install ${feature_name}
+ Write ${cmd}
+ ${output} SSHLibrary.Read_Until ${KARAF_PROMPT}
+ Log ${output}
+ [Return] ${output}
+
Uninstall a Feature
[Arguments] ${feature_name} ${controller}=${ODL_SYSTEM_IP} ${karaf_port}=${KARAF_SHELL_PORT} ${timeout}=180
[Documentation] Will UnInstall the given ${feature_name}
SSHLibrary.Login ${KARAF_USER} ${KARAF_PASSWORD}
[Teardown] SSHKeywords.Restore Current SSH Connection From Index ${current_ssh_connection_object.index}
+Open Controller Karaf Console With Timeout
+ [Arguments] ${member_index}=${1} ${timeout}=3s
+ [Documentation] Open new connection to karaf console for member index with specified timeout.
+ BuiltIn.Log ${member_index}
+ ${odl_ip}= ClusterManagement.Resolve_IP_Address_For_Member ${member_index}
+ SSHLibrary.Open Connection ${odl_ip} port=${KARAF_SHELL_PORT} prompt=${KARAF_DETAILED_PROMPT} timeout=${timeout}
+ SSHLibrary.Login ${KARAF_USER} ${KARAF_PASSWORD}
+
Configure Timeout For Karaf Console
[Arguments] ${timeout} ${member_index_list}=${EMPTY}
[Documentation] Configure a different timeout for each Karaf console.
--- /dev/null
+*** Settings ***
+Documentation Bug 4462 test suite.
+...
+... Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
+...
+... This program and the accompanying materials are made available under the
+... terms of the Eclipse Public License v1.0 which accompanies this distribution,
+... and is available at http://www.eclipse.org/legal/epl-v10.html
+...
+...
+... Try to detect whether Karaf hangs when trying to install
+... list of features one by one. Default list is odl-integration-compatible-with-all.
+Suite Setup SetupUtils.Setup_Utils_For_Setup_And_Teardown
+Default Tags critical distribution features
+Resource ${CURDIR}/../../libraries/ClusterManagement.robot
+Resource ${CURDIR}/../../libraries/SetupUtils.robot
+Resource ${CURDIR}/../../libraries/SSHKeywords.robot
+Resource ${CURDIR}/../../variables/Variables.robot
+Library XML
+Library SSHLibrary
+
+*** Variables ***
+${FEATURES_LIST_NAME} odl-integration-compatible-with-all
+${FEATURE_INSTALL_TIMEOUT} 10m
+
+*** Testcases ***
+Install_Features_One_By_One
+ [Documentation] Try to install current list of features and check whether Karaf hangs on it or not (bug 4462).
+ SSHKeywords.Open_Connection_To_ODL_System
+ ${actual_version}= BuiltIn.Evaluate '''${BUNDLEFOLDER}'''[len("distribution-karaf-"):]
+ SSHLibrary.Get_File ${WORKSPACE}/${BUNDLEFOLDER}/system/org/opendaylight/integration/features-integration-test/${actual_version}/features-integration-test-${actual_version}-features.xml features.xml
+ @{features}= XML.Get_Elements_Texts features.xml .feature[@name="${FEATURES_LIST_NAME}"]/feature
+ Collections.Log_List ${features}
+ KarafKeywords.Open_Controller_Karaf_Console_With_Timeout ${1} ${FEATURE_INSTALL_TIMEOUT}
+ : FOR ${feature} IN @{features}
+ \ KarafKeywords.Log_Message_To_Controller_Karaf Installing feature: ${feature}
+ \ KarafKeywords.Install_a_Feature_Using_Active_Connection ${feature}