)]}'
{"nova/compute/api.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"5e389d97814e276abd44c2af26fd7e55615e5f71","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                elif group_name or group_policy:"},{"line_number":478,"context_line":"                    msg \u003d _(\u0027Scheduler hint group_name requires group_policy\u0027"},{"line_number":479,"context_line":"                            \u0027 and vice versa!.\u0027)"},{"line_number":480,"context_line":"                    raise exception.InvalidRequest(msg)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"            self._check_metadata_properties_quota(context, metadata)"},{"line_number":483,"context_line":"            self._check_injected_file_quota(context, injected_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FMtw%3D","line":480,"updated":"2013-02-03 17:37:39.000000000","message":"is it necessary for this to happen on this end of the rpc call? I\u0027d like to avoid shoveling scheduling specific data into the db on this end if it can be done on the scheduler side.","commit_id":"20c3f236da50940948ea166475bfed327bf4533f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"084c77b5463528cfc8411c04acddfcb228719882","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                elif group_name or group_policy:"},{"line_number":478,"context_line":"                    msg \u003d _(\u0027Scheduler hint group_name requires group_policy\u0027"},{"line_number":479,"context_line":"                            \u0027 and vice versa!.\u0027)"},{"line_number":480,"context_line":"                    raise exception.InvalidRequest(msg)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"            self._check_metadata_properties_quota(context, metadata)"},{"line_number":483,"context_line":"            self._check_injected_file_quota(context, injected_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FMOQ%3D","line":480,"in_reply_to":"AAAAM3%2F%2FMtw%3D","updated":"2013-02-04 09:51:48.000000000","message":"The only reason for adding this here is to make sure that the addition to the metadata does not cause an overflow. This is done prior to _check_metadata_properties_quota.\nI think that it would be best to validate this here. What do you think?","commit_id":"20c3f236da50940948ea166475bfed327bf4533f"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"5e389d97814e276abd44c2af26fd7e55615e5f71","unresolved":false,"context_lines":[{"line_number":590,"context_line":"                            # The database stores entries that are deleted"},{"line_number":591,"context_line":"                            host \u003d member.get(\u0027host\u0027)"},{"line_number":592,"context_line":"                            if host:"},{"line_number":593,"context_line":"                                filter_properties[\u0027ignore_hosts\u0027].append(host)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"            for i in xrange(num_instances):"},{"line_number":596,"context_line":"                options \u003d base_options.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FMts%3D","line":593,"updated":"2013-02-03 17:37:39.000000000","message":"same question as above.","commit_id":"20c3f236da50940948ea166475bfed327bf4533f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"084c77b5463528cfc8411c04acddfcb228719882","unresolved":false,"context_lines":[{"line_number":590,"context_line":"                            # The database stores entries that are deleted"},{"line_number":591,"context_line":"                            host \u003d member.get(\u0027host\u0027)"},{"line_number":592,"context_line":"                            if host:"},{"line_number":593,"context_line":"                                filter_properties[\u0027ignore_hosts\u0027].append(host)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"            for i in xrange(num_instances):"},{"line_number":596,"context_line":"                options \u003d base_options.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FMOI%3D","line":593,"in_reply_to":"AAAAM3%2F%2FMts%3D","updated":"2013-02-04 09:51:48.000000000","message":"I agree, this can and should be moved to the scheduler","commit_id":"20c3f236da50940948ea166475bfed327bf4533f"}],"nova/scheduler/chance.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e8598d7b13d7c2a37b95f6a1e85200311208651b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            filter_properties[\u0027ignore_hosts\u0027] \u003d ignored_hosts + group_hosts"},{"line_number":80,"context_line":"            metadata \u003d request_spec[\u0027instance_properties\u0027][\u0027metadata\u0027]"},{"line_number":81,"context_line":"            metadata.update({\u0027group\u0027: group})"},{"line_number":82,"context_line":"            values \u003d {\u0027metadata\u0027: metadata}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        for num, instance_uuid in enumerate(instance_uuids):"},{"line_number":85,"context_line":"            request_spec[\u0027instance_properties\u0027][\u0027launch_index\u0027] \u003d num"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FLPg%3D","line":82,"updated":"2013-02-04 19:47:39.000000000","message":"system_metadata?","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4cc353b0015ea68f7d85dce6cda848bfa7888d45","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            filter_properties[\u0027ignore_hosts\u0027] \u003d ignored_hosts + group_hosts"},{"line_number":80,"context_line":"            metadata \u003d request_spec[\u0027instance_properties\u0027][\u0027metadata\u0027]"},{"line_number":81,"context_line":"            metadata.update({\u0027group\u0027: group})"},{"line_number":82,"context_line":"            values \u003d {\u0027metadata\u0027: metadata}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        for num, instance_uuid in enumerate(instance_uuids):"},{"line_number":85,"context_line":"            request_spec[\u0027instance_properties\u0027][\u0027launch_index\u0027] \u003d num"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FKNU%3D","line":82,"in_reply_to":"AAAAM3%2F%2FLPg%3D","updated":"2013-02-05 08:15:15.000000000","message":"following the comments i have removed the chance driver support","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"}],"nova/scheduler/driver.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e8598d7b13d7c2a37b95f6a1e85200311208651b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        \"\"\"Return the list of hosts that are running VM\u0027s from the group.\"\"\""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        members \u003d db.instance_get_all_by_filters(context,"},{"line_number":142,"context_line":"                {\u0027deleted\u0027: False, \u0027metadata\u0027: {\u0027group\u0027: group}})"},{"line_number":143,"context_line":"        return [member[\u0027host\u0027]"},{"line_number":144,"context_line":"                for member in members"},{"line_number":145,"context_line":"                if member.get(\u0027host\u0027) is not None]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FLPc%3D","line":142,"updated":"2013-02-04 19:47:39.000000000","message":"system_metadata?","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4cc353b0015ea68f7d85dce6cda848bfa7888d45","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        \"\"\"Return the list of hosts that are running VM\u0027s from the group.\"\"\""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        members \u003d db.instance_get_all_by_filters(context,"},{"line_number":142,"context_line":"                {\u0027deleted\u0027: False, \u0027metadata\u0027: {\u0027group\u0027: group}})"},{"line_number":143,"context_line":"        return [member[\u0027host\u0027]"},{"line_number":144,"context_line":"                for member in members"},{"line_number":145,"context_line":"                if member.get(\u0027host\u0027) is not None]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FKNM%3D","line":142,"in_reply_to":"AAAAM3%2F%2FLPc%3D","updated":"2013-02-05 08:15:15.000000000","message":"done. very nice idea.","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"}],"nova/scheduler/filter_scheduler.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e8598d7b13d7c2a37b95f6a1e85200311208651b","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        if group:"},{"line_number":141,"context_line":"            metadata \u003d request_spec[\u0027instance_properties\u0027][\u0027metadata\u0027]"},{"line_number":142,"context_line":"            metadata.update({\u0027group\u0027: group})"},{"line_number":143,"context_line":"            values \u003d {\u0027metadata\u0027: metadata}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        updated_instance \u003d driver.instance_update_db(context,"},{"line_number":146,"context_line":"                instance_uuid, extra_values\u003dvalues)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FLPY%3D","line":143,"updated":"2013-02-04 19:47:39.000000000","message":"system_metadata?","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4cc353b0015ea68f7d85dce6cda848bfa7888d45","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        if group:"},{"line_number":141,"context_line":"            metadata \u003d request_spec[\u0027instance_properties\u0027][\u0027metadata\u0027]"},{"line_number":142,"context_line":"            metadata.update({\u0027group\u0027: group})"},{"line_number":143,"context_line":"            values \u003d {\u0027metadata\u0027: metadata}"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        updated_instance \u003d driver.instance_update_db(context,"},{"line_number":146,"context_line":"                instance_uuid, extra_values\u003dvalues)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FKNI%3D","line":143,"in_reply_to":"AAAAM3%2F%2FLPY%3D","updated":"2013-02-05 08:15:15.000000000","message":"Done","commit_id":"08e566322410c8b56fecfc739d2b00565913dbf3"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"d7400ce86ce4460cc040c0b525c22da67be0f4f8","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        instance_type \u003d request_spec.get(\"instance_type\", None)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        # Get the group"},{"line_number":261,"context_line":"        anti_affinity \u003d False"},{"line_number":262,"context_line":"        scheduler_hints \u003d filter_properties.get(\u0027scheduler_hints\u0027) or {}"},{"line_number":263,"context_line":"        group \u003d scheduler_hints.get(\u0027group\u0027, None)"},{"line_number":264,"context_line":"        if group:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2FFII%3D","line":261,"updated":"2013-02-07 19:48:44.000000000","message":"Why specify just anti_affinity and not a more general group boolean?","commit_id":"ea9778133dbeb86fa542feac5d6b110a13a40e0f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"05df1aa2439ad3ab63abe80c4646420c190d3564","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        instance_type \u003d request_spec.get(\"instance_type\", None)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        # Get the group"},{"line_number":261,"context_line":"        anti_affinity \u003d False"},{"line_number":262,"context_line":"        scheduler_hints \u003d filter_properties.get(\u0027scheduler_hints\u0027) or {}"},{"line_number":263,"context_line":"        group \u003d scheduler_hints.get(\u0027group\u0027, None)"},{"line_number":264,"context_line":"        if group:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2FEc0%3D","line":261,"in_reply_to":"AAAAM3%2F%2FFII%3D","updated":"2013-02-08 03:23:54.000000000","message":"Done","commit_id":"ea9778133dbeb86fa542feac5d6b110a13a40e0f"}],"nova/scheduler/filters/affinity_filter.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1228fe9d88adad576d9f590330f35593b498c7ec","unresolved":false,"context_lines":[{"line_number":88,"context_line":"class GroupAntiAffinityFilter(AffinityFilter):"},{"line_number":89,"context_line":"    \u0027\u0027\u0027Schedule the instance on a different host from a set of group"},{"line_number":90,"context_line":"       instances."},{"line_number":91,"context_line":"    \u0027\u0027\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":94,"context_line":"        group_hosts \u003d filter_properties.get(\u0027group_hosts\u0027) or []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FG7s%3D","line":91,"updated":"2013-02-06 22:34:17.000000000","message":"femtonits:\n\n1. I prefer triple quotes for docstrings.\n2. I prefer the second line of this docstring be indented only 4 spaces, so it lines up at the same column as the start of the triple quote, rather than being further indented so that it lines up after the triple quote.","commit_id":"b24274f5059b47fb37158919890628327a493d74"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0cf161a07067a87300a29efaf0d00e267237c9ab","unresolved":false,"context_lines":[{"line_number":88,"context_line":"class GroupAntiAffinityFilter(AffinityFilter):"},{"line_number":89,"context_line":"    \u0027\u0027\u0027Schedule the instance on a different host from a set of group"},{"line_number":90,"context_line":"       instances."},{"line_number":91,"context_line":"    \u0027\u0027\u0027"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":94,"context_line":"        group_hosts \u003d filter_properties.get(\u0027group_hosts\u0027) or []"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FGN8%3D","line":91,"in_reply_to":"AAAAM3%2F%2FG7s%3D","updated":"2013-02-07 06:58:47.000000000","message":"Done","commit_id":"b24274f5059b47fb37158919890628327a493d74"}]}
