a907b58832244ecaf1c42a4383724aee84db7f0e
[integration/test.git] / csit / libraries / NettyReplication.robot
1 *** Settings ***
2 Documentation     Netty replication library. This library can be used to setup and teardown netty replication connections.
3 Resource          KarafKeywords.robot
4 Resource          ClusterManagement.robot
5
6 *** Variables ***
7 ${DEFAULT_NETTY_SOURCE_NODE_INDEX}    ${1}
8 @{DEFAULT_NETTY_SINK_NODE_INDEXES}    ${2}
9
10 *** Keywords ***
11 Setup_Netty_Replication
12     [Arguments]    ${source_member_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}    ${sink_members_indexes}=${DEFAULT_NETTY_SINK_NODE_INDEXES}
13     [Documentation]    Set up netty replication connections betwean source and sinks.
14     Open_Source_Connection    ${source_member_index}
15     FOR    ${sink_member_index}    IN    @{sink_members_indexes}
16         Open_Sink_Connection    ${sink_member_index}    source_member_index=${source_member_index}
17     END
18
19 Teardown_Netty_Replication
20     [Arguments]    ${source_member_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}    ${sink_members_indexes}=${DEFAULT_NETTY_SINK_NODE_INDEXES}
21     [Documentation]    Tear down netty replication connections betwean source and sinks.
22     Close_Source_Connection    ${source_member_index}
23     FOR    ${sink_member_index}    IN    @{sink_members_indexes}
24         Close_Sink_Connection    ${sink_member_index}
25     END
26
27 Open_Source_Connection
28     [Arguments]    ${source_member_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}
29     [Documentation]    Open source part of netty replicate connection on specific node.
30     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:edit org.opendaylight.mdsal.replicate.netty.source    member_index=${source_member_index}
31     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:property-set enabled true    member_index=${source_member_index}
32     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:update    member_index=${source_member_index}
33
34 Close_Source_Connection
35     [Arguments]    ${source_member_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}
36     [Documentation]    Close source part of netty replicate connection on specific node.
37     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:edit org.opendaylight.mdsal.replicate.netty.source    member_index=${source_member_index}
38     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:property-set enabled false    member_index=${source_member_index}
39     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:update    member_index=${source_member_index}
40
41 Open_Sink_Connection
42     [Arguments]    ${sink_member_index}=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]    ${source_member_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}
43     [Documentation]    Open sink part of netty replicate connection on specific node.
44     ${replicate_source_ip}=    ClusterManagement.Resolve_Ip_Address_For_Member    ${source_member_index}
45     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:edit org.opendaylight.mdsal.replicate.netty.sink    member_index=${sink_member_index}
46     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:property-set enabled true    member_index=${sink_member_index}
47     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:property-set source-host ${replicate_source_ip}    member_index=${sink_member_index}
48     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:update    member_index=${sink_member_index}
49
50 Close_Sink_Connection
51     [Arguments]    ${sink_member_index}=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
52     [Documentation]    Close sink part of netty replicate connection on specific node.
53     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:edit org.opendaylight.mdsal.replicate.netty.sink    member_index=${sink_member_index}
54     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:property-set enabled false    member_index=${sink_member_index}
55     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    config:update    member_index=${sink_member_index}