)]}'
{"neutron/agent/ovsdb/native/connection.py":[{"author":{"_account_id":22380,"name":"Josh Hershberg","email":"jhershbe@redhat.com","username":"jhershbe"},"change_message_id":"d43c3310252b1c911f1017073624b5bc70f0cd02","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def idl_factory():"},{"line_number":34,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":35,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":36,"context_line":"    if \u0027ssl:\u0027 in conn:"},{"line_number":37,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":38,"context_line":"        priv_key_file \u003d cfg.CONF.ssl.key_file"},{"line_number":39,"context_line":"        cert_file \u003d cfg.CONF.ssl.cert_file"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_74229303","line":36,"updated":"2018-01-24 08:11:30.000000000","message":"why not starts with?","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"11ef51482db21426cfdaff23284f2d59884e6bb8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def idl_factory():"},{"line_number":34,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":35,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":36,"context_line":"    if \u0027ssl:\u0027 in conn:"},{"line_number":37,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":38,"context_line":"        priv_key_file \u003d cfg.CONF.ssl.key_file"},{"line_number":39,"context_line":"        cert_file \u003d cfg.CONF.ssl.cert_file"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_35471f4f","line":36,"in_reply_to":"7f96bb07_74229303","updated":"2018-01-24 13:12:20.000000000","message":"Done","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0d440edadf8823e2bc70c3a0d9b8beab451a3ee2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":35,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":36,"context_line":"    if \u0027ssl:\u0027 in conn:"},{"line_number":37,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":38,"context_line":"        priv_key_file \u003d cfg.CONF.ssl.key_file"},{"line_number":39,"context_line":"        cert_file \u003d cfg.CONF.ssl.cert_file"},{"line_number":40,"context_line":"        ca_file \u003d cfg.CONF.ssl.ca_file"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_062120b5","line":37,"updated":"2018-01-24 17:30:18.000000000","message":"I\u0027m not sure if we don\u0027t need to register opts before config file is parsed, I need to check that.","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"8ac122d1da96da963dc0d27e7bf27ba5831324fa","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":35,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":36,"context_line":"    if \u0027ssl:\u0027 in conn:"},{"line_number":37,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":38,"context_line":"        priv_key_file \u003d cfg.CONF.ssl.key_file"},{"line_number":39,"context_line":"        cert_file \u003d cfg.CONF.ssl.cert_file"},{"line_number":40,"context_line":"        ca_file \u003d cfg.CONF.ssl.ca_file"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_a67aa785","line":37,"in_reply_to":"5f93b717_062120b5","updated":"2018-01-24 19:56:05.000000000","message":"I tested this and it worked OK.  Was able to use dhcp agent to add tap ports to OVS.  The only place I could find where these options are registered are in wsgi.py.  But that is only done when the API service is enabled as SSL.  In this case we don\u0027t want to require that, we only require them to be set when using SSL in the connection URI.","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0d440edadf8823e2bc70c3a0d9b8beab451a3ee2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        ca_file \u003d cfg.CONF.ssl.ca_file"},{"line_number":41,"context_line":"        for ssl_file in (priv_key_file, cert_file, ca_file):"},{"line_number":42,"context_line":"            if not ssl_file:"},{"line_number":43,"context_line":"                raise Exception(\"Settings for ssl are required when using ssl \""},{"line_number":44,"context_line":"                                \"for ovsdb_connection: key_file, ca_file, \""},{"line_number":45,"context_line":"                                \"cert_file\")"},{"line_number":46,"context_line":"            elif not os.path.exists(ssl_file):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_46188880","line":43,"range":{"start_line":43,"start_character":22,"end_line":43,"end_character":31},"updated":"2018-01-24 17:30:18.000000000","message":"Perhaps we should come up with more specific exceptions.","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"8ac122d1da96da963dc0d27e7bf27ba5831324fa","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        ca_file \u003d cfg.CONF.ssl.ca_file"},{"line_number":41,"context_line":"        for ssl_file in (priv_key_file, cert_file, ca_file):"},{"line_number":42,"context_line":"            if not ssl_file:"},{"line_number":43,"context_line":"                raise Exception(\"Settings for ssl are required when using ssl \""},{"line_number":44,"context_line":"                                \"for ovsdb_connection: key_file, ca_file, \""},{"line_number":45,"context_line":"                                \"cert_file\")"},{"line_number":46,"context_line":"            elif not os.path.exists(ssl_file):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_66f7bff7","line":43,"range":{"start_line":43,"start_character":22,"end_line":43,"end_character":31},"in_reply_to":"5f93b717_46188880","updated":"2018-01-24 19:56:05.000000000","message":"Right.  I wasn\u0027t sure which exceptions are acceptable to be pulled in here and raised as this seems like lower level code.  Is it acceptable to create an exception in this file?  Or is it better served in a new exceptions.py file in the same dir?","commit_id":"deb8acdd655c0fc7bdc629fa1db52d12e6adfa7d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"54b1fd348623b94c9497d46a84c181f4bbbd001a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Connection \u003d moves.moved_class(_connection.Connection, \u0027Connection\u0027, __name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_c8bdd5d8","line":34,"updated":"2018-01-31 15:24:36.000000000","message":"arguably this change should go into ovsdbapp not neutron since this is the place where we expand features of ovsdb connections.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"39bc999627843fb8b125e4863fbf7520cb2d2b8d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Connection \u003d moves.moved_class(_connection.Connection, \u0027Connection\u0027, __name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_b2530f17","line":34,"in_reply_to":"5f93b717_170f5537","updated":"2018-01-31 21:05:27.000000000","message":"Well, I am thinking that without it at least one deployment scenario for TripleO is blocked. Not sure how critical it is, but I want to offer all the help necessary to unblock that.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2cbc7616814c6d487652c80c7f3e06533695b0c6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Connection \u003d moves.moved_class(_connection.Connection, \u0027Connection\u0027, __name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_170f5537","line":34,"in_reply_to":"5f93b717_5e817afa","updated":"2018-01-31 21:02:55.000000000","message":"It seems Armando believes it should go in Queens. If so, let\u0027s target the bug accordingly for queens-rc1 in Launchpad; let\u0027s also add an explicit TODO comment here describing the plan to move the code to ovsdbapp in Rocky.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"22d81e89f1c6974cd685ad33d2da534b2087f075","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Connection \u003d moves.moved_class(_connection.Connection, \u0027Connection\u0027, __name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_f40ade1d","line":34,"in_reply_to":"5f93b717_b2530f17","updated":"2018-02-01 03:32:17.000000000","message":"That\u0027s ok. I was not aware about tripleo scenario till recently in discussion.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Connection \u003d moves.moved_class(_connection.Connection, \u0027Connection\u0027, __name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_5e817afa","line":34,"in_reply_to":"5f93b717_c8bdd5d8","updated":"2018-01-31 18:49:12.000000000","message":"I think based on the IRC conversation, the plan would be to possibly migrate this later into ovsdbapp, and then remove it here.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"47b91100d50edfac44b49d9cd02000d177c67cb7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_68960196","line":37,"updated":"2018-01-31 14:52:27.000000000","message":"Is there a way we can validate the ssl configuration using e.g. ovsdbapp venv as a functional test?\n\nhttps://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/venv.py","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"54b1fd348623b94c9497d46a84c181f4bbbd001a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_68c4c191","line":37,"updated":"2018-01-31 15:24:36.000000000","message":"This code needs test coverage that is currently missing","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"def idl_factory():"},{"line_number":35,"context_line":"    conn \u003d cfg.CONF.OVS.ovsdb_connection"},{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_7e86b615","line":37,"in_reply_to":"5f93b717_68c4c191","updated":"2018-01-31 18:49:12.000000000","message":"Done","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"54b1fd348623b94c9497d46a84c181f4bbbd001a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"},{"line_number":41,"context_line":"                        \u0027ca_file\u0027: cfg.CONF.ssl.ca_file}"},{"line_number":42,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_88f02dff","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":58},"updated":"2018-01-31 15:24:36.000000000","message":"Other libraries\u0027 option names are not part of their public API. We should not reuse those options unless they are properly exposed via public getters by the library.\n\nFor that matter, you should either work with the library owner to get them exposed first; or introduce new options specific to neutron. (This has an advantage of being able to use different certificates if there is such a need for some reason.)","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"},{"line_number":41,"context_line":"                        \u0027ca_file\u0027: cfg.CONF.ssl.ca_file}"},{"line_number":42,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_feede6b6","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":58},"in_reply_to":"5f93b717_88f02dff","updated":"2018-01-31 18:49:12.000000000","message":"OK if this is not allowed then it is probably a better option to create new config in Neutron.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2cbc7616814c6d487652c80c7f3e06533695b0c6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    schema_name \u003d \u0027Open_vSwitch\u0027"},{"line_number":37,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":38,"context_line":"        sslutils.register_opts(cfg.CONF)"},{"line_number":39,"context_line":"        req_ssl_opts \u003d {\u0027key_file\u0027: cfg.CONF.ssl.key_file,"},{"line_number":40,"context_line":"                        \u0027cert_file\u0027: cfg.CONF.ssl.cert_file,"},{"line_number":41,"context_line":"                        \u0027ca_file\u0027: cfg.CONF.ssl.ca_file}"},{"line_number":42,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_52064b1e","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":58},"in_reply_to":"5f93b717_feede6b6","updated":"2018-01-31 21:02:55.000000000","message":"Yep.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"f53d8dd28b4aac1f454a0dec62f5e131b10b5d1b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":37,"context_line":"        req_ssl_opts \u003d {\u0027ssl_key_file\u0027: cfg.CONF.OVS.ssl_key_file,"},{"line_number":38,"context_line":"                        \u0027ssl_cert_file\u0027: cfg.CONF.OVS.ssl_cert_file,"},{"line_number":39,"context_line":"                        \u0027ssl_ca_cert_file\u0027: cfg.CONF.OVS.ssl_ca_cert_file}"},{"line_number":40,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"},{"line_number":41,"context_line":"            if not ssl_file:"},{"line_number":42,"context_line":"                raise ovsdb_exc.OvsdbSslRequiredOptError(ssl_opt\u003dssl_opt)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f93b717_52fe216b","line":39,"updated":"2018-02-02 07:46:43.000000000","message":"Does OVSDB require client authentication? If not, then the key and cert might be optional, and only the CA is needed. then you should only set the key and cert if provided.","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"0ed493e743400762588b5e645b145fb8d36d0c6e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":37,"context_line":"        req_ssl_opts \u003d {\u0027ssl_key_file\u0027: cfg.CONF.OVS.ssl_key_file,"},{"line_number":38,"context_line":"                        \u0027ssl_cert_file\u0027: cfg.CONF.OVS.ssl_cert_file,"},{"line_number":39,"context_line":"                        \u0027ssl_ca_cert_file\u0027: cfg.CONF.OVS.ssl_ca_cert_file}"},{"line_number":40,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"},{"line_number":41,"context_line":"            if not ssl_file:"},{"line_number":42,"context_line":"                raise ovsdb_exc.OvsdbSslRequiredOptError(ssl_opt\u003dssl_opt)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_83bc2e6a","line":39,"in_reply_to":"3fa0c359_c32f96f4","updated":"2018-02-05 16:42:18.000000000","message":"It depends on how you configured the server, I guess. If you added the CA cert to the server, and set it up to verify client certs, it\u0027ll fail. Anyway; I don\u0027t have a strong opinion about this. I\u0027m fine leaving it like this.","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"a13124684a5e87ba0cf1639cb2b2695d6c72c210","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    if conn.startswith(\u0027ssl:\u0027):"},{"line_number":37,"context_line":"        req_ssl_opts \u003d {\u0027ssl_key_file\u0027: cfg.CONF.OVS.ssl_key_file,"},{"line_number":38,"context_line":"                        \u0027ssl_cert_file\u0027: cfg.CONF.OVS.ssl_cert_file,"},{"line_number":39,"context_line":"                        \u0027ssl_ca_cert_file\u0027: cfg.CONF.OVS.ssl_ca_cert_file}"},{"line_number":40,"context_line":"        for ssl_opt, ssl_file in req_ssl_opts.items():"},{"line_number":41,"context_line":"            if not ssl_file:"},{"line_number":42,"context_line":"                raise ovsdb_exc.OvsdbSslRequiredOptError(ssl_opt\u003dssl_opt)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_c32f96f4","line":39,"in_reply_to":"5f93b717_52fe216b","updated":"2018-02-05 16:40:31.000000000","message":"Hey Juan.  I believe they are all required.  I tried with just CA cert and it doesn\u0027t work.","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dcc7e885be94e9c4d53125eea7604d45d4ea0a06","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                raise ovsdb_exc.OvsdbSslConfigNotFound(ssl_file\u003dssl_file)"},{"line_number":45,"context_line":"        Stream.ssl_set_private_key_file(req_ssl_opts[\u0027ssl_key_file\u0027])"},{"line_number":46,"context_line":"        Stream.ssl_set_certificate_file(req_ssl_opts[\u0027ssl_cert_file\u0027])"},{"line_number":47,"context_line":"        Stream.ssl_set_ca_cert_file(req_ssl_opts[\u0027ssl_ca_cert_file\u0027])"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        helper \u003d idlutils.get_schema_helper(conn, schema_name)"},{"line_number":50,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f93b717_2a0f4488","line":47,"updated":"2018-02-03 09:37:45.000000000","message":"nit: I would personally move all this code to some separate function and called it here is necessary","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"a13124684a5e87ba0cf1639cb2b2695d6c72c210","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                raise ovsdb_exc.OvsdbSslConfigNotFound(ssl_file\u003dssl_file)"},{"line_number":45,"context_line":"        Stream.ssl_set_private_key_file(req_ssl_opts[\u0027ssl_key_file\u0027])"},{"line_number":46,"context_line":"        Stream.ssl_set_certificate_file(req_ssl_opts[\u0027ssl_cert_file\u0027])"},{"line_number":47,"context_line":"        Stream.ssl_set_ca_cert_file(req_ssl_opts[\u0027ssl_ca_cert_file\u0027])"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        helper \u003d idlutils.get_schema_helper(conn, schema_name)"},{"line_number":50,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_233e7a29","line":47,"in_reply_to":"5f93b717_2a0f4488","updated":"2018-02-05 16:40:31.000000000","message":"Done","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"df2cc5e970b114e28b19e14bf6f6cb015f3dfd4a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            raise ovsdb_exc.OvsdbSslRequiredOptError(ssl_opt\u003dssl_opt)"},{"line_number":45,"context_line":"        elif not os.path.exists(ssl_file):"},{"line_number":46,"context_line":"            raise ovsdb_exc.OvsdbSslConfigNotFound(ssl_file\u003dssl_file)"},{"line_number":47,"context_line":"    Stream.ssl_set_private_key_file(req_ssl_opts[\u0027ssl_key_file\u0027])"},{"line_number":48,"context_line":"    Stream.ssl_set_certificate_file(req_ssl_opts[\u0027ssl_cert_file\u0027])"},{"line_number":49,"context_line":"    Stream.ssl_set_ca_cert_file(req_ssl_opts[\u0027ssl_ca_cert_file\u0027])"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa0c359_a9967a3d","line":47,"updated":"2018-02-09 04:36:04.000000000","message":"nit: we could add a todo here to move this into ovsdbapp at some point since ideally, neutron should not care about ovsdb connection configuration, but ovsdbapp library should implement it for us.","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"}],"neutron/agent/ovsdb/native/exceptions.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"47b91100d50edfac44b49d9cd02000d177c67cb7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from neutron._i18n import _"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class OvsdbSslConfigNotFound(e.NotFound):"},{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_e87c5184","line":21,"range":{"start_line":21,"start_character":29,"end_line":21,"end_character":39},"updated":"2018-01-31 14:52:27.000000000","message":"These exceptions like NotFound are for server side code as based on them is generated an HTTP response code. I think we should be fine using here the ordinary Exception class.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from neutron._i18n import _"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class OvsdbSslConfigNotFound(e.NotFound):"},{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_7ead5699","line":21,"range":{"start_line":21,"start_character":29,"end_line":21,"end_character":39},"in_reply_to":"5f93b717_e87c5184","updated":"2018-01-31 18:49:12.000000000","message":"Done","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"47b91100d50edfac44b49d9cd02000d177c67cb7","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class OvsdbSslConfigNotFound(e.NotFound):"},{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_8854adff","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":47},"updated":"2018-01-31 14:52:27.000000000","message":"%(ssl_file)s","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class OvsdbSslConfigNotFound(e.NotFound):"},{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_3e934e5d","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":47},"in_reply_to":"5f93b717_8854adff","updated":"2018-01-31 18:49:12.000000000","message":"Done","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"47b91100d50edfac44b49d9cd02000d177c67cb7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"},{"line_number":26,"context_line":"    message \u003d _(\"Required \u0027ssl\u0027 group option %(ssl_opt) not set.  SSL \""},{"line_number":27,"context_line":"                \"configuration options are required when using SSL \""},{"line_number":28,"context_line":"                \"ovsdb_connection URI\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_48b0e543","line":25,"range":{"start_line":25,"start_character":33,"end_line":25,"end_character":59},"updated":"2018-01-31 14:52:27.000000000","message":"ditto","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    message \u003d _(\"Specified SSL file %(ssl_file) could not be found\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"},{"line_number":26,"context_line":"    message \u003d _(\"Required \u0027ssl\u0027 group option %(ssl_opt) not set.  SSL \""},{"line_number":27,"context_line":"                \"configuration options are required when using SSL \""},{"line_number":28,"context_line":"                \"ovsdb_connection URI\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_de9b4a70","line":25,"range":{"start_line":25,"start_character":33,"end_line":25,"end_character":59},"in_reply_to":"5f93b717_48b0e543","updated":"2018-01-31 18:49:12.000000000","message":"Done","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"47b91100d50edfac44b49d9cd02000d177c67cb7","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"},{"line_number":26,"context_line":"    message \u003d _(\"Required \u0027ssl\u0027 group option %(ssl_opt) not set.  SSL \""},{"line_number":27,"context_line":"                \"configuration options are required when using SSL \""},{"line_number":28,"context_line":"                \"ovsdb_connection URI\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_683fe1b3","line":26,"range":{"start_line":26,"start_character":45,"end_line":26,"end_character":55},"updated":"2018-01-31 14:52:27.000000000","message":"%(ssl_opt)s","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"07fc8278c624f4ecf8449c818aa80a7f139a245c","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class OvsdbSslRequiredOptError(e.InvalidConfigurationOption):"},{"line_number":26,"context_line":"    message \u003d _(\"Required \u0027ssl\u0027 group option %(ssl_opt) not set.  SSL \""},{"line_number":27,"context_line":"                \"configuration options are required when using SSL \""},{"line_number":28,"context_line":"                \"ovsdb_connection URI\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_fe988675","line":26,"range":{"start_line":26,"start_character":45,"end_line":26,"end_character":55},"in_reply_to":"5f93b717_683fe1b3","updated":"2018-01-31 18:49:12.000000000","message":"Done","commit_id":"85945cccb9232f832829a043606862626ea46b71"}],"neutron/tests/unit/agent/ovsdb/native/test_connection.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"0a2d355c33679fb1775ae0364a65ce290eb42475","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":"from ovsdbapp.backend.ovs_idl import connection"},{"line_number":19,"context_line":"from ovsdbapp.backend.ovs_idl import idlutils"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_a9baa1bd","line":17,"updated":"2018-02-01 23:14:02.000000000","message":"you don\u0027t need this","commit_id":"4d660e80a64f491e2ec0f4f9a3e2fed44960d9f2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"0a2d355c33679fb1775ae0364a65ce290eb42475","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    @mock.patch.object(idlutils, \u0027get_schema_helper\u0027)"},{"line_number":102,"context_line":"    @mock.patch.object(native_conn, \u0027cfg\u0027)"},{"line_number":103,"context_line":"    def test_ssl_conn_cfg_missing(self, mock_cfg, mock_get_schema_helper,"},{"line_number":104,"context_line":"                                   mock_idl, mock_threading, mock_stream):"},{"line_number":105,"context_line":"        mock_cfg.CONF.OVS.ovsdb_connection \u003d \u0027ssl:127.0.0.1:6640\u0027"},{"line_number":106,"context_line":"        mock_cfg.CONF.OVS.ssl_key_file \u003d None"},{"line_number":107,"context_line":"        mock_cfg.CONF.OVS.ssl_cert_file \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_09a635ac","line":104,"range":{"start_line":104,"start_character":34,"end_line":104,"end_character":35},"updated":"2018-02-01 23:14:02.000000000","message":"one too many","commit_id":"4d660e80a64f491e2ec0f4f9a3e2fed44960d9f2"}],"releasenotes/notes/fix-ovsdb-ssl-connection-4058caf4fdcb33ab.yaml":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"7b179ace3c1b258dfba408a013649111176da198","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes bug with setting the OVSDB connection URI to use SSL.  SSL is"},{"line_number":5,"context_line":"    now able to be configured, but requires setting the following"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f93b717_97de050f","line":2,"updated":"2018-01-31 20:59:10.000000000","message":"not sure whether this warrants a release note as a bug fix, perhaps this can be under a feature section where we state that OVSDB connection can now work with SSL withe certificate paths as specified under section such and such...","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2cbc7616814c6d487652c80c7f3e06533695b0c6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes bug with setting the OVSDB connection URI to use SSL.  SSL is"},{"line_number":5,"context_line":"    now able to be configured, but requires setting the following"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f93b717_12144343","line":2,"in_reply_to":"5f93b717_97de050f","updated":"2018-01-31 21:02:55.000000000","message":"+ to what Armando said, let\u0027s describe it as a feature. But we need a release note. Especially now that we are going to add new options.","commit_id":"85945cccb9232f832829a043606862626ea46b71"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dcc7e885be94e9c4d53125eea7604d45d4ea0a06","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f93b717_ea24fc0e","line":4,"range":{"start_line":4,"start_character":23,"end_line":4,"end_character":27},"updated":"2018-02-03 09:37:45.000000000","message":"shouldn\u0027t be \"is now available\"?","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"a13124684a5e87ba0cf1639cb2b2695d6c72c210","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa0c359_83ee6e86","line":4,"range":{"start_line":4,"start_character":23,"end_line":4,"end_character":27},"in_reply_to":"5f93b717_ea24fc0e","updated":"2018-02-05 16:40:31.000000000","message":"Done","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dcc7e885be94e9c4d53125eea7604d45d4ea0a06","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f93b717_8a1f78b5","line":5,"range":{"start_line":5,"start_character":43,"end_line":5,"end_character":48},"updated":"2018-02-03 09:37:45.000000000","message":"it should be ``ssl``","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"a13124684a5e87ba0cf1639cb2b2695d6c72c210","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa0c359_03e1fe9a","line":5,"range":{"start_line":5,"start_character":43,"end_line":5,"end_character":48},"in_reply_to":"5f93b717_8a1f78b5","updated":"2018-02-05 16:40:31.000000000","message":"Done","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dcc7e885be94e9c4d53125eea7604d45d4ea0a06","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f93b717_4a7bb0f3","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":39},"updated":"2018-02-03 09:37:45.000000000","message":"includes","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"a13124684a5e87ba0cf1639cb2b2695d6c72c210","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    SSL connection type now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable SSL based connection, use an \u0027ssl\u0027 prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa0c359_e3e3b2a3","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":39},"in_reply_to":"5f93b717_4a7bb0f3","updated":"2018-02-05 16:40:31.000000000","message":"I think this is right, the subject of \"group options\" is plural.","commit_id":"55074bb04ab3c951f7c6c2727138e9d17557b34a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"df2cc5e970b114e28b19e14bf6f6cb015f3dfd4a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_e9b9e2cb","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":74},"updated":"2018-02-09 04:36:04.000000000","message":"-\u003e Neutron agents now support SSL connections to OVSDB server.","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b3c8e282aa9b37f9cb37ef52977c155e35cde9bc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_f285a2ae","line":4,"range":{"start_line":4,"start_character":49,"end_line":4,"end_character":63},"updated":"2018-02-06 11:51:53.000000000","message":"agents or only L2 openvswitch agent which is using such connection?","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"},{"author":{"_account_id":17280,"name":"Tim Rozet","email":"trozet@redhat.com","username":"trozet"},"change_message_id":"91e5fa852a14c6f668b14a72ce4ad138cbf73a9c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_153b58eb","line":4,"range":{"start_line":4,"start_character":49,"end_line":4,"end_character":63},"in_reply_to":"3fa0c359_f285a2ae","updated":"2018-02-06 13:15:39.000000000","message":"Any agent which needs to configure OVS.  For example, DHCP agent needs to add tap ports for namespace.","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"df2cc5e970b114e28b19e14bf6f6cb015f3dfd4a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_a9af5a7b","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":20},"updated":"2018-02-09 04:36:04.000000000","message":"it could use some cursive: ``ovsdb_connection``","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"df2cc5e970b114e28b19e14bf6f6cb015f3dfd4a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_69cdd264","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":52},"updated":"2018-02-09 04:36:04.000000000","message":"``...`` here and going forward","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"df2cc5e970b114e28b19e14bf6f6cb015f3dfd4a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    SSL connection type is now available between Neutron Agents and OVSDB."},{"line_number":5,"context_line":"    To enable an SSL based connection, use an ``ssl`` prefixed URI for the"},{"line_number":6,"context_line":"    ovsdb_connection setting.  When using SSL it is also required to set"},{"line_number":7,"context_line":"    new ovs group options which include ssl_key_file, ssl_cert_file, and"},{"line_number":8,"context_line":"    ssl_ca_cert_file."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa0c359_c9b426d4","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":11},"updated":"2018-02-09 04:36:04.000000000","message":"ditt: ``ovs``","commit_id":"a6fa38dd14be67008de1d6efbda3b25c272299a9"}]}
