)]}'
{"nova/api/openstack/compute/aggregates.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"23b1aa951a985db596b1c6a2a224a1416419e3eb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    @validation.schema(aggregates.create, \u00272.1\u0027)"},{"line_number":58,"context_line":"    def create(self, req, body):"},{"line_number":59,"context_line":"        \"\"\"Creates an aggregate, given its name and"},{"line_number":60,"context_line":"        optional availability zone, which can be a comma separated string"},{"line_number":61,"context_line":"        for multiple availability zones."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        context \u003d _get_context(req)"},{"line_number":64,"context_line":"        authorize(context, action\u003d\u0027create\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_c0518864","line":61,"range":{"start_line":60,"start_character":34,"end_line":61,"end_character":40},"updated":"2016-05-27 20:17:52.000000000","message":"This API is not for \"boot a server\", for \"create an az\".\n\nThis is not related to scheduler thing.\nThe following called create_aggregate handles this avail_zone as a single, not multiple.","commit_id":"e0fae58df258fada5e54e5ba4c21e8d3d9a10110"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fed0059765bea4ad49f0b1df8e9626dfd1cb9470","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    @validation.schema(aggregates.create, \u00272.1\u0027)"},{"line_number":58,"context_line":"    def create(self, req, body):"},{"line_number":59,"context_line":"        \"\"\"Creates an aggregate, given its name and"},{"line_number":60,"context_line":"        optional availability zone, which can be a comma separated string"},{"line_number":61,"context_line":"        for multiple availability zones."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        context \u003d _get_context(req)"},{"line_number":64,"context_line":"        authorize(context, action\u003d\u0027create\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_dcf67ed6","line":61,"range":{"start_line":60,"start_character":34,"end_line":61,"end_character":40},"in_reply_to":"9abb7d3a_8982fa50","updated":"2016-05-29 07:32:46.000000000","message":"scheduler filter works when \"booting a server\".","commit_id":"e0fae58df258fada5e54e5ba4c21e8d3d9a10110"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"dcaae781e8f25d72bbb32da357e7768996c249b2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    @validation.schema(aggregates.create, \u00272.1\u0027)"},{"line_number":58,"context_line":"    def create(self, req, body):"},{"line_number":59,"context_line":"        \"\"\"Creates an aggregate, given its name and"},{"line_number":60,"context_line":"        optional availability zone, which can be a comma separated string"},{"line_number":61,"context_line":"        for multiple availability zones."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        context \u003d _get_context(req)"},{"line_number":64,"context_line":"        authorize(context, action\u003d\u0027create\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_8982fa50","line":61,"range":{"start_line":60,"start_character":34,"end_line":61,"end_character":40},"in_reply_to":"9abb7d3a_c0518864","updated":"2016-05-29 02:26:28.000000000","message":"I am not aware if I get this bug across.\n\nI don\u0027t think I said it is for \u0027booting a server\u0027.","commit_id":"e0fae58df258fada5e54e5ba4c21e8d3d9a10110"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"08b409ba99929fada06b8ff682555ae1fdc02d09","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    @validation.schema(aggregates.create, \u00272.1\u0027)"},{"line_number":58,"context_line":"    def create(self, req, body):"},{"line_number":59,"context_line":"        \"\"\"Creates an aggregate, given its name and"},{"line_number":60,"context_line":"        optional availability zone, which can be a comma separated string"},{"line_number":61,"context_line":"        for multiple availability zones."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        context \u003d _get_context(req)"},{"line_number":64,"context_line":"        authorize(context, action\u003d\u0027create\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_3a94eae0","line":61,"range":{"start_line":60,"start_character":34,"end_line":61,"end_character":40},"in_reply_to":"9abb7d3a_dcf67ed6","updated":"2016-05-29 12:23:29.000000000","message":"yes, it works. but the aggregate\u0027s multiple AZs in a string is not clear.","commit_id":"e0fae58df258fada5e54e5ba4c21e8d3d9a10110"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"dcaae781e8f25d72bbb32da357e7768996c249b2","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            avail_zone \u003d common.normalize_name(avail_zone)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        try:"},{"line_number":72,"context_line":"            aggregate \u003d self.api.create_aggregate(context, name, avail_zone)"},{"line_number":73,"context_line":"        except exception.AggregateNameExists as e:"},{"line_number":74,"context_line":"            raise exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":75,"context_line":"        except exception.InvalidAggregateAction as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_c97c0275","line":72,"range":{"start_line":72,"start_character":29,"end_line":72,"end_character":32},"updated":"2016-05-29 02:26:28.000000000","message":"avail_zone can be a comma separated string for multiple azs. for example az1,az2","commit_id":"e0fae58df258fada5e54e5ba4c21e8d3d9a10110"}],"nova/scheduler/filters/availability_zone_filter.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"90b04589e122a9f99f59ff0beb061de5c4f4c894","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        metadata \u003d utils.aggregate_metadata_get_by_host("},{"line_number":45,"context_line":"                host_state, key\u003d\u0027availability_zone\u0027)"},{"line_number":46,"context_line":"        azStr \u003d metadata.get(\u0027availability_zone\u0027)"},{"line_number":47,"context_line":"        if azStr:"},{"line_number":48,"context_line":"            hosts_passes \u003d availability_zone in azStr.split(\",\")"},{"line_number":49,"context_line":"            host_az \u003d metadata[\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_28c8b454","line":46,"range":{"start_line":46,"start_character":8,"end_line":46,"end_character":13},"updated":"2016-05-26 15:15:59.000000000","message":"please use all lower case and underscore for variable names e.g. az_str","commit_id":"791e4d8c30dd6ca19b80b83b7c457dd62a65d4ea"}]}
