blob: 394d2df6da56150a6fda516bc22419a9d8c3d9e5 [file] [log] [blame]
"""
Copyright 2016 Open Networking Foundation ( ONF )
Please refer questions to either the onos test mailing list at <onos-test@onosproject.org>,
the System Testing Plans and Results wiki page at <https://wiki.onosproject.org/x/voMg>,
or the System Testing Guide page at <https://wiki.onosproject.org/x/WYQg>
TestON is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
( at your option ) any later version.
TestON is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with TestON. If not, see <http://www.gnu.org/licenses/>.
"""
def addBucket( main, egressPort="" ):
"""
Description:
Create a single bucket which can be added to a Group.
Optional:
* egressPort: port of egress device
Returns:
* Returns a Bucket
* Returns None in case of error
Note:
The ip and port option are for the requests input's ip and port
of the ONOS node.
"""
try:
bucket = {
"treatment": { "instructions": [] }
}
if egressPort:
bucket[ 'treatment' ][ 'instructions' ].append( {
"type": "OUTPUT",
"port": egressPort } )
return bucket
except ( AttributeError, TypeError ):
main.log.exception( self.name + ": Object not as expected" )
return None
except Exception:
main.log.exception( self.name + ": Uncaught exception!" )
main.cleanAndExit()