SSL ConectivityCase 1
[Documentation] Test of SSL security with two SXP-nodes both have each other in truststores
[Tags] SXP SSL
- Add Connection ${version} speaker 127.0.0.2 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} listener 127.0.0.1 64999 127.0.0.2 security_mode=TLS
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.2
+ SxpLib.Add Connection ${version} speaker 127.0.0.2 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} listener 127.0.0.1 64999 127.0.0.2 security_mode=TLS
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.2
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.1
... 64999 127.0.0.2
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.2
- Add Connection ${version} listener 127.0.0.2 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.2 security_mode=TLS
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.2
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.2
+ SxpLib.Add Connection ${version} listener 127.0.0.2 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.2 security_mode=TLS
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.2
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.2
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.2
- Add Connection ${version} both 127.0.0.2 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} both 127.0.0.1 64999 127.0.0.2 security_mode=TLS
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} both 127.0.0.2
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.2
+ SxpLib.Add Connection ${version} both 127.0.0.2 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} both 127.0.0.1 64999 127.0.0.2 security_mode=TLS
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} both 127.0.0.2
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} both 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} both 127.0.0.1
... 64999 127.0.0.2
SSL ConectivityCase 2
[Documentation] Test of SSL security with two SXP-nodes while node-1 does not contain node-3 in truststore
[Tags] SXP SSL
- Add Connection ${version} speaker 127.0.0.3 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} listener 127.0.0.1 64999 127.0.0.3 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} speaker 127.0.0.3
+ SxpLib.Add Connection ${version} speaker 127.0.0.3 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} listener 127.0.0.1 64999 127.0.0.3 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.3
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} listener 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.1
... 64999 127.0.0.3
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.3
- Add Connection ${version} listener 127.0.0.3 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.3 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} listener 127.0.0.3
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.3
+ SxpLib.Add Connection ${version} listener 127.0.0.3 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.3 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.3
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} speaker 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.3
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.3
- Add Connection ${version} both 127.0.0.3 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} both 127.0.0.1 64999 127.0.0.3 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} both 127.0.0.3
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.3
+ SxpLib.Add Connection ${version} both 127.0.0.3 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} both 127.0.0.1 64999 127.0.0.3 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} both 127.0.0.3
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} both 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} both 127.0.0.1
... 64999 127.0.0.3
SSL ConectivityCase 3
[Documentation] Test of SSL security with two SXP-nodes while both of nodes does not have each other in truststores
[Tags] SXP SSL
- Add Connection ${version} speaker 127.0.0.4 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} listener 127.0.0.1 64999 127.0.0.4 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} speaker 127.0.0.4
+ SxpLib.Add Connection ${version} speaker 127.0.0.4 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} listener 127.0.0.1 64999 127.0.0.4 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.4
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} listener 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.1
... 64999 127.0.0.4
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.4
- Add Connection ${version} listener 127.0.0.4 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.4 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} listener 127.0.0.4
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.4
+ SxpLib.Add Connection ${version} listener 127.0.0.4 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.4 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.4
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} speaker 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.4
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.4
- Add Connection ${version} both 127.0.0.4 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} both 127.0.0.1 64999 127.0.0.4 security_mode=TLS
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} both 127.0.0.4
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.4
+ SxpLib.Add Connection ${version} both 127.0.0.4 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} both 127.0.0.1 64999 127.0.0.4 security_mode=TLS
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} both 127.0.0.4
... 64999 127.0.0.1
- Verify_Keyword_Never_Passes_Within_Timeout 15 1 Verify Connection ${version} both 127.0.0.1
+ WaitForFailure.Verify_Keyword_Never_Passes_Within_Timeout 15 1 SxpLib.Verify Connection ${version} both 127.0.0.1
... 64999 127.0.0.4
SSL ConectivityCase 4
... uses TCP-MD5 and SSL security. Each node conatains series of bindings that in the end should
... be all propagated to node-5 in topology.
[Tags] SXP SSL
- Add Connection ${version} listener 127.0.0.2 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.2 security_mode=TLS
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.2
+ SxpLib.Add Connection ${version} listener 127.0.0.2 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.2 security_mode=TLS
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.2
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.2
- Add Connection ${version} listener 127.0.0.3 64999 127.0.0.1 paswd
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.3 paswd
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.3
+ SxpLib.Add Connection ${version} listener 127.0.0.3 64999 127.0.0.1 paswd
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.3 paswd
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.3
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.3
- Add Connection ${version} listener 127.0.0.4 64999 127.0.0.1
- Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.4
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.4
+ SxpLib.Add Connection ${version} listener 127.0.0.4 64999 127.0.0.1
+ SxpLib.Add Connection ${version} speaker 127.0.0.1 64999 127.0.0.4
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.4
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.1
... 64999 127.0.0.4
- Add Connection ${version} speaker 127.0.0.5 64999 127.0.0.1 security_mode=TLS
- Add Connection ${version} listener 127.0.0.1 64999 127.0.0.5 security_mode=TLS
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} speaker 127.0.0.5
+ SxpLib.Add Connection ${version} speaker 127.0.0.5 64999 127.0.0.1 security_mode=TLS
+ SxpLib.Add Connection ${version} listener 127.0.0.1 64999 127.0.0.5 security_mode=TLS
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} speaker 127.0.0.5
... 64999 127.0.0.1
- Wait Until Keyword Succeeds 15 1 Verify Connection ${version} listener 127.0.0.1
+ BuiltIn.Wait Until Keyword Succeeds 15 1 SxpLib.Verify Connection ${version} listener 127.0.0.1
... 64999 127.0.0.5
- Wait Until Keyword Succeeds 15 1 Verify Topology Bindings 6
+ BuiltIn.Wait Until Keyword Succeeds 15 1 Verify Topology Bindings 6
*** Keywords ***
Setup SXP Environment Local
[Arguments] ${node_range}
[Documentation] Create session to Controller, copy keystores to ODL machines and setup topology for testing
- Setup SXP Session
- Open_Connection_To_ODL_System
+ RequestsLibrary.Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} timeout=${DEFAULT_TIMEOUT_HTTP} max_retries=0
+ SSHKeywords.Open_Connection_To_ODL_System
${ODL_SYSTEM_JAVA_HOME} SSHLibrary.Execute_Command java -XshowSettings:properties -version 2>&1 | grep java.home | sed 's/.*= //'
: FOR ${node} IN RANGE 1 ${node_range}
\ SSHKeywords.Execute_Command_Should_Pass ${ODL_SYSTEM_JAVA_HOME}/bin/keytool -genkeypair -alias odl-sxp-${node} -keyalg RSA -storepass ${password} -keypass ${password} -dname "CN=www.opendaylight.org, OU=csit, O=ODL, L=N/A, S=N/A, C=N/A" -keystore csit-keystore-${node}
SSHKeywords.Execute_Command_Should_Pass mv ./csit-truststore-* ${ssl_stores}
SSHLibrary.Close Connection
: FOR ${node} IN RANGE 1 ${node_range}
- \ ${SSL} Create Dictionary truststore=${ssl_stores}/csit-truststore-${node} keystore=${ssl_stores}/csit-keystore-${node} password=${password}
- \ Add Node 127.0.0.${node} ${EMPTY} ssl_stores=${SSL}
- \ Add Binding ${node}00 1.1.1.${node}/32 127.0.0.${node}
- \ Add Binding ${node}00 2.2.2.${node}/32 127.0.0.${node}
+ \ ${SSL} BuiltIn.Create Dictionary truststore=${ssl_stores}/csit-truststore-${node} keystore=${ssl_stores}/csit-keystore-${node} password=${password}
+ \ ${rnd_retry_time} = BuiltIn.Evaluate random.randint(1, 5) modules=random
+ \ SxpLib.Add Node 127.0.0.${node} ${EMPTY} ssl_stores=${SSL} retry_open_timer=${rnd_retry_time}
+ \ SxpLib.Add Bindings ${node}00 1.1.1.${node}/32 127.0.0.${node}
+ \ SxpLib.Add Bindings ${node}00 2.2.2.${node}/32 127.0.0.${node}
Verify Topology Bindings
[Arguments] ${node_range}
[Documentation] Create session to Controller
- ${resp} Get Bindings 127.0.0.5
+ ${resp} SxpLib.Get Bindings 127.0.0.5
: FOR ${node} IN RANGE 1 ${node_range}
- \ Should Contain Binding ${resp} ${node}00 2.2.2.${node}/32
+ \ SxpLib.Should Contain Binding ${resp} ${node}00 2.2.2.${node}/32
Clean Nodes
[Documentation] Cleanup of resources alocated by test suite
- Clean Connections 127.0.0.1
- Clean Connections 127.0.0.2
- Clean Connections 127.0.0.3
- Clean Connections 127.0.0.4
- Clean Connections 127.0.0.5
+ SxpLib.Clean Connections 127.0.0.1
+ SxpLib.Clean Connections 127.0.0.2
+ SxpLib.Clean Connections 127.0.0.3
+ SxpLib.Clean Connections 127.0.0.4
+ SxpLib.Clean Connections 127.0.0.5