[spp] [PATCH v2 2/4] controller: update parsing status message

ogawa.yasufumi at lab.ntt.co.jp ogawa.yasufumi at lab.ntt.co.jp
Thu Oct 11 12:33:45 CEST 2018


From: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>

To apply with the update of spp_nfv and spp_vm, update parsing the
message of status.

In the updated message, 'ports' attribute is changed to not include
patch info and it is moved to the new 'patches' attribute. This patch
is to parse 'patches' attribute. Output of status command is not
changed.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>
---
 src/controller/shell.py | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/controller/shell.py b/src/controller/shell.py
index 09b9e86..8fb5a1a 100644
--- a/src/controller/shell.py
+++ b/src/controller/shell.py
@@ -194,27 +194,30 @@ class Shell(cmd.Cmd, object):
             - phy:1
 
         The format of the received message is JSON and ended with
-        series of null character "\x00". The value of "ports" attribute
-        is a set of combinations of patches. If a port is not patched,
-        the "dst" is set to "null".
+        series of null character "\x00".
 
-          {"status":"idling","ports":[{"src":"phy:0", "dst": ...,]}'\x00\x00..
+          {"client-id":1,...,"patches":[{"src":"phy:0"...},...]}'\x00..
         """
 
-        msg = msg.replace("\x00", "")  # clean sec's msg
+        msg = msg.replace("\x00", "")  # Clean received msg
 
         try:
             sec_attr = json.loads(msg)
             print('- status: %s' % sec_attr['status'])
             print('- ports:')
             for port in sec_attr['ports']:
-                if port['dst'] == 'null':
-                    print('  - %s' % port['src'])
+                dst = None
+                for patch in sec_attr['patches']:
+                    if patch['src'] == port:
+                        dst = patch['dst']
+
+                if dst is None:
+                    print('  - %s' % port)
                 else:
-                    print('  - %s -> %s' % (port['src'], port['dst']))
+                    print('  - %s -> %s' % (port, dst))
         except ValueError as err:
             print('Invalid format: {0}.'.format(err))
-            print("  '%s'" % msg)
+            print("'%s'" % msg)
 
     def command_primary(self, command):
         """Send command to primary process"""
-- 
2.7.4



More information about the spp mailing list