)]}'
{"nova/cmd/status.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"04c6df7e16791da0792fefa455337528c220e2eb","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                     \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":185,"context_line":"        auth \u003d keystone.load_auth_from_conf_options("},{"line_number":186,"context_line":"            CONF, \u0027placement\u0027)"},{"line_number":187,"context_line":"        client \u003d session.Session(auth\u003dauth)"},{"line_number":188,"context_line":"        return client.get(path, endpoint_filter\u003dks_filter).json()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def _check_placement(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_32af7fe3","line":187,"updated":"2017-02-14 10:00:13.000000000","message":"Could we just get this from a static method in scheduler/client/report.py maybe? it feels bad having this all in two places?","commit_id":"2c1e1341214356808936c4a812c89d4008cdb284"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"97b4efd0b43ecb7a378dbb51e9add2b74685cb1a","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                     \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":185,"context_line":"        auth \u003d keystone.load_auth_from_conf_options("},{"line_number":186,"context_line":"            CONF, \u0027placement\u0027)"},{"line_number":187,"context_line":"        client \u003d session.Session(auth\u003dauth)"},{"line_number":188,"context_line":"        return client.get(path, endpoint_filter\u003dks_filter).json()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def _check_placement(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_9a43a46b","line":187,"in_reply_to":"fa31d9ce_1db1a047","updated":"2017-02-15 13:52:14.000000000","message":"I was thinking get the whole client object from a shared place.\n\nBut yeah, lets keep the backport simple.","commit_id":"2c1e1341214356808936c4a812c89d4008cdb284"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"116e5be17dcb969bfaa660c1690341f827755420","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                     \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":185,"context_line":"        auth \u003d keystone.load_auth_from_conf_options("},{"line_number":186,"context_line":"            CONF, \u0027placement\u0027)"},{"line_number":187,"context_line":"        client \u003d session.Session(auth\u003dauth)"},{"line_number":188,"context_line":"        return client.get(path, endpoint_filter\u003dks_filter).json()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def _check_placement(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_1db1a047","line":187,"in_reply_to":"fa31d9ce_32af7fe3","updated":"2017-02-14 15:10:59.000000000","message":"Which part, the GET? Or the ks_filter?\n\nI assume a staticmethod would mess up tests if it\u0027s global and the config doesn\u0027t get reset between tests, but that\u0027s just a guess.\n\nAs for refactoring nova-status to use scheduler client, that might work, but I don\u0027t want to do that here if we\u0027re going to backport this to stable/ocata. Also, when we originally discussed nova-status I think we want to decouple it as much from dependencies as possible, like the nova.objects for example, but maybe that doesn\u0027t apply to this.","commit_id":"2c1e1341214356808936c4a812c89d4008cdb284"}],"nova/conf/placement.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"04c6df7e16791da0792fefa455337528c220e2eb","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* Any string representing region name"},{"line_number":30,"context_line":"\"\"\"),"},{"line_number":31,"context_line":"    cfg.StrOpt(\u0027os_interface\u0027,"},{"line_number":32,"context_line":"               default\u003d\"public\","},{"line_number":33,"context_line":"               choices\u003d[\"public\", \"admin\", \"internal\"],"},{"line_number":34,"context_line":"               help\u003d\"\"\""},{"line_number":35,"context_line":"Endpoint interface for this node. This is used when picking the URL in the"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_124efb3a","side":"PARENT","line":32,"updated":"2017-02-14 10:00:13.000000000","message":"Thats a better default.\n\nI didn\u0027t remember the whole public/admin/internal thing was going to get killed. But I remember now this is technically just an arbitrary string in keystone.","commit_id":"9a44d56f65b0e9334ec201f290e853c3e7af6981"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9c7a5977ac6f44080fded535bb627aa8a1d57531","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        self._warn_count \u003d 0"},{"line_number":201,"context_line":"        self.ks_filter \u003d {\u0027service_type\u0027: \u0027placement\u0027,"},{"line_number":202,"context_line":"                          \u0027region_name\u0027: CONF.placement.os_region_name,"},{"line_number":203,"context_line":"                          \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def get(self, url, version\u003dNone):"},{"line_number":206,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_c00bc228","line":203,"updated":"2017-02-13 20:58:25.000000000","message":"What does moving this in here accomplish?","commit_id":"7cffa78f68d61056b53477780f94e50ece46a9a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"deacdb89255b75da1dde1aa4624e8d67194899ba","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        self._warn_count \u003d 0"},{"line_number":201,"context_line":"        self.ks_filter \u003d {\u0027service_type\u0027: \u0027placement\u0027,"},{"line_number":202,"context_line":"                          \u0027region_name\u0027: CONF.placement.os_region_name,"},{"line_number":203,"context_line":"                          \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def get(self, url, version\u003dNone):"},{"line_number":206,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_e36a9080","line":203,"in_reply_to":"fa31d9ce_03ba440a","updated":"2017-02-13 21:03:51.000000000","message":"Honestly I\u0027m not really sure why it wasn\u0027t working without this, something something python?","commit_id":"7cffa78f68d61056b53477780f94e50ece46a9a0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2442244e9c5a607d20e9da490e0b1323494cd01a","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        self._warn_count \u003d 0"},{"line_number":201,"context_line":"        self.ks_filter \u003d {\u0027service_type\u0027: \u0027placement\u0027,"},{"line_number":202,"context_line":"                          \u0027region_name\u0027: CONF.placement.os_region_name,"},{"line_number":203,"context_line":"                          \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def get(self, url, version\u003dNone):"},{"line_number":206,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_c3674ce7","line":203,"in_reply_to":"fa31d9ce_c00bc228","updated":"2017-02-13 20:59:31.000000000","message":"This needed to be moved into init else the 2nd unit test for this would fail because it was still getting the value from the first run.","commit_id":"7cffa78f68d61056b53477780f94e50ece46a9a0"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"c1d496a837191a4187bb261c60bfd04674e038fb","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        self._warn_count \u003d 0"},{"line_number":201,"context_line":"        self.ks_filter \u003d {\u0027service_type\u0027: \u0027placement\u0027,"},{"line_number":202,"context_line":"                          \u0027region_name\u0027: CONF.placement.os_region_name,"},{"line_number":203,"context_line":"                          \u0027interface\u0027: CONF.placement.os_interface}"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def get(self, url, version\u003dNone):"},{"line_number":206,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_03ba440a","line":203,"in_reply_to":"fa31d9ce_c3674ce7","updated":"2017-02-13 21:02:32.000000000","message":"Feh! Not very unitty then ;)","commit_id":"7cffa78f68d61056b53477780f94e50ece46a9a0"}]}
