diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-19 10:14:31 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-19 10:14:31 -0700 |
commit | e9bb60be43af477f17b30ee1f2ba205565b7fa15 (patch) | |
tree | 981fd759a44b751fc45cde774f46fda37c11c257 /framework/src/onos/tools | |
parent | 74f3941756a1386cbc1fa99ee73fdc8376a0b6a0 (diff) |
Updated onos src tree to commit id 1e60f97ae50c05b94fcb6a10520738bfb5efdfd1
Diffstat (limited to 'framework/src/onos/tools')
16 files changed, 102 insertions, 364 deletions
diff --git a/framework/src/onos/tools/dev/bash_profile b/framework/src/onos/tools/dev/bash_profile index f39c2ce1..a0f040a5 100644 --- a/framework/src/onos/tools/dev/bash_profile +++ b/framework/src/onos/tools/dev/bash_profile @@ -52,6 +52,7 @@ alias mis='mvn install -DskipTests -Dcheckstyle.skip -U -T 1C' # Short-hand for ONOS build, package and test. alias ob='onos-build' +alias obf='ob -DskipTests -Dcheckstyle.skip' alias obi='onos-build -Dmaven.test.failure.ignore=true' alias obs='onos-build-selective' alias obd='onos-build-docs' @@ -112,6 +113,7 @@ function cell { unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES unset OCI OCN OCT ONOS_INSTANCES ONOS_USER ONOS_GROUP ONOS_FEATURES unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p') + export ONOS_USER=${ONOS_USER:-sdn} export ONOS_WEB_USER=onos export ONOS_WEB_PASS=rocks export ONOS_CELL=$1 diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.css b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.css deleted file mode 100644 index c492e203..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.css +++ /dev/null @@ -1,35 +0,0 @@ -/* css for sample app view */ - -#ov-sample h2 { - display: inline-block; -} - -/* Panel Styling */ -#item-details-panel.floatpanel { - position: absolute; - top: 115px; -} - -.light #item-details-panel.floatpanel { - background-color: rgb(229, 234, 237); -} -.dark #item-details-panel.floatpanel { - background-color: #3A4042; -} - -#item-details-panel h3 { - margin: 0; - font-size: large; -} - -#item-details-panel h4 { - margin: 0; -} - -#item-details-panel td { - padding: 5px; -} -#item-details-panel td.label { - font-style: italic; - opacity: 0.8; -}
\ No newline at end of file diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.html b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.html deleted file mode 100644 index 03a7383e..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- partial HTML --> -<div id="ov-sample"> - <div class="tabular-header"> - <h2>Items ({{tableData.length}} total)</h2> - <div class="ctrl-btns"> - <div class="refresh" ng-class="{active: autoRefresh}" - icon icon-id="refresh" icon-size="36" - tooltip tt-msg="autoRefreshTip" - ng-click="toggleRefresh()"></div> - </div> - </div> - - <div class="summary-list" onos-table-resize> - - <div class="table-header" onos-sortable-header> - <table> - <tr> - <td colId="id" sortable>Item ID </td> - <td colId="label" sortable>Label </td> - <td colId="code" sortable>Code </td> - </tr> - </table> - </div> - - <div class="table-body"> - <table> - <tr ng-if="!tableData.length" class="no-data"> - <td colspan="3"> - No Items found - </td> - </tr> - - <tr ng-repeat="item in tableData track by $index" - ng-click="selectCallback($event, item)" - ng-class="{selected: item.id === selId}"> - <td>{{item.id}}</td> - <td>{{item.label}}</td> - <td>{{item.code}}</td> - </tr> - </table> - </div> - - </div> - - <item-details-panel></item-details-panel> -</div> diff --git a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.js b/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.js deleted file mode 100644 index 2d4aed48..00000000 --- a/framework/src/onos/tools/package/archetypes/ui/src/main/resources/archetype-resources/src/main/resources/app/view/sample/sample.js +++ /dev/null @@ -1,139 +0,0 @@ -// js for sample app view -(function () { - 'use strict'; - - // injected refs - var $log, $scope, fs, wss, ps; - - // constants - var detailsReq = 'sampleDetailsRequest', - detailsResp = 'sampleDetailsResponse', - pName = 'item-details-panel', - - propOrder = ['id', 'label', 'code'], - friendlyProps = ['Item ID', 'Item Label', 'Special Code']; - - - function addProp(tbody, index, value) { - var tr = tbody.append('tr'); - - function addCell(cls, txt) { - tr.append('td').attr('class', cls).html(txt); - } - addCell('label', friendlyProps[index] + ' :'); - addCell('value', value); - } - - function populatePanel(panel) { - var title = panel.append('h3'), - tbody = panel.append('table').append('tbody'); - - title.text('Item Details'); - - propOrder.forEach(function (prop, i) { - addProp(tbody, i, $scope.panelDetails[prop]); - }); - - panel.append('hr'); - panel.append('h4').text('Comments'); - panel.append('p').text($scope.panelDetails.comment); - } - - function respDetailsCb(data) { - $scope.panelDetails = data.details; - $scope.$apply(); - } - - angular.module('ovSample', []) - .controller('OvSampleCtrl', - ['$log', '$scope', 'TableBuilderService', - 'FnService', 'WebSocketService', - - function (_$log_, _$scope_, tbs, _fs_, _wss_) { - $log = _$log_; - $scope = _$scope_; - fs = _fs_; - wss = _wss_; - - var handlers = {}; - $scope.panelDetails = {}; - - // details response handler - handlers[detailsResp] = respDetailsCb; - wss.bindHandlers(handlers); - - // custom selection callback - function selCb($event, row) { - if ($scope.selId) { - wss.sendEvent(detailsReq, { id: row.id }); - } else { - $scope.hidePanel(); - } - $log.debug('Got a click on:', row); - } - - // TableBuilderService creating a table for us - tbs.buildTable({ - scope: $scope, - tag: 'sample', - selCb: selCb - }); - - // cleanup - $scope.$on('$destroy', function () { - wss.unbindHandlers(handlers); - }); - - $log.log('OvSampleCtrl has been created'); - }]) - - .directive('itemDetailsPanel', ['PanelService', 'KeyService', - function (_ps_, ks) { - return { - restrict: 'E', - link: function (scope, element, attrs) { - ps = _ps_; - // insert details panel with PanelService - // create the panel - var panel = ps.createPanel(pName, { - width: 200, - margin: 20, - hideMargin: 0 - }); - panel.hide(); - scope.hidePanel = function () { panel.hide(); }; - - function closePanel() { - if (panel.isVisible()) { - $scope.selId = null; - panel.hide(); - } - } - - // create key bindings to handle panel - ks.keyBindings({ - esc: [closePanel, 'Close the details panel'], - _helpFormat: ['esc'] - }); - ks.gestureNotes([ - ['click', 'Select a row to show item details'] - ]); - - // update the panel's contents when the data is changed - scope.$watch('panelDetails', function () { - if (!fs.isEmptyObject(scope.panelDetails)) { - panel.empty(); - populatePanel(panel); - panel.show(); - } - }); - - // cleanup on destroyed scope - scope.$on('$destroy', function () { - ks.unbindKeys(); - ps.destroyPanel(pName); - }); - } - }; - }]); -}()); diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java index fe28186b..7c35cc53 100644 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java +++ b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java @@ -49,9 +49,9 @@ import java.util.TimerTask; */ public class AppUiTopovMessageHandler extends UiMessageHandler { - private static final String SAMPLE_DISPLAY_START = "sampleDisplayStart"; - private static final String SAMPLE_DISPLAY_UPDATE = "sampleDisplayUpdate"; - private static final String SAMPLE_DISPLAY_STOP = "sampleDisplayStop"; + private static final String SAMPLE_TOPOV_DISPLAY_START = "sampleTopovDisplayStart"; + private static final String SAMPLE_TOPOV_DISPLAY_UPDATE = "sampleTopovDisplayUpdate"; + private static final String SAMPLE_TOPOV_DISPLAY_STOP = "sampleTopovDisplayStop"; private static final String ID = "id"; private static final String MODE = "mode"; @@ -101,7 +101,7 @@ public class AppUiTopovMessageHandler extends UiMessageHandler { private final class DisplayStartHandler extends RequestHandler { public DisplayStartHandler() { - super(SAMPLE_DISPLAY_START); + super(SAMPLE_TOPOV_DISPLAY_START); } @Override @@ -136,7 +136,7 @@ public class AppUiTopovMessageHandler extends UiMessageHandler { private final class DisplayUpdateHandler extends RequestHandler { public DisplayUpdateHandler() { - super(SAMPLE_DISPLAY_UPDATE); + super(SAMPLE_TOPOV_DISPLAY_UPDATE); } @Override @@ -153,7 +153,7 @@ public class AppUiTopovMessageHandler extends UiMessageHandler { private final class DisplayStopHandler extends RequestHandler { public DisplayStopHandler() { - super(SAMPLE_DISPLAY_STOP); + super(SAMPLE_TOPOV_DISPLAY_STOP); } @Override diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js index 0b82d811..328380c0 100644 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js +++ b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js @@ -26,9 +26,9 @@ var $log, fs, flash, wss; // constants - var displayStart = 'sampleDisplayStart', - displayUpdate = 'sampleDisplayUpdate', - displayStop = 'sampleDisplayStop'; + var displayStart = 'sampleTopovDisplayStart', + displayUpdate = 'sampleTopovDisplayUpdate', + displayStop = 'sampleTopovDisplayStop'; // internal state var currentMode = null; diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js index 12875e1f..7ebc030a 100644 --- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js +++ b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js @@ -13,7 +13,7 @@ // our overlay definition var overlay = { - // NOTE: this must match the ID defined in AppUiTopoOverlay + // NOTE: this must match the ID defined in AppUiTopovOverlay overlayId: 'meowster-overlay', glyphId: '*star4', tooltip: 'Sample Meowster Topo Overlay', diff --git a/framework/src/onos/tools/package/config/samples/segmentrouting.conf b/framework/src/onos/tools/package/config/samples/segmentrouting.conf deleted file mode 100644 index 8df6c3d2..00000000 --- a/framework/src/onos/tools/package/config/samples/segmentrouting.conf +++ /dev/null @@ -1,78 +0,0 @@ -{ - "comment": " Multilayer topology description and configuration", - "restrictSwitches": true, - "restrictLinks": true, - - "switchConfig": - [ - { "nodeDpid" : "of:0000000000000001", "name": "Dallas-R1", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.1/32", - "routerMac": "00:00:01:01:01:80", - "nodeSid": 101, - "isEdgeRouter" : true, - "adjacencySids": [ - { "ports": [ 4, 5 ], "adjSid": 10234 }, - { "ports": [ 6, 7 ], "adjSid": 29019 } - ], - "subnets": [ - { "portNo": 1, "subnetIp": "10.0.1.128/24" } - ] - } - }, - - { "nodeDpid": "of:0000000000000002", "name": "Dallas-R2", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.2/32", - "routerMac": "00:00:02:02:02:80", - "nodeSid": 102, - "isEdgeRouter" : false, - "adjacencySids": [ - { "ports": [ 1, 2 ], "adjSid": 12453 }, - { "ports": [ 2, 3 ], "adjSid": 23333 }, - { "ports": [ 3, 1 ], "adjSid": 22233 } - ] - } - }, - - { "nodeDpid": "of:0000000000000003", "name": "Dallas-R3", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.3/32", - "routerMac": "00:00:03:03:03:80", - "nodeSid": 103, - "isEdgeRouter" : false - } - }, - - { "nodeDpid": "of:0000000000000004", "name": "Dallas-R4", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.4/32", - "routerMac": "00:00:04:04:04:80", - "nodeSid": 104, - "isEdgeRouter" : false - } - }, - - { "nodeDpid": "of:0000000000000005", "name": "Dallas-R5", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.5/32", - "routerMac": "00:00:05:05:05:80", - "nodeSid": 105, - "isEdgeRouter" : false - } - }, - - { "nodeDpid": "of:0000000000000006", "name": "Dallas-R6", "type": "Router_SR", "allowed": true, - "latitude": 80.80, "longitude": 90.10, - "params": { "routerIp": "192.168.0.6/32", - "routerMac": "00:00:07:07:07:80", - "nodeSid": 106, - "isEdgeRouter" : true, - "subnets": [ - { "portNo": 1, "subnetIp": "7.7.7.128/24" } - ] - } - } - - ] -} diff --git a/framework/src/onos/tools/package/debian/onos.conf b/framework/src/onos/tools/package/debian/onos.conf deleted file mode 100644 index 634a2636..00000000 --- a/framework/src/onos/tools/package/debian/onos.conf +++ /dev/null @@ -1,27 +0,0 @@ -description "Open Network Operating System" -author "ON.Lab" - -start on (net-device-up - and local-filesystems - and runlevel [2345]) -stop on runlevel [016] - -console output -kill timeout 60 -respawn - -env LANG=en_US.UTF-8 -#env JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 -#env NEW_JAVA_HOME=/usr/lib/jvm/java-8-oracle/ - -pre-stop script - /opt/onos/bin/onos halt 2>>/opt/onos/var/stderr.log - sleep 1 -end script - -script - [ -f /opt/onos/options ] && . /opt/onos/options - start-stop-daemon --signal INT --start --chuid $ONOS_USER \ - --exec /opt/onos/bin/onos-service -- $ONOS_OPTS \ - >/opt/onos/var/stdout.log 2>/opt/onos/var/stderr.log -end script diff --git a/framework/src/onos/tools/test/bin/onos-secure-ssh b/framework/src/onos/tools/test/bin/onos-secure-ssh index 3c15fa3c..a3980e17 100755 --- a/framework/src/onos/tools/test/bin/onos-secure-ssh +++ b/framework/src/onos/tools/test/bin/onos-secure-ssh @@ -9,9 +9,6 @@ nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2) for node in $nodes; do - # Setup passwordless login for the remote user on the local bench host - onos-user-key $node - # Prune the node entry from the known hosts file since server key changes ssh-keygen -f "$HOME/.ssh/known_hosts" -R [$node]:8101 @@ -27,5 +24,10 @@ for node in $nodes; do sleep 1 done " + + # Setup passwordless login for the remote user on the local bench host + # For now, we let the local public key override the remote one + # TODO: fix username collision between workbench and the remote hosts + onos-user-key $node done diff --git a/framework/src/onos/tools/test/scenarios/fast.xml b/framework/src/onos/tools/test/scenarios/fast.xml new file mode 100644 index 00000000..3cfe2c60 --- /dev/null +++ b/framework/src/onos/tools/test/scenarios/fast.xml @@ -0,0 +1,30 @@ +<!-- + ~ Copyright 2015 Open Networking Laboratory + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<scenario name="fast" description="ONOS fast smoke test"> + <import file="${ONOS_SCENARIOS}/prerequisites.xml"/> + + <import file="${ONOS_SCENARIOS}/setup.xml"/> + <dependency name="Setup" requires="Prerequisites"/> + + <import file="${ONOS_SCENARIOS}/net-fast.xml"/> + <dependency name="Net-Fast" requires="Setup"/> + + <import file="${ONOS_SCENARIOS}/archetypes.xml"/> + <dependency name="Archetypes" requires="Setup"/> + + <import file="${ONOS_SCENARIOS}/wrapup.xml"/> + <dependency name="Wrapup" requires="~Archetypes,~Setup,~Net-Fast"/> +</scenario> diff --git a/framework/src/onos/tools/test/scenarios/net-fast.xml b/framework/src/onos/tools/test/scenarios/net-fast.xml new file mode 100644 index 00000000..359c0082 --- /dev/null +++ b/framework/src/onos/tools/test/scenarios/net-fast.xml @@ -0,0 +1,29 @@ +<!-- + ~ Copyright 2015 Open Networking Laboratory + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<scenario name="net-fast" description="Basic network functionality fast test"> + <group name="Net-Fast"> + <import file="${ONOS_SCENARIOS}/net-setup.xml"/> + + <import file="${ONOS_SCENARIOS}/net-pingall.xml" namespace="Reactive-Forwarding"/> + <dependency name="Reactive-Forwarding.Net-Pingall" requires="Net-Setup"/> + + <import file="${ONOS_SCENARIOS}/net-link-down-up.xml" namespace="Reactive-Forwarding"/> + <dependency name="Reactive-Forwarding.Net-Link-Down-Up" requires="Net-Setup,~Reactive-Forwarding.Net-Pingall"/> + + <import file="${ONOS_SCENARIOS}/net-teardown.xml"/> + <dependency name="Net-Teardown" requires="~Reactive-Forwarding.Net-Link-Down-Up"/> + </group> +</scenario> diff --git a/framework/src/onos/tools/test/scenarios/net-pingall.xml b/framework/src/onos/tools/test/scenarios/net-pingall.xml index 87c13227..100cebac 100644 --- a/framework/src/onos/tools/test/scenarios/net-pingall.xml +++ b/framework/src/onos/tools/test/scenarios/net-pingall.xml @@ -22,7 +22,7 @@ exec="onos-check-apps ${OC1} drivers,openflow,proxyarp,fwd includes"/> <!-- TODO: take this out when initial pingall sweep is 100% --> - <step name="Initial-Ping-All" requires="Check-Apps" + <step name="Initial-Ping-All" requires="Check-Apps" unless="${ONOS_RF_BUG_FIXED}" exec="onos-mininet sendAndExpect py net.pingAll(1) --expect received"/> <step name="Ping-All-And-Verify" requires="Check-Apps,Initial-Ping-All" diff --git a/framework/src/onos/tools/test/scenarios/net-smoke.xml b/framework/src/onos/tools/test/scenarios/net-smoke.xml index 91131c62..037b6f00 100644 --- a/framework/src/onos/tools/test/scenarios/net-smoke.xml +++ b/framework/src/onos/tools/test/scenarios/net-smoke.xml @@ -36,13 +36,13 @@ <dependency name="Net-Create-Flows" requires="Net-Setup,P2P-Intent-Connectivity,Net-REST"/> <import file="${ONOS_SCENARIOS}/net-topo.xml"/> - <dependency name="Net-topo" requires="Net-Setup,Net-Create-Flows"/> + <dependency name="Net-Topo" requires="Net-Setup,Net-Create-Flows"/> <import file="${ONOS_SCENARIOS}/net-teardown.xml"/> <dependency name="Net-Teardown" requires="~Host-Intent-Connectivity, ~P2P-Intent-Connectivity, ~Net-REST, ~Net-Create-Flows, - ~Net-topo"/> + ~Net-Topo"/> </group> </scenario> diff --git a/framework/src/onos/tools/test/scenarios/net-topo.xml b/framework/src/onos/tools/test/scenarios/net-topo.xml index e8e23997..abcf8642 100644 --- a/framework/src/onos/tools/test/scenarios/net-topo.xml +++ b/framework/src/onos/tools/test/scenarios/net-topo.xml @@ -16,60 +16,60 @@ <scenario name="net-topo" description="Network topology test"> <!-- TODO: parametrize this via recipes --> - <group name="Net-topo"> + <group name="Net-Topo"> <!-- Verify the overall topology using the REST API --> - <step name="Net-topo.Query-Topo" + <step name="Net-Topo.Query-Topo" exec="query-topo.py ${OC1} topo"/> - <step name="Net-topo.Verify-Topo-Devices" requires="Net-topo.Query-Topo" + <step name="Net-Topo.Verify-Topo-Devices" requires="Net-Topo.Query-Topo" exec="test ${topoDevices} == 25"/> - <step name="Net-topo.Verify-Topo-Links" requires="Net-topo.Query-Topo" + <step name="Net-Topo.Verify-Topo-Links" requires="Net-Topo.Query-Topo" exec="test ${topoLinks} == 140"/> - <step name="Net-topo.Verify-Topo-Clusters" requires="Net-topo.Query-Topo" + <step name="Net-Topo.Verify-Topo-Clusters" requires="Net-Topo.Query-Topo" exec="test ${topoClusters} == 1"/> <!-- Verify the cluster topology using the REST API --> - <step name="Net-topo.Query-Cluster0" + <step name="Net-Topo.Query-Cluster0" exec="query-cluster.py ${OC1} clusterTopo0 0"/> - <step name="Net-topo.Verify-Cluster0-Id" requires="Net-topo.Query-Cluster0" + <step name="Net-Topo.Verify-Cluster0-Id" requires="Net-Topo.Query-Cluster0" exec="test ${clusterTopo0Id} == 0"/> - <step name="Net-topo.Verify-Cluster0-DeviceCount" requires="Net-topo.Query-Cluster0" + <step name="Net-Topo.Verify-Cluster0-DeviceCount" requires="Net-Topo.Query-Cluster0" exec="test ${clusterTopo0DeviceCount} == 25"/> - <step name="Net-topo.Verify-Cluster0-LinkCount" requires="Net-topo.Query-Cluster0" + <step name="Net-Topo.Verify-Cluster0-LinkCount" requires="Net-Topo.Query-Cluster0" exec="test ${clusterTopo0LinkCount} == 140"/> - <step name="Net-topo.Verify-Cluster0-Root" requires="Net-topo.Query-Cluster0" + <step name="Net-Topo.Verify-Cluster0-Root" requires="Net-Topo.Query-Cluster0" exec="test '${clusterTopo0Root}' == 'of:000000000000000a'"/> <!-- Verify the list of devices for the cluster --> - <step name="Net-topo.Verify-Cluster0-Devices" + <step name="Net-Topo.Verify-Cluster0-Devices" exec="verify-topo-devices.py ${OC1} 0 0 24"/> <!-- Spot check some known links in the topology --> - <step name="Net-topo.Verify-Cluster0-Link1" + <step name="Net-Topo.Verify-Cluster0-Link1" exec="find-link-in-cluster.py ${OC1} link1 0 140 of:000000000000000f 8 of:0000000000000015 3"/> - <step name="Net-topo.Verify-Cluster0-Link2" + <step name="Net-Topo.Verify-Cluster0-Link2" exec="find-link-in-cluster.py ${OC1} link2 0 140 of:0000000000000008 3 of:0000000000000005 4"/> - <step name="Net-topo.Verify-Cluster0-Link3" + <step name="Net-Topo.Verify-Cluster0-Link3" exec="find-link-in-cluster.py ${OC1} link3 0 140 of:0000000000000011 2 of:0000000000000002 9"/> - <step name="Net-topo.Verify-Cluster0-Link4" + <step name="Net-Topo.Verify-Cluster0-Link4" exec="find-link-in-cluster.py ${OC1} link4 0 140 of:000000000000000f 3 of:000000000000000d 10"/> - <step name="Net-topo.Verify-Cluster0-Link5" + <step name="Net-Topo.Verify-Cluster0-Link5" exec="find-link-in-cluster.py ${OC1} link5 0 140 of:000000000000000d 13 of:0000000000000010 6"/> <!-- Verify the topology infrastructure query --> - <step name="Net-topo.Query-Cluster0-Infra1" + <step name="Net-Topo.Query-Cluster0-Infra1" exec="find-topo-infrastructure.py ${OC1} infra1 of:000000000000000f:8"/> - <step name="Net-topo.Verify-Cluster0-Infra1" requires="Net-topo.Query-Cluster0-Infra1" + <step name="Net-Topo.Verify-Cluster0-Infra1" requires="Net-Topo.Query-Cluster0-Infra1" exec="test '${infra1Infrastructure}' == 'True'"/> - <step name="Net-topo.Query-Cluster0-Infra2" + <step name="Net-Topo.Query-Cluster0-Infra2" exec="find-topo-infrastructure.py ${OC1} infra2 of:000000000000000d:8"/> - <step name="Net-topo.Verify-Cluster0-Infra2" requires="Net-topo.Query-Cluster0-Infra2" + <step name="Net-Topo.Verify-Cluster0-Infra2" requires="Net-Topo.Query-Cluster0-Infra2" exec="test '${infra2Infrastructure}' == 'True'"/> - <step name="Net-topo.Query-Cluster0-Infra3" + <step name="Net-Topo.Query-Cluster0-Infra3" exec="find-topo-infrastructure.py ${OC1} infra3 of:0000000000000012:8"/> - <step name="Net-topo.Verify-Cluster0-Infra3" requires="Net-topo.Query-Cluster0-Infra3" + <step name="Net-Topo.Verify-Cluster0-Infra3" requires="Net-Topo.Query-Cluster0-Infra3" exec="test '${infra3Infrastructure}' == 'False'"/> </group> diff --git a/framework/src/onos/tools/test/scenarios/prerequisites.xml b/framework/src/onos/tools/test/scenarios/prerequisites.xml index 2c541d5b..5690fc4a 100644 --- a/framework/src/onos/tools/test/scenarios/prerequisites.xml +++ b/framework/src/onos/tools/test/scenarios/prerequisites.xml @@ -20,7 +20,7 @@ <parallel var="${OC#}"> <step name="Check-Passwordless-Login-${#}" - exec="ssh -n -o ConnectTimeout=3 -o PasswordAuthentication=no sdn@${OC#} date"/> + exec="ssh -n -o ConnectTimeout=3 -o PasswordAuthentication=no ${ONOS_USER}@${OC#} date"/> </parallel> </group> </scenario> |