)]}'
{"networking_ovn/tests/functional/octavia/test_ovn_driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"70ba2f0be5cf367279cd68432fced9c6f572dbd3","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        idl_ovn.OvnNbApiIdlImpl.ovsdb_connection \u003d None"},{"line_number":43,"context_line":"        ovn_driver.OvnProviderHelper.ovn_nbdb_api \u003d None"},{"line_number":44,"context_line":"        mock.patch.object("},{"line_number":45,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":46,"context_line":"        self.ovn_driver \u003d ovn_driver.OvnProviderDriver()"},{"line_number":47,"context_line":"        self.ovn_driver._ovn_helper._octavia_driver_lib \u003d mock.MagicMock()"},{"line_number":48,"context_line":"        self._o_driver_lib \u003d self.ovn_driver._ovn_helper._octavia_driver_lib"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_d6b3fb08","line":45,"updated":"2019-08-05 11:46:15.000000000","message":"Do we need it? I don\u0027t know what those sockets are good for but it\u0027ll be good to avoid mock in the functional test suite. Isn\u0027t there a way we could really create real sockets when needed?","commit_id":"0900b020ee0670fa78e5800e778f170392bada5b"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"51fd8ecdc2a1395163f797ca621a41fc8c506998","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        idl_ovn.OvnNbApiIdlImpl.ovsdb_connection \u003d None"},{"line_number":43,"context_line":"        ovn_driver.OvnProviderHelper.ovn_nbdb_api \u003d None"},{"line_number":44,"context_line":"        mock.patch.object("},{"line_number":45,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":46,"context_line":"        self.ovn_driver \u003d ovn_driver.OvnProviderDriver()"},{"line_number":47,"context_line":"        self.ovn_driver._ovn_helper._octavia_driver_lib \u003d mock.MagicMock()"},{"line_number":48,"context_line":"        self._o_driver_lib \u003d self.ovn_driver._ovn_helper._octavia_driver_lib"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_49ee8ced","line":45,"in_reply_to":"7faddb67_36304f56","updated":"2019-08-05 12:50:54.000000000","message":"I tried to add driver listeners for \u0027status\u0027, \u0027get\u0027 and \u0027stats\u0027 here, the same way like its done in:\nhttps://review.opendev.org/#/c/665029/21/octavia/tests/functional/api/drivers/driver_agent/test_driver_agent.py\n\nUnfortunately while using driver_listener to achieve fake listeners:\nhttps://github.com/openstack/octavia/blob/master/octavia/api/drivers/driver_agent/driver_listener.py\n\nIt each time fails on duplicate config option \u0027host\u0027 in global scope: oslo_config.cfg.DuplicateOptError: duplicate option: host.\nhttp://paste.openstack.org/show/755513/\n\n\nLooks like we\u0027re not yet ready to support this in our functional tests... I\u0027ll try to ask octavia folks to move this driver_listener to octavia_lib. That could solve this configuration problem.","commit_id":"0900b020ee0670fa78e5800e778f170392bada5b"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"9d76ceeec742705f01b781c692ab8ec30596f5ab","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        idl_ovn.OvnNbApiIdlImpl.ovsdb_connection \u003d None"},{"line_number":43,"context_line":"        ovn_driver.OvnProviderHelper.ovn_nbdb_api \u003d None"},{"line_number":44,"context_line":"        mock.patch.object("},{"line_number":45,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":46,"context_line":"        self.ovn_driver \u003d ovn_driver.OvnProviderDriver()"},{"line_number":47,"context_line":"        self.ovn_driver._ovn_helper._octavia_driver_lib \u003d mock.MagicMock()"},{"line_number":48,"context_line":"        self._o_driver_lib \u003d self.ovn_driver._ovn_helper._octavia_driver_lib"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_0c866267","line":45,"in_reply_to":"7faddb67_49ee8ced","updated":"2019-08-05 14:40:03.000000000","message":"It overlaps with:\nhttps://github.com/openstack/neutron/blob/master/neutron/conf/common.py#L94","commit_id":"0900b020ee0670fa78e5800e778f170392bada5b"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"ccef275b29f058fa3df25413a07a042bbcb8d516","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        idl_ovn.OvnNbApiIdlImpl.ovsdb_connection \u003d None"},{"line_number":43,"context_line":"        ovn_driver.OvnProviderHelper.ovn_nbdb_api \u003d None"},{"line_number":44,"context_line":"        mock.patch.object("},{"line_number":45,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":46,"context_line":"        self.ovn_driver \u003d ovn_driver.OvnProviderDriver()"},{"line_number":47,"context_line":"        self.ovn_driver._ovn_helper._octavia_driver_lib \u003d mock.MagicMock()"},{"line_number":48,"context_line":"        self._o_driver_lib \u003d self.ovn_driver._ovn_helper._octavia_driver_lib"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_36304f56","line":45,"in_reply_to":"7faddb67_d6b3fb08","updated":"2019-08-05 12:02:28.000000000","message":"After a bit more checking, yes we should need \u0027fake\u0027 sockets.  \n\nThe change:\nhttps://github.com/openstack/octavia-lib/commit/d700c00a90fd62b4f6cb9eb30ebe5f619dd6bfda\n\nand socket verification is not only about \u0027get\u0027 methods, but also about sending status updates to octavia. We should support that. I\u0027m working on the fix. Thanks for asking :)","commit_id":"0900b020ee0670fa78e5800e778f170392bada5b"}],"networking_ovn/tests/unit/octavia/test_ovn_driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"70519471d93bf9029ae64d4778c7eb42793bcb23","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                           \u0027vip_subnet_id\u0027: self.vip_dict[\u0027vip_subnet_id\u0027]}"},{"line_number":67,"context_line":"        mock.patch("},{"line_number":68,"context_line":"            \u0027ovsdbapp.backend.ovs_idl.idlutils.get_schema_helper\u0027).start()"},{"line_number":69,"context_line":"        mock.patch.object("},{"line_number":70,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_5d8ac663","line":69,"updated":"2019-08-05 15:54:44.000000000","message":"It\u0027s a weird to me to bump requirement just because of unittesting. Can we do:\n\n try:\n     mock.patch.object()\n except AttributeError:\n     # Backward compatiblity with octavia-lib \u003c 1.3.1\n     pass","commit_id":"f80db2256fef24da77d8c2c40d3a7ae782f5edf0"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"dae5ed085ad5bc173ed1407d462c31e60dbb7f4e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                           \u0027vip_subnet_id\u0027: self.vip_dict[\u0027vip_subnet_id\u0027]}"},{"line_number":67,"context_line":"        mock.patch("},{"line_number":68,"context_line":"            \u0027ovsdbapp.backend.ovs_idl.idlutils.get_schema_helper\u0027).start()"},{"line_number":69,"context_line":"        mock.patch.object("},{"line_number":70,"context_line":"            driver_lib.DriverLibrary, \u0027_check_for_socket_ready\u0027).start()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_8c41e40c","line":69,"in_reply_to":"7faddb67_5d8ac663","updated":"2019-08-06 07:51:32.000000000","message":"Thats much smarter. Thanks!","commit_id":"f80db2256fef24da77d8c2c40d3a7ae782f5edf0"}],"requirements.txt":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"70519471d93bf9029ae64d4778c7eb42793bcb23","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Babel!\u003d2.4.0,\u003e\u003d2.3.4 # BSD"},{"line_number":16,"context_line":"six\u003e\u003d1.10.0 # MIT"},{"line_number":17,"context_line":"neutron\u003e\u003d13.0.0.0b2 # Apache-2.0"},{"line_number":18,"context_line":"octavia-lib\u003e\u003d1.3.1 # Apache-2.0"},{"line_number":19,"context_line":"tooz\u003e\u003d1.58.0 # Apache-2.0"},{"line_number":20,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"},{"line_number":21,"context_line":""}],"source_content_type":"text/plain","patch_set":6,"id":"7faddb67_5db16643","line":18,"range":{"start_line":18,"start_character":15,"end_line":18,"end_character":16},"updated":"2019-08-05 15:54:44.000000000","message":"The change looks good to me, do we need this bump actually? The code doesn\u0027t work with the latest or what\u0027s required specifically from this version?","commit_id":"f80db2256fef24da77d8c2c40d3a7ae782f5edf0"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"dae5ed085ad5bc173ed1407d462c31e60dbb7f4e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Babel!\u003d2.4.0,\u003e\u003d2.3.4 # BSD"},{"line_number":16,"context_line":"six\u003e\u003d1.10.0 # MIT"},{"line_number":17,"context_line":"neutron\u003e\u003d13.0.0.0b2 # Apache-2.0"},{"line_number":18,"context_line":"octavia-lib\u003e\u003d1.3.1 # Apache-2.0"},{"line_number":19,"context_line":"tooz\u003e\u003d1.58.0 # Apache-2.0"},{"line_number":20,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"},{"line_number":21,"context_line":""}],"source_content_type":"text/plain","patch_set":6,"id":"7faddb67_0cb8940e","line":18,"range":{"start_line":18,"start_character":15,"end_line":18,"end_character":16},"in_reply_to":"7faddb67_5db16643","updated":"2019-08-06 07:51:32.000000000","message":"The only thing is this needed mock(). In old versions the mocked attribute doesn\u0027t exist. Code itself works well. So after your suggestion I\u0027ll add try-except block instead bumping this up.","commit_id":"f80db2256fef24da77d8c2c40d3a7ae782f5edf0"}]}
