)]}'
{"monasca_agent/collector/checks_d/cert_check.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"1ed12f835de9715e85494e3b0da0c353a3842065","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        self._ciphers \u003d init_config.get(\u0027ciphers\u0027)"},{"line_number":22,"context_line":"        self._timeout \u003d init_config.get(\u0027timeout\u0027)"},{"line_number":23,"context_line":"        self._collection_period \u003d init_config.get(\u0027collect_period\u0027)"},{"line_number":24,"context_line":"        self._last_collect_time \u003d None"},{"line_number":25,"context_line":"        self.log.debug(\u0027ca_certs file is %s\u0027 % self._ca_certs)"},{"line_number":26,"context_line":"        self.log.debug(\u0027cipers are %s\u0027 % self._ciphers)"},{"line_number":27,"context_line":"        self.log.debug(\u0027timeout is %f\u0027 % self._timeout)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_ad6d7506","line":24,"range":{"start_line":24,"start_character":13,"end_line":24,"end_character":31},"updated":"2016-04-04 19:28:50.000000000","message":"Could you have set _last_collect_time to a the start of the epoch and then you wouldn\u0027t have to perform the check below?\n\nif self._last_collect_time","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"4116180607548579e9fb973648273681cb315fd6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        self._ciphers \u003d init_config.get(\u0027ciphers\u0027)"},{"line_number":22,"context_line":"        self._timeout \u003d init_config.get(\u0027timeout\u0027)"},{"line_number":23,"context_line":"        self._collection_period \u003d init_config.get(\u0027collect_period\u0027)"},{"line_number":24,"context_line":"        self._last_collect_time \u003d None"},{"line_number":25,"context_line":"        self.log.debug(\u0027ca_certs file is %s\u0027 % self._ca_certs)"},{"line_number":26,"context_line":"        self.log.debug(\u0027cipers are %s\u0027 % self._ciphers)"},{"line_number":27,"context_line":"        self.log.debug(\u0027timeout is %f\u0027 % self._timeout)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_1fd5a242","line":24,"range":{"start_line":24,"start_character":13,"end_line":24,"end_character":31},"in_reply_to":"9a061dce_ad6d7506","updated":"2016-04-04 20:15:59.000000000","message":"Done","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"1843561b22f461134f99895ed6f66b62c6ec412c","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def check(self, instance):"},{"line_number":31,"context_line":"        if self._last_collect_time:"},{"line_number":32,"context_line":"            time_since_last \u003d self._last_collect_time - datetime.now()"},{"line_number":33,"context_line":"            if time_since_last.seconds \u003c self._collection_period:"},{"line_number":34,"context_line":"                self.log.debug(\u0027Skipping collection for %d seconds\u0027 %"},{"line_number":35,"context_line":"                               time_since_last.seconds)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_419e2f57","line":32,"range":{"start_line":32,"start_character":54,"end_line":32,"end_character":55},"updated":"2016-04-04 16:11:02.000000000","message":"I think the order needs to be reversed here. Right now this will result in a timedelta with -1 days and \u003e80000 seconds.","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"4116180607548579e9fb973648273681cb315fd6","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def check(self, instance):"},{"line_number":31,"context_line":"        if self._last_collect_time:"},{"line_number":32,"context_line":"            time_since_last \u003d self._last_collect_time - datetime.now()"},{"line_number":33,"context_line":"            if time_since_last.seconds \u003c self._collection_period:"},{"line_number":34,"context_line":"                self.log.debug(\u0027Skipping collection for %d seconds\u0027 %"},{"line_number":35,"context_line":"                               time_since_last.seconds)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_ffbeeefd","line":32,"range":{"start_line":32,"start_character":54,"end_line":32,"end_character":55},"in_reply_to":"9a061dce_419e2f57","updated":"2016-04-04 20:15:59.000000000","message":"Good catch. Thanks.\n\nDone","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"1ed12f835de9715e85494e3b0da0c353a3842065","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self._last_collect_time \u003d datetime.now()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        except Exception as e:"},{"line_number":52,"context_line":"            self.log.warning(\u0027Exception trying to certificate for %s: %s\u0027 %"},{"line_number":53,"context_line":"                             (url, e))"},{"line_number":54,"context_line":"            self.log.exception(\u0027Failed to get certificate for %s\u0027 % url)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_679b7eca","line":52,"range":{"start_line":52,"start_character":50,"end_line":52,"end_character":61},"updated":"2016-04-04 19:28:50.000000000","message":"should add the word GET\n\ntrying to GET certificate","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"4116180607548579e9fb973648273681cb315fd6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            self._last_collect_time \u003d datetime.now()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        except Exception as e:"},{"line_number":52,"context_line":"            self.log.warning(\u0027Exception trying to certificate for %s: %s\u0027 %"},{"line_number":53,"context_line":"                             (url, e))"},{"line_number":54,"context_line":"            self.log.exception(\u0027Failed to get certificate for %s\u0027 % url)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_bf72b67a","line":52,"range":{"start_line":52,"start_character":50,"end_line":52,"end_character":61},"in_reply_to":"9a061dce_679b7eca","updated":"2016-04-04 20:15:59.000000000","message":"Done","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":7579,"name":"jan grant","email":"jan.grant@hpe.com","username":"jang"},"change_message_id":"70a556202ce7ba5173fa7836f44f56aa029bd527","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            self.log.exception(\u0027Failed to get certificate for %s\u0027 % url)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_expire(self, url, ca_certs, ciphers, timeout):"},{"line_number":57,"context_line":"        url_info \u003d urlparse(url)"},{"line_number":58,"context_line":"        sock \u003d socket.socket(socket.AF_INET, socket.SOCK_STREAM)"},{"line_number":59,"context_line":"        sock.settimeout(timeout)"},{"line_number":60,"context_line":"        sock.connect((url_info.hostname, url_info.port))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_85e4e13b","line":57,"range":{"start_line":57,"start_character":16,"end_line":57,"end_character":17},"updated":"2016-04-04 12:39:32.000000000","message":"Do we really want urlparse here? We don\u0027t care if we\u0027re talking to an https or an imaps endpoint. hostname:port pairs ought to suffice.","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"4116180607548579e9fb973648273681cb315fd6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            self.log.exception(\u0027Failed to get certificate for %s\u0027 % url)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_expire(self, url, ca_certs, ciphers, timeout):"},{"line_number":57,"context_line":"        url_info \u003d urlparse(url)"},{"line_number":58,"context_line":"        sock \u003d socket.socket(socket.AF_INET, socket.SOCK_STREAM)"},{"line_number":59,"context_line":"        sock.settimeout(timeout)"},{"line_number":60,"context_line":"        sock.connect((url_info.hostname, url_info.port))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_3f0506c2","line":57,"range":{"start_line":57,"start_character":16,"end_line":57,"end_character":17},"in_reply_to":"9a061dce_48048714","updated":"2016-04-04 20:15:59.000000000","message":"I like the URL as well","commit_id":"42467a26fbe439865747112623750b8d30dfb905"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"1ed12f835de9715e85494e3b0da0c353a3842065","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            self.log.exception(\u0027Failed to get certificate for %s\u0027 % url)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_expire(self, url, ca_certs, ciphers, timeout):"},{"line_number":57,"context_line":"        url_info \u003d urlparse(url)"},{"line_number":58,"context_line":"        sock \u003d socket.socket(socket.AF_INET, socket.SOCK_STREAM)"},{"line_number":59,"context_line":"        sock.settimeout(timeout)"},{"line_number":60,"context_line":"        sock.connect((url_info.hostname, url_info.port))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_48048714","line":57,"range":{"start_line":57,"start_character":16,"end_line":57,"end_character":17},"in_reply_to":"9a061dce_85e4e13b","updated":"2016-04-04 19:28:50.000000000","message":"I would think that the url would be nicer or more explicit.","commit_id":"42467a26fbe439865747112623750b8d30dfb905"}],"monasca_setup/detection/plugins/cert_check.py":[{"author":{"_account_id":7579,"name":"jan grant","email":"jan.grant@hpe.com","username":"jang"},"change_message_id":"70a556202ce7ba5173fa7836f44f56aa029bd527","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if \u0027collect_period\u0027 in self.args:"},{"line_number":68,"context_line":"            collect_period \u003d int(self.args[\u0027collect_period\u0027])"},{"line_number":69,"context_line":"            init_config[\u0027collect_period\u0027] \u003d collect_period"},{"line_number":70,"context_line":"        for url in self.args[\u0027urls\u0027].split(\u0027,\u0027):"},{"line_number":71,"context_line":"            log.info(\"\\tAdding SSL Certificate expiration check for {}\".format(url))"},{"line_number":72,"context_line":"            instance \u003d self._build_instance([])"},{"line_number":73,"context_line":"            instance.update({\u0027url\u0027: url})"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_050e1134","line":70,"updated":"2016-04-04 12:39:32.000000000","message":"comma-termination is a lot easier to generate than comma-separation for many templating systems.\n\n    if url.strip() \u003d\u003d \u0027\u0027:\n        continue","commit_id":"42467a26fbe439865747112623750b8d30dfb905"}]}
