)]}'
{"nodepool/driver/openstack/provider.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"0e493d37ac0946d122c991172093b68b99827a50","unresolved":true,"context_lines":[{"line_number":495,"context_line":"                # calculations; see"},{"line_number":496,"context_line":"                # utils.py:estimatedNodepoolQuotaUsed"},{"line_number":497,"context_line":"                if hasattr(server.flavor, \u0027id\u0027):"},{"line_number":498,"context_line":"                    flavors \u003d self.listFlavorsById()"},{"line_number":499,"context_line":"                    flavor \u003d flavors.get(server.flavor.id)"},{"line_number":500,"context_line":"                else:"},{"line_number":501,"context_line":"                    flavor \u003d server.flavor"}],"source_content_type":"text/x-python","patch_set":1,"id":"4edf41d7_c2fedcac","line":498,"updated":"2021-04-12 08:08:11.000000000","message":"I think we should leverage self._findFlavorByName here in order to leverage caching.","commit_id":"92b917e9cc0387aadf3440c421742e5c55d8c55f"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"14af9fd2deceb473dca4d96579203889caafe7d0","unresolved":true,"context_lines":[{"line_number":495,"context_line":"                # calculations; see"},{"line_number":496,"context_line":"                # utils.py:estimatedNodepoolQuotaUsed"},{"line_number":497,"context_line":"                if hasattr(server.flavor, \u0027id\u0027):"},{"line_number":498,"context_line":"                    flavors \u003d self.listFlavorsById()"},{"line_number":499,"context_line":"                    flavor \u003d flavors.get(server.flavor.id)"},{"line_number":500,"context_line":"                else:"},{"line_number":501,"context_line":"                    flavor \u003d server.flavor"}],"source_content_type":"text/x-python","patch_set":1,"id":"5246a5b6_c2821937","line":498,"in_reply_to":"4edf41d7_c2fedcac","updated":"2021-04-20 06:18:35.000000000","message":"I more or less copied this from unmanagedQuotaUsed which uses this approach [1]\n\nPerhaps we could clean up both in a follow on?\n\n[1] https://opendev.org/zuul/nodepool/src/branch/master/nodepool/driver/openstack/provider.py#L121","commit_id":"92b917e9cc0387aadf3440c421742e5c55d8c55f"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"0e493d37ac0946d122c991172093b68b99827a50","unresolved":true,"context_lines":[{"line_number":500,"context_line":"                else:"},{"line_number":501,"context_line":"                    flavor \u003d server.flavor"},{"line_number":502,"context_line":"                used \u003d QuotaInformation.construct_from_flavor(flavor)"},{"line_number":503,"context_line":"                node.used_resources \u003d (used.get_cores(), used.get_ram())"},{"line_number":504,"context_line":"                self._zk.storeNode(node)"},{"line_number":505,"context_line":"                if self._statsd:"},{"line_number":506,"context_line":"                    key \u003d (\u0027nodepool.provider.%s.leaked.nodes\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"426fedb7_e6bd647a","line":503,"updated":"2021-04-12 08:08:11.000000000","message":"Nodes already can have resources attached so we should use the same field and data structure here [1].\n\n[1] https://opendev.org/zuul/nodepool/src/branch/master/nodepool/driver/openstack/handler.py#L159","commit_id":"92b917e9cc0387aadf3440c421742e5c55d8c55f"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"14af9fd2deceb473dca4d96579203889caafe7d0","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                else:"},{"line_number":501,"context_line":"                    flavor \u003d server.flavor"},{"line_number":502,"context_line":"                used \u003d QuotaInformation.construct_from_flavor(flavor)"},{"line_number":503,"context_line":"                node.used_resources \u003d (used.get_cores(), used.get_ram())"},{"line_number":504,"context_line":"                self._zk.storeNode(node)"},{"line_number":505,"context_line":"                if self._statsd:"},{"line_number":506,"context_line":"                    key \u003d (\u0027nodepool.provider.%s.leaked.nodes\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"45dc8c05_eff45459","line":503,"in_reply_to":"426fedb7_e6bd647a","updated":"2021-04-20 06:18:35.000000000","message":"OK, I\u0027ve proposed Id78b059cf2121e01e4cd444f6ad3834373cf7fb6 to make a single function to get the resources, and modified the next changeset to use that and put it in the .resources field.","commit_id":"92b917e9cc0387aadf3440c421742e5c55d8c55f"}]}
