Use rate of 5 to avoid false failures
[integration/test.git] / csit / suites / controller / cluster_singleton / chasing_the_leader.robot
1 *** Settings ***
2 Documentation     Cluster Singleton testing: Chasing the Leader
3 ...
4 ...               Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
5 ...
6 ...               This program and the accompanying materials are made available under the
7 ...               terms of the Eclipse Public License v1.0 which accompanies this distribution,
8 ...               and is available at http://www.eclipse.org/legal/epl-v10.html
9 ...
10 ...               This test aims to establish the service operates correctly when faced with
11 ...               rapid application transitions without having a stabilized application.
12 Suite Setup       Setup_Keyword
13 Suite Teardown    SSHLibrary.Close_All_Connections
14 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
15 Test Teardown     SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed
16 Default Tags      critical
17 Library           SSHLibrary
18 Resource          ${CURDIR}/../../../libraries/controller/CsCommon.robot
19 Resource          ${CURDIR}/../../../libraries/CompareStream.robot
20 Resource          ${CURDIR}/../../../libraries/SetupUtils.robot
21
22 *** Variables ***
23 ${TEST_DURATION}    1m
24 ${ACCEPTED_PER_SEC_RATE}    5
25 # NOTE: The shared infra that we use can sometimes be sluggish and we get false failures.
26 # There are cases when the rate will be under 20 as well as over 100. Normally it is over
27 # 50, but in order to stabilize our tests and avoid false failures this rate has been set
28 # low. The test will still fail if there are failed registrations during the "flapping".
29 # Some discussion of this can be found in the comments of
30 # https://git.opendaylight.org/gerrit/#/c/74692/.
31
32 *** Test Cases ***
33 Register_Candidates
34     [Documentation]    Register a candidate application on each node which starts the test.
35     CsCommon.Register_Flapping_Singleton_On_Nodes    ${cs_all_indices}
36
37 Do_Nothing
38     [Documentation]    Do nothing for the time of the test duration, because there is no api to monitor the statistics
39     ...    during the test execution. Statistics are available only at the end, when unregister-flapping-singleton rpc is
40     ...    called.
41     BuiltIn.Sleep    ${TEST_DURATION}
42
43 Unregister_Candidates_And_Validate_Criteria
44     [Documentation]    Unregister the testing service and check recevied statistics.
45     CsCommon.Unregister_Flapping_Singleton_On_Nodes_And_Validate_Results    ${cs_all_indices}    ${ACCEPTED_PER_SEC_RATE}    ${TEST_DURATION}
46
47 *** Keywords ***
48 Setup_Keyword
49     SetupUtils.Setup_Utils_For_Setup_And_Teardown    http_timeout=125
50     CsCommon.Cluster_Singleton_Init