)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1b5fc950968c64c83de6d96ca1f4698aeed72691","unresolved":false,"context_lines":[{"line_number":19,"context_line":"socket library early, or else oslo.service will end up passing an"},{"line_number":20,"context_line":"unpatched socket to the eventlet wsgi server, which causes"},{"line_number":21,"context_line":"deadlocks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib7decae410915f3c27b045ee08538c94d455b030"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9f560f44_da61b8aa","line":22,"updated":"2020-09-03 17:05:54.000000000","message":"We don\u0027t use stories for IPA?","commit_id":"1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"4df85dfb3b0c6df1cc9b4227207fcb2a9ec98838","unresolved":false,"context_lines":[{"line_number":19,"context_line":"socket library early, or else oslo.service will end up passing an"},{"line_number":20,"context_line":"unpatched socket to the eventlet wsgi server, which causes"},{"line_number":21,"context_line":"deadlocks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib7decae410915f3c27b045ee08538c94d455b030"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9f560f44_9a42a0aa","line":22,"in_reply_to":"9f560f44_da61b8aa","updated":"2020-09-03 17:20:29.000000000","message":"I should\u0027ve linked this to the story here. https://storyboard.openstack.org/#!/story/2007214","commit_id":"1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8"}],"ironic_python_agent/__init__.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"aa678533e60cea90e514e88cb7f738eeb25f4465","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# enabled. Enabling more than just socket for monkey patching causes failures"},{"line_number":25,"context_line":"# in image streaming. In an ideal world, we track down all those errors and"},{"line_number":26,"context_line":"# monkey patch everything as suggested in eventlet documentation."},{"line_number":27,"context_line":"eventlet.monkey_patch(all\u003dFalse, socket\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_90c3e138","line":27,"updated":"2020-08-31 17:16:28.000000000","message":"We use time.sleep in some places and threading for the heartbeater. Is it fine that we don\u0027t monkey-patch them?","commit_id":"e3bb2df848459b40b05643af4938981f2b16b386"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"9f5b1212a011421610461dc6b10db5abf89560e0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# enabled. Enabling more than just socket for monkey patching causes failures"},{"line_number":25,"context_line":"# in image streaming. In an ideal world, we track down all those errors and"},{"line_number":26,"context_line":"# monkey patch everything as suggested in eventlet documentation."},{"line_number":27,"context_line":"eventlet.monkey_patch(all\u003dFalse, socket\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_f0e97db7","line":27,"in_reply_to":"9f560f44_90c3e138","updated":"2020-08-31 17:18:43.000000000","message":"It wasn\u0027t being monkey-patched before this change... so I presume so?\n\nI really don\u0027t think it\u0027s \"OK\" that we don\u0027t monkey patch everything, but after being unable to figure out the deadlocks I tried to narrow the focus of this patch as far as possible -- which means just doing socket to solve the TLS deadlock.","commit_id":"e3bb2df848459b40b05643af4938981f2b16b386"}],"ironic_python_agent/api/app.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5183fa137eece2be9619dca1e41c65c19f39c177","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        \"\"\"Start the API service in the background.\"\"\""},{"line_number":134,"context_line":"        self.service \u003d wsgi.Server(self._conf, \u0027ironic-python-agent\u0027, app\u003dself,"},{"line_number":135,"context_line":"                                   host\u003dnetutils.get_wildcard_address(),"},{"line_number":136,"context_line":"                                   port\u003dself.PORT,"},{"line_number":137,"context_line":"                                   use_ssl\u003dself._conf.listen_tls)"},{"line_number":138,"context_line":"        self.service.start()"},{"line_number":139,"context_line":"        LOG.info(\u0027Started API service on port %s\u0027, self.PORT)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_cd580033","line":136,"updated":"2020-09-02 13:45:38.000000000","message":"Will conflict with another approved patch","commit_id":"e3bb2df848459b40b05643af4938981f2b16b386"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"c162705f623b71679dcc5edec9e8d5d2d3d9ce37","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        \"\"\"Start the API service in the background.\"\"\""},{"line_number":134,"context_line":"        self.service \u003d wsgi.Server(self._conf, \u0027ironic-python-agent\u0027, app\u003dself,"},{"line_number":135,"context_line":"                                   host\u003dnetutils.get_wildcard_address(),"},{"line_number":136,"context_line":"                                   port\u003dself.PORT,"},{"line_number":137,"context_line":"                                   use_ssl\u003dself._conf.listen_tls)"},{"line_number":138,"context_line":"        self.service.start()"},{"line_number":139,"context_line":"        LOG.info(\u0027Started API service on port %s\u0027, self.PORT)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_6d061423","line":136,"in_reply_to":"9f560f44_cd580033","updated":"2020-09-02 14:27:33.000000000","message":"Yep, gonna clean it up when I find out for sure Zuul can\u0027t figure it out.","commit_id":"e3bb2df848459b40b05643af4938981f2b16b386"}],"ironic_python_agent/config.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ba413e3eef08384822ca8f7fc9f7467023d7d02f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \u0027key_file, and, if desired, ca_file to validate client \u0027"},{"line_number":67,"context_line":"                     \u0027certificates.\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    cfg.StrOpt(\u0027advertise_host\u0027,"},{"line_number":70,"context_line":"               default\u003dAPARAMS.get(\u0027ipa-advertise-host\u0027, None),"},{"line_number":71,"context_line":"               help\u003d\u0027The host to tell Ironic to reply and send \u0027"},{"line_number":72,"context_line":"                    \u0027commands to. \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f9062586","line":69,"updated":"2020-08-20 23:36:44.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"1d90a7bb98e6f858617c1b27e319093550c4ad00"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"00e4fb38db93018d747e595743ca1c0e4e7cdf10","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    # configurable over the command line and require files-on-disk."},{"line_number":60,"context_line":"    # Operators who want to use this support should configure it statically"},{"line_number":61,"context_line":"    # as part of a ramdisk build."},{"line_number":62,"context_line":"    cfg.BoolOpt(\u0027listen_tls\u0027,"},{"line_number":63,"context_line":"                default\u003dFalse,"},{"line_number":64,"context_line":"                help\u003d\u0027When true, IPA will host API behind TLS. You will also \u0027"},{"line_number":65,"context_line":"                     \u0027need to configure [ssl] group options for cert_file, \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_84b9b57a","line":62,"updated":"2020-09-03 09:10:50.000000000","message":"Started thinking that listen_tls may not be the best name, given that there\u0027ll be another TLS mode that will work automagically.. I don\u0027t have better ideas and don\u0027t want to hold this patch.","commit_id":"1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"1b5fc950968c64c83de6d96ca1f4698aeed72691","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    # configurable over the command line and require files-on-disk."},{"line_number":60,"context_line":"    # Operators who want to use this support should configure it statically"},{"line_number":61,"context_line":"    # as part of a ramdisk build."},{"line_number":62,"context_line":"    cfg.BoolOpt(\u0027listen_tls\u0027,"},{"line_number":63,"context_line":"                default\u003dFalse,"},{"line_number":64,"context_line":"                help\u003d\u0027When true, IPA will host API behind TLS. You will also \u0027"},{"line_number":65,"context_line":"                     \u0027need to configure [ssl] group options for cert_file, \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_ba5324e2","line":62,"in_reply_to":"9f560f44_84b9b57a","updated":"2020-09-03 17:05:54.000000000","message":"Is it \u0027listen_\u0027 to be consistent with above \u0027listen_*\u0027 options? I\u0027m not crazy about it but it is consistent :)","commit_id":"1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8"}],"releasenotes/notes/add-optional-tls-support-3ab6a834154fedec.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b69b15200f2c1bab89499a297be0c865e20ee00b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Enables support in IPA for hosting the API server over TLS. Using this"},{"line_number":5,"context_line":"    support requires setting [DEFAULT]listen_ssl to True, and then setting"},{"line_number":6,"context_line":"    [ssl]cert_file, [ssl]key_file, and optionally [ssl]ca_file to files"},{"line_number":7,"context_line":"    embedded in the ramdisk IPA runs inside."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_d6d7a3ed","line":5,"updated":"2020-08-21 15:05:26.000000000","message":"nit: double ticks around parameter names (``[DEFAULT]listen_ssl``)","commit_id":"b3f98cf241ef57dd9fc6b3262fadbeb701d907fb"}]}
