[ovs-dev] [PATCH] Shutdown SSL connection before closing socket

Terry Wilson twilson at redhat.com
Thu Jul 11 13:16:23 UTC 2019


Sorry about that. The dangers of multiple windows and multiple ovs
directories. "Why is this passing for me?!" Oh... The new patch just
ignores all SSL errors like lib/stream-ssl.c's ssl_close() instead of just
the want read/write.

On Wed, Jul 10, 2019 at 2:59 PM Ben Pfaff <blp at ovn.org> wrote:

> On Wed, Jul 10, 2019 at 11:07:16AM -0500, Terry Wilson wrote:
> > Without shutting down the SSL connection, log messages like:
> >
> > stream_ssl|WARN|SSL_read: unexpected SSL connection close
> > jsonrpc|WARN|ssl:127.0.0.1:47052: receive error: Protocol error
> > reconnect|WARN|ssl:127.0.0.1:47052: connection dropped (Protocol error)
> >
> > would occur whenever the socket is closed. This just adds an
> > SSLStream.close() that calls shutdown() and ignores read/write
> > errors.
> >
> > Signed-off-by: Terry Wilson <twilson at redhat.com>
>
> Thanks for the patch.
>
> With this applied, I get two test failures, details below.
>
> ## ------------------------ ##
> ## Summary of the failures. ##
> ## ------------------------ ##
> Failed tests:
> openvswitch 2.11.90 test suite test groups:
>
>  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
>       KEYWORDS
>
>  2108: ovsdb-idl.at:351   simple idl, initially empty, various ops -
> Python2 - SSL
>       ovsdb server idl positive python with ssl socket
>  2439: ovsdb-idl.at:1452  simple idl verify notify - Python2 - SSL
>       ovsdb server idl positive python with ssl socket notify
>
> ## ---------------------- ##
> ## Detailed failed tests. ##
> ## ---------------------- ##
>
> #                             -*- compilation -*-
> 2108. ovsdb-idl.at:351: testing simple idl, initially empty, various ops
> - Python2 - SSL ...
> ../../tests/ovsdb-idl.at:351: ovsdb-tool create db
> $abs_srcdir/idltest.ovsschema
> stderr:
> stdout:
> ../../tests/ovsdb-idl.at:351: ovsdb-server -vconsole:warn --log-file
> --detach --no-chdir \
>              --pidfile \
>              --private-key=$PKIDIR/testpki-privkey2.pem \
>              --certificate=$PKIDIR/testpki-cert2.pem \
>              --ca-cert=$PKIDIR/testpki-cacert.pem \
>              --remote=pssl:0:127.0.0.1 db
> ovsdb-idl.at:351: waiting until TCP_PORT=`sed -n 's/.*0:.*: listening on
> port \([0-9]*\)$/\1/p' "ovsdb-server.log"` && test X != X"$TCP_PORT"...
> ovsdb-idl.at:351: wait succeeded immediately
> ../../tests/ovsdb-idl.at:351: $PYTHON $srcdir/test-ovsdb.py  -t10 idl
> $srcdir/idltest.ovsschema \
>              ssl:127.0.0.1:$TCP_PORT $PKIDIR/testpki-privkey.pem \
>              $PKIDIR/testpki-cert.pem $PKIDIR/testpki-cacert.pem
> '["idltest",
>       {"op": "insert",
>        "table": "simple",
>        "row": {"i": 1,
>                "r": 2.0,
>                "b": true,
>                "s": "mystring",
>                "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
>                "ia": ["set", [1, 2, 3]],
>                "ra": ["set", [-0.5]],
>                "ba": ["set", [true]],
>                "sa": ["set", ["abc", "def"]],
>                "ua": ["set", [["uuid",
> "69443985-7806-45e2-b35f-574a04e720f9"],
>                               ["uuid",
> "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
>       {"op": "insert",
>        "table": "simple",
>        "row": {}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [],
>        "row": {"b": true}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [],
>        "row": {"r": 123.5}}]' \
>     '["idltest",
>       {"op": "insert",
>        "table": "simple",
>        "row": {"i": -1,
>                "r": 125,
>                "b": false,
>                "s": "",
>                "ia": ["set", [1]],
>                "ra": ["set", [1.5]],
>                "ba": ["set", [false]],
>                "sa": ["set", []],
>                "ua": ["set", []]}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [["i", "<", 1]],
>        "row": {"s": "newstring"}}]' \
>     '["idltest",
>       {"op": "delete",
>        "table": "simple",
>        "where": [["i", "==", 0]]}]' \
>     'reconnect'
> stderr:
> 2019-07-10T19:57:50Z |  0  | reconnect | DBG | ssl:127.0.0.1:38627:
> entering BACKOFF
> 2019-07-10T19:57:50Z |  1  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  2  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  3  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  4  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  5  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  6  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  7  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  8  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  9  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  10 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  11 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  12 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  13 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  14 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:50Z |  15 | reconnect | INFO | ssl:127.0.0.1:38627:
> connecting...
> 2019-07-10T19:57:50Z |  16 | reconnect | DBG | ssl:127.0.0.1:38627:
> entering CONNECTING
> 2019-07-10T19:57:50Z |  17 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  18 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  19 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  20 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  21 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  22 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  23 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  24 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  25 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  26 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:50Z |  27 | reconnect | INFO | ssl:127.0.0.1:38627:
> connected
> 2019-07-10T19:57:50Z |  28 | reconnect | DBG | ssl:127.0.0.1:38627:
> entering ACTIVE
> 2019-07-10T19:57:50Z |  29 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="get_schema",
> params=["_Server","ff61df02-a34c-11e9-9ea0-34e12ddfbbd2"], id=0
> 2019-07-10T19:57:50Z |  30 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:50Z |  31 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:50Z |  32 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result={"cksum":"3236486585
> 698","name":"_Server","tables":{"Database":{"columns":{"cid":{"type":{"key":"uuid","min":0}},"connected":{"type":"boolean"},"index":{"type":{"key":"integer","min":0}},"leader":{"type":"boolean"},"model":{"type":{"key":{"enum":["set",["clustered","standalone"]],"type":"string"}}},"name":{"type":"string"},"schema":{"type":{"key":"string","min":0}},"sid":{"type":{"key":"uuid","min":0}}}}},"version":"1.1.0"},
> id=0
> 2019-07-10T19:57:50Z |  33 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="monitor",
> params=["_Server","ff61df03-a34c-11e9-9ea0-34e12ddfbbd2",{"Database":[{"columns":["index","name","cid","connected","sid","model","leader","schema"]}]}],
> id=1
> 2019-07-10T19:57:50Z |  34 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:50Z |  35 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply,
> result={"Database":{"869cda25-6f0d-42db-b423-fca0b2f2c0f3":{"new":{"cid":["set",[]],"connected":true,"index":["set",[]],"leader":true,"model":"standalone","name":"idltest","schema":"{\"name\":\"idltest\",\"tables\":{\"link1\":{\"columns\":{\"i\":{\"type\":\"integer\"},\"k\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"}}},\"ka\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"},\"max\":\"unlimited\",\"min\":0}},\"l2\":{\"type\":{\"key\":{\"refTable\":\"link2\",\"type\":\"uuid\"},\"min\":0}}},\"isRoot\":true},\"link2\":{\"columns\":{\"i\":{\"type\":\"integer\"},\"l1\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"},\"min\":0}}},\"isRoot\":true},\"simple\":{\"columns\":{\"b\":{\"type\":\"boolean\"},\"ba\":{\"type\":{\"key\":\"boolean\",\"min\":0}},\"i\":{\"type\":\"integer\"},\"ia\":{\"type\":{\"key\":\"integer\",\"max\":\"unlimited\",\"min\":0}},\"r\":{\"type\":\"real\"},\"ra\":{\"type\":{\"key\":\"real\",\"max\":\"unlimited\",\"min\":0}},\"s\":{\"type\":\"string\"},\"sa\":{\"type\":{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0}},\"u\":{\"type\":\"uuid\"},\"ua\":{\"type\":{\"key\":\"uuid\",\"max\":\"unlimited\",\"min\":0}}},\"isRoot\":true},\"simple2\":{\"columns\":{\"imap\":{\"type\":{\"key\":{\"maxInteger\":4095,\"minInteger\":0,\"type\":\"integer\"},\"max\":\"unlimited\",\"min\":0,\"value\":\"string\"}},\"name\":{\"type\":\"string\"},\"smap\":{\"type\":{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0,\"value\":\"string\"}}},\"isRoot\":true},\"simple3\":{\"columns\":{\"name\":{\"type\":\"string\"},\"uref\":{\"type\":{\"key\":{\"refTable\":\"simple4\",\"type\":\"uuid\"},\"max\":\"unlimited\",\"min\":0}},\"uset\":{\"type\":{\"key\":\"uuid\",\"max\":\"unlimited\",\"min\":0}}},\"isRoot\":true},\"simple4\":{\"columns\":{\"name\":{\"type\":\"string\"}}},\"singleton\":{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":true,\"maxRows\":1}},\"version\":\"1.2.3\"}","sid":["set",[]]}},"8b4cbe1b-4468-4fee-abde-3b7d47768609":{"new":{"cid":["set",[]],"connected":true,"index":["set",[]],"leader":true,"model":"standalone","name":"_Server","schema":"{\"cksum\":\"3236486585
> 698\",\"name\":\"_Server\",\"tables\":{\"Database\":{\"columns\":{\"cid\":{\"type\":{\"key\":\"uuid\",\"min\":0}},\"connected\":{\"type\":\"boolean\"},\"index\":{\"type\":{\"key\":\"integer\",\"min\":0}},\"leader\":{\"type\":\"boolean\"},\"model\":{\"type\":{\"key\":{\"enum\":[\"set\",[\"clustered\",\"standalone\"]],\"type\":\"string\"}}},\"name\":{\"type\":\"string\"},\"schema\":{\"type\":{\"key\":\"string\",\"min\":0}},\"sid\":{\"type\":{\"key\":\"uuid\",\"min\":0}}}}},\"version\":\"1.1.0\"}","sid":["set",[]]}}}},
> id=1
> 2019-07-10T19:57:50Z |  36 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="monitor_cond",
> params=["idltest","ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"link1":[{"columns":["i","k","l2","ka"]}],"link2":[{"columns":["i","l1"]}],"simple":[{"columns":["b","ba","i","s","r","u","ra","ia","sa","ua"]}],"simple2":[{"columns":["smap","name","imap"]}],"simple3":[{"columns":["uset","uref","name"]}],"simple4":[{"columns":["name"]}],"singleton":[{"columns":["name"]}]}],
> id=2
> 2019-07-10T19:57:50Z |  37 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="set_db_change_aware", params=[true], id=3
> 2019-07-10T19:57:50Z |  38 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result={}, id=2
> 2019-07-10T19:57:50Z |  39 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result={}, id=3
> 2019-07-10T19:57:50Z |  40 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"insert","row":{"b":true,"ba":["set",[true]],"i":1,"ia":["set",[1,2,3]],"r":2,"ra":["set",[-0.5]],"s":"mystring","sa":["set",["abc","def"]],"u":["uuid","84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],"ua":["set",[["uuid","69443985-7806-45e2-b35f-574a04e720f9"],["uuid","aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]},"table":"simple"},{"op":"insert","row":{},"table":"simple"}],
> id=4
> 2019-07-10T19:57:50Z |  41 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  42 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply,
> result=[{"uuid":["uuid","27465769-398f-41ef-b1c0-c95e7097c56f"]},{"uuid":["uuid","44f32e1a-3e90-4af1-99df-ea62d4105087"]}],
> id=4
> #0# = 27465769-398f-41ef-b1c0-c95e7097c56f
> #1# = 44f32e1a-3e90-4af1-99df-ea62d4105087
> 2019-07-10T19:57:50Z |  43 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"27465769-398f-41ef-b1c0-c95e7097c56f":{"insert":{"b":true,"ba":true,"i":1,"ia":["set",[1,2,3]],"r":2,"ra":-0.5,"s":"mystring","sa":["set",["abc","def"]],"u":["uuid","84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],"ua":["set",[["uuid","69443985-7806-45e2-b35f-574a04e720f9"],["uuid","aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},"44f32e1a-3e90-4af1-99df-ea62d4105087":{"insert":{}}}}]
> 2019-07-10T19:57:50Z |  44 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"b":true},"table":"simple","where":[]}],
> id=5
> 2019-07-10T19:57:50Z |  45 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  46 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result=[{"count":2}], id=5
> 2019-07-10T19:57:50Z |  47 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"44f32e1a-3e90-4af1-99df-ea62d4105087":{"modify":{"b":true}}}}]
> 2019-07-10T19:57:50Z |  48 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"r":123.5},"table":"simple","where":[]}],
> id=6
> 2019-07-10T19:57:50Z |  49 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  50 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result=[{"count":2}], id=6
> 2019-07-10T19:57:50Z |  51 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"27465769-398f-41ef-b1c0-c95e7097c56f":{"modify":{"r":123.5}},"44f32e1a-3e90-4af1-99df-ea62d4105087":{"modify":{"r":123.5}}}}]
> 2019-07-10T19:57:50Z |  52 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"insert","row":{"b":false,"ba":["set",[false]],"i":-1,"ia":["set",[1]],"r":125,"ra":["set",[1.5]],"s":"","sa":["set",[]],"ua":["set",[]]},"table":"simple"}],
> id=7
> 2019-07-10T19:57:50Z |  53 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  54 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply,
> result=[{"uuid":["uuid","9a543c13-2b92-4be1-89e2-60fdb1171566"]}], id=7
> #2# = 9a543c13-2b92-4be1-89e2-60fdb1171566
> 2019-07-10T19:57:50Z |  55 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"9a543c13-2b92-4be1-89e2-60fdb1171566":{"insert":{"ba":false,"i":-1,"ia":1,"r":125,"ra":1.5}}}}]
> 2019-07-10T19:57:50Z |  56 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"s":"newstring"},"table":"simple","where":[["i","<",1]]}],
> id=8
> 2019-07-10T19:57:50Z |  57 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  58 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result=[{"count":2}], id=8
> 2019-07-10T19:57:50Z |  59 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"44f32e1a-3e90-4af1-99df-ea62d4105087":{"modify":{"s":"newstring"}},"9a543c13-2b92-4be1-89e2-60fdb1171566":{"modify":{"s":"newstring"}}}}]
> 2019-07-10T19:57:50Z |  60 | jsonrpc | DBG | ssl:127.0.0.1:38627: send
> request, method="transact",
> params=["idltest",{"op":"delete","table":"simple","where":[["i","==",0]]}],
> id=9
> 2019-07-10T19:57:50Z |  61 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:50Z |  62 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received reply, result=[{"count":1}], id=9
> 2019-07-10T19:57:50Z |  63 | jsonrpc | DBG | ssl:127.0.0.1:38627:
> received notification, method="update2",
> params=["ff61df02-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"44f32e1a-3e90-4af1-99df-ea62d4105087":{"delete":null}}}]
> 2019-07-10T19:57:50Z |  64 | reconnect | DBG | ssl:127.0.0.1:38627:
> entering RECONNECT
> 2019-07-10T19:57:50Z |  65 | reconnect | INFO | ssl:127.0.0.1:38627:
> connection closed by client
> 2019-07-10T19:57:50Z |  66 | reconnect | DBG | ssl:127.0.0.1:38627:
> entering BACKOFF
> Traceback (most recent call last):
>   File "../../../../tests/test-ovsdb.py", line 962, in <module>
>     main(sys.argv)
>   File "../../../../tests/test-ovsdb.py", line 957, in main
>     func(*args)
>   File "../../../../tests/test-ovsdb.py", line 706, in do_idl
>     while idl.change_seqno == seqno and not idl.run():
>   File "/home/blp/nicira/ovs/python/ovs/db/idl.py", line 242, in run
>     self._session.run()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 538, in run
>     self.__disconnect()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 454, in
> __disconnect
>     self.rpc.close()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 196, in close
>     self.stream.close()
>   File "/home/blp/nicira/ovs/python/ovs/stream.py", line 831, in close
>     self.socket.shutdown()
>   File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1993, in
> shutdown
>     self._raise_ssl_error(self._ssl, result)
>   File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1631, in
> _raise_ssl_error
>     raise SysCallError(errno, errorcode.get(errno))
> OpenSSL.SSL.SysCallError: (9, 'EBADF')
> stdout:
> 000: empty
> 001:
> {"error":null,"result":[{"uuid":["uuid","27465769-398f-41ef-b1c0-c95e7097c56f"]},{"uuid":["uuid","44f32e1a-3e90-4af1-99df-ea62d4105087"]}]}
> 002: i=0 r=0 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[] ra=[]
> ba=[] sa=[] ua=[] uuid=44f32e1a-3e90-4af1-99df-ea62d4105087
> 002: i=1 r=2 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 003: {"error":null,"result":[{"count":2}]}
> 004: i=0 r=0 b=true s= u=00000000-0000-0000-0000-000000000000 ia=[] ra=[]
> ba=[] sa=[] ua=[] uuid=44f32e1a-3e90-4af1-99df-ea62d4105087
> 004: i=1 r=2 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 005: {"error":null,"result":[{"count":2}]}
> 006: i=0 r=123.5 b=true s= u=00000000-0000-0000-0000-000000000000 ia=[]
> ra=[] ba=[] sa=[] ua=[] uuid=44f32e1a-3e90-4af1-99df-ea62d4105087
> 006: i=1 r=123.5 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 007:
> {"error":null,"result":[{"uuid":["uuid","9a543c13-2b92-4be1-89e2-60fdb1171566"]}]}
> 008: i=0 r=123.5 b=true s= u=00000000-0000-0000-0000-000000000000 ia=[]
> ra=[] ba=[] sa=[] ua=[] uuid=44f32e1a-3e90-4af1-99df-ea62d4105087
> 008: i=-1 r=125 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[1]
> ra=[1.5] ba=[false] sa=[] ua=[] uuid=9a543c13-2b92-4be1-89e2-60fdb1171566
> 008: i=1 r=123.5 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 009: {"error":null,"result":[{"count":2}]}
> 010: i=0 r=123.5 b=true s=newstring u=00000000-0000-0000-0000-000000000000
> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=44f32e1a-3e90-4af1-99df-ea62d4105087
> 010: i=-1 r=125 b=false s=newstring u=00000000-0000-0000-0000-000000000000
> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[]
> uuid=9a543c13-2b92-4be1-89e2-60fdb1171566
> 010: i=1 r=123.5 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 011: {"error":null,"result":[{"count":1}]}
> 012: i=-1 r=125 b=false s=newstring u=00000000-0000-0000-0000-000000000000
> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[]
> uuid=9a543c13-2b92-4be1-89e2-60fdb1171566
> 012: i=1 r=123.5 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=27465769-398f-41ef-b1c0-c95e7097c56f
> 013: reconnect
> ../../tests/ovsdb-idl.at:351: exit code was 1, expected 0
> 2108. ovsdb-idl.at:351: 2108. simple idl, initially empty, various ops -
> Python2 - SSL (ovsdb-idl.at:351): FAILED (ovsdb-idl.at:351)
>
> #                             -*- compilation -*-
> 2439. ovsdb-idl.at:1452: testing simple idl verify notify - Python2 - SSL
> ...
> ../../tests/ovsdb-idl.at:1452: ovsdb-tool create db
> $abs_srcdir/idltest.ovsschema
> stderr:
> stdout:
> ../../tests/ovsdb-idl.at:1452: ovsdb-server -vconsole:warn --log-file
> --detach --no-chdir \
>              --pidfile \
>              --private-key=$PKIDIR/testpki-privkey2.pem \
>              --certificate=$PKIDIR/testpki-cert2.pem \
>              --ca-cert=$PKIDIR/testpki-cacert.pem \
>              --remote=pssl:0:127.0.0.1 db
> ovsdb-idl.at:1452: waiting until TCP_PORT=`sed -n 's/.*0:.*: listening on
> port \([0-9]*\)$/\1/p' "ovsdb-server.log"` && test X != X"$TCP_PORT"...
> ovsdb-idl.at:1452: wait succeeded immediately
> ../../tests/ovsdb-idl.at:1452: $PYTHON2 $srcdir/test-ovsdb.py  -t10 idl
> $srcdir/idltest.ovsschema \
>              ssl:127.0.0.1:$TCP_PORT $PKIDIR/testpki-privkey.pem \
>              $PKIDIR/testpki-cert.pem $PKIDIR/testpki-cacert.pem
> 'track-notify' \
>     '["idltest",
>       {"op": "insert",
>        "table": "simple",
>        "row": {"i": 1,
>                "r": 2.0,
>                "b": true,
>                "s": "mystring",
>                "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
>                "ia": ["set", [1, 2, 3]],
>                "ra": ["set", [-0.5]],
>                "ba": ["set", [true]],
>                "sa": ["set", ["abc", "def"]],
>                "ua": ["set", [["uuid",
> "69443985-7806-45e2-b35f-574a04e720f9"],
>                               ["uuid",
> "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
>       {"op": "insert",
>        "table": "simple",
>        "row": {}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [],
>        "row": {"b": false}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [],
>        "row": {"r": 123.5}}]' \
>     '["idltest",
>       {"op": "insert",
>        "table": "simple",
>        "row": {"i": -1,
>                "r": 125,
>                "b": false,
>                "s": "",
>                "ia": ["set", [1]],
>                "ra": ["set", [1.5]],
>                "ba": ["set", [false]],
>                "sa": ["set", []],
>                "ua": ["set", []]}}]' \
>     '["idltest",
>       {"op": "update",
>        "table": "simple",
>        "where": [["i", "<", 1]],
>        "row": {"s": "newstring"}}]' \
>     '["idltest",
>       {"op": "delete",
>        "table": "simple",
>        "where": [["i", "==", 0]]}]' \
>     'reconnect'
> stderr:
> 2019-07-10T19:57:51Z |  0  | reconnect | DBG | ssl:127.0.0.1:41187:
> entering BACKOFF
> 2019-07-10T19:57:51Z |  1  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  2  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  3  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  4  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  5  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  6  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  7  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  8  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  9  | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  10 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  11 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  12 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  13 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  14 | poller | DBG | [POLLOUT] on fd 3
> 2019-07-10T19:57:51Z |  15 | reconnect | INFO | ssl:127.0.0.1:41187:
> connecting...
> 2019-07-10T19:57:51Z |  16 | reconnect | DBG | ssl:127.0.0.1:41187:
> entering CONNECTING
> 2019-07-10T19:57:51Z |  17 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  18 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  19 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  20 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  21 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  22 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  23 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  24 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  25 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  26 | poller | DBG | [POLLOUT] on fd 4
> 2019-07-10T19:57:51Z |  27 | reconnect | INFO | ssl:127.0.0.1:41187:
> connected
> 2019-07-10T19:57:51Z |  28 | reconnect | DBG | ssl:127.0.0.1:41187:
> entering ACTIVE
> 2019-07-10T19:57:51Z |  29 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="get_schema",
> params=["_Server","ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2"], id=0
> 2019-07-10T19:57:51Z |  30 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:51Z |  31 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:51Z |  32 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result={"cksum":"3236486585
> 698","name":"_Server","tables":{"Database":{"columns":{"cid":{"type":{"key":"uuid","min":0}},"connected":{"type":"boolean"},"index":{"type":{"key":"integer","min":0}},"leader":{"type":"boolean"},"model":{"type":{"key":{"enum":["set",["clustered","standalone"]],"type":"string"}}},"name":{"type":"string"},"schema":{"type":{"key":"string","min":0}},"sid":{"type":{"key":"uuid","min":0}}}}},"version":"1.1.0"},
> id=0
> 2019-07-10T19:57:51Z |  33 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="monitor",
> params=["_Server","ff8c3ded-a34c-11e9-9ea0-34e12ddfbbd2",{"Database":[{"columns":["index","name","cid","connected","sid","model","leader","schema"]}]}],
> id=1
> 2019-07-10T19:57:51Z |  34 | poller | DBG | [POLLIN] on fd 4
> 2019-07-10T19:57:51Z |  35 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply,
> result={"Database":{"239e9f59-7b01-4a90-a4a6-843016603201":{"new":{"cid":["set",[]],"connected":true,"index":["set",[]],"leader":true,"model":"standalone","name":"_Server","schema":"{\"cksum\":\"3236486585
> 698\",\"name\":\"_Server\",\"tables\":{\"Database\":{\"columns\":{\"cid\":{\"type\":{\"key\":\"uuid\",\"min\":0}},\"connected\":{\"type\":\"boolean\"},\"index\":{\"type\":{\"key\":\"integer\",\"min\":0}},\"leader\":{\"type\":\"boolean\"},\"model\":{\"type\":{\"key\":{\"enum\":[\"set\",[\"clustered\",\"standalone\"]],\"type\":\"string\"}}},\"name\":{\"type\":\"string\"},\"schema\":{\"type\":{\"key\":\"string\",\"min\":0}},\"sid\":{\"type\":{\"key\":\"uuid\",\"min\":0}}}}},\"version\":\"1.1.0\"}","sid":["set",[]]}},"9211a231-3a07-4cd6-9e1f-687dc969cc36":{"new":{"cid":["set",[]],"connected":true,"index":["set",[]],"leader":true,"model":"standalone","name":"idltest","schema":"{\"name\":\"idltest\",\"tables\":{\"link1\":{\"columns\":{\"i\":{\"type\":\"integer\"},\"k\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"}}},\"ka\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"},\"max\":\"unlimited\",\"min\":0}},\"l2\":{\"type\":{\"key\":{\"refTable\":\"link2\",\"type\":\"uuid\"},\"min\":0}}},\"isRoot\":true},\"link2\":{\"columns\":{\"i\":{\"type\":\"integer\"},\"l1\":{\"type\":{\"key\":{\"refTable\":\"link1\",\"type\":\"uuid\"},\"min\":0}}},\"isRoot\":true},\"simple\":{\"columns\":{\"b\":{\"type\":\"boolean\"},\"ba\":{\"type\":{\"key\":\"boolean\",\"min\":0}},\"i\":{\"type\":\"integer\"},\"ia\":{\"type\":{\"key\":\"integer\",\"max\":\"unlimited\",\"min\":0}},\"r\":{\"type\":\"real\"},\"ra\":{\"type\":{\"key\":\"real\",\"max\":\"unlimited\",\"min\":0}},\"s\":{\"type\":\"string\"},\"sa\":{\"type\":{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0}},\"u\":{\"type\":\"uuid\"},\"ua\":{\"type\":{\"key\":\"uuid\",\"max\":\"unlimited\",\"min\":0}}},\"isRoot\":true},\"simple2\":{\"columns\":{\"imap\":{\"type\":{\"key\":{\"maxInteger\":4095,\"minInteger\":0,\"type\":\"integer\"},\"max\":\"unlimited\",\"min\":0,\"value\":\"string\"}},\"name\":{\"type\":\"string\"},\"smap\":{\"type\":{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0,\"value\":\"string\"}}},\"isRoot\":true},\"simple3\":{\"columns\":{\"name\":{\"type\":\"string\"},\"uref\":{\"type\":{\"key\":{\"refTable\":\"simple4\",\"type\":\"uuid\"},\"max\":\"unlimited\",\"min\":0}},\"uset\":{\"type\":{\"key\":\"uuid\",\"max\":\"unlimited\",\"min\":0}}},\"isRoot\":true},\"simple4\":{\"columns\":{\"name\":{\"type\":\"string\"}}},\"singleton\":{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":true,\"maxRows\":1}},\"version\":\"1.2.3\"}","sid":["set",[]]}}}},
> id=1
> 2019-07-10T19:57:51Z |  36 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="monitor_cond",
> params=["idltest","ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"link1":[{"columns":["i","k","l2","ka"]}],"link2":[{"columns":["i","l1"]}],"simple":[{"columns":["b","ba","i","s","r","u","ra","ia","sa","ua"]}],"simple2":[{"columns":["smap","name","imap"]}],"simple3":[{"columns":["uset","uref","name"]}],"simple4":[{"columns":["name"]}],"singleton":[{"columns":["name"]}]}],
> id=2
> 2019-07-10T19:57:51Z |  37 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="set_db_change_aware", params=[true], id=3
> 2019-07-10T19:57:51Z |  38 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result={}, id=2
> 2019-07-10T19:57:51Z |  39 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result={}, id=3
> 2019-07-10T19:57:51Z |  40 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"insert","row":{"b":true,"ba":["set",[true]],"i":1,"ia":["set",[1,2,3]],"r":2,"ra":["set",[-0.5]],"s":"mystring","sa":["set",["abc","def"]],"u":["uuid","84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],"ua":["set",[["uuid","69443985-7806-45e2-b35f-574a04e720f9"],["uuid","aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]},"table":"simple"},{"op":"insert","row":{},"table":"simple"}],
> id=4
> 2019-07-10T19:57:51Z |  41 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  42 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply,
> result=[{"uuid":["uuid","a4f6fb38-66b3-43e4-b581-ecb2a64e6649"]},{"uuid":["uuid","8af7b362-7d87-4e5a-bdee-7daaebff2f3e"]}],
> id=4
> #0# = a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> #1# = 8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 2019-07-10T19:57:51Z |  43 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"8af7b362-7d87-4e5a-bdee-7daaebff2f3e":{"insert":{}},"a4f6fb38-66b3-43e4-b581-ecb2a64e6649":{"insert":{"b":true,"ba":true,"i":1,"ia":["set",[1,2,3]],"r":2,"ra":-0.5,"s":"mystring","sa":["set",["abc","def"]],"u":["uuid","84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],"ua":["set",[["uuid","69443985-7806-45e2-b35f-574a04e720f9"],["uuid","aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}}}}]
> 2019-07-10T19:57:51Z |  44 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"b":false},"table":"simple","where":[]}],
> id=5
> 2019-07-10T19:57:51Z |  45 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  46 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result=[{"count":2}], id=5
> 2019-07-10T19:57:51Z |  47 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"a4f6fb38-66b3-43e4-b581-ecb2a64e6649":{"modify":{"b":false}}}}]
> 2019-07-10T19:57:51Z |  48 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"r":123.5},"table":"simple","where":[]}],
> id=6
> 2019-07-10T19:57:51Z |  49 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  50 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result=[{"count":2}], id=6
> 2019-07-10T19:57:51Z |  51 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"8af7b362-7d87-4e5a-bdee-7daaebff2f3e":{"modify":{"r":123.5}},"a4f6fb38-66b3-43e4-b581-ecb2a64e6649":{"modify":{"r":123.5}}}}]
> 2019-07-10T19:57:51Z |  52 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"insert","row":{"b":false,"ba":["set",[false]],"i":-1,"ia":["set",[1]],"r":125,"ra":["set",[1.5]],"s":"","sa":["set",[]],"ua":["set",[]]},"table":"simple"}],
> id=7
> 2019-07-10T19:57:51Z |  53 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  54 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply,
> result=[{"uuid":["uuid","eff44ed3-4002-4da4-9877-d41b3364a894"]}], id=7
> #2# = eff44ed3-4002-4da4-9877-d41b3364a894
> 2019-07-10T19:57:51Z |  55 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"eff44ed3-4002-4da4-9877-d41b3364a894":{"insert":{"ba":false,"i":-1,"ia":1,"r":125,"ra":1.5}}}}]
> 2019-07-10T19:57:51Z |  56 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"update","row":{"s":"newstring"},"table":"simple","where":[["i","<",1]]}],
> id=8
> 2019-07-10T19:57:51Z |  57 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  58 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result=[{"count":2}], id=8
> 2019-07-10T19:57:51Z |  59 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"8af7b362-7d87-4e5a-bdee-7daaebff2f3e":{"modify":{"s":"newstring"}},"eff44ed3-4002-4da4-9877-d41b3364a894":{"modify":{"s":"newstring"}}}}]
> 2019-07-10T19:57:51Z |  60 | jsonrpc | DBG | ssl:127.0.0.1:41187: send
> request, method="transact",
> params=["idltest",{"op":"delete","table":"simple","where":[["i","==",0]]}],
> id=9
> 2019-07-10T19:57:51Z |  61 | poller | DBG | [POLLIN] on fd 3
> 2019-07-10T19:57:51Z |  62 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received reply, result=[{"count":1}], id=9
> 2019-07-10T19:57:51Z |  63 | jsonrpc | DBG | ssl:127.0.0.1:41187:
> received notification, method="update2",
> params=["ff8c3dec-a34c-11e9-9ea0-34e12ddfbbd2",{"simple":{"8af7b362-7d87-4e5a-bdee-7daaebff2f3e":{"delete":null}}}]
> 2019-07-10T19:57:51Z |  64 | reconnect | DBG | ssl:127.0.0.1:41187:
> entering RECONNECT
> 2019-07-10T19:57:51Z |  65 | reconnect | INFO | ssl:127.0.0.1:41187:
> connection closed by client
> 2019-07-10T19:57:51Z |  66 | reconnect | DBG | ssl:127.0.0.1:41187:
> entering BACKOFF
> Traceback (most recent call last):
>   File "../../../../tests/test-ovsdb.py", line 962, in <module>
>     main(sys.argv)
>   File "../../../../tests/test-ovsdb.py", line 957, in main
>     func(*args)
>   File "../../../../tests/test-ovsdb.py", line 706, in do_idl
>     while idl.change_seqno == seqno and not idl.run():
>   File "/home/blp/nicira/ovs/python/ovs/db/idl.py", line 242, in run
>     self._session.run()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 538, in run
>     self.__disconnect()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 454, in
> __disconnect
>     self.rpc.close()
>   File "/home/blp/nicira/ovs/python/ovs/jsonrpc.py", line 196, in close
>     self.stream.close()
>   File "/home/blp/nicira/ovs/python/ovs/stream.py", line 831, in close
>     self.socket.shutdown()
>   File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1993, in
> shutdown
>     self._raise_ssl_error(self._ssl, result)
>   File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 1631, in
> _raise_ssl_error
>     raise SysCallError(errno, errorcode.get(errno))
> OpenSSL.SSL.SysCallError: (9, 'EBADF')
> stdout:
> 000: event:create, row={uuid=239e9f59-7b01-4a90-a4a6-843016603201},
> updates=None
> 000: event:create, row={uuid=9211a231-3a07-4cd6-9e1f-687dc969cc36},
> updates=None
> 000: empty
> 001:
> {"error":null,"result":[{"uuid":["uuid","a4f6fb38-66b3-43e4-b581-ecb2a64e6649"]},{"uuid":["uuid","8af7b362-7d87-4e5a-bdee-7daaebff2f3e"]}]}
> 002: event:create, row={i=0 r=0 b=false s=
> u=00000000-0000-0000-0000-000000000000 ia=[] ra=[] ba=[] sa=[] ua=[]
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}, updates=None
> 002: event:create, row={i=1 r=2 b=true s=mystring
> u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1 ia=[1 2 3] ra=[-0.5] ba=[true]
> sa=[abc def] ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649}, updates=None
> 002: i=0 r=0 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[] ra=[]
> ba=[] sa=[] ua=[] uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 002: i=1 r=2 b=true s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 003: {"error":null,"result":[{"count":2}]}
> 004: event:update, row={i=1 r=2 b=false s=mystring
> u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1 ia=[1 2 3] ra=[-0.5] ba=[true]
> sa=[abc def] ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649}, updates={b=true
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649}
> 004: i=0 r=0 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[] ra=[]
> ba=[] sa=[] ua=[] uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 004: i=1 r=2 b=false s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 005: {"error":null,"result":[{"count":2}]}
> 006: event:update, row={i=0 r=123.5 b=false s=
> u=00000000-0000-0000-0000-000000000000 ia=[] ra=[] ba=[] sa=[] ua=[]
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}, updates={r=0
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}
> 006: event:update, row={i=1 r=123.5 b=false s=mystring
> u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1 ia=[1 2 3] ra=[-0.5] ba=[true]
> sa=[abc def] ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649}, updates={r=2
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649}
> 006: i=0 r=123.5 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[]
> ra=[] ba=[] sa=[] ua=[] uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 006: i=1 r=123.5 b=false s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 007:
> {"error":null,"result":[{"uuid":["uuid","eff44ed3-4002-4da4-9877-d41b3364a894"]}]}
> 008: event:create, row={i=-1 r=125 b=false s=
> u=00000000-0000-0000-0000-000000000000 ia=[1] ra=[1.5] ba=[false] sa=[]
> ua=[] uuid=eff44ed3-4002-4da4-9877-d41b3364a894}, updates=None
> 008: i=0 r=123.5 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[]
> ra=[] ba=[] sa=[] ua=[] uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 008: i=1 r=123.5 b=false s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 008: i=-1 r=125 b=false s= u=00000000-0000-0000-0000-000000000000 ia=[1]
> ra=[1.5] ba=[false] sa=[] ua=[] uuid=eff44ed3-4002-4da4-9877-d41b3364a894
> 009: {"error":null,"result":[{"count":2}]}
> 010: event:update, row={i=0 r=123.5 b=false s=newstring
> u=00000000-0000-0000-0000-000000000000 ia=[] ra=[] ba=[] sa=[] ua=[]
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}, updates={s=
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}
> 010: event:update, row={i=-1 r=125 b=false s=newstring
> u=00000000-0000-0000-0000-000000000000 ia=[1] ra=[1.5] ba=[false] sa=[]
> ua=[] uuid=eff44ed3-4002-4da4-9877-d41b3364a894}, updates={s=
> uuid=eff44ed3-4002-4da4-9877-d41b3364a894}
> 010: i=0 r=123.5 b=false s=newstring
> u=00000000-0000-0000-0000-000000000000 ia=[] ra=[] ba=[] sa=[] ua=[]
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e
> 010: i=1 r=123.5 b=false s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 010: i=-1 r=125 b=false s=newstring u=00000000-0000-0000-0000-000000000000
> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[]
> uuid=eff44ed3-4002-4da4-9877-d41b3364a894
> 011: {"error":null,"result":[{"count":1}]}
> 012: event:delete, row={i=0 r=123.5 b=false s=newstring
> u=00000000-0000-0000-0000-000000000000 ia=[] ra=[] ba=[] sa=[] ua=[]
> uuid=8af7b362-7d87-4e5a-bdee-7daaebff2f3e}, updates=None
> 012: i=1 r=123.5 b=false s=mystring u=84f5c8f5-ac76-4dbc-a24f-8860eb407fc1
> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def]
> ua=[69443985-7806-45e2-b35f-574a04e720f9
> aad11ef0-816a-4b01-93e6-03b8b4256b98]
> uuid=a4f6fb38-66b3-43e4-b581-ecb2a64e6649
> 012: i=-1 r=125 b=false s=newstring u=00000000-0000-0000-0000-000000000000
> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[]
> uuid=eff44ed3-4002-4da4-9877-d41b3364a894
> 013: reconnect
> ../../tests/ovsdb-idl.at:1452: exit code was 1, expected 0
> 2439. ovsdb-idl.at:1452: 2439. simple idl verify notify - Python2 - SSL (
> ovsdb-idl.at:1452): FAILED (ovsdb-idl.at:1452)
>


More information about the dev mailing list