1222 lines
45 KiB
Python
1222 lines
45 KiB
Python
# (C) Copyright Broadcom Corporation 2016
|
|
#
|
|
# 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.
|
|
|
|
from agentapi import AgentAPI
|
|
from broadview_lib.bst.bst_parser import BSTParser
|
|
from broadview_lib.config.broadviewconfig import BroadViewBSTSwitches
|
|
import unittest
|
|
|
|
class ConfigureBSTFeature(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(ConfigureBSTFeature, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__bst_enable = False
|
|
self.__send_async_reports = False
|
|
self.__collection_interval = 60
|
|
self.__stats_in_percentage = False
|
|
self.__stat_units_in_cells = False
|
|
self.__trigger_rate_limit = 1
|
|
self.__trigger_rate_limit_interval = 1
|
|
self.__send_snapshot_on_trigger = True
|
|
self.__async_full_reports = False
|
|
self.__asic_id = "1"
|
|
|
|
def setEnable(self, val):
|
|
self.__bst_enable = val
|
|
|
|
def setSendAsyncReports(self, val):
|
|
self.__send_async_reports = val
|
|
|
|
def setCollectionInterval(self, val):
|
|
self.__collection_interval = val
|
|
|
|
def setStatInPercentage(self, val):
|
|
self.__stats_in_percentage = val
|
|
|
|
def setStatUnitsInCells(self, val):
|
|
self.__stat_units_in_cells = val
|
|
|
|
def setTriggerRateLimit(self, val):
|
|
self.__trigger_rate_limit = val
|
|
|
|
def setTriggerRateLimitInterval(self, val):
|
|
self.__trigger_rate_limit_interval = val
|
|
|
|
def setSendSnapshotOnTrigger(self, val):
|
|
self.__send_snapshot_on_trigger = val
|
|
|
|
def setAsyncFullReports(self, val):
|
|
self.__async_full_reports = val
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
return status
|
|
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
params["bst-enable"] = 1 if self.__bst_enable else 0
|
|
params["send-async-reports"] = 1 if self.__send_async_reports else 0
|
|
params["collection-interval"] = self.__collection_interval
|
|
params["stats-in-percentage"] = 1 if self.__stats_in_percentage else 0
|
|
params["stat-units-in-cells"] = 1 if self.__stat_units_in_cells else 0
|
|
params["trigger-rate-limit"] = self.__trigger_rate_limit
|
|
params["trigger-rate-limit-interval"] = self.__trigger_rate_limit_interval
|
|
params["send-snapshot-on-trigger"] = 1 if self.__send_snapshot_on_trigger else 0
|
|
params["async-full-reports"] = 1 if self.__async_full_reports else 0
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "configure-bst-feature"
|
|
return ret
|
|
|
|
class ConfigureBSTTracking(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(ConfigureBSTTracking, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__track_peak_stats = False
|
|
self.__track_ingress_port_priority_group = False
|
|
self.__track_ingress_port_service_pool = False
|
|
self.__track_ingress_service_pool = False
|
|
self.__track_egress_port_service_pool = False
|
|
self.__track_egress_service_pool = False
|
|
self.__track_egress_uc_queue = False
|
|
self.__track_egress_uc_queue_group = False
|
|
self.__track_egress_mc_queue = False
|
|
self.__track_egress_cpu_queue = False
|
|
self.__track_egress_rqe_queue = False
|
|
self.__track_device = False
|
|
self.__asic_id = "1"
|
|
|
|
def setTrackPeakStats(self, val):
|
|
self.__track_peak_stats = val
|
|
|
|
def setTrackIngressPortPriorityGroup(self, val):
|
|
self.__track_ingress_port_priority_group = val
|
|
|
|
def setTrackIngressPortServicePool(self, val):
|
|
self.__track_ingress_port_service_pool = val
|
|
|
|
def setTrackIngressServicePool(self, val):
|
|
self.__track_ingress_service_pool = val
|
|
|
|
def setTrackEgressPortServicePool(self, val):
|
|
self.__track_egress_port_service_pool = val
|
|
|
|
def setTrackEgressServicePool(self, val):
|
|
self.__track_egress_service_pool = val
|
|
|
|
def setTrackEgressUcQueue(self, val):
|
|
self.__track_egress_uc_queue = val
|
|
|
|
def setTrackEgressUcQueueGroup(self, val):
|
|
self.__track_egress_uc_queue_group = val
|
|
|
|
def setTrackEgressMcQueue(self, val):
|
|
self.__track_egress_mc_queue = val
|
|
|
|
def setTrackEgressCPUQueue(self, val):
|
|
self.__track_egress_cpu_queue = val
|
|
|
|
def setTrackEgressRQEQueue(self, val):
|
|
self.__track_egress_rqe_queue = val
|
|
|
|
def setTrackDevice(self, val):
|
|
self.__track_device = val
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
params["track-peak-stats"] = 1 if self.__track_peak_stats else 0
|
|
params["track-ingress-port-priority-group"] = 1 if self.__track_ingress_port_priority_group else 0
|
|
params["track-ingress-port-service-pool"] = 1 if self.__track_ingress_port_service_pool else 0
|
|
params["track-ingress-service-pool"] = 1 if self.__track_ingress_service_pool else 0
|
|
params["track-egress-port-service-pool"] = 1 if self.__track_egress_port_service_pool else 0
|
|
params["track-egress-service-pool"] = 1 if self.__track_egress_service_pool else 0
|
|
params["track-egress-uc-queue"] = 1 if self.__track_egress_uc_queue else 0
|
|
params["track-egress-uc-queue-group"] = 1 if self.__track_egress_uc_queue_group else 0
|
|
params["track-egress-mc-queue"] = 1 if self.__track_egress_mc_queue else 0
|
|
params["track-egress-cpu-queue"] = 1 if self.__track_egress_cpu_queue else 0
|
|
params["track-egress-rqe-queue"] = 1 if self.__track_egress_rqe_queue else 0
|
|
params["track-device"] = 1 if self.__track_device else 0
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "configure-bst-tracking"
|
|
return ret
|
|
|
|
class ConfigureBSTThresholds(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(ConfigureBSTThresholds, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__asic_id = "1"
|
|
self.__params = {}
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def setParams(self, params):
|
|
self.__params = params
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = self.getParams()
|
|
ret["method"] = "configure-bst-thresholds"
|
|
return ret
|
|
|
|
class ConfigureDeviceThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, threshold):
|
|
super(ConfigureDeviceThreshold, self).__init__(host, port)
|
|
self.__realm = "device"
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureEgressCpuQueueThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, queue, threshold):
|
|
super(ConfigureEgressCpuQueueThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-cpu-queue"
|
|
self.__queue = queue
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["queue"] = self.__queue
|
|
ret["cpu-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureEgressRqeQueueThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, queue, threshold):
|
|
super(ConfigureEgressRqeQueueThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-rqe-queue"
|
|
self.__queue = queue
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["queue"] = self.__queue
|
|
ret["rqe-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureEgressPortServicePoolThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port,
|
|
eport,
|
|
servicePool,
|
|
ucShareThreshold,
|
|
umShareThreshold,
|
|
mcShareThreshold,
|
|
mcShareQueueEntriesThreshold):
|
|
super(ConfigureEgressPortServicePoolThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-port-service-pool"
|
|
self.__port = eport
|
|
self.__servicePool = servicePool
|
|
self.__ucShareThreshold = ucShareThreshold
|
|
self.__umShareThreshold = umShareThreshold
|
|
self.__mcShareThreshold = mcShareThreshold
|
|
self.__mcShareQueueEntriesThreshold = mcShareQueueEntriesThreshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["port"] = self.__port
|
|
ret["service-pool"] = self.__servicePool
|
|
ret["uc-share-threshold"] = self.__ucShareThreshold
|
|
ret["um-share-threshold"] = self.__umShareThreshold
|
|
ret["mc-share-threshold"] = self.__mcShareThreshold
|
|
ret["mc-share-queue-entries-threshold"] = self.__mcShareQueueEntriesThreshold
|
|
return ret
|
|
|
|
class ConfigureEgressServicePoolThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port,
|
|
servicePool,
|
|
umShareThreshold,
|
|
mcShareThreshold,
|
|
mcShareQueueEntriesThreshold):
|
|
super(ConfigureEgressServicePoolThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-service-pool"
|
|
self.__servicePool = servicePool
|
|
self.__umShareThreshold = umShareThreshold
|
|
self.__mcShareThreshold = mcShareThreshold
|
|
self.__mcShareQueueEntriesThreshold = mcShareQueueEntriesThreshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["service-pool"] = self.__servicePool
|
|
ret["um-share-threshold"] = self.__umShareThreshold
|
|
ret["mc-share-threshold"] = self.__mcShareThreshold
|
|
ret["mc-share-queue-entries-threshold"] = self.__mcShareQueueEntriesThreshold
|
|
return ret
|
|
|
|
class ConfigureEgressUcQueueThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, queue, threshold):
|
|
super(ConfigureEgressUcQueueThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-uc-queue"
|
|
self.__queue = queue
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["queue"] = self.__queue
|
|
ret["uc-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureEgressUcQueueGroupThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, queueGroup, threshold):
|
|
super(ConfigureEgressUcQueueGroupThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-uc-queue-group"
|
|
self.__queueGroup = queueGroup
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["queue-group"] = self.__queueGroup
|
|
ret["uc-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureEgressMcQueueThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port,
|
|
queue,
|
|
mcQueueEntriesThreshold,
|
|
mcThreshold):
|
|
super(ConfigureEgressMcQueueThreshold, self).__init__(host, port)
|
|
self.__realm = "egress-mc-queue"
|
|
self.__queue = queue
|
|
self.__mcQueueEntriesThreshold = mcQueueEntriesThreshold
|
|
self.__mcThreshold = mcThreshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["queue"] = self.__queue
|
|
ret["mc-queue-entries-threshold"] = self.__mcQueueEntriesThreshold
|
|
ret["mc-threshold"] = self.__mcThreshold
|
|
return ret
|
|
|
|
class ConfigureIngressPortPriorityGroupThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port,
|
|
eport,
|
|
priorityGroup,
|
|
umShareThreshold,
|
|
umHeadroomThreshold):
|
|
super(ConfigureIngressPortPriorityGroupThreshold, self).__init__(host, port)
|
|
self.__realm = "ingress-port-priority-group"
|
|
self.__port = eport
|
|
self.__priorityGroup = priorityGroup
|
|
self.__umShareThreshold = umShareThreshold
|
|
self.__umHeadroomThreshold = umHeadroomThreshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["port"] = self.__port
|
|
ret["priority-group"] = self.__priorityGroup
|
|
ret["um-share-threshold"] = self.__umShareThreshold
|
|
ret["um-headroom-threshold"] = self.__umHeadroomThreshold
|
|
return ret
|
|
|
|
class ConfigureIngressPortServicePoolThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port,
|
|
eport,
|
|
servicePool,
|
|
threshold):
|
|
super(ConfigureIngressPortServicePoolThreshold, self).__init__(host, port)
|
|
self.__realm = "ingress-port-service-pool"
|
|
self.__port = eport
|
|
self.__servicePool = servicePool
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["port"] = self.__port
|
|
ret["service-pool"] = self.__servicePool
|
|
ret["um-share-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ConfigureIngressServicePoolThreshold(ConfigureBSTThresholds):
|
|
def __init__(self, host, port, servicePool, threshold):
|
|
super(ConfigureIngressServicePoolThreshold, self).__init__(host, port)
|
|
self.__realm = "ingress-service-pool"
|
|
self.__servicePool = servicePool
|
|
self.__threshold = threshold
|
|
|
|
def getParams(self):
|
|
ret = {}
|
|
ret["realm"] = self.__realm
|
|
ret["service-pool"] = self.__servicePool
|
|
ret["um-share-threshold"] = self.__threshold
|
|
return ret
|
|
|
|
class ClearBSTStatistics(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(ClearBSTStatistics, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__asic_id = "1"
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "clear-bst-statistics"
|
|
return ret
|
|
|
|
class ClearBSTThresholds(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(ClearBSTThresholds, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__asic_id = "1"
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "clear-bst-thresholds"
|
|
return ret
|
|
|
|
'''
|
|
|
|
Status/Reporting Requests
|
|
|
|
'''
|
|
|
|
class GetBSTFeature(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(GetBSTFeature, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__bst_enable = False
|
|
self.__version = 1
|
|
self.__send_async_reports = False
|
|
self.__collection_interval = 200
|
|
self.__stats_in_percentage = False
|
|
self.__stat_units_in_cells = False
|
|
self.__trigger_rate_limit = False
|
|
self.__trigger_rate_limit_interval = 0
|
|
self.__send_snapshot_on_trigger = False
|
|
self.__asic_id = "1"
|
|
self.__json = None
|
|
|
|
def getEnable(self):
|
|
return self.__bst_enable
|
|
|
|
def getSendAsyncReports(self):
|
|
return self.__send_async_reports
|
|
|
|
def getCollectionInterval(self):
|
|
return self.__collection_interval
|
|
|
|
def getStatInPercentage(self):
|
|
return self.__stats_in_percentage
|
|
|
|
def getStatUnitsInCells(self):
|
|
return self.__stat_units_in_cells
|
|
|
|
def getTriggerRateLimit(self):
|
|
return self.__trigger_rate_limit
|
|
|
|
def getTriggerRateLimitInterval(self):
|
|
return self.__trigger_rate_limit_interval
|
|
|
|
def getSendSnapshotOnTrigger(self):
|
|
return self.__send_snapshot_on_trigger
|
|
|
|
def getAsyncFullReports(self):
|
|
return self.__async_full_reports
|
|
|
|
def getASIC(self):
|
|
return self.__asic_id
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def getJSON(self):
|
|
return self.__json
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
if status == 200:
|
|
self.__version = json["version"]
|
|
res = json["result"]
|
|
self.__json = res
|
|
self.__bst_enable = res["bst-enable"] == 1
|
|
self.__send_async_reports = res["send-async-reports"] == 1
|
|
self.__collection_interval = res["collection-interval"]
|
|
try:
|
|
self.__stats_in_percentage = res["stats-in-percentage"] == 1
|
|
except:
|
|
self.__stats_in_percentage = False
|
|
self.__stat_units_in_cells = res["stat-units-in-cells"] == 1
|
|
self.__trigger_rate_limit = res["trigger-rate-limit"] == 1
|
|
self.__trigger_rate_limit_interval = res["trigger-rate-limit-interval"]
|
|
self.__send_snapshot_on_trigger = res["send-snapshot-on-trigger"] == 1
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "get-bst-feature"
|
|
return ret
|
|
|
|
class GetBSTTracking(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(GetBSTTracking, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__track_peak_stats = False
|
|
self.__track_ingress_port_priority_group = False
|
|
self.__track_ingress_port_service_pool = False
|
|
self.__track_ingress_service_pool = False
|
|
self.__track_egress_port_service_pool = False
|
|
self.__track_egress_service_pool = False
|
|
self.__track_egress_uc_queue = False
|
|
self.__track_egress_uc_queue_group = False
|
|
self.__track_egress_mc_queue = False
|
|
self.__track_egress_cpu_queue = False
|
|
self.__track_egress_rqe_queue = False
|
|
self.__track_device = False
|
|
self.__asic_id = "1"
|
|
self.__json = None
|
|
|
|
def getTrackPeakStats(self):
|
|
return self.__track_peak_stats
|
|
|
|
def getTrackIngressPortPriorityGroup(self):
|
|
return self.__track_ingress_port_priority_group
|
|
|
|
def getTrackIngressPortServicePool(self):
|
|
return self.__track_ingress_port_service_pool
|
|
|
|
def getTrackIngressServicePool(self):
|
|
return self.__track_ingress_service_pool
|
|
|
|
def getTrackEgressPortServicePool(self):
|
|
return self.__track_egress_port_service_pool
|
|
|
|
def getTrackEgressServicePool(self):
|
|
return self.__track_egress_service_pool
|
|
|
|
def getTrackEgressUcQueue(self):
|
|
return self.__track_egress_uc_queue
|
|
|
|
def getTrackEgressUcQueueGroup(self):
|
|
return self.__track_egress_uc_queue_group
|
|
|
|
def getTrackEgressMcQueue(self):
|
|
return self.__track_egress_mc_queue
|
|
|
|
def getTrackEgressCPUQueue(self):
|
|
return self.__track_egress_cpu_queue
|
|
|
|
def getTrackEgressRQEQueue(self):
|
|
return self.__track_egress_rqe_queue
|
|
|
|
def getTrackDevice(self):
|
|
return self.__track_device
|
|
|
|
def getASIC(self):
|
|
return self.__asic_id
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def getJSON(self):
|
|
return self.__json
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
if status == 200:
|
|
self.__version = json["version"]
|
|
res = json["result"]
|
|
self.__json = res
|
|
self.__track_peak_stats = res["track-peak-stats"] == 1
|
|
self.__track_ingress_port_priority_group = res["track-ingress-port-priority-group"] == 1
|
|
self.__track_ingress_port_service_pool = res["track-ingress-port-service-pool"] == 1
|
|
self.__track_ingress_service_pool = res["track-ingress-service-pool"] == 1
|
|
self.__track_egress_port_service_pool = res["track-egress-port-service-pool"] == 1
|
|
self.__track_egress_service_pool = res["track-egress-service-pool"] == 1
|
|
self.__track_egress_uc_queue = res["track-egress-uc-queue"] == 1
|
|
self.__track_egress_uc_queue_group = res["track-egress-uc-queue-group"] == 1
|
|
self.__track_egress_mc_queue = res["track-egress-mc-queue"] == 1
|
|
self.__track_egress_cpu_queue = res["track-egress-cpu-queue"] == 1
|
|
self.__track_egress_rqe_queue = res["track-egress-rqe-queue"] == 1
|
|
self.__track_device = res["track-device"] == 1
|
|
return status
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "get-bst-tracking"
|
|
return ret
|
|
|
|
class GetBSTThresholds(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(GetBSTThresholds, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__include_ingress_port_priority_group = False
|
|
self.__include_ingress_port_service_pool = False
|
|
self.__include_ingress_service_pool = False
|
|
self.__include_egress_port_service_pool = False
|
|
self.__include_egress_service_pool = False
|
|
self.__include_egress_uc_queue = False
|
|
self.__include_egress_uc_queue_group = False
|
|
self.__include_egress_mc_queue = False
|
|
self.__include_egress_cpu_queue = False
|
|
self.__include_egress_rqe_queue = False
|
|
self.__include_device = False
|
|
self.__asic_id = "1"
|
|
|
|
def setIncludeIngressPortPriorityGroup(self, val):
|
|
self.__include_ingress_port_priority_group = val
|
|
|
|
def setIncludeIngressPortServicePool(self, val):
|
|
self.__include_ingress_port_service_pool = val
|
|
|
|
def setIncludeIngressServicePool(self, val):
|
|
self.__include_ingress_service_pool = val
|
|
|
|
def setIncludeEgressPortServicePool(self, val):
|
|
self.__include_egress_port_service_pool = val
|
|
|
|
def setIncludeEgressServicePool(self, val):
|
|
self.__include_egress_service_pool = val
|
|
|
|
def setIncludeEgressUcQueue(self, val):
|
|
self.__include_egress_uc_queue = val
|
|
|
|
def setIncludeEgressUcQueueGroup(self, val):
|
|
self.__include_egress_uc_queue_group = val
|
|
|
|
def setIncludeEgressMcQueue(self, val):
|
|
self.__include_egress_mc_queue = val
|
|
|
|
def setIncludeEgressCPUQueue(self, val):
|
|
self.__include_egress_cpu_queue = val
|
|
|
|
def setIncludeEgressRQEQueue(self, val):
|
|
self.__include_egress_rqe_queue = val
|
|
|
|
def setIncludeDevice(self, val):
|
|
self.__include_device = val
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def getJSON(self):
|
|
return self.__json
|
|
|
|
def send(self, timeout=30):
|
|
rep = None
|
|
status, json = self._send(self.toDict(), timeout)
|
|
if status == 200:
|
|
rep = BSTParser()
|
|
self.__json = json["report"]
|
|
rep.process(json)
|
|
return status, rep
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
params["include-ingress-port-priority-group"] = 1 if self.__include_ingress_port_priority_group else 0
|
|
params["include-ingress-port-service-pool"] = 1 if self.__include_ingress_port_service_pool else 0
|
|
params["include-ingress-service-pool"] = 1 if self.__include_ingress_service_pool else 0
|
|
params["include-egress-port-service-pool"] = 1 if self.__include_egress_port_service_pool else 0
|
|
params["include-egress-service-pool"] = 1 if self.__include_egress_service_pool else 0
|
|
params["include-egress-uc-queue"] = 1 if self.__include_egress_uc_queue else 0
|
|
params["include-egress-uc-queue-group"] = 1 if self.__include_egress_uc_queue_group else 0
|
|
params["include-egress-mc-queue"] = 1 if self.__include_egress_mc_queue else 0
|
|
params["include-egress-cpu-queue"] = 1 if self.__include_egress_cpu_queue else 0
|
|
params["include-egress-rqe-queue"] = 1 if self.__include_egress_rqe_queue else 0
|
|
params["include-device"] = 1 if self.__include_device else 0
|
|
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "get-bst-thresholds"
|
|
return ret
|
|
|
|
class GetBSTReport(AgentAPI):
|
|
def __init__(self, host, port):
|
|
super(GetBSTReport, self).__init__()
|
|
self.setFeature("bst")
|
|
self.setHttpMethod("POST")
|
|
self.setHost(host)
|
|
self.setPort(port)
|
|
self.__include_ingress_port_priority_group = False
|
|
self.__include_ingress_port_service_pool = False
|
|
self.__include_ingress_service_pool = False
|
|
self.__include_egress_port_service_pool = False
|
|
self.__include_egress_service_pool = False
|
|
self.__include_egress_uc_queue = False
|
|
self.__include_egress_uc_queue_group = False
|
|
self.__include_egress_mc_queue = False
|
|
self.__include_egress_cpu_queue = False
|
|
self.__include_egress_rqe_queue = False
|
|
self.__include_device = False
|
|
self.__asic_id = "1"
|
|
self.__json = None
|
|
|
|
def setIncludeIngressPortPriorityGroup(self, val):
|
|
self.__include_ingress_port_priority_group = val
|
|
|
|
def setIncludeIngressPortServicePool(self, val):
|
|
self.__include_ingress_port_service_pool = val
|
|
|
|
def setIncludeIngressServicePool(self, val):
|
|
self.__include_ingress_service_pool = val
|
|
|
|
def setIncludeEgressPortServicePool(self, val):
|
|
self.__include_egress_port_service_pool = val
|
|
|
|
def setIncludeEgressServicePool(self, val):
|
|
self.__include_egress_service_pool = val
|
|
|
|
def setIncludeEgressUcQueue(self, val):
|
|
self.__include_egress_uc_queue = val
|
|
|
|
def setIncludeEgressUcQueueGroup(self, val):
|
|
self.__include_egress_uc_queue_group = val
|
|
|
|
def setIncludeEgressMcQueue(self, val):
|
|
self.__include_egress_mc_queue = val
|
|
|
|
def setIncludeEgressCPUQueue(self, val):
|
|
self.__include_egress_cpu_queue = val
|
|
|
|
def setIncludeEgressRQEQueue(self, val):
|
|
self.__include_egress_rqe_queue = val
|
|
|
|
def setIncludeDevice(self, val):
|
|
self.__include_device = val
|
|
|
|
def setASIC(self, val):
|
|
self.__asic_id = val
|
|
|
|
def getJSON(self):
|
|
return self.__json
|
|
|
|
def send(self, timeout=30):
|
|
status, json = self._send(self.toDict(), timeout)
|
|
rep = None
|
|
if status == 200:
|
|
self.__json = json["report"]
|
|
rep = BSTParser()
|
|
rep.process(json)
|
|
else:
|
|
pass
|
|
return status, rep
|
|
|
|
def toDict(self):
|
|
ret = {}
|
|
params = {}
|
|
params["include-ingress-port-priority-group"] = 1 if self.__include_ingress_port_priority_group else 0
|
|
params["include-ingress-port-service-pool"] = 1 if self.__include_ingress_port_service_pool else 0
|
|
params["include-ingress-service-pool"] = 1 if self.__include_ingress_service_pool else 0
|
|
params["include-egress-port-service-pool"] = 1 if self.__include_egress_port_service_pool else 0
|
|
params["include-egress-service-pool"] = 1 if self.__include_egress_service_pool else 0
|
|
params["include-egress-uc-queue"] = 1 if self.__include_egress_uc_queue else 0
|
|
params["include-egress-uc-queue-group"] = 1 if self.__include_egress_uc_queue_group else 0
|
|
params["include-egress-mc-queue"] = 1 if self.__include_egress_mc_queue else 0
|
|
params["include-egress-cpu-queue"] = 1 if self.__include_egress_cpu_queue else 0
|
|
params["include-egress-rqe-queue"] = 1 if self.__include_egress_rqe_queue else 0
|
|
params["include-device"] = 1 if self.__include_device else 0
|
|
ret["asic-id"] = self.__asic_id
|
|
ret["params"] = params
|
|
ret["method"] = "get-bst-report"
|
|
return ret
|
|
|
|
class TestBSTAPIParams(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
pass
|
|
|
|
def test_ConfigureBSTFeature(self):
|
|
|
|
sw = BroadViewBSTSwitches()
|
|
if len(sw):
|
|
for x in sw:
|
|
host = x["ip"]
|
|
port = x["port"]
|
|
break
|
|
else:
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
|
|
x = ConfigureBSTFeature(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-feature")
|
|
|
|
params = d["params"]
|
|
self.assertEqual(params["bst-enable"], False)
|
|
self.assertEqual(params["send-async-reports"], False)
|
|
self.assertEqual(params["collection-interval"], 60)
|
|
self.assertEqual(params["stats-in-percentage"], False)
|
|
self.assertEqual(params["stat-units-in-cells"], False)
|
|
self.assertEqual(params["trigger-rate-limit"], 1)
|
|
self.assertEqual(params["trigger-rate-limit-interval"], 1)
|
|
self.assertEqual(params["send-snapshot-on-trigger"], True)
|
|
self.assertEqual(params["async-full-reports"], False)
|
|
|
|
x.setEnable(True)
|
|
x.setSendAsyncReports(True)
|
|
x.setCollectionInterval(120)
|
|
x.setStatInPercentage(True)
|
|
x.setStatUnitsInCells(True)
|
|
x.setTriggerRateLimit(15)
|
|
x.setTriggerRateLimitInterval(99)
|
|
x.setSendSnapshotOnTrigger(False)
|
|
x.setAsyncFullReports(True)
|
|
d = x.toDict()
|
|
|
|
params = d["params"]
|
|
self.assertEqual(params["bst-enable"], True)
|
|
self.assertEqual(params["send-async-reports"], True)
|
|
self.assertEqual(params["collection-interval"], 120)
|
|
self.assertEqual(params["stats-in-percentage"], True)
|
|
self.assertEqual(params["stat-units-in-cells"], True)
|
|
self.assertEqual(params["trigger-rate-limit"], 15)
|
|
self.assertEqual(params["trigger-rate-limit-interval"], 99)
|
|
self.assertEqual(params["send-snapshot-on-trigger"], False)
|
|
self.assertEqual(params["async-full-reports"], True)
|
|
|
|
def test_ConfigureBSTTracking(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureBSTTracking(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-tracking")
|
|
|
|
params = d["params"]
|
|
|
|
self.assertEqual(params["track-peak-stats"], False)
|
|
self.assertEqual(params["track-ingress-port-priority-group"], False)
|
|
self.assertEqual(params["track-ingress-port-service-pool"], False)
|
|
self.assertEqual(params["track-ingress-service-pool"], False)
|
|
self.assertEqual(params["track-egress-port-service-pool"], False)
|
|
self.assertEqual(params["track-egress-service-pool"], False)
|
|
self.assertEqual(params["track-egress-uc-queue"], False)
|
|
self.assertEqual(params["track-egress-uc-queue-group"], False)
|
|
self.assertEqual(params["track-egress-mc-queue"], False)
|
|
self.assertEqual(params["track-egress-cpu-queue"], False)
|
|
self.assertEqual(params["track-egress-rqe-queue"], False)
|
|
self.assertEqual(params["track-device"], False)
|
|
|
|
x.setTrackPeakStats(True)
|
|
x.setTrackIngressPortPriorityGroup(True)
|
|
x.setTrackIngressPortServicePool(True)
|
|
x.setTrackIngressServicePool(True)
|
|
x.setTrackEgressPortServicePool(True)
|
|
x.setTrackEgressServicePool(True)
|
|
x.setTrackEgressUcQueue(True)
|
|
x.setTrackEgressUcQueueGroup(True)
|
|
x.setTrackEgressMcQueue(True)
|
|
x.setTrackEgressCPUQueue(True)
|
|
x.setTrackEgressRQEQueue(True)
|
|
x.setTrackDevice(True)
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
params = d["params"]
|
|
|
|
self.assertEqual(params["track-peak-stats"], True)
|
|
self.assertEqual(params["track-ingress-port-priority-group"], True)
|
|
self.assertEqual(params["track-ingress-port-service-pool"], True)
|
|
self.assertEqual(params["track-ingress-service-pool"], True)
|
|
self.assertEqual(params["track-egress-port-service-pool"], True)
|
|
self.assertEqual(params["track-egress-service-pool"], True)
|
|
self.assertEqual(params["track-egress-uc-queue"], True)
|
|
self.assertEqual(params["track-egress-uc-queue-group"], True)
|
|
self.assertEqual(params["track-egress-mc-queue"], True)
|
|
self.assertEqual(params["track-egress-cpu-queue"], True)
|
|
self.assertEqual(params["track-egress-rqe-queue"], True)
|
|
self.assertEqual(params["track-device"], True)
|
|
|
|
def test_ClearBSTStatistics(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ClearBSTStatistics(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "clear-bst-statistics")
|
|
self.assertTrue(not d["params"]) # assert empty
|
|
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
def test_ClearBSTThresholds(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ClearBSTThresholds(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "clear-bst-thresholds")
|
|
self.assertTrue(not d["params"]) # assert empty
|
|
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
def test_GetBSTThresholds(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = GetBSTThresholds(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "get-bst-thresholds")
|
|
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
def test_GetBSTFeature(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = GetBSTFeature(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "get-bst-feature")
|
|
self.assertTrue(not d["params"]) # assert empty
|
|
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
def test_GetBSTReport(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = GetBSTReport(host, port)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(x.getFeature() == "bst")
|
|
self.assertTrue(x.getHttpMethod() == "POST")
|
|
self.assertTrue(x.getHost() == host)
|
|
self.assertTrue(x.getPort() == port)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "get-bst-report")
|
|
|
|
x.setASIC("3")
|
|
|
|
d = x.toDict()
|
|
self.assertTrue(d["asic-id"] == "3")
|
|
|
|
|
|
def test_ConfigureDeviceThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureDeviceThreshold(host, port, 10000)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "device")
|
|
self.assertTrue(parms["threshold"] == 10000)
|
|
|
|
def test_ConfigureEgressCpuQueueThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressCpuQueueThreshold(host, port, 5, 10000)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-cpu-queue")
|
|
self.assertTrue(parms["queue"] == 5)
|
|
self.assertTrue(parms["cpu-threshold"] == 10000)
|
|
|
|
def test_ConfigureEgressRqeQueueThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressRqeQueueThreshold(host, port, 5, 10000)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-rqe-queue")
|
|
self.assertTrue(parms["queue"] == 5)
|
|
self.assertTrue(parms["rqe-threshold"] == 10000)
|
|
|
|
def test_ConfigureEgressPortServicePoolThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressPortServicePoolThreshold(host, port, "2", 5, 100, 200, 300, 400)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-port-service-pool")
|
|
self.assertTrue(parms["port"] == "2")
|
|
self.assertTrue(parms["service-pool"] == 5)
|
|
self.assertTrue(parms["uc-share-threshold"] == 100)
|
|
self.assertTrue(parms["um-share-threshold"] == 200)
|
|
self.assertTrue(parms["mc-share-threshold"] == 300)
|
|
self.assertTrue(parms["mc-share-queue-entries-threshold"] == 400)
|
|
|
|
def test_ConfigureEgressServicePoolThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressServicePoolThreshold(host, port, 5, 100, 200, 300)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-service-pool")
|
|
self.assertTrue(parms["service-pool"] == 5)
|
|
self.assertTrue(parms["um-share-threshold"] == 100)
|
|
self.assertTrue(parms["mc-share-threshold"] == 200)
|
|
self.assertTrue(parms["mc-share-queue-entries-threshold"] == 300)
|
|
|
|
def test_ConfigureEgressUcQueueThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressUcQueueThreshold(host, port, 5, 100)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-uc-queue")
|
|
self.assertTrue(parms["queue"] == 5)
|
|
self.assertTrue(parms["uc-threshold"] == 100)
|
|
|
|
def test_ConfigureEgressUcQueueGroupThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressUcQueueGroupThreshold(host, port, 7, 200)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-uc-queue-group")
|
|
self.assertTrue(parms["queue-group"] == 7)
|
|
self.assertTrue(parms["uc-threshold"] == 200)
|
|
|
|
def test_ConfigureEgressMcQueueThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressMcQueueThreshold(host, port, 7, 100, 200)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-mc-queue")
|
|
self.assertTrue(parms["queue"] == 7)
|
|
self.assertTrue(parms["mc-queue-entries-threshold"] == 100)
|
|
self.assertTrue(parms["mc-threshold"] == 200)
|
|
|
|
def test_ConfigureEgressMcQueueThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureEgressMcQueueThreshold(host, port, 7, 100, 200)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "egress-mc-queue")
|
|
self.assertTrue(parms["queue"] == 7)
|
|
self.assertTrue(parms["mc-queue-entries-threshold"] == 100)
|
|
self.assertTrue(parms["mc-threshold"] == 200)
|
|
|
|
def test_ConfigureIngressPortPriorityGroupThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureIngressPortPriorityGroupThreshold(host, port, "3", 7, 100, 200)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "ingress-port-priority-group")
|
|
self.assertTrue(parms["port"] == "3")
|
|
self.assertTrue(parms["priority-group"] == 7)
|
|
self.assertTrue(parms["um-share-threshold"] == 100)
|
|
self.assertTrue(parms["um-headroom-threshold"] == 200)
|
|
|
|
def test_ConfigureIngressPortServicePoolThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureIngressPortServicePoolThreshold(host, port, "3", 7, 100)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "ingress-port-service-pool")
|
|
self.assertTrue(parms["port"] == "3")
|
|
self.assertTrue(parms["service-pool"] == 7)
|
|
self.assertTrue(parms["um-share-threshold"] == 100)
|
|
|
|
def test_ConfigureIngressServicePoolThreshold(self):
|
|
host = "192.168.3.1"
|
|
port = 8080
|
|
x = ConfigureIngressServicePoolThreshold(host, port, 7, 200)
|
|
d = x.toDict()
|
|
self.assertTrue("asic-id" in d)
|
|
self.assertTrue("params" in d)
|
|
self.assertTrue("method" in d)
|
|
self.assertTrue(d["asic-id"] == "1")
|
|
self.assertTrue(d["method"] == "configure-bst-thresholds")
|
|
parms = x.getParams()
|
|
self.assertTrue(parms["realm"] == "ingress-service-pool")
|
|
self.assertTrue(parms["service-pool"] == 7)
|
|
self.assertTrue(parms["um-share-threshold"] == 200)
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|