From fafd41f9186c22dcd639b5bb86de4ba6be578fdc Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 29 Jul 2020 14:07:24 +0200 Subject: [PATCH] Adjust PCEP module names The names of the modules have shifted, hence we need to update the test suite to take that into account. magnesium/ folder contains the pre-existing files and sodium/ is just a symlink to it. aluminium/ folder will have the new formats and eventually when magnesium and sodium age out we can revert the .robot changes in this patch pointing to a ${STREAM} folder and flatten these updated files back down to a single folder. JIRA: BGPCEP-882 Change-Id: I4e217370f4ad908c557da852d864d458035b2586 Signed-off-by: Robert Varga --- csit/libraries/GoBgpLib.robot | 2 +- .../060_pcep_ha_karaf_restart.robot | 2 +- .../060_pcep_ha_karaf_stop.robot | 2 +- .../bgpclustering/PrefixcountKeywords.robot | 4 +- .../bgpcep/bgpfunct/bgp_ipv6_basic.robot | 5 +- .../bgpcep/bgpfunct/bgp_llgr_basic.robot | 2 +- csit/suites/bgpcep/pcepuser/pcepuser.robot | 4 +- .../suites/bgpcep/tcpmd5user/tcpmd5user.robot | 4 +- .../{ => aluminium}/bgp_peer/data.json | 0 .../{ => aluminium}/bgp_peer/data.xml | 0 .../{ => aluminium}/bgp_peer/location.uri | 0 .../bgp_peer_openconf/data.xml | 0 .../bgp_peer_openconf/location.uri | 0 .../bgp_peer_operational/data.json | 0 .../bgp_peer_operational/data.xml | 0 .../bgp_peer_operational/location.uri | 0 .../bgpclustering/{ => aluminium}/exa.cfg | 0 .../aluminium/pcep_on_state/data.json | 113 ++++++++ .../pcep_on_state/location.uri | 0 .../pcep_on_state/volatiles.list | 0 .../magnesium/bgp_peer/data.json | 35 +++ .../bgpclustering/magnesium/bgp_peer/data.xml | 34 +++ .../magnesium/bgp_peer/location.uri | 1 + .../magnesium/bgp_peer_openconf/data.xml | 30 ++ .../magnesium/bgp_peer_openconf/location.uri | 1 + .../magnesium/bgp_peer_operational/data.json | 34 +++ .../magnesium/bgp_peer_operational/data.xml | 28 ++ .../bgp_peer_operational/location.uri | 1 + .../variables/bgpclustering/magnesium/exa.cfg | 30 ++ .../{ => magnesium}/pcep_on_state/data.json | 0 .../magnesium/pcep_on_state}/location.uri | 0 .../magnesium/pcep_on_state/volatiles.list | 8 + csit/variables/bgpclustering/silicon | 1 + csit/variables/bgpclustering/sodium | 1 + .../node_session_state/location.uri | 0 .../node_speaker_entity_identifier/data.xml | 0 .../location.uri | 0 .../aluminium/pcep_topology}/location.uri | 0 .../variables/pcepuser/aluminium/variables.py | 263 ++++++++++++++++++ .../magnesium/node_session_state/location.uri | 1 + .../node_speaker_entity_identifier/data.xml | 8 + .../location.uri | 0 .../magnesium/pcep_topology}/location.uri | 0 .../pcepuser/{ => magnesium}/variables.py | 0 csit/variables/pcepuser/silicon | 1 + csit/variables/pcepuser/sodium | 1 + .../{ => aluminium}/default_off/data.json | 0 .../default_off}/location.uri | 0 .../aluminium/default_on_state/data.json | 113 ++++++++ .../aluminium/default_on_state/location.uri | 1 + .../default_on_state/volatiles.list | 0 .../default_on_updated_state/data.json | 119 ++++++++ .../default_on_updated_state/location.uri | 1 + .../default_on_updated_state/volatiles.list | 0 .../pcep_topology_node/data.xml | 0 .../pcep_topology_node}/location.uri | 0 .../pcep_topology_node_empty/data.xml | 0 .../pcep_topology_node_empty/location.uri | 1 + .../update_delegated/location.uri | 0 .../update_delegated/post_data.xml | 0 .../tcpmd5user/aluminium/variables.py | 237 ++++++++++++++++ .../magnesium/default_off/data.json | 10 + .../magnesium/default_off/location.uri | 1 + .../default_on_state/data.json | 0 .../magnesium/default_on_state/location.uri | 1 + .../magnesium/default_on_state/volatiles.list | 3 + .../default_on_updated_state/data.json | 0 .../default_on_updated_state/location.uri | 1 + .../default_on_updated_state/volatiles.list | 7 + .../magnesium/pcep_topology_node/data.xml | 6 + .../magnesium/pcep_topology_node/location.uri | 1 + .../pcep_topology_node_empty/data.xml | 3 + .../pcep_topology_node_empty/location.uri | 1 + .../magnesium/update_delegated/location.uri | 1 + .../magnesium/update_delegated/post_data.xml | 27 ++ .../tcpmd5user/{ => magnesium}/variables.py | 0 csit/variables/tcpmd5user/silicon | 1 + csit/variables/tcpmd5user/sodium | 1 + 78 files changed, 1141 insertions(+), 11 deletions(-) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer/data.json (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer/data.xml (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer/location.uri (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer_openconf/data.xml (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer_openconf/location.uri (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer_operational/data.json (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer_operational/data.xml (100%) rename csit/variables/bgpclustering/{ => aluminium}/bgp_peer_operational/location.uri (100%) rename csit/variables/bgpclustering/{ => aluminium}/exa.cfg (100%) create mode 100644 csit/variables/bgpclustering/aluminium/pcep_on_state/data.json rename csit/variables/bgpclustering/{ => aluminium}/pcep_on_state/location.uri (100%) rename csit/variables/bgpclustering/{ => aluminium}/pcep_on_state/volatiles.list (100%) create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer/data.json create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer/data.xml create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer/location.uri create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer_openconf/data.xml create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer_openconf/location.uri create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.json create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.xml create mode 100644 csit/variables/bgpclustering/magnesium/bgp_peer_operational/location.uri create mode 100644 csit/variables/bgpclustering/magnesium/exa.cfg rename csit/variables/bgpclustering/{ => magnesium}/pcep_on_state/data.json (100%) rename csit/variables/{pcepuser/pcep_topology => bgpclustering/magnesium/pcep_on_state}/location.uri (100%) create mode 100644 csit/variables/bgpclustering/magnesium/pcep_on_state/volatiles.list create mode 120000 csit/variables/bgpclustering/silicon create mode 120000 csit/variables/bgpclustering/sodium rename csit/variables/pcepuser/{ => aluminium}/node_session_state/location.uri (100%) rename csit/variables/pcepuser/{ => aluminium}/node_speaker_entity_identifier/data.xml (100%) rename csit/variables/pcepuser/{ => aluminium}/node_speaker_entity_identifier/location.uri (100%) rename csit/variables/{tcpmd5user/default_off => pcepuser/aluminium/pcep_topology}/location.uri (100%) create mode 100644 csit/variables/pcepuser/aluminium/variables.py create mode 100644 csit/variables/pcepuser/magnesium/node_session_state/location.uri create mode 100644 csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/data.xml rename csit/variables/{tcpmd5user/pcep_topology_node => pcepuser/magnesium/node_speaker_entity_identifier}/location.uri (100%) rename csit/variables/{tcpmd5user/default_on_state => pcepuser/magnesium/pcep_topology}/location.uri (100%) rename csit/variables/pcepuser/{ => magnesium}/variables.py (100%) create mode 120000 csit/variables/pcepuser/silicon create mode 120000 csit/variables/pcepuser/sodium rename csit/variables/tcpmd5user/{ => aluminium}/default_off/data.json (100%) rename csit/variables/tcpmd5user/{default_on_updated_state => aluminium/default_off}/location.uri (100%) create mode 100644 csit/variables/tcpmd5user/aluminium/default_on_state/data.json create mode 100644 csit/variables/tcpmd5user/aluminium/default_on_state/location.uri rename csit/variables/tcpmd5user/{ => aluminium}/default_on_state/volatiles.list (100%) create mode 100644 csit/variables/tcpmd5user/aluminium/default_on_updated_state/data.json create mode 100644 csit/variables/tcpmd5user/aluminium/default_on_updated_state/location.uri rename csit/variables/tcpmd5user/{ => aluminium}/default_on_updated_state/volatiles.list (100%) rename csit/variables/tcpmd5user/{ => aluminium}/pcep_topology_node/data.xml (100%) rename csit/variables/tcpmd5user/{pcep_topology_node_empty => aluminium/pcep_topology_node}/location.uri (100%) rename csit/variables/tcpmd5user/{ => aluminium}/pcep_topology_node_empty/data.xml (100%) create mode 100644 csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/location.uri rename csit/variables/tcpmd5user/{ => aluminium}/update_delegated/location.uri (100%) rename csit/variables/tcpmd5user/{ => aluminium}/update_delegated/post_data.xml (100%) create mode 100644 csit/variables/tcpmd5user/aluminium/variables.py create mode 100644 csit/variables/tcpmd5user/magnesium/default_off/data.json create mode 100644 csit/variables/tcpmd5user/magnesium/default_off/location.uri rename csit/variables/tcpmd5user/{ => magnesium}/default_on_state/data.json (100%) create mode 100644 csit/variables/tcpmd5user/magnesium/default_on_state/location.uri create mode 100644 csit/variables/tcpmd5user/magnesium/default_on_state/volatiles.list rename csit/variables/tcpmd5user/{ => magnesium}/default_on_updated_state/data.json (100%) create mode 100644 csit/variables/tcpmd5user/magnesium/default_on_updated_state/location.uri create mode 100644 csit/variables/tcpmd5user/magnesium/default_on_updated_state/volatiles.list create mode 100644 csit/variables/tcpmd5user/magnesium/pcep_topology_node/data.xml create mode 100644 csit/variables/tcpmd5user/magnesium/pcep_topology_node/location.uri create mode 100644 csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/data.xml create mode 100644 csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/location.uri create mode 100644 csit/variables/tcpmd5user/magnesium/update_delegated/location.uri create mode 100644 csit/variables/tcpmd5user/magnesium/update_delegated/post_data.xml rename csit/variables/tcpmd5user/{ => magnesium}/variables.py (100%) create mode 120000 csit/variables/tcpmd5user/silicon create mode 120000 csit/variables/tcpmd5user/sodium diff --git a/csit/libraries/GoBgpLib.robot b/csit/libraries/GoBgpLib.robot index aadf9aa6e4..62d6c530b5 100644 --- a/csit/libraries/GoBgpLib.robot +++ b/csit/libraries/GoBgpLib.robot @@ -27,7 +27,7 @@ Start_GoBgp [Arguments] ${cfg_file} [Documentation] Dump the start command into prompt. It assumes that no gobgp is running. For verified ... start use Start_GoBgp_And_Verify_Connected keyword. - ${start_cmd}= ${GOBGP_EXECUTION_COMMAND} /home/jenkins/${cfg_file} + ${start_cmd} BuiltIn.Set Variable ${GOBGP_EXECUTION_COMMAND} /home/jenkins/${cfg_file} BuiltIn.Log ${start_cmd} ${output}= SSHLibrary.Write ${start_cmd} BuiltIn.Log ${output} diff --git a/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_restart.robot b/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_restart.robot index e5dc3b78a9..0f701303d7 100644 --- a/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_restart.robot +++ b/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_restart.robot @@ -30,7 +30,7 @@ Resource ../../../variables/Variables.robot *** Variables *** ${HOLDTIME} 180 -${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/bgpclustering/ +${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/bgpclustering/${ODL_STREAM} ${PCC_LOG_FILE} pccmock.restart.log ${CONFIG_SESSION} session ${OLD_ERROR_ARGS} \n"last-received-error": {},\n"last-sent-error": {}, diff --git a/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_stop.robot b/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_stop.robot index 2104a1e0f0..92b5da9463 100644 --- a/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_stop.robot +++ b/csit/suites/bgpcep/bgpclustering/060_pcep_ha_karaf_stop.robot @@ -30,7 +30,7 @@ Resource ../../../variables/Variables.robot *** Variables *** ${HOLDTIME} 180 -${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/bgpclustering/ +${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/bgpclustering/${ODL_STREAM} ${PCC_LOG_FILE} pccmock.stop.log ${CONFIG_SESSION} session ${OLD_ERROR_ARGS} \n"last-received-error": {},\n"last-sent-error": {}, diff --git a/csit/suites/bgpcep/bgpclustering/PrefixcountKeywords.robot b/csit/suites/bgpcep/bgpclustering/PrefixcountKeywords.robot index ddd812ec8a..99bfa10ff7 100644 --- a/csit/suites/bgpcep/bgpclustering/PrefixcountKeywords.robot +++ b/csit/suites/bgpcep/bgpclustering/PrefixcountKeywords.robot @@ -27,8 +27,8 @@ Resource ../../../variables/Variables.robot *** Variables *** ${BGP_TOOL_LOG_LEVEL} info ${BGP_PEER_FOLDER} ${CURDIR}/../../../variables/bgpclustering/bgp_peer_openconf # used for configuration of bgp peer via openconfig -${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpclustering/bgp_peer # used for configuration of bgp peer -${BGP_VARIABLES_FOLDER_OP} ${CURDIR}/../../../variables/bgpclustering/bgp_peer_operational +${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpclustering/${ODL_STREAM}/bgp_peer # used for configuration of bgp peer +${BGP_VARIABLES_FOLDER_OP} ${CURDIR}/../../../variables/bgpclustering/${ODL_STREAM}/bgp_peer_operational ${CHECK_PERIOD} 10 ${HOLDTIME} 180 ${INSERT} 1 diff --git a/csit/suites/bgpcep/bgpfunct/bgp_ipv6_basic.robot b/csit/suites/bgpcep/bgpfunct/bgp_ipv6_basic.robot index fc1850c9f0..cc5b80ae32 100644 --- a/csit/suites/bgpcep/bgpfunct/bgp_ipv6_basic.robot +++ b/csit/suites/bgpcep/bgpfunct/bgp_ipv6_basic.robot @@ -269,24 +269,27 @@ Stop_All_Exabgps_4 Reconfigure_ODL_To_Accept_Connections_7 [Documentation] Configure BGP peer modules with initiate-connection set to false with short ipv6 address. + [Tags] exclude &{mapping} Create Dictionary IP=${IPV6_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT} INITIATE=false BGP_RIB=${RIB_INSTANCE} ... PASSIVE_MODE=true BGP_RIB_OPENCONFIG=${RIB_INSTANCE} RIB_INSTANCE_NAME=${RIB_INSTANCE} TemplatedRequests.Put_As_Xml_Templated ${BGP_VAR_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION} Start_Exabgp_5 [Documentation] Start exabgp with - [Tags] critical + [Tags] exclude ${cmd} BuiltIn.Set_Variable ${EXABGP4_CFG} > ${EXABGP4_LOG} ExaBgpLib.Start_ExaBgp_And_Verify_Connected ${cmd} ${CONFIG_SESSION} ${EXABGP_ID} Delete_Bgp_Peer_Configuration_7 [Documentation] Revert the BGP configuration to the original state: without any configured peers. + [Tags] exclude &{mapping} Create Dictionary IP=${IPV6_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT} INITIATE=false BGP_RIB=${RIB_INSTANCE} ... PASSIVE_MODE=true BGP_RIB_OPENCONFIG=${RIB_INSTANCE} RIB_INSTANCE_NAME=${RIB_INSTANCE} TemplatedRequests.Delete_Templated ${BGP_VAR_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION} Stop_All_Exabgps_5 [Documentation] Save exabgp logs as exabgp_graceful_restart.log, and stop exabgp with ctrl-c bash signal + [Tags] exclude BGPcliKeywords.Store_File_To_Workspace ${EXABGP4_LOG} ${EXABGP4_LOG} ExaBgpLib.Stop_ExaBgp diff --git a/csit/suites/bgpcep/bgpfunct/bgp_llgr_basic.robot b/csit/suites/bgpcep/bgpfunct/bgp_llgr_basic.robot index 61c40eca05..e6bf24c0b4 100644 --- a/csit/suites/bgpcep/bgpfunct/bgp_llgr_basic.robot +++ b/csit/suites/bgpcep/bgpfunct/bgp_llgr_basic.robot @@ -41,7 +41,7 @@ Reconfigure_ODL_To_Accept_Connections Start_Gobgp [Tags] critical - ${cmd}= ${GOBGP_CFG} > ${GOBGP_LOG} + ${cmd} BuiltIn.Set Variable ${GOBGP_CFG} > ${GOBGP_LOG} GoBgpLib.Start_GoBgp_And_Verify_Connected ${cmd} ${CONFIG_SESSION} ${TOOLS_SYSTEM_IP} Delete_Bgp_Peer_Configuration diff --git a/csit/suites/bgpcep/pcepuser/pcepuser.robot b/csit/suites/bgpcep/pcepuser/pcepuser.robot index 089190d30a..ba54145296 100644 --- a/csit/suites/bgpcep/pcepuser/pcepuser.robot +++ b/csit/suites/bgpcep/pcepuser/pcepuser.robot @@ -19,12 +19,12 @@ Resource ../../../libraries/RemoteBash.robot Resource ../../../libraries/TemplatedRequests.robot Resource ../../../libraries/CompareStream.robot Resource ../../../variables/Variables.robot -Variables ../../../variables/pcepuser/variables.py ${TOOLS_SYSTEM_IP} +Variables ../../../variables/pcepuser/${ODL_STREAM}/variables.py ${TOOLS_SYSTEM_IP} *** Variables *** ${CONFIG_SESSION} session ${PATH_SESSION_URI} node/pcc:%2F%2F${TOOLS_SYSTEM_IP}/path-computation-client -${PCEP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/pcepuser/ +${PCEP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/pcepuser/${ODL_STREAM} *** Test Cases *** Topology_Precondition diff --git a/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot b/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot index b8d287e168..0c00b4de83 100644 --- a/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot +++ b/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot @@ -35,10 +35,10 @@ Resource ../../../libraries/TemplatedRequests.robot Resource ../../../libraries/RemoteBash.robot Resource ../../../libraries/WaitForFailure.robot Resource ../../../variables/Variables.robot -Variables ../../../variables/tcpmd5user/variables.py ${TOOLS_SYSTEM_IP} +Variables ../../../variables/tcpmd5user/${ODL_STREAM}/variables.py ${TOOLS_SYSTEM_IP} *** Variables *** -${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/tcpmd5user/ +${DIR_WITH_TEMPLATES} ${CURDIR}/../../../variables/tcpmd5user/${ODL_STREAM} ${CONFIG_SESSION} session ${OLD_ERROR_ARGS} \n"last-received-error": {},\n"last-sent-error": {}, ${NEW_ERROR_ARGS} ${EMPTY} diff --git a/csit/variables/bgpclustering/bgp_peer/data.json b/csit/variables/bgpclustering/aluminium/bgp_peer/data.json similarity index 100% rename from csit/variables/bgpclustering/bgp_peer/data.json rename to csit/variables/bgpclustering/aluminium/bgp_peer/data.json diff --git a/csit/variables/bgpclustering/bgp_peer/data.xml b/csit/variables/bgpclustering/aluminium/bgp_peer/data.xml similarity index 100% rename from csit/variables/bgpclustering/bgp_peer/data.xml rename to csit/variables/bgpclustering/aluminium/bgp_peer/data.xml diff --git a/csit/variables/bgpclustering/bgp_peer/location.uri b/csit/variables/bgpclustering/aluminium/bgp_peer/location.uri similarity index 100% rename from csit/variables/bgpclustering/bgp_peer/location.uri rename to csit/variables/bgpclustering/aluminium/bgp_peer/location.uri diff --git a/csit/variables/bgpclustering/bgp_peer_openconf/data.xml b/csit/variables/bgpclustering/aluminium/bgp_peer_openconf/data.xml similarity index 100% rename from csit/variables/bgpclustering/bgp_peer_openconf/data.xml rename to csit/variables/bgpclustering/aluminium/bgp_peer_openconf/data.xml diff --git a/csit/variables/bgpclustering/bgp_peer_openconf/location.uri b/csit/variables/bgpclustering/aluminium/bgp_peer_openconf/location.uri similarity index 100% rename from csit/variables/bgpclustering/bgp_peer_openconf/location.uri rename to csit/variables/bgpclustering/aluminium/bgp_peer_openconf/location.uri diff --git a/csit/variables/bgpclustering/bgp_peer_operational/data.json b/csit/variables/bgpclustering/aluminium/bgp_peer_operational/data.json similarity index 100% rename from csit/variables/bgpclustering/bgp_peer_operational/data.json rename to csit/variables/bgpclustering/aluminium/bgp_peer_operational/data.json diff --git a/csit/variables/bgpclustering/bgp_peer_operational/data.xml b/csit/variables/bgpclustering/aluminium/bgp_peer_operational/data.xml similarity index 100% rename from csit/variables/bgpclustering/bgp_peer_operational/data.xml rename to csit/variables/bgpclustering/aluminium/bgp_peer_operational/data.xml diff --git a/csit/variables/bgpclustering/bgp_peer_operational/location.uri b/csit/variables/bgpclustering/aluminium/bgp_peer_operational/location.uri similarity index 100% rename from csit/variables/bgpclustering/bgp_peer_operational/location.uri rename to csit/variables/bgpclustering/aluminium/bgp_peer_operational/location.uri diff --git a/csit/variables/bgpclustering/exa.cfg b/csit/variables/bgpclustering/aluminium/exa.cfg similarity index 100% rename from csit/variables/bgpclustering/exa.cfg rename to csit/variables/bgpclustering/aluminium/exa.cfg diff --git a/csit/variables/bgpclustering/aluminium/pcep_on_state/data.json b/csit/variables/bgpclustering/aluminium/pcep_on_state/data.json new file mode 100644 index 0000000000..6f975d4577 --- /dev/null +++ b/csit/variables/bgpclustering/aluminium/pcep_on_state/data.json @@ -0,0 +1,113 @@ +{ + "topology": [ + { + "node": [ + { + "network-pcep-topology-stats:pcep-session-state": { + "delegated-lsps-count": "*", + "local-pref": { + "deadtimer": 120, + "ip-address": "$IP_ODL", + "keepalive": 30, + "session-id": "*" + }, + "messages": { + "error-messages": {$ERRORS + "received-error-msg-count": 0, + "sent-error-msg-count": 0 + }, + "last-sent-msg-timestamp": "*", + "odl-pcep-stateful-stats:last-received-rpt-msg-timestamp": "*", + "odl-pcep-stateful-stats:received-rpt-msg-count": 2, + "odl-pcep-stateful-stats:sent-init-msg-count": 0, + "odl-pcep-stateful-stats:sent-upd-msg-count": 0, + "received-msg-count": "*", + "reply-time": { + "average-time": 0, + "max-time": 0, + "min-time": 0 + }, + "sent-msg-count": "*", + "unknown-msg-received": 0 + }, + "peer-capabilities": { + "odl-pcep-stateful-stats:active": true, + "odl-pcep-stateful-stats:instantiation": true, + "odl-pcep-stateful-stats:stateful": true + }, + "peer-pref": { + "deadtimer": 120, + "ip-address": "$IP", + "keepalive": 30, + "session-id": "*" + }, + "session-duration": "*", + "synchronized": true + }, + "network-topology-pcep:path-computation-client": { + "ip-address": "$IP", + "reported-lsp": [ + { + "name": "$NAME", + "path": [ + { + "ero": { + "ignore": false, + "processing-rule": false, + "subobject": [ + { + "ip-prefix": { + "ip-prefix": "1.1.1.1/32" + }, + "loose": false + } + ] + }, + "lsp-id": 1, + "odl-pcep-ietf-stateful:lsp": { + "administrative": true, + "delegate": "*", + "ignore": false, + "odl-pcep-ietf-initiated:create": false, + "operational": "up", + "plsp-id": 1, + "processing-rule": false, + "remove": false, + "sync": true, + "tlvs": { + "lsp-identifiers": { + "ipv4": { + "ipv4-extended-tunnel-id": "$IP", + "ipv4-tunnel-endpoint-address": "1.1.1.1", + "ipv4-tunnel-sender-address": "$IP" + }, + "lsp-id": 1, + "tunnel-id": 1 + }, + "symbolic-path-name": { + "path-name": "$CODE" + } + } + } + } + ] + } + ], + "state-sync": "synchronized", + "stateful-tlv": { + "odl-pcep-ietf-stateful:stateful": { + "lsp-update-capability": true, + "odl-pcep-ietf-initiated:initiation": true + } + } + }, + "node-id": "pcc://$IP" + } + ], + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +} diff --git a/csit/variables/bgpclustering/pcep_on_state/location.uri b/csit/variables/bgpclustering/aluminium/pcep_on_state/location.uri similarity index 100% rename from csit/variables/bgpclustering/pcep_on_state/location.uri rename to csit/variables/bgpclustering/aluminium/pcep_on_state/location.uri diff --git a/csit/variables/bgpclustering/pcep_on_state/volatiles.list b/csit/variables/bgpclustering/aluminium/pcep_on_state/volatiles.list similarity index 100% rename from csit/variables/bgpclustering/pcep_on_state/volatiles.list rename to csit/variables/bgpclustering/aluminium/pcep_on_state/volatiles.list diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer/data.json b/csit/variables/bgpclustering/magnesium/bgp_peer/data.json new file mode 100644 index 0000000000..7e7af33232 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer/data.json @@ -0,0 +1,35 @@ +{ + "bgp-openconfig-extensions:neighbor": [ + { + "neighbor-address": "$IP", + "timers": { + "config": { + "hold-time": $HOLDTIME, + "connect-retry": 10 + } + }, + "afi-safis": { + "afi-safi": [ + { + "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST" + }, + { + "afi-safi-name": "openconfig-bgp-types:L3VPN-IPV4-UNICAST" + }, + { + "afi-safi-name": "openconfig-bgp-types:L2VPN-EVPN" + } + ] + }, + "transport": { + "config": { + "remote-port": $PEER_PORT, + "passive-mode": $PASSIVE_MODE + } + }, + "config": { + "peer-type": "INTERNAL" + } + } + ] +} diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer/data.xml b/csit/variables/bgpclustering/magnesium/bgp_peer/data.xml new file mode 100644 index 0000000000..5fac2d2e52 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer/data.xml @@ -0,0 +1,34 @@ + + $IP + + + false + + + + + $HOLDTIME + + + + + $PEER_PORT + $PASSIVE_MODE + + + + INTERNAL + + + + x:IPV4-UNICAST + + + x:L3VPN-IPV4-UNICAST + + + x:L2VPN-EVPN + + + + diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer/location.uri b/csit/variables/bgpclustering/magnesium/bgp_peer/location.uri new file mode 100644 index 0000000000..d713ddf1ec --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer/location.uri @@ -0,0 +1 @@ +restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/$BGP_RIB_OPENCONFIG/bgp/neighbors/neighbor/$IP diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/data.xml b/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/data.xml new file mode 100644 index 0000000000..71d47d5a9d --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/data.xml @@ -0,0 +1,30 @@ + + $IP + + + false + + + + + $HOLDTIME + + + + + $PEER_PORT + $PASSIVE_MODE + + + + INTERNAL + + + + x:IPV4-UNICAST + + + x:IPV6-UNICAST + + + diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/location.uri b/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/location.uri new file mode 100644 index 0000000000..d713ddf1ec --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer_openconf/location.uri @@ -0,0 +1 @@ +restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/$BGP_RIB_OPENCONFIG/bgp/neighbors/neighbor/$IP diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.json b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.json new file mode 100644 index 0000000000..d7f9df9172 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.json @@ -0,0 +1,34 @@ +{ + "module": [ + { + "type": "odl-bgp-rib-impl-cfg:bgp-peer", + "name": "$BGP_NAME", + "odl-bgp-rib-impl-cfg:rib": { + "type": "odl-bgp-rib-impl-cfg:rib-instance", + "name": "$BGP_RIB" + }, + "odl-bgp-rib-impl-cfg:holdtimer": $HOLDTIME, + "odl-bgp-rib-impl-cfg:port": $PEER_PORT, + "odl-bgp-rib-impl-cfg:advertized-table": [ + { + "type": "odl-bgp-rib-impl-cfg:bgp-table-type", + "name": "ipv4-unicast" + }, + { + "type": "odl-bgp-rib-impl-cfg:bgp-table-type", + "name": "linkstate" + }, + { + "type": "odl-bgp-rib-impl-cfg:bgp-table-type", + "name": "ipv6-unicast" + } + ], + "odl-bgp-rib-impl-cfg:host": "$IP", + "odl-bgp-rib-impl-cfg:initiate-connection": $INITIATE, + "odl-bgp-rib-impl-cfg:peer-registry": { + "type": "odl-bgp-rib-impl-cfg:bgp-peer-registry", + "name": "global-bgp-peer-registry" + } + } + ] +} diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.xml b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.xml new file mode 100644 index 0000000000..79329d2673 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/data.xml @@ -0,0 +1,28 @@ + + prefix:bgp-peer + $BGP_NAME + $IP + $PEER_PORT + $HOLDTIME + $INITIATE + + prefix:rib-instance + $BGP_RIB + + + prefix:bgp-peer-registry + global-bgp-peer-registry + + + prefix:bgp-table-type + ipv4-unicast + + + prefix:bgp-table-type + ipv6-unicast + + + prefix:bgp-table-type + linkstate + + diff --git a/csit/variables/bgpclustering/magnesium/bgp_peer_operational/location.uri b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/location.uri new file mode 100644 index 0000000000..ebfcce9aae --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/bgp_peer_operational/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/topology-netconf/node/$DEVICE_NAME/yang-ext:mount/config:modules/module/odl-bgp-rib-impl-cfg:bgp-peer/$BGP_NAME diff --git a/csit/variables/bgpclustering/magnesium/exa.cfg b/csit/variables/bgpclustering/magnesium/exa.cfg new file mode 100644 index 0000000000..3faebd9867 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/exa.cfg @@ -0,0 +1,30 @@ +group test { + router-id EXABGPIP; + + neighbor ODLIP1 { + local-address EXABGPIP; + local-as 64496; + peer-as 64496; + } + + neighbor ODLIP2 { + local-address EXABGPIP; + local-as 64496; + peer-as 64496; + } + neighbor ODLIP3 { + local-address EXABGPIP; + local-as 64496; + peer-as 64496; + } + + capability { + route-refresh ROUTEREFRESH; + add-path ADDPATH; + } + + family { + ipv4 unicast; + ipv4 mpls-vpn; + } +} diff --git a/csit/variables/bgpclustering/pcep_on_state/data.json b/csit/variables/bgpclustering/magnesium/pcep_on_state/data.json similarity index 100% rename from csit/variables/bgpclustering/pcep_on_state/data.json rename to csit/variables/bgpclustering/magnesium/pcep_on_state/data.json diff --git a/csit/variables/pcepuser/pcep_topology/location.uri b/csit/variables/bgpclustering/magnesium/pcep_on_state/location.uri similarity index 100% rename from csit/variables/pcepuser/pcep_topology/location.uri rename to csit/variables/bgpclustering/magnesium/pcep_on_state/location.uri diff --git a/csit/variables/bgpclustering/magnesium/pcep_on_state/volatiles.list b/csit/variables/bgpclustering/magnesium/pcep_on_state/volatiles.list new file mode 100644 index 0000000000..b332b00764 --- /dev/null +++ b/csit/variables/bgpclustering/magnesium/pcep_on_state/volatiles.list @@ -0,0 +1,8 @@ +odl-pcep-stateful-stats:last-received-rpt-msg-timestamp +session-duration +session-id +delegated-lsps-count +received-msg-count +sent-msg-count +delegate +last-sent-msg-timestamp diff --git a/csit/variables/bgpclustering/silicon b/csit/variables/bgpclustering/silicon new file mode 120000 index 0000000000..121ca56cfd --- /dev/null +++ b/csit/variables/bgpclustering/silicon @@ -0,0 +1 @@ +aluminium \ No newline at end of file diff --git a/csit/variables/bgpclustering/sodium b/csit/variables/bgpclustering/sodium new file mode 120000 index 0000000000..1026ad0d3b --- /dev/null +++ b/csit/variables/bgpclustering/sodium @@ -0,0 +1 @@ +magnesium \ No newline at end of file diff --git a/csit/variables/pcepuser/node_session_state/location.uri b/csit/variables/pcepuser/aluminium/node_session_state/location.uri similarity index 100% rename from csit/variables/pcepuser/node_session_state/location.uri rename to csit/variables/pcepuser/aluminium/node_session_state/location.uri diff --git a/csit/variables/pcepuser/node_speaker_entity_identifier/data.xml b/csit/variables/pcepuser/aluminium/node_speaker_entity_identifier/data.xml similarity index 100% rename from csit/variables/pcepuser/node_speaker_entity_identifier/data.xml rename to csit/variables/pcepuser/aluminium/node_speaker_entity_identifier/data.xml diff --git a/csit/variables/pcepuser/node_speaker_entity_identifier/location.uri b/csit/variables/pcepuser/aluminium/node_speaker_entity_identifier/location.uri similarity index 100% rename from csit/variables/pcepuser/node_speaker_entity_identifier/location.uri rename to csit/variables/pcepuser/aluminium/node_speaker_entity_identifier/location.uri diff --git a/csit/variables/tcpmd5user/default_off/location.uri b/csit/variables/pcepuser/aluminium/pcep_topology/location.uri similarity index 100% rename from csit/variables/tcpmd5user/default_off/location.uri rename to csit/variables/pcepuser/aluminium/pcep_topology/location.uri diff --git a/csit/variables/pcepuser/aluminium/variables.py b/csit/variables/pcepuser/aluminium/variables.py new file mode 100644 index 0000000000..760d50b512 --- /dev/null +++ b/csit/variables/pcepuser/aluminium/variables.py @@ -0,0 +1,263 @@ +"""Variables file for pcepuser suite. + +Expected JSON templates are fairly long, +therefore there are moved out of testcase file. +Also, it is needed to generate base64 encoded tunnel name +from Mininet IP (which is not known beforehand), +so it is easier to employ Python here, +than do manipulation in Robot file.""" +# Copyright (c) 2015 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 + +import base64 +from string import Template + + +__author__ = "Vratko Polak" +__copyright__ = "Copyright(c) 2015, Cisco Systems, Inc." +__license__ = "Eclipse Public License v1.0" +__email__ = "vrpolak@cisco.com" + + +def get_variables(mininet_ip): + """Return dict of variables for the given IP address of Mininet VM.""" + variables = {} + # 'V' style of explanation. + # Comments a nalyze from high level, to low level, then code builds from low level back to high level. + # ### Pcep-topology JSON responses. + # Some testcases see only the tunnel created by pcc-mock start: "delegated tunnel" (ID 1). + # Other testcases see also tunnel created on ODL demand: "instatntiated tunnel" (ID 2). + # Both tunnels can have two states. "Default" upon creation with single hop "1.1.1.1", + # and "updated" after update-lsp, which prepends another hop "2.2.2.2". + # Variable naming always specifies delegated state first, and ends with _json to distinguish from operation data. + # The whole list: default_json, updated_json, updated_default_json, updated_updated_json. + # Oh, and the state without mock-pcc connected is off_json. + # off_json has '{}' substring and no variable data, so here it is as a special case: + variables[ + "off_json" + ] = """{ + "topology": [ + { + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +}""" + # Ok, other _json strings will have more regular structure and some variable data, + # so we will be using templates heavily. + # First off, there is segment describing PCC which conatins IP address but is otherwise constant. + # So the top-level template will look like this: + json_templ = Template( + """{ + "network-topology-pcep:path-computation-client": { + "ip-address": "$IP", + "reported-lsp": [$LSPS + ], + "state-sync": "synchronized", + "stateful-tlv": { + "odl-pcep-ietf-stateful:stateful": { + "lsp-update-capability": true, + "odl-pcep-ietf-initiated:initiation": true + } + } + } +}""" + ) + # The _json variables will differ only in $LSPS, but $IP will be present inside. + # Thus, the $IP substitution will come last, and any auxiliary substitutions before this final one + # will have to use safe_substitute(). + # As you see, $LSPS is in json_templ without preceding newline. + # As a rule, a segment will always start with endline and end without endline, + # so that we can add comma where needed. + # Discussion amout delegated and instantiated implies that $LSPS is either a single delegated LSP + # or a pair of delegated and instantiated (separated by comma) LSPS, in appropriate state. + # Of course, one LSP always follow a structure, for which here is the template: + lsp_templ = Template( + """ + { + "name": "$NAME", + "path": [ + { + "ero": { + "ignore": false, + "processing-rule": false, + "subobject": [$HOPS + ] + }, + "lsp-id": $ID, + "odl-pcep-ietf-stateful:lsp": { + "administrative": true, + "delegate": true, + "ignore": false, + "odl-pcep-ietf-initiated:create": $CREATED, + "operational": "up", + "plsp-id": $ID, + "processing-rule": false, + "remove": false, + "sync": true, + "tlvs": { + "lsp-identifiers": { + "ipv4": { + "ipv4-extended-tunnel-id": "$IP", + "ipv4-tunnel-endpoint-address": "1.1.1.1", + "ipv4-tunnel-sender-address": "$IP" + }, + "lsp-id": $ID, + "tunnel-id": $ID + }, + "symbolic-path-name": { + "path-name": "$CODE" + } + } + } + } + ] + }""" + ) + # IDs were already talked about, IP will be set last. Now, $NAME. + # Pcc-mock uses a fixed naming scheme for delegated tunnels, so one more template can be written, + # but it is so simple we can write just the one-line code instead: + delegated_name = "pcc_" + mininet_ip + "_tunnel_1" # 1 == ID + # For the instantiated tunnel, user is free to specify anything, even charachers such as \u0000 work. + # But as we need to plug the name to XML, let us try something more friendly: + instantiated_name = "Instantiated tunnel" + # What is CODE? The NAME in base64 encoding (without endline): + delegated_name_bytes = delegated_name.encode("ascii") + delegated_code_encoded = base64.b64encode(delegated_name_bytes) + delegated_code = delegated_code_encoded.decode("ascii") + instantiated_name_bytes = instantiated_name.encode("ascii") + instantiated_code_encoded = base64.b64encode(instantiated_name_bytes) + instantiated_code = instantiated_code_encoded.decode("ascii") + + # The remaining segment is HOPS, and that is the place where default and updated states differ. + # Once again, there is a template for a single hop: + hop_templ = Template( + """ + { + "ip-prefix": { + "ip-prefix": "$HOPIP/32" + }, + "loose": false + }""" + ) + # The low-to-high part of V comes now, it is just substituting and concatenating. + # Hops: + final_hop = hop_templ.substitute({"HOPIP": "1.1.1.1"}) + update_hop = hop_templ.substitute({"HOPIP": "2.2.2.2"}) + both_hops = update_hop + "," + final_hop + # Lsps: + default_lsp_templ = Template(lsp_templ.safe_substitute({"HOPS": final_hop})) + updated_lsp_templ = Template(lsp_templ.safe_substitute({"HOPS": both_hops})) + repl_dict = { + "NAME": delegated_name, + "ID": "1", + "CODE": delegated_code, + "CREATED": "false", + } + delegated_default_lsp = default_lsp_templ.safe_substitute(repl_dict) + delegated_updated_lsp = updated_lsp_templ.safe_substitute(repl_dict) + repl_dict = { + "NAME": instantiated_name, + "ID": "2", + "CODE": instantiated_code, + "CREATED": "true", + } + instantiated_default_lsp = default_lsp_templ.safe_substitute(repl_dict) + instantiated_updated_lsp = updated_lsp_templ.safe_substitute(repl_dict) + # Json templates (without IP set). + repl_dict = {"LSPS": delegated_default_lsp} + default_json_templ = Template(json_templ.safe_substitute(repl_dict)) + repl_dict = {"LSPS": delegated_updated_lsp} + updated_json_templ = Template(json_templ.safe_substitute(repl_dict)) + repl_dict = {"LSPS": delegated_updated_lsp + "," + instantiated_default_lsp} + updated_default_json_templ = Template(json_templ.safe_substitute(repl_dict)) + repl_dict = {"LSPS": delegated_updated_lsp + "," + instantiated_updated_lsp} + updated_updated_json_templ = Template(json_templ.safe_substitute(repl_dict)) + # Final json variables. + repl_dict = {"IP": mininet_ip} + variables["default_json"] = default_json_templ.substitute(repl_dict) + variables["updated_json"] = updated_json_templ.substitute(repl_dict) + variables["updated_default_json"] = updated_default_json_templ.substitute(repl_dict) + variables["updated_updated_json"] = updated_updated_json_templ.substitute(repl_dict) + # ### Pcep operations XML data. + # There are three operations, so let us just write templates from information at + # https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide#Tunnel_Management_for_draft-ietf-pce-stateful-pce-07_and_draft-ietf-pce-pce-initiated-lsp-00 + # _xml describes content type and also distinguishes from similarly named _json strings. + add_xml_templ = Template( + '\n' + " pcc://$IP\n" + " $NAME\n" + ' ' + '/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]' + "\n" + " \n" + ' \n' + " true\n" + " true\n" + " \n" + " \n" + " \n" + " $IP\n" + " 1.1.1.1\n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " 1.1.1.1/32\n" + " \n" + " \n" + " \n" + "\n" + ) + update_xml_templ = Template( + '\n' + " pcc://$IP\n" + " $NAME\n" + ' ' + '/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]' + "\n" + " \n" + ' \n' + " true\n" + " true\n" + " \n" + " \n" + " \n" + " false\n" + " 2.2.2.2/32\n" + " \n" + " \n" + " false\n" + " 1.1.1.1/32\n" + " \n" + " \n" + " \n" + "\n" + ) + remove_xml_templ = Template( + '\n' + " pcc://$IP\n" + " $NAME\n" + ' ' + '/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]' + "\n" + "\n" + ) + # The operations can be applied to either delegated or instantiated tunnel, NAME is the only distinguishing value. + # Also, the final IP substitution can be done here. + repl_dict = {"IP": mininet_ip} + repl_dict["NAME"] = delegated_name + variables["update_delegated_xml"] = update_xml_templ.substitute(repl_dict) + variables["remove_delegated_xml"] = remove_xml_templ.substitute(repl_dict) + repl_dict["NAME"] = instantiated_name + variables["add_instantiated_xml"] = add_xml_templ.substitute(repl_dict) + variables["update_instantiated_xml"] = update_xml_templ.substitute(repl_dict) + variables["remove_instantiated_xml"] = remove_xml_templ.substitute(repl_dict) + # All variables ready. + return variables diff --git a/csit/variables/pcepuser/magnesium/node_session_state/location.uri b/csit/variables/pcepuser/magnesium/node_session_state/location.uri new file mode 100644 index 0000000000..8582d4ca75 --- /dev/null +++ b/csit/variables/pcepuser/magnesium/node_session_state/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology/node/pcc:%2F%2F$IP/pcep-session-state diff --git a/csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/data.xml b/csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/data.xml new file mode 100644 index 0000000000..0fc8573239 --- /dev/null +++ b/csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/data.xml @@ -0,0 +1,8 @@ + + $IP + + + AQIDBA== + + + diff --git a/csit/variables/tcpmd5user/pcep_topology_node/location.uri b/csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/location.uri similarity index 100% rename from csit/variables/tcpmd5user/pcep_topology_node/location.uri rename to csit/variables/pcepuser/magnesium/node_speaker_entity_identifier/location.uri diff --git a/csit/variables/tcpmd5user/default_on_state/location.uri b/csit/variables/pcepuser/magnesium/pcep_topology/location.uri similarity index 100% rename from csit/variables/tcpmd5user/default_on_state/location.uri rename to csit/variables/pcepuser/magnesium/pcep_topology/location.uri diff --git a/csit/variables/pcepuser/variables.py b/csit/variables/pcepuser/magnesium/variables.py similarity index 100% rename from csit/variables/pcepuser/variables.py rename to csit/variables/pcepuser/magnesium/variables.py diff --git a/csit/variables/pcepuser/silicon b/csit/variables/pcepuser/silicon new file mode 120000 index 0000000000..9bab41d45f --- /dev/null +++ b/csit/variables/pcepuser/silicon @@ -0,0 +1 @@ +aluminium/ \ No newline at end of file diff --git a/csit/variables/pcepuser/sodium b/csit/variables/pcepuser/sodium new file mode 120000 index 0000000000..1026ad0d3b --- /dev/null +++ b/csit/variables/pcepuser/sodium @@ -0,0 +1 @@ +magnesium \ No newline at end of file diff --git a/csit/variables/tcpmd5user/default_off/data.json b/csit/variables/tcpmd5user/aluminium/default_off/data.json similarity index 100% rename from csit/variables/tcpmd5user/default_off/data.json rename to csit/variables/tcpmd5user/aluminium/default_off/data.json diff --git a/csit/variables/tcpmd5user/default_on_updated_state/location.uri b/csit/variables/tcpmd5user/aluminium/default_off/location.uri similarity index 100% rename from csit/variables/tcpmd5user/default_on_updated_state/location.uri rename to csit/variables/tcpmd5user/aluminium/default_off/location.uri diff --git a/csit/variables/tcpmd5user/aluminium/default_on_state/data.json b/csit/variables/tcpmd5user/aluminium/default_on_state/data.json new file mode 100644 index 0000000000..6ab106d826 --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/default_on_state/data.json @@ -0,0 +1,113 @@ +{ + "topology": [ + { + "node": [ + { + "network-pcep-topology-stats:pcep-session-state": { + "delegated-lsps-count": 1, + "local-pref": { + "deadtimer": 120, + "ip-address": "$IP_ODL", + "keepalive": 30, + "session-id": "*" + }, + "messages": { + "error-messages": {$ERRORS + "received-error-msg-count": 0, + "sent-error-msg-count": 0 + }, + "last-sent-msg-timestamp": 0, + "odl-pcep-stateful-stats:last-received-rpt-msg-timestamp": "*", + "odl-pcep-stateful-stats:received-rpt-msg-count": 2, + "odl-pcep-stateful-stats:sent-init-msg-count": 0, + "odl-pcep-stateful-stats:sent-upd-msg-count": 0, + "received-msg-count": 2, + "reply-time": { + "average-time": 0, + "max-time": 0, + "min-time": 0 + }, + "sent-msg-count": 0, + "unknown-msg-received": 0 + }, + "peer-capabilities": { + "odl-pcep-stateful-stats:active": true, + "odl-pcep-stateful-stats:instantiation": true, + "odl-pcep-stateful-stats:stateful": true + }, + "peer-pref": { + "deadtimer": 120, + "ip-address": "$IP", + "keepalive": 30, + "session-id": "*" + }, + "session-duration": "*", + "synchronized": true + }, + "network-topology-pcep:path-computation-client": { + "ip-address": "$IP", + "reported-lsp": [ + { + "name": "$NAME", + "path": [ + { + "ero": { + "ignore": false, + "processing-rule": false, + "subobject": [ + { + "ip-prefix": { + "ip-prefix": "1.1.1.1/32" + }, + "loose": false + } + ] + }, + "lsp-id": 1, + "odl-pcep-ietf-stateful:lsp": { + "administrative": true, + "delegate": true, + "ignore": false, + "odl-pcep-ietf-initiated:create": false, + "operational": "up", + "plsp-id": 1, + "processing-rule": false, + "remove": false, + "sync": true, + "tlvs": { + "lsp-identifiers": { + "ipv4": { + "ipv4-extended-tunnel-id": "$IP", + "ipv4-tunnel-endpoint-address": "1.1.1.1", + "ipv4-tunnel-sender-address": "$IP" + }, + "lsp-id": 1, + "tunnel-id": 1 + }, + "symbolic-path-name": { + "path-name": "$CODE" + } + } + } + } + ] + } + ], + "state-sync": "synchronized", + "stateful-tlv": { + "odl-pcep-ietf-stateful:stateful": { + "lsp-update-capability": true, + "odl-pcep-ietf-initiated:initiation": true + } + } + }, + "node-id": "pcc://$IP" + } + ], + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +} diff --git a/csit/variables/tcpmd5user/aluminium/default_on_state/location.uri b/csit/variables/tcpmd5user/aluminium/default_on_state/location.uri new file mode 100644 index 0000000000..7a4b1bf20d --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/default_on_state/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology diff --git a/csit/variables/tcpmd5user/default_on_state/volatiles.list b/csit/variables/tcpmd5user/aluminium/default_on_state/volatiles.list similarity index 100% rename from csit/variables/tcpmd5user/default_on_state/volatiles.list rename to csit/variables/tcpmd5user/aluminium/default_on_state/volatiles.list diff --git a/csit/variables/tcpmd5user/aluminium/default_on_updated_state/data.json b/csit/variables/tcpmd5user/aluminium/default_on_updated_state/data.json new file mode 100644 index 0000000000..7a339aafc3 --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/default_on_updated_state/data.json @@ -0,0 +1,119 @@ +{ + "topology": [ + { + "node": [ + { + "network-pcep-topology-stats:pcep-session-state": { + "delegated-lsps-count": 1, + "local-pref": { + "deadtimer": 120, + "ip-address": "$IP_ODL", + "keepalive": 30, + "session-id": "*" + }, + "messages": { + "error-messages": {$ERRORS + "received-error-msg-count": 0, + "sent-error-msg-count": 0 + }, + "last-sent-msg-timestamp": "*", + "odl-pcep-stateful-stats:last-received-rpt-msg-timestamp": "*", + "odl-pcep-stateful-stats:received-rpt-msg-count": 3, + "odl-pcep-stateful-stats:sent-init-msg-count": 0, + "odl-pcep-stateful-stats:sent-upd-msg-count": 1, + "received-msg-count": 3, + "reply-time": { + "average-time": "*", + "max-time": "*", + "min-time": "*" + }, + "sent-msg-count": 1, + "unknown-msg-received": 0 + }, + "peer-capabilities": { + "odl-pcep-stateful-stats:active": true, + "odl-pcep-stateful-stats:instantiation": true, + "odl-pcep-stateful-stats:stateful": true + }, + "peer-pref": { + "deadtimer": 120, + "ip-address": "$IP", + "keepalive": 30, + "session-id": "*" + }, + "session-duration": "*", + "synchronized": true + }, + "network-topology-pcep:path-computation-client": { + "ip-address": "$IP", + "reported-lsp": [ + { + "name": "$NAME", + "path": [ + { + "ero": { + "ignore": false, + "processing-rule": false, + "subobject": [ + { + "ip-prefix": { + "ip-prefix": "1.1.1.1/32" + }, + "loose": false + }, + { + "ip-prefix": { + "ip-prefix": "2.2.2.2/32" + }, + "loose": false + } + ] + }, + "lsp-id": 1, + "odl-pcep-ietf-stateful:lsp": { + "administrative": true, + "delegate": true, + "ignore": false, + "odl-pcep-ietf-initiated:create": false, + "operational": "up", + "plsp-id": 1, + "processing-rule": false, + "remove": false, + "sync": true, + "tlvs": { + "lsp-identifiers": { + "ipv4": { + "ipv4-extended-tunnel-id": "$IP", + "ipv4-tunnel-endpoint-address": "1.1.1.1", + "ipv4-tunnel-sender-address": "$IP" + }, + "lsp-id": 1, + "tunnel-id": 1 + }, + "symbolic-path-name": { + "path-name": "$CODE" + } + } + } + } + ] + } + ], + "state-sync": "synchronized", + "stateful-tlv": { + "odl-pcep-ietf-stateful:stateful": { + "lsp-update-capability": true, + "odl-pcep-ietf-initiated:initiation": true + } + } + }, + "node-id": "pcc://$IP" + } + ], + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +} diff --git a/csit/variables/tcpmd5user/aluminium/default_on_updated_state/location.uri b/csit/variables/tcpmd5user/aluminium/default_on_updated_state/location.uri new file mode 100644 index 0000000000..7a4b1bf20d --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/default_on_updated_state/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology diff --git a/csit/variables/tcpmd5user/default_on_updated_state/volatiles.list b/csit/variables/tcpmd5user/aluminium/default_on_updated_state/volatiles.list similarity index 100% rename from csit/variables/tcpmd5user/default_on_updated_state/volatiles.list rename to csit/variables/tcpmd5user/aluminium/default_on_updated_state/volatiles.list diff --git a/csit/variables/tcpmd5user/pcep_topology_node/data.xml b/csit/variables/tcpmd5user/aluminium/pcep_topology_node/data.xml similarity index 100% rename from csit/variables/tcpmd5user/pcep_topology_node/data.xml rename to csit/variables/tcpmd5user/aluminium/pcep_topology_node/data.xml diff --git a/csit/variables/tcpmd5user/pcep_topology_node_empty/location.uri b/csit/variables/tcpmd5user/aluminium/pcep_topology_node/location.uri similarity index 100% rename from csit/variables/tcpmd5user/pcep_topology_node_empty/location.uri rename to csit/variables/tcpmd5user/aluminium/pcep_topology_node/location.uri diff --git a/csit/variables/tcpmd5user/pcep_topology_node_empty/data.xml b/csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/data.xml similarity index 100% rename from csit/variables/tcpmd5user/pcep_topology_node_empty/data.xml rename to csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/data.xml diff --git a/csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/location.uri b/csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/location.uri new file mode 100644 index 0000000000..814155494d --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/pcep_topology_node_empty/location.uri @@ -0,0 +1 @@ +restconf/config/network-topology:network-topology/topology/pcep-topology/node/$IP diff --git a/csit/variables/tcpmd5user/update_delegated/location.uri b/csit/variables/tcpmd5user/aluminium/update_delegated/location.uri similarity index 100% rename from csit/variables/tcpmd5user/update_delegated/location.uri rename to csit/variables/tcpmd5user/aluminium/update_delegated/location.uri diff --git a/csit/variables/tcpmd5user/update_delegated/post_data.xml b/csit/variables/tcpmd5user/aluminium/update_delegated/post_data.xml similarity index 100% rename from csit/variables/tcpmd5user/update_delegated/post_data.xml rename to csit/variables/tcpmd5user/aluminium/update_delegated/post_data.xml diff --git a/csit/variables/tcpmd5user/aluminium/variables.py b/csit/variables/tcpmd5user/aluminium/variables.py new file mode 100644 index 0000000000..9750e7a7b8 --- /dev/null +++ b/csit/variables/tcpmd5user/aluminium/variables.py @@ -0,0 +1,237 @@ +""" +Variables file for tcpmd5user suite. + +Expected JSON templates are fairly long, +therefore there are moved out of testcase file. +Also, it is needed to generate base64 encoded tunnel name +from Mininet IP (which is not known beforehand), +so it is easier to employ Python here, +than do manipulation in Robot file. +""" +# Copyright (c) 2015 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 + +import base64 +from string import Template + + +__author__ = "Vratko Polak" +__copyright__ = "Copyright(c) 2015, Cisco Systems, Inc." +__license__ = "Eclipse Public License v1.0" +__email__ = "vrpolak@cisco.com" + + +# FIXME: Migrate values shared by other suites to separate Python module. + + +def get_variables(mininet_ip): + """Return dict of variables for the given IPv4 address of Mininet VM.""" + # TODO: Document in 'V' fashion, as in pcepuser/variables.py using more systematic local variable names. + # Dict of variables to return, starts empty and grows as function proceeds. + variables = {} + # Given mininet_ip, this will be the sympolic name uf tunnel under test. + tunnelname = "pcc_" + mininet_ip + "_tunnel_1" + # Base64 code for the symbolic name, as that is present in datastore. + tunnelname_bytes = tunnelname.encode("ascii") + pathcode_encoded = base64.b64encode(tunnelname_bytes) + pathcode = pathcode_encoded.decode("ascii") + variables["pcc_name"] = tunnelname + variables["pcc_name_code"] = pathcode + # JSON response when pcep-topology is ready but no PCC is connected. + variables[ + "offjson" + ] = """{ + "topology": [ + { + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +}""" + # Template of JSON response with pcep-topology seeing 1 PCC 1 LSP. + onjsontempl = Template( + """{ + "topology": [ + { + "node": [ + { + "network-topology-pcep:path-computation-client": { + "ip-address": "$IP", + "reported-lsp": [ + { + "name": "$NAME", + "path": [ + { + "ero": { + "ignore": false, + "processing-rule": false, + "subobject": [ + { + "ip-prefix": { + "ip-prefix": "1.1.1.1/32" + }, + "loose": false + } + ] + }, + "lsp-id": 1, + "odl-pcep-ietf-stateful:lsp": { + "administrative": true, + "delegate": true, + "ignore": false, + "odl-pcep-ietf-initiated:create": false, + "operational": "up", + "plsp-id": 1, + "processing-rule": false, + "remove": false, + "sync": true, + "tlvs": { + "lsp-identifiers": { + "ipv4": { + "ipv4-extended-tunnel-id": "$IP", + "ipv4-tunnel-endpoint-address": "1.1.1.1", + "ipv4-tunnel-sender-address": "$IP" + }, + "lsp-id": 1, + "tunnel-id": 1 + }, + "symbolic-path-name": { + "path-name": "$CODE" + } + } + } + } + ] + } + ], + "state-sync": "synchronized", + "stateful-tlv": { + "odl-pcep-ietf-stateful:stateful": { + "lsp-update-capability": true, + "odl-pcep-ietf-initiated:initiation": true + } + } + }, + "node-id": "pcc://$IP" + } + ], + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +}""" + ) + # Dictionly which tells values for placeholders. + repl_dict = {"IP": mininet_ip, "NAME": tunnelname, "CODE": pathcode} + # The finalized JSON. + variables["onjson"] = onjsontempl.substitute(repl_dict) + # The following strings are XML data. + # See https://wiki.opendaylight.org/view/BGP_LS_PCEP:TCP_MD5_Guide#RESTCONF_Configuration + # For curl, string is suitable to became -d argument only after + # replacing ' -> '"'"' and enclosing in single quotes. + variables[ + "key_access_module" + ] = """ + x:native-key-access-factory + global-key-access-factory +""" + variables[ + "key_access_service" + ] = """ + x:key-access-factory + + global-key-access-factory + /modules/module[type='native-key-access-factory'][name='global-key-access-factory'] + +""" + variables[ + "client_channel_module" + ] = """ + x:md5-client-channel-factory + md5-client-channel-factory + + x:key-access-factory + global-key-access-factory + +""" + variables[ + "client_channel_service" + ] = """ + x:md5-channel-factory + + md5-client-channel-factory + /modules/module[type='md5-client-channel-factory'][name='md5-client-channel-factory'] + +""" + variables[ + "server_channel_module" + ] = """ + """ + # What is your favourite way to concatenate strings without resembling tuple? + variables[ + "server_channel_module" + ] += """prefix:md5-server-channel-factory-impl + md5-server-channel-factory + + x:key-access-factory + global-key-access-factory + +""" + variables[ + "server_channel_service" + ] = """ + """ + variables[ + "server_channel_service" + ] += """prefix:md5-server-channel-factory + + md5-server-channel-factory + /modules/module[type='md5-server-channel-factory-impl'][name='md5-server-channel-factory'] + +""" + variables[ + "pcep_dispatcher_module" + ] = """ + x:pcep-dispatcher-impl + global-pcep-dispatcher + + x:md5-channel-factory + md5-client-channel-factory + + + x:md5-server-channel-factory + md5-server-channel-factory + +""" + # Template to set password. + passwd_templ = Template( + """ + x:pcep-topology-provider + pcep-topology + +
$IP
+$PASSWD
+
""" + ) + # We use three template instantiations. No password: + repl_dict = {"IP": mininet_ip, "PASSWD": ""} + variables["no_passwd_module"] = passwd_templ.substitute(repl_dict) + changeme = """ changeme +""" + # wrong password + repl_dict = {"IP": mininet_ip, "PASSWD": changeme} + variables["passwd_changeme_module"] = passwd_templ.substitute(repl_dict) + # and correct password. + topsecret = """ topsecret +""" + repl_dict = {"IP": mininet_ip, "PASSWD": topsecret} + variables["passwd_topsecret_module"] = passwd_templ.substitute(repl_dict) + # All variables set, return dict to Robot. + return variables diff --git a/csit/variables/tcpmd5user/magnesium/default_off/data.json b/csit/variables/tcpmd5user/magnesium/default_off/data.json new file mode 100644 index 0000000000..b1219657d6 --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_off/data.json @@ -0,0 +1,10 @@ +{ + "topology": [ + { + "topology-id": "pcep-topology", + "topology-types": { + "network-topology-pcep:topology-pcep": {} + } + } + ] +} diff --git a/csit/variables/tcpmd5user/magnesium/default_off/location.uri b/csit/variables/tcpmd5user/magnesium/default_off/location.uri new file mode 100644 index 0000000000..7a4b1bf20d --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_off/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology diff --git a/csit/variables/tcpmd5user/default_on_state/data.json b/csit/variables/tcpmd5user/magnesium/default_on_state/data.json similarity index 100% rename from csit/variables/tcpmd5user/default_on_state/data.json rename to csit/variables/tcpmd5user/magnesium/default_on_state/data.json diff --git a/csit/variables/tcpmd5user/magnesium/default_on_state/location.uri b/csit/variables/tcpmd5user/magnesium/default_on_state/location.uri new file mode 100644 index 0000000000..7a4b1bf20d --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_on_state/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology diff --git a/csit/variables/tcpmd5user/magnesium/default_on_state/volatiles.list b/csit/variables/tcpmd5user/magnesium/default_on_state/volatiles.list new file mode 100644 index 0000000000..567832f288 --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_on_state/volatiles.list @@ -0,0 +1,3 @@ +odl-pcep-stateful-stats:last-received-rpt-msg-timestamp +session-duration +session-id diff --git a/csit/variables/tcpmd5user/default_on_updated_state/data.json b/csit/variables/tcpmd5user/magnesium/default_on_updated_state/data.json similarity index 100% rename from csit/variables/tcpmd5user/default_on_updated_state/data.json rename to csit/variables/tcpmd5user/magnesium/default_on_updated_state/data.json diff --git a/csit/variables/tcpmd5user/magnesium/default_on_updated_state/location.uri b/csit/variables/tcpmd5user/magnesium/default_on_updated_state/location.uri new file mode 100644 index 0000000000..7a4b1bf20d --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_on_updated_state/location.uri @@ -0,0 +1 @@ +restconf/operational/network-topology:network-topology/topology/pcep-topology diff --git a/csit/variables/tcpmd5user/magnesium/default_on_updated_state/volatiles.list b/csit/variables/tcpmd5user/magnesium/default_on_updated_state/volatiles.list new file mode 100644 index 0000000000..21a0739999 --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/default_on_updated_state/volatiles.list @@ -0,0 +1,7 @@ +odl-pcep-stateful-stats:last-received-rpt-msg-timestamp +session-duration +session-id +last-sent-msg-timestamp +average-time +max-time +min-time diff --git a/csit/variables/tcpmd5user/magnesium/pcep_topology_node/data.xml b/csit/variables/tcpmd5user/magnesium/pcep_topology_node/data.xml new file mode 100644 index 0000000000..beba061b3f --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/pcep_topology_node/data.xml @@ -0,0 +1,6 @@ + + $IP + + $PASSWD + + diff --git a/csit/variables/tcpmd5user/magnesium/pcep_topology_node/location.uri b/csit/variables/tcpmd5user/magnesium/pcep_topology_node/location.uri new file mode 100644 index 0000000000..814155494d --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/pcep_topology_node/location.uri @@ -0,0 +1 @@ +restconf/config/network-topology:network-topology/topology/pcep-topology/node/$IP diff --git a/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/data.xml b/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/data.xml new file mode 100644 index 0000000000..fd203a7dd2 --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/data.xml @@ -0,0 +1,3 @@ + + $IP + diff --git a/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/location.uri b/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/location.uri new file mode 100644 index 0000000000..814155494d --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/pcep_topology_node_empty/location.uri @@ -0,0 +1 @@ +restconf/config/network-topology:network-topology/topology/pcep-topology/node/$IP diff --git a/csit/variables/tcpmd5user/magnesium/update_delegated/location.uri b/csit/variables/tcpmd5user/magnesium/update_delegated/location.uri new file mode 100644 index 0000000000..7193120a42 --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/update_delegated/location.uri @@ -0,0 +1 @@ +restconf/operations/network-topology-pcep:update-lsp diff --git a/csit/variables/tcpmd5user/magnesium/update_delegated/post_data.xml b/csit/variables/tcpmd5user/magnesium/update_delegated/post_data.xml new file mode 100644 index 0000000000..ab64fca4ec --- /dev/null +++ b/csit/variables/tcpmd5user/magnesium/update_delegated/post_data.xml @@ -0,0 +1,27 @@ + + pcc://$IP + $NAME + + /topo:network-topology/topo:topology[topo:topology-id="pcep-topology"] + + + + true + true + + + + false + + 2.2.2.2/32 + + + + false + + 1.1.1.1/32 + + + + + diff --git a/csit/variables/tcpmd5user/variables.py b/csit/variables/tcpmd5user/magnesium/variables.py similarity index 100% rename from csit/variables/tcpmd5user/variables.py rename to csit/variables/tcpmd5user/magnesium/variables.py diff --git a/csit/variables/tcpmd5user/silicon b/csit/variables/tcpmd5user/silicon new file mode 120000 index 0000000000..9bab41d45f --- /dev/null +++ b/csit/variables/tcpmd5user/silicon @@ -0,0 +1 @@ +aluminium/ \ No newline at end of file diff --git a/csit/variables/tcpmd5user/sodium b/csit/variables/tcpmd5user/sodium new file mode 120000 index 0000000000..1026ad0d3b --- /dev/null +++ b/csit/variables/tcpmd5user/sodium @@ -0,0 +1 @@ +magnesium \ No newline at end of file -- 2.36.6