# Place the suites in run order:
integration/test/csit/scripts/set_persistence_off.sh
+integration/test/csit/scripts/set_openflow_tls.sh
Variables ../variables/Variables.py
*** Variables ***
+${switch_private_key} switch.key
+${switch_certificate} switch.crt
+${controller_ca_list} cachain.crt
${topology_file} create_fullymesh.py
${topology_file_path} MininetTopo/${topology_file}
[Documentation] Start Mininet with custom topology and connect to controller.
Log Clear any existing mininet
Utils.Clean Mininet System ${mininet}
- ${mininet_conn_id}= SSHLibrary.Open Connection ${mininet} prompt=${TOOLS_SYSTEM_PROMPT} timeout=${timeout}
+ ${mininet_conn_id}= SSHKeywords.Open_Connection_To_Tools_System
Set Suite Variable ${mininet_conn_id}
- SSHKeywords.Flexible Mininet Login
Run Keyword If '${custom}' != '${EMPTY}' Put File ${custom}
Log Start mininet ${options} to ${controller}
SSHLibrary.Write sudo mn --controller 'remote,ip=${controller},port=${ofport}' ${options} --switch ovsk,protocols=OpenFlow${ofversion}
[Return] ${mininet_conn_id}
Start Mininet Multiple Controllers
- [Arguments] ${mininet} ${controller_index_list}=${EMPTY} ${options}=--topo tree,1 ${custom}=${EMPTY} ${ofversion}=13 ${ofport}=${ODL_OF_PORT}
- ... ${timeout}=${DEFAULT_TIMEOUT}
+ [Arguments] ${mininet}=${TOOLS_SYSTEM_IP} ${controller_index_list}=${EMPTY} ${options}=--topo tree,1 ${custom}=${EMPTY} ${ofversion}=13 ${ofport}=${ODL_OF_PORT}
+ ... ${protocol}=tcp ${timeout}=${DEFAULT_TIMEOUT}
[Documentation] Start Mininet with custom topology and connect to list of controllers in ${controller_index_list} or all if no list is provided.
${index_list} = ClusterManagement.List Indices Or All given_list=${controller_index_list}
Log Clear any existing mininet
Utils.Clean Mininet System ${mininet}
- ${mininet_conn_id}= SSHLibrary.Open Connection ${mininet} prompt=${TOOLS_SYSTEM_PROMPT} timeout=${timeout}
+ ${mininet_conn_id}= SSHKeywords.Open_Connection_To_Tools_System
Set Suite Variable ${mininet_conn_id}
- SSHKeywords.Flexible Mininet Login
Run Keyword If '${custom}' != '${EMPTY}' Put File ${custom}
+ Run Keyword If '${protocol}' == 'ssl' Install Certificates In Mininet
Log Start mininet ${options}
SSHLibrary.Write sudo mn ${options}
SSHLibrary.Read Until mininet>
Log Create controller configuration
${controller_opt}= Set Variable
: FOR ${index} IN @{index_list}
- \ ${controller_opt}= Catenate ${controller_opt} ${SPACE}tcp:${ODL_SYSTEM_${index}_IP}:${ofport}
+ \ ${controller_opt}= Catenate ${controller_opt} ${SPACE}${protocol}:${ODL_SYSTEM_${index}_IP}:${ofport}
\ Log ${controller_opt}
- Log Find Number of OVS bridges
- ${num_bridges} Utils.Run Command On Mininet ${mininet} sudo ovs-vsctl show | grep Bridge | wc -l
+ Log Open extra SSH connection to configure the OVS bridges
+ SSHKeywords.Open_Connection_To_Tools_System
+ ${num_bridges} SSHLibrary.Execute Command sudo ovs-vsctl show | grep Bridge | wc -l
${num_bridges}= Convert To Integer ${num_bridges}
Log Configure OVS controllers ${controller_opt} in all bridges
: FOR ${i} IN RANGE 1 ${num_bridges+1}
- \ ${bridge}= Utils.Run Command On Mininet ${mininet} sudo ovs-vsctl show | grep Bridge | cut -c 12- | sort | head -${i} | tail -1
- \ OVSDB.Set Controller In OVS Bridge ${mininet} ${bridge} ${controller_opt} ${ofversion}
+ \ ${bridge}= SSHLibrary.Execute Command sudo ovs-vsctl show | grep Bridge | cut -c 12- | sort | head -${i} | tail -1
+ \ SSHLibrary.Execute Command sudo ovs-vsctl set bridge ${bridge} protocols=OpenFlow${ofversion}
+ \ SSHLibrary.Execute Command sudo ovs-vsctl set-controller ${bridge} ${controller_opt}
Log Check OVS configuratiom
- SSHLibrary.Write sh ovs-vsctl show
- SSHLibrary.Read Until mininet>
+ ${output}= SSHLibrary.Execute Command sudo ovs-vsctl show
+ Log ${output}
+ SSHLibrary.Close Connection
[Return] ${mininet_conn_id}
Start Mininet Multiple Hosts
\ ${h}= String.Get Lines Matching Regexp ${item} h[0-9]*
\ Run Keyword If '${h}' != '${EMPTY}' Append To List ${host_list} ${h}
[Return] ${host_list}
+
+Install Certificates In Mininet
+ [Documentation] Copy and install certificates in simulator.
+ Comment Copy Certificates
+ SSHLibrary.Put File ${CURDIR}/tls/${switch_private_key} .
+ SSHLibrary.Put File ${CURDIR}/tls/${switch_certificate} .
+ SSHLibrary.Put File ${CURDIR}/tls/${controller_ca_list} .
+ Comment Install Certificates
+ SSHLibrary.Execute Command sudo mv ${switch_private_key} /etc/openvswitch && sudo mv ${switch_certificate} /etc/openvswitch && sudo mv ${controller_ca_list} /etc/openvswitch
+ SSHLibrary.Execute Command sudo ovs-vsctl set-ssl /etc/openvswitch/${switch_private_key} /etc/openvswitch/${switch_certificate} /etc/openvswitch/${controller_ca_list}
+ ${std_out}= SSHLibrary.Execute Command . sudo ovs-vsctl get-ssl
+ Log ${std_out}
Resource ./MininetKeywords.robot
*** variable ***
-${vlan_topo} --custom vlan_vtn_test.py --topo vlantopo --switch ovsk,protocols=OpenFlow13
+${vlan_topo} --custom vlan_vtn_test.py --topo vlantopo
${vtn_coordinator_nexus_path} https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/vtn/distribution.vtn-coordinator
${vtn_dist} distribution.vtn-coordinator
--- /dev/null
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFXjCCA0YCAQEwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCVVMxCzAJBgNV
+BAgMAkNBMRIwEAYDVQQHDAlQYWxvIEFsdG8xGDAWBgNVBAoMD0x1bWluYSBOZXR3
+b3JrczENMAsGA1UECwwEUm9vdDEcMBoGA1UEAwwTUm9vdCBDQSBDZXJ0aWZpY2F0
+ZTAeFw0xODA1MjQwMjU0MjFaFw0yMzA1MjMwMjU0MjFaMHUxCzAJBgNVBAYTAlVT
+MQswCQYDVQQIDAJDQTESMBAGA1UEBwwJUGFsbyBBbHRvMRgwFgYDVQQKDA9MdW1p
+bmEgTmV0d29ya3MxDTALBgNVBAsMBEludDExHDAaBgNVBAMME0ludDEgQ0EgY2Vy
+dGlmaWNhdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCs8aGBWyGh
+B7jdfNHipWPxRdOB1q/cafg/h5FfJ8ytWHX8oFRqecbjiDjMXL/40oGOJC8z44Ah
+6R6PBSnhhlvmJhKJBE1lUOVRvpYNGeaD8Nh8sqr32ZE+9Ie/ddAqAwTpuWy2hH4N
+svGZvSjqXS0GM/0BVEGXRVO8NSkVdESOdBScHmAn3flB6lQIteVpgsyfPrfd1rVY
+cXY4nW8nJTlyTXUgmYzCkUVOnMKl0u3nj2d4wXOWedZ3MMkonL0Vv9ode41HHQk5
+aQuRLDj6ShJm/H5Sa+40W7JfIc5lAkTZQJ7ore1uaRZcI8/2XS4tztnSYFfnyRwD
+uoiGPXq7Brrgj0SRWQXF0pgAw3Pon2Az7IhVbL/dpoEce49yFxg8lTjQKm41P9oE
+cElgLqwtfL00kLcAk9kp6+xG2Hs9bmO3BZ23+mj8NQhPybuL95D0MaXawtH0YHBw
+jh0u7EQoU1D9HARnQU/SgGyWa9Q1scHbcHSbPT9i3i0cBjoQKWSDGLJjah82Wbe8
+xoeJrZsO8ILtDL4/uEBkEO0E3Bjopi6DXOvXc5WUPeqU9tmUBfxHDjrL0T2ykywQ
+S8KF9AxN1ggnKfShYtvC0tfOhzClgWiU60f41nTzgmiXAZmYKqqErVzcfxBAnNzD
+evuVwuXJ75nAne849wO2oqnDA5m6PBPokwIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
+AQBbKXvGjO9tkJ6cdJsML6zyfS5iKmm55PcDd/NdtyoFbpp+FuGB7b4ejqo0KqIF
+EVsROxdd7RLcxvbt5K9/90+RVC13jleoXSOs7jwtOUkPEBsqCez9CLZ9PxeZrk5l
+mUjspoNWZUiaWJ8wHePfRDLYXeSnyOdJpEXLvokfiGW0atUoaANybAal7BAh1/GM
+CXYgUGoAhqzBTsddACDeMFuveLf63GCY1ZeEmYB5S2Wzy82lObbAQMX9pZsGXMSe
+g+bAO0u6/Ym22YzMmdVQ9FiCuaOJtmEPis8VDoE+5F3+eRQtu1SuYO0LUSnLiGYV
+jP60zMUurULzfTJk+W970iF5foIFSZNVuyxm5NvQfBJiU3BQES14RzV2TXooRmNj
+xAnYeE0P8JcV5Hop2n52aDgm1U/684pTCJpDvpRCDWgKc8HkqkRrR3tl9S0Fwl5M
+8VMqYJnpU0k4crOOMEgg/KgVAy9eXlPWPLOmcB08vQAT/ifv1Euod//OF9kW78gi
+oAlAo7PIeQHd+RczpN3fb5CVBqY+jAAfHQ0ORe663jUlCPACMiWEyorEnD3yQMf7
+YGW5DaKTmXBH85XiXtvtQlOGzaW9k4O72ixg+2gX/aA8hbOFCkZq85UHRpdPw+TI
+0xLZWPcE4cTtdwPzo7ZKmgWJpmPTj4GbjIf+RFtM44Zlrg==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFXjCCA0YCAQEwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCVVMxCzAJBgNV
+BAgMAkNBMRIwEAYDVQQHDAlQYWxvIEFsdG8xGDAWBgNVBAoMD0x1bWluYSBOZXR3
+b3JrczENMAsGA1UECwwESW50MTEcMBoGA1UEAwwTSW50MSBDQSBjZXJ0aWZpY2F0
+ZTAeFw0xODA1MjQwMjU4MzBaFw0yMzA1MjMwMjU4MzBaMHUxCzAJBgNVBAYTAlVT
+MQswCQYDVQQIDAJDQTESMBAGA1UEBwwJUGFsbyBBbHRvMRgwFgYDVQQKDA9MdW1p
+bmEgTmV0d29ya3MxDTALBgNVBAsMBEludDIxHDAaBgNVBAMME0ludDIgQ0EgQ2Vy
+dGlmaWNhdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvvXkcFFoo
+H48LaABMfP6OU4rwOtiBvwj6LfXpvPMSAyzBPEyTYdAeZhMppL4Sfn4kWcqacXji
+2TM4fzMhHfzu+IbrvzpqDGcjHAMXcb0K8HkAj2/6gwq31jV2qnNwt2LV9rEvuPrK
+G/ZPb56pbbV+M2VoqLrHrpq3W+U2j8yVqe2FOGohrMfsPZP95axqvMo/6SnP8GSi
+Z0tAR9ThifwO9s1ua96nmzrylWKYcXcFP+aCfKMZBR71W6VSfbEPjzfe6PfGwTCz
+takD75nL0Dpuci9XfbbleRLkZgIlMM6InpkQoyIvhhQzal28WUJMwYtMMYgzSV/C
++lGZFMUI1lKXQLQkgqYDzoXT7Ul1Oa/YrGM9BoymfASccs3s7FoDy1lYa5CLYQRy
+4MIJELfuJPvBJjxoB+royGHqu40BsAMvuDpQ5x/O5h+fdRYcg9RD5JG+BHrlE33Q
+yn5hlEsgTvN99mx9zCi5bnYVrKAthRdhC9vCu3NyTG2MVTnmTytNog3l4E/BdPyR
+BXAI1rfLnHiBR02Oztaf9nvrQPF0bb/ot9IEhD1RZb+T+0UvwKxQGsz0e5pnvdn/
+aQxp13kufusDEIXJnp54opiDDGVW/P+CI8lpoQx6fIu0KY4+WlRYWmtnYhyv66ty
+Z7RB6a4M1QPqmg8MFmI8+bERwKxXiBaWsQIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
+AQBS/mrXpRMCwX8vkvZyZ7QgNU2OCEJaRvE9OxSNtfvQnZYFIDjIcYgA9BSWjFiw
+XD6kUocKYpoESxHLmnqG7kTs3uXVi8y3dNSZna+0BGtE3gj+9fTYtQ7z6rjcxjqj
+xqDPCE8zAeyGPIQ2a85YJ8mWtez/LCkl2D6WFeZU73onCvzQ1cJKGQfpNfO6Je6o
+dmMXGrZYELhU57ErU6vwbA3+Hm1o32YPdQE/0Yb4Wlle68v71fdvyZAAVsZn51Df
+j845mh1LySN1HkwN/lC24V6PwPxdKFwKjQcPYEdrb0cVNyE7HZnmmtCjKygQDhRv
+ttdyaihVUrDFCty6wuxeTfFTEDRT/mU05+LvXBVTJ7VOgyf3wGiCV6IsWV06WYLj
+1lMDlRhogukUgCvMbKseVHYena8EgrczCqnjAalaTZtxrRcY0/vNF1s4N6QfzMrm
+mGKScwIYNtWUv4cdsDcvBeDbWeeNAWRYWalSbPXqPvRlhDpyYhHnGTDmZoMuVZp2
+9sZpoJdiVaByjLU4f7U9wMz0bDB0JWmOUhP2VS0j80plZ6MXMEoc2okUTvdO78y0
+oTSmmVQRRtG2Qd2/l9tLDs0opb4VgVkI5LNwemAO/jGwz1/nSnO7phL8weBc8OMa
+9CdMU0JhN3S0da4/cf4biv2y3afdvjCq6MEAKvKNFYSjQQ==
+-----END CERTIFICATE-----
--- /dev/null
+<switch-connection-config xmlns="urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:config">
+ <instance-name>openflow-switch-connection-provider-default-impl</instance-name>
+ <port>6653</port>
+ <transport-protocol>TLS</transport-protocol>
+ <group-add-mod-enabled>false</group-add-mod-enabled>
+ <channel-outbound-queue-size>1024</channel-outbound-queue-size>
+ <tls>
+ <keystore>etc/keystore.p12</keystore>
+ <keystore-type>PKCS12</keystore-type>
+ <keystore-path-type>PATH</keystore-path-type>
+ <keystore-password>opendaylight</keystore-password>
+ <truststore>etc/truststore.p12</truststore>
+ <truststore-type>PKCS12</truststore-type>
+ <truststore-path-type>PATH</truststore-path-type>
+ <truststore-password>opendaylight</truststore-password>
+ <certificate-password>opendaylight</certificate-password>
+ </tls>
+</switch-connection-config>
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIEXzCCAkcCAQEwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCVVMxCzAJBgNV
+BAgMAkNBMRIwEAYDVQQHDAlQYWxvIEFsdG8xGDAWBgNVBAoMD0x1bWluYSBOZXR3
+b3JrczENMAsGA1UECwwESW50MjEcMBoGA1UEAwwTSW50MiBDQSBDZXJ0aWZpY2F0
+ZTAeFw0xODA1MjUwMzQzMDNaFw0yMzA1MjQwMzQzMDNaMHYxCzAJBgNVBAYTAlVT
+MQswCQYDVQQIDAJDQTESMBAGA1UEBwwJUGFsbyBBbHRvMRgwFgYDVQQKDA9MdW1p
+bmEgTmV0d29ya3MxDzANBgNVBAsMBlN3aXRjaDEbMBkGA1UEAwwSU3dpdGNoIENl
+cnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5R1xgvq2
+rpQBz9DdpuD2bDMyMWwkHQlZzLhlNWrTnNWtJITY/N7CjqlMdqizT9P7qSQHc66J
+6DE0Dcy+GGd5opoy8MwgDEUqc3Lmg+SLd9sJugzuw89My1pM4B5G26Vhmen1LGJE
+jP8hV6wIhCNAkwotPWC82I7OHKA9UgZQ89YVQUh13B2GPhNPzhXc7HsQRUnoYeQf
+THU4pBchEdQkuVgTDtHEPWdtUUDFDe53mMSq1JyJBU+wCNZF4/+KQy27IK0pDLik
+0stsC7wGz15+rtlhCDM3/HrF8GUaHWredGMyU6PgjyqwDvF3dGqAex5on2dn+teF
+AFixm/InrKyVfwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQATsPT7c5eFMru9a1+u
+xf5QPQUQSdkN99Y/nodVricebc0K9fZ+ik/vQwwkWAy7JOpSvTvyrPM3rspNdIhg
++chUZwthFPgI4ZxxpSkz2w8mG/yq/+hehECjJg+13BQi/MDofUB5qc7HCzvyqTHv
+PL/QFiFgXAxQOdY5c8Vvo1fShRSeQGn+6k5UJyY70/7GfLZytZtCf7E2bUlkBE9Z
+IIS+yowuo/vl84OnbKvMdvllXuL9sDVWu1hEXlmIDqJaedZL8gExDuacdJBPz+KV
+a9PWLfLVE0kLQpBevJwa99iZdgLH+zlfxdRuw7+zURav1MVqfKPPxf2ee5q+fRX/
+67xnHPGF79eComRkDyLLvJgeHfSI738qNfiuuMamsuwVGM4HuZcJcX6LSVPCAWlu
+CewB+/ugRh5Bh9OAIA85Kgk5Ykgk/FEkUnrCmOqUb7ZipNQgcfLztGGN2Y9QcsHE
+/z90tFIlq6YblFevOaGazUjOp5ApJyg4oa8FDlseVnF36cJawr4/9hsChhpUw3wB
+Wilei7XfisYdwCgoF6oGacVmm2BKCJt2niPPk1EoYWxgKceGBmc9+VNiCpvYcSYf
+iaBsrTnjVJRycbntllssPnK/izLhmXl5rRp5h4ZPirBBnbJoza1DcoaxFYJxEe9R
+d2lGbP581ke1t4glkeChI0ao4g==
+-----END CERTIFICATE-----
--- /dev/null
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA5R1xgvq2rpQBz9DdpuD2bDMyMWwkHQlZzLhlNWrTnNWtJITY
+/N7CjqlMdqizT9P7qSQHc66J6DE0Dcy+GGd5opoy8MwgDEUqc3Lmg+SLd9sJugzu
+w89My1pM4B5G26Vhmen1LGJEjP8hV6wIhCNAkwotPWC82I7OHKA9UgZQ89YVQUh1
+3B2GPhNPzhXc7HsQRUnoYeQfTHU4pBchEdQkuVgTDtHEPWdtUUDFDe53mMSq1JyJ
+BU+wCNZF4/+KQy27IK0pDLik0stsC7wGz15+rtlhCDM3/HrF8GUaHWredGMyU6Pg
+jyqwDvF3dGqAex5on2dn+teFAFixm/InrKyVfwIDAQABAoIBAHtXU3FwqQHoueT3
+iyu4ddCf6wiCMBrVmttD9XBBVzRaL8C2J95RyallaL2EaiuycguHUt+q+aDfRCed
+rkSTB/9KRdwt957DaWwHUiN02MQoTd8z8SHGqo/ayAHrKrg6GwXx1kQTjtXcz0VU
+Xq1MEQpXcy1Us7Vdg4YTmY9byR7Kf4dqQWVTL5I9VyNmJnYUJBz5ZmHRyX89Zc2K
+pOYYUqO1ZwS/qcM2r6knPUyexVU9cgi/S/3F1RZBQos/aUSl6c+yrXHH7JXDSSHj
+wsDduw/uNKz/Nd3YCYGUD4uBT51KPfe4kRmkHOLjsBw6Yc0FLLLmr33TKKnffSWb
+RVSmuzECgYEA+BToRX1mqLgVLWNoosi6C4vpaa2cJzSoU+4WMBj1iQ5HqA3wNv9t
+5cMUc2GbM22dwqC3DhjoAnz2UnOhoxUCTFB2WI2DeLiIXQ0LtpT+s7AeCjJt+F1W
+Q2dnq+4gKWnPK6uodbrISxrMwQP6hi/lzG4t7tI/hDjc5a5v6RG7HkcCgYEA7G2O
+55Z5Aifw0R89qqod5O1n/OKPEZNxok3gW8hlzep+/MLwStI/mhajVEO6pK5SIvBa
+2S3EwmC4fn1kRwDIKOeAnyrGG9vNj/vq7iETfw5O/N21nN5WCXpx3Borqj9LWQUH
+kLCpT5s+4L4Sx/LV6meMMG18LDEbxwPGRTG80wkCgYEAn5NzRR/A5U5j8Oo86FkN
+s1ewMNYH2AA7NqGzjATCDAMvfJ5aokXzvxOZGA708kPUctlGZr8GnnMbTzYqBukA
+rW4kchm1M/YfYRt/KVb170eeSxjdPCFt17WwLhvifEEfjgvBNNmM9SKsCowwnhg5
+TSKiUTjUuoyJKwTl35oULwkCgYA6PYLGabrFXTFlUlzOfbl/ezvyf5zep4OGh8iM
+04DAiNNfUGYBCGnCe3EggM6pYoe5M5wtg6jEeS75ecoJ85da/CwjCVZj5nFs1pG4
+t00mL1Al2jeyvNJU42TI42l+NrlI5IRIkDwk8Ak9M5VMy/UGGRvfkhjUigRdsgBV
+azsogQKBgQDpyW2pjNzIsP3/taQn7E4O621ESlTLdvF9DoBH6lo6iYQsup3hhaDl
+EhXubxZAkZjigQmpriU2vwo7NoyXduDIPPZ+zkGUlULyc8UGcFL0givy6wJq9JIC
+ARzWxzo5tR20Is5njvgZYT56wTMx3feIa2nzPCqHD4htzdW6oFfYFA==
+-----END RSA PRIVATE KEY-----
--- /dev/null
+#!/bin/bash
+
+for i in `seq 1 ${NUM_ODL_SYSTEM}`
+do
+ CONTROLLERIP=ODL_SYSTEM_${i}_IP
+ echo "Set OpenFlow TLS on ${!CONTROLLERIP}"
+ ssh ${!CONTROLLERIP} "mkdir -p /tmp/${BUNDLEFOLDER}/etc/opendaylight/datastore/initial/config/"
+ scp ${WORKSPACE}/test/csit/libraries/tls/default-openflow-connection-config.xml ${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/etc/opendaylight/datastore/initial/config/
+ scp ${WORKSPACE}/test/csit/libraries/tls/keystore.p12 ${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/etc
+ scp ${WORKSPACE}/test/csit/libraries/tls/truststore.p12 ${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/etc
+done
Wait For Karaf Log ${message}
Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
Log Start device
- ${mininet_topo_opt}= Set Variable --topo linear,1 --switch ovsk,protocols=OpenFlow13
+ ${mininet_topo_opt}= Set Variable --topo linear,1
${mininet_conn_id}= Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} ${mininet_topo_opt}
Wait Until Keyword Succeeds 11s 1s Check DIDM Registered With Device
Set Suite Variable ${mininet_conn_id}
Start Mininet Connect To Follower Node1
[Documentation] Start mininet with connection to Follower Node1.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Add Bulk Flow From Follower
Start Mininet Reconnect To Follower Node1
[Documentation] Start mininet with reconnection to follower node1.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Verify Flows In Switch Reconnected To Follower Node1
Start Mininet Connect To Follower Node2
[Documentation] Start mininet with connection to follower node2.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_2}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_2}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Verify Flows In Switch Connected To Follower Node2
Start Mininet Connect To Inventory Leader
[Documentation] Start mininet with connection to inventroy leader.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Inventory_Leader}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Inventory_Leader}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Verify Flows In Switch Connected To Leader
Start Mininet Connect To Follower Node1
[Documentation] Start mininet with connection to Follower Node1
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Add Bulk Flow From Follower
Start Mininet Connect To Follower Node
[Documentation] Start mininet with connection to Follower Node1.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
Set Suite Variable ${mininet_conn_id}
Add Bulk Flow From Follower Node1
Variables ../../../variables/Variables.py
*** Variables ***
+${enable_openflow_tls} True
${operation_timeout} 250s
${oper_ds_timeout} 400s
${mininet_timeout} 120s
BuiltIn.Set Suite Variable ${temp_json_config_del}
Start Mininet And verify Switches
- [Documentation] Start mininet.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ [Documentation] Start mininet, controller OF port 6653 should be enabled for TLS while port 6633 should be for TCP.
+ ${ofport} Set Variable If '${enable_openflow_tls}' == 'True' 6653 6633
+ ${protocol} Set Variable If '${enable_openflow_tls}' == 'True' ssl tcp
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Multiple Controllers options=--topo linear,${switch_count} ofport=${ofport} protocol=${protocol}
BuiltIn.Set Suite Variable ${mininet_conn_id}
BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member ${switch_count} 1
+ Comment Fail the entire suite if switches cannot connect
+ [Teardown] Run Keyword If Test Failed Fatal Error
Add Bulk Flow
[Documentation] 100K Flows (1K Flows per DPN) in 100 DPN added and verify it gets applied.
Start Mininet Connect To Follower Node1
[Documentation] Start mininet with connection to follower node1.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
BuiltIn.Set Suite Variable ${mininet_conn_id}
BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member ${switch_count} ${Inventory_Leader}
Start Mininet And verify Switches
[Documentation] Start mininet.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} --topo linear,${switch_count}
BuiltIn.Set Suite Variable ${mininet_conn_id}
BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member ${switch_count} 1
Start Mininet Connect To Follower Node1
[Documentation] Start mininet with connection to follower node1.
- ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13
+ ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_${Follower_Node_1}_IP} --topo linear,${switch_count}
BuiltIn.Set Suite Variable ${mininet_conn_id}
BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member ${switch_count} ${Inventory_Leader}
*** Variables ***
@{NODE_LIST} ${OVSDB_NODE_PORT} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_NODE_PORT} ${TOOLS_SYSTEM_IP} ${OVSDB_NODE_PORT} ovsdb://${TOOLS_SYSTEM_2_IP}:${OVSDB_NODE_PORT} ${TOOLS_SYSTEM_2_IP}
-${MN_OPTS_S1} --switch=ovsk,protocols=OpenFlow13 --custom ovsdb.py --topo host,1
-${MN_OPTS_S2} --switch=ovsk,protocols=OpenFlow13 --custom ovsdb.py --topo host,2
+${MN_OPTS_S1} --custom ovsdb.py --topo host,1
+${MN_OPTS_S2} --custom ovsdb.py --topo host,2
*** Test Cases ***
Make the OVS instance to listen for connection
*** Variables ***
${UniMgr_variables_DIR} ${CURDIR}/../../../variables/unimgr
-${options} --topo single,2 --switch ovsk,protocols=OpenFlow13
+${options} --topo single,2
*** Test Cases ***
Check no connectivity before creating service
*** Variables ***
${UniMgr_variables_DIR} ${CURDIR}/../../../variables/unimgr
-${options} --topo single,5 --switch ovsk,protocols=OpenFlow13
+${options} --topo single,5
*** Test Cases ***
Check no connectivity before creating service