)]}'
{"nova/availability_zones.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"42b0c5891684dd9ee03e57e772028212275e4642","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            available_zones \u003d list(_available_zones.items())"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    if not get_only_available:"},{"line_number":141,"context_line":"        disabled_services \u003d objects.ServiceList.get_all(context, disabled\u003dTrue,"},{"line_number":142,"context_line":"                                                        set_zones\u003dTrue)"},{"line_number":143,"context_line":"        not_available_zones \u003d []"},{"line_number":144,"context_line":"        azs \u003d available_zones if not with_hosts else dict(available_zones)"},{"line_number":145,"context_line":"        zones \u003d [(service[\u0027availability_zone\u0027], service[\u0027host\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a25e98e_d77dc3e8","line":142,"range":{"start_line":141,"start_character":28,"end_line":142,"end_character":71},"updated":"2017-03-14 00:35:00.000000000","message":"What about this call?","commit_id":"6b07f27193cee206039740200c1aa630798e45f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"17ed468c2d7661c5f8ac5b29c01db55e59bfd17d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    \"\"\""},{"line_number":123,"context_line":"    # NOTE(danms): Avoid circular import"},{"line_number":124,"context_line":"    from nova import compute"},{"line_number":125,"context_line":"    hostapi \u003d compute.HostAPI()"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    enabled_services \u003d hostapi.service_get_all("},{"line_number":128,"context_line":"        context, {\u0027disabled\u0027: False}, set_zones\u003dTrue, all_cells\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_807920ff","line":125,"updated":"2017-03-15 13:49:42.000000000","message":"not sure I like creating a new API object just for that, but given that module is just an helper, fine by me.","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"17ed468c2d7661c5f8ac5b29c01db55e59bfd17d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    hostapi \u003d compute.HostAPI()"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    enabled_services \u003d hostapi.service_get_all("},{"line_number":128,"context_line":"        context, {\u0027disabled\u0027: False}, set_zones\u003dTrue, all_cells\u003dTrue)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    available_zones \u003d []"},{"line_number":131,"context_line":"    for (zone, host) in [(service[\u0027availability_zone\u0027], service[\u0027host\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_c06dd805","line":128,"updated":"2017-03-15 13:49:42.000000000","message":"We could also possibly modify the AZ TestCase because it\u0027s not yet using Cells V2.\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/unit/test_availability_zones.py\n\nIt\u0027s using DB for verifying the services, so possibly we could make it be cellsv2-aware.","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"}],"nova/compute/api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9a2a343bcfa9582a66d0fcbd66eaaa5fddd6b8ea","unresolved":false,"context_lines":[{"line_number":4299,"context_line":"                    cell_services \u003d objects.ServiceList.get_all("},{"line_number":4300,"context_line":"                        context, disabled, set_zones\u003dset_zones)"},{"line_number":4301,"context_line":"                services.extend(cell_services)"},{"line_number":4302,"context_line":"        else:"},{"line_number":4303,"context_line":"            services \u003d objects.ServiceList.get_all(context, disabled,"},{"line_number":4304,"context_line":"                                                   set_zones\u003dset_zones)"},{"line_number":4305,"context_line":"        ret_services \u003d []"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a22e58a_e4f20f06","line":4302,"updated":"2017-03-14 10:10:02.000000000","message":"You should mention by a TODO that this branch of the conditional is just temporary until all the calls using service_get_all() are cells-aware, nope ?","commit_id":"6b07f27193cee206039740200c1aa630798e45f3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"17ed468c2d7661c5f8ac5b29c01db55e59bfd17d","unresolved":false,"context_lines":[{"line_number":4333,"context_line":"        attributes and matching values.  Ie, to get a list of services for"},{"line_number":4334,"context_line":"        the \u0027compute\u0027 topic, use filters\u003d{\u0027topic\u0027: \u0027compute\u0027}."},{"line_number":4335,"context_line":""},{"line_number":4336,"context_line":"        If all_cells\u003dTrue, then scan all cells and merge the results."},{"line_number":4337,"context_line":"        \"\"\""},{"line_number":4338,"context_line":"        if filters is None:"},{"line_number":4339,"context_line":"            filters \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_a0653c46","line":4336,"updated":"2017-03-15 13:49:42.000000000","message":"Just to make it clear, that argument will be defaulted to True once all the callers don\u0027t need to keep the legacy behaviour, right? \n\nEven, we could remove that argument, right?","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7d8fcff477b2f020207e9573d9b29c8735598a9c","unresolved":false,"context_lines":[{"line_number":4333,"context_line":"        attributes and matching values.  Ie, to get a list of services for"},{"line_number":4334,"context_line":"        the \u0027compute\u0027 topic, use filters\u003d{\u0027topic\u0027: \u0027compute\u0027}."},{"line_number":4335,"context_line":""},{"line_number":4336,"context_line":"        If all_cells\u003dTrue, then scan all cells and merge the results."},{"line_number":4337,"context_line":"        \"\"\""},{"line_number":4338,"context_line":"        if filters is None:"},{"line_number":4339,"context_line":"            filters \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_6360aecf","line":4336,"in_reply_to":"3a1ff146_a0653c46","updated":"2017-03-15 13:53:00.000000000","message":"Remove yeah, which is why I added the comment below (L4344) at your request.","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"}],"nova/compute/cells_api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"17ed468c2d7661c5f8ac5b29c01db55e59bfd17d","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        return self.cells_rpcapi.get_host_uptime(context, host_name)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def service_get_all(self, context, filters\u003dNone, set_zones\u003dFalse,"},{"line_number":550,"context_line":"                        all_cells\u003dFalse):"},{"line_number":551,"context_line":"        \"\"\"Get all services."},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        Note that this is the cellsv1 variant, which means we ignore the"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_c0d158cf","line":550,"updated":"2017-03-15 13:49:42.000000000","message":"Here is the main concern I have with adding a new argument, we also need to modify this method for cells v1.","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7d8fcff477b2f020207e9573d9b29c8735598a9c","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        return self.cells_rpcapi.get_host_uptime(context, host_name)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def service_get_all(self, context, filters\u003dNone, set_zones\u003dFalse,"},{"line_number":550,"context_line":"                        all_cells\u003dFalse):"},{"line_number":551,"context_line":"        \"\"\"Get all services."},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        Note that this is the cellsv1 variant, which means we ignore the"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a1ff146_a3870660","line":550,"in_reply_to":"3a1ff146_c0d158cf","updated":"2017-03-15 13:53:00.000000000","message":"We don\u0027t. CellsV1 ignores this and gets the service list from the top-level database just like everything else. See L553.","commit_id":"09dceb2e82258a90e1fe51bcc8b8d257d4d7ebac"}]}
