[ovs-dev] [PATCH] ovn/utilities: add info and warn level log functions

Ben Pfaff blp at ovn.org
Sun Apr 29 21:02:00 UTC 2018


From: Paul Greenberg <greenpau at outlook.com>

There is no INFO or WARN level log function. It is either ERROR or
FATAL. This PR adds it.

Signed-off-by: Paul Greenberg <greenpau at outlook.com>
Submitted-at: https://github.com/openvswitch/ovs/pull/229
---
Posting to ovs-dev so that it gets reviewed.

 ovn/utilities/ovn-docker-overlay-driver.in | 14 ++++++++++++++
 python/ovs/util.py                         | 28 ++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/ovn/utilities/ovn-docker-overlay-driver.in b/ovn/utilities/ovn-docker-overlay-driver.in
index 65edfcd9d19e..28778d1e5263 100755
--- a/ovn/utilities/ovn-docker-overlay-driver.in
+++ b/ovn/utilities/ovn-docker-overlay-driver.in
@@ -110,6 +110,7 @@ def prepare():
         fo = open(PLUGIN_FILE, "w")
         fo.write("tcp://0.0.0.0:5000")
         fo.close()
+        ovs.util.ovs_info("configuration file: %s" % (PLUGIN_FILE), vlog)
     except Exception as e:
         ovs.util.ovs_fatal(0, "Failed to write to spec file (%s)" % str(e),
                            vlog)
@@ -437,6 +438,19 @@ def network_leave():
 
     return jsonify({})
 
+ at app.route('/', defaults={'path': ''})
+ at app.route('/<path:path>')
+def unsupported_libnetwork_call(path):
+    '''
+    This function handles any new endpoints that are being added to
+    Docker libnetwork remote network plugin API. If this function receives
+    a request and that request is valid, there is a need to refactor
+    this plugin, because a new functionality is being introduced.
+    '''
+    ovs.util.ovs_warn("received unsupported libnetwork %s request to: %s, with payload: %s" % (request.method, request.path, request.data), vlog)
+
+    return jsonify({})
+
 if __name__ == '__main__':
     prepare()
     app.run(host='0.0.0.0')
diff --git a/python/ovs/util.py b/python/ovs/util.py
index 411ac99c85a4..13a34d8c302b 100644
--- a/python/ovs/util.py
+++ b/python/ovs/util.py
@@ -93,3 +93,31 @@ def ovs_fatal(*args, **kwargs):
 
     ovs_error(*args, **kwargs)
     sys.exit(1)
+
+
+def ovs_info(message, vlog=None):
+    """Prints 'message' on stdout and emits an INFO level log message to
+    'vlog' if supplied.
+
+    'message' should not end with a new-line, because this function will add
+    one itself."""
+
+    info_msg = "%s: %s" % (PROGRAM_NAME, message)
+
+    sys.stdout.write("%s\n" % info_msg)
+    if vlog:
+        vlog.info(info_msg)
+
+
+def ovs_warn(message, vlog=None):
+    """Prints 'message' on stdout and emits an WARN level log message to
+    'vlog' if supplied.
+
+    'message' should not end with a new-line, because this function will add
+    one itself."""
+
+    info_msg = "%s: %s" % (PROGRAM_NAME, message)
+
+    sys.stdout.write("%s\n" % info_msg)
+    if vlog:
+        vlog.warn(info_msg)
-- 
2.16.1



More information about the dev mailing list