)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d917c4d8be6f5186225c786473906cbcaf6f3010","unresolved":false,"context_lines":[{"line_number":15,"context_line":"It must contains the certificate and the private key."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":" [alarm]"},{"line_number":18,"context_line":" rest_notifier_certificate \u003d /path/certificate.pem"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Id06e0a45ef88c15674052faeb941d87b70c7b99b"},{"line_number":21,"context_line":"Blueprint: alarm-notifier"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAQn%2F%2F%2BIA%3D","line":18,"updated":"2013-07-18 09:03:19.000000000","message":"Need to update for the rest_notifier_certificate_key/rest_notifier_certificate_file split.","commit_id":"801d0c07572b97ab8b8be87e6e2042e4fce5ddaf"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"2288309e0e8fec8b3fe6ad2c3c82b6a3ae45005d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"It must contains the certificate and the private key."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":" [alarm]"},{"line_number":18,"context_line":" rest_notifier_certificate \u003d /path/certificate.pem"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Id06e0a45ef88c15674052faeb941d87b70c7b99b"},{"line_number":21,"context_line":"Blueprint: alarm-notifier"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAQn%2F%2F9mI%3D","line":18,"in_reply_to":"AAAAQn%2F%2F%2BIA%3D","updated":"2013-07-18 12:57:08.000000000","message":"Done","commit_id":"801d0c07572b97ab8b8be87e6e2042e4fce5ddaf"}],"ceilometer/alarm/notifier/rest.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"763d43983686b6fc714a1285b7fa7e70ff1b519c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    cfg.StrOpt(\u0027rest_notifier_certificate\u0027,"},{"line_number":33,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":34,"context_line":"               help\u003d\u0027SSL Client certificate for REST notifier should be \\"},{"line_number":35,"context_line":"               the concatenation of the certificate and the private key\u0027"},{"line_number":36,"context_line":"               ),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fk9o%3D","line":35,"updated":"2013-07-16 11:13:56.000000000","message":"Rather than require that the client cert and private key are always concatenated into a single file, would it be more flexible to have two separate config options:\n\n * rest_notifier_certificate_file: path for either just the cert, or else cert+key\n\n * rest_notifier_certificate_key: path for just the key\n\nthen change line 61 to:\n\n  kwargs[\u0027cert\u0027] \u003d (cfg.CONF.alarm.rest_notifier_certificate_file,\n                    cfg.CONF.alarm.rest_notifier_certificate_key)   \\\n                    if cfg.CONF.alarm.rest_notifier_certificate_key \\\n                    else cfg.CONF.alarm.rest_notifier_certificate_file)","commit_id":"caf90013960d18e587eb0bb8a90f345859246702"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ed9928bd2180f3a8866c78da7ecb0e60eb7408cc","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    cfg.StrOpt(\u0027rest_notifier_certificate\u0027,"},{"line_number":33,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":34,"context_line":"               help\u003d\u0027SSL Client certificate for REST notifier should be \\"},{"line_number":35,"context_line":"               the concatenation of the certificate and the private key\u0027"},{"line_number":36,"context_line":"               ),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fk1w%3D","line":35,"in_reply_to":"AAAAP3%2F%2Fk9o%3D","updated":"2013-07-16 12:53:50.000000000","message":"good idea :)\ndone","commit_id":"caf90013960d18e587eb0bb8a90f345859246702"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"305b848a81dbbe4aeade4174142c16b3ce2237ed","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if action.scheme \u003d\u003d \u0027https\u0027 and \\"},{"line_number":60,"context_line":"                cfg.CONF.alarm.rest_notifier_certificate:"},{"line_number":61,"context_line":"            kwargs[\u0027cert\u0027] \u003d cfg.CONF.alarm.rest_notifier_certificate"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        eventlet.spawn_n(requests.post, action, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fk7Y%3D","line":61,"updated":"2013-07-16 11:20:03.000000000","message":"Forgot to add ... what about the verify kwarg to control secure/insecure wrt verification of the service-side cert?","commit_id":"caf90013960d18e587eb0bb8a90f345859246702"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"8351c8907899de99815dbb3db308bed9eb752313","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if action.scheme \u003d\u003d \u0027https\u0027 and \\"},{"line_number":60,"context_line":"                cfg.CONF.alarm.rest_notifier_certificate:"},{"line_number":61,"context_line":"            kwargs[\u0027cert\u0027] \u003d cfg.CONF.alarm.rest_notifier_certificate"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        eventlet.spawn_n(requests.post, action, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fk6c%3D","line":61,"in_reply_to":"AAAAP3%2F%2Fk7Y%3D","updated":"2013-07-16 11:22:16.000000000","message":"A-ha ignore this one, I didn\u0027t see https://review.openstack.org/37218 https://review.openstack.org/37219","commit_id":"caf90013960d18e587eb0bb8a90f345859246702"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"04484be1b9f655831d81921a3d22d8cb730acab3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    config.register_opts(REST_NOTIFIER_OPTS, group\u003d\"alarm\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"register_opts(cfg.CONF)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class RestAlarmNotifier(notifier.AlarmNotifier):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F2S0%3D","line":49,"updated":"2013-07-22 06:59:37.000000000","message":"can we just follow the tradition, just using the following here?\n\ncfg.CONF.register_opts(REST_NOTIFIER_OPTS, group\u003d\"alarm\")","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"55ef5ed22410ae92d641c3870b54a08216fe386e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    config.register_opts(REST_NOTIFIER_OPTS, group\u003d\"alarm\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"register_opts(cfg.CONF)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class RestAlarmNotifier(notifier.AlarmNotifier):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F2Kg%3D","line":49,"in_reply_to":"AAAAQn%2F%2F2S0%3D","updated":"2013-07-22 08:09:48.000000000","message":"Done","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"}],"tests/alarm/test_notifier.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"823a05b4fa73651329b0f7c62461fb60eb2bb0df","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                      })"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.mox.UnsetStubs()"},{"line_number":86,"context_line":"        self.mox.VerifyAll()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_notify_alarm_rest_action_with_ssl_client_cert(self):"},{"line_number":89,"context_line":"        action \u003d \u0027https://host/action\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F9V4%3D","line":86,"updated":"2013-07-18 14:16:10.000000000","message":"i\u0027m not sure self.mox.unsetStubs() and self.mox.verifyall() are needed, they are part of teardown in base.TestCase\n\nsame for below","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"55ef5ed22410ae92d641c3870b54a08216fe386e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                      })"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.mox.UnsetStubs()"},{"line_number":86,"context_line":"        self.mox.VerifyAll()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_notify_alarm_rest_action_with_ssl_client_cert(self):"},{"line_number":89,"context_line":"        action \u003d \u0027https://host/action\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F2I0%3D","line":86,"in_reply_to":"AAAAQn%2F%2F9V4%3D","updated":"2013-07-22 08:09:48.000000000","message":"Done","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"823a05b4fa73651329b0f7c62461fb60eb2bb0df","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_notify_alarm_rest_action_with_ssl_client_cert(self):"},{"line_number":89,"context_line":"        action \u003d \u0027https://host/action\u0027"},{"line_number":90,"context_line":"        certificate \u003d \"/etc/ssl/cert/whateever.pem\""},{"line_number":91,"context_line":"        data_json \u003d \u0027{\"state\": \"ALARM\", \"reason\": \"what ?\"}\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        cfg.CONF.set_override(\"rest_notifier_certificate_file\", certificate,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F9W8%3D","line":90,"updated":"2013-07-18 14:16:10.000000000","message":"s/whateever/whatever/... but whatever, no big deal. :)\n\nsame for below","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"55ef5ed22410ae92d641c3870b54a08216fe386e","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_notify_alarm_rest_action_with_ssl_client_cert(self):"},{"line_number":89,"context_line":"        action \u003d \u0027https://host/action\u0027"},{"line_number":90,"context_line":"        certificate \u003d \"/etc/ssl/cert/whateever.pem\""},{"line_number":91,"context_line":"        data_json \u003d \u0027{\"state\": \"ALARM\", \"reason\": \"what ?\"}\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        cfg.CONF.set_override(\"rest_notifier_certificate_file\", certificate,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F2Iw%3D","line":90,"in_reply_to":"AAAAQn%2F%2F9W8%3D","updated":"2013-07-22 08:09:48.000000000","message":"Done","commit_id":"61c05967bb36c88b5f05cc467bafd47970f75335"}]}
