projects
/
osm
/
vim-emu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add birectional option for set Chain
[osm/vim-emu.git]
/
src
/
emuvim
/
api
/
zerorpc
/
network.py
diff --git
a/src/emuvim/api/zerorpc/network.py
b/src/emuvim/api/zerorpc/network.py
index
f232166
..
78083b0
100644
(file)
--- a/
src/emuvim/api/zerorpc/network.py
+++ b/
src/emuvim/api/zerorpc/network.py
@@
-64,40
+64,62
@@
class DCNetworkApi(object):
def __init__(self, net):
self.net = net
def __init__(self, net):
self.net = net
- def network_action_start(self, vnf_src_name, vnf_dst_name):
+ def network_action_start(self, vnf_src_name, vnf_dst_name
, kwargs
):
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain start")
try:
c = self.net.setChain(
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain start")
try:
c = self.net.setChain(
- vnf_src_name, vnf_dst_name)
+ vnf_src_name, vnf_dst_name,
+ vnf_src_interface=kwargs.get('vnf_src_interface'),
+ vnf_dst_interface=kwargs.get('vnf_dst_interface'),
+ weight=kwargs.get('weight'),
+ match=kwargs.get('match'),
+ bidirectional=kwargs.get('bidirectional'))
return str(c)
except Exception as ex:
logging.exception("RPC error.")
return ex.message
return str(c)
except Exception as ex:
logging.exception("RPC error.")
return ex.message
- def network_action_stop(self, vnf_src_name, vnf_dst_name):
+ def network_action_stop(self, vnf_src_name, vnf_dst_name
, kwargs
):
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain stop")
try:
c = self.net.setChain(
# call DCNetwork method, not really datacenter specific API for now...
# provided dc name needs to be part of API endpoint
# no check if vnfs are really connected to this datacenter...
logging.debug("RPC CALL: network chain stop")
try:
c = self.net.setChain(
- vnf_src_name, vnf_dst_name, cmd='del-flows')
+ vnf_src_name, vnf_dst_name,
+ vnf_src_interface=kwargs.get('vnf_src_interface'),
+ vnf_dst_interface=kwargs.get('vnf_dst_interface'),
+ cmd='del-flows',
+ weight=kwargs.get('weight'),
+ match=kwargs.get('match'),
+ bidirectional=kwargs.get('bidirectional'))
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
- #
get egress(default) or ingress rate of a vnf
- def
monitor_get_rate(self, vnf_name, direction
):
- logging.debug("RPC CALL:
get rate
")
+ #
setup the rate measurement for a vnf interface
+ def
setup_metric(self, vnf_name, vnf_interface, metric
):
+ logging.debug("RPC CALL:
setup metric
")
try:
try:
- c = self.net.monitor_agent.
get_rate(vnf_name, direction
)
+ c = self.net.monitor_agent.
setup_metric(vnf_name, vnf_interface, metric
)
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
return c
except Exception as ex:
logging.exception("RPC error.")
return ex.message
+ # remove the rate measurement for a vnf interface
+ def stop_metric(self, vnf_name, vnf_interface, metric):
+ logging.debug("RPC CALL: stop metric")
+ try:
+ c = self.net.monitor_agent.stop_metric(vnf_name, vnf_interface, metric)
+ return c
+ except Exception as ex:
+ logging.exception("RPC error.")
+ return ex.message
+
+