)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"issues like: the # of instances is below quota, but the # of"},{"line_number":13,"context_line":"cores is not."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia6bf0a2003b692e4a0b35345be4a1deea2370e6c"},{"line_number":16,"context_line":"Implements: blueprint quota-for-ram-cores-and-volume-count"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9aa7fdbe_90d6894d","line":15,"updated":"2014-10-28 12:16:06.000000000","message":"please add doc-impact keyword.","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"}],"trove/common/cfg.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    cfg.IntOpt(\u0027max_instances_per_user\u0027, default\u003d5,"},{"line_number":165,"context_line":"               help\u003d\u0027Default maximum number of instances per tenant.\u0027),"},{"line_number":166,"context_line":"    cfg.IntOpt(\u0027max_cores_per_user\u0027, default\u003d2147483647,"},{"line_number":167,"context_line":"               help\u003d\u0027Maximum number of cores spanning across all Trove \u0027"},{"line_number":168,"context_line":"                    \u0027instances per tenant.\u0027),"},{"line_number":169,"context_line":"    cfg.IntOpt(\u0027max_ram_per_user\u0027, default\u003d2147483647,"},{"line_number":170,"context_line":"               help\u003d\u0027Maximum amount of RAM (in MB) spanning across all Trove \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_a8188bd3","line":167,"updated":"2014-10-28 12:16:06.000000000","message":"spanning across is a tautology.","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"}],"trove/instance/models.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":663,"context_line":"               slave_of_id\u003dNone, cluster_config\u003dNone):"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"        datastore_cfg \u003d CONF.get(datastore_version.manager)"},{"line_number":666,"context_line":"        client \u003d create_nova_client(context)"},{"line_number":667,"context_line":"        try:"},{"line_number":668,"context_line":"            flavor \u003d client.flavors.get(flavor_id)"},{"line_number":669,"context_line":"        except nova_exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_a8696bfa","side":"PARENT","line":666,"updated":"2014-10-28 12:16:06.000000000","message":"self.get_flavor()?","commit_id":"101d454b70c0a386f39a1c1106ba66d86765cb7e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            raise exception.ClusterInstanceOperationNotSupported()"},{"line_number":795,"context_line":"        # Validate that the flavor can be found and that it isn\u0027t the same size"},{"line_number":796,"context_line":"        # as the current one."},{"line_number":797,"context_line":"        client \u003d create_nova_client(self.context)"},{"line_number":798,"context_line":"        try:"},{"line_number":799,"context_line":"            new_flavor \u003d client.flavors.get(new_flavor_id)"},{"line_number":800,"context_line":"        except nova_exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_884d879c","side":"PARENT","line":797,"updated":"2014-10-28 12:16:06.000000000","message":"get_flavor()?","commit_id":"101d454b70c0a386f39a1c1106ba66d86765cb7e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":805,"context_line":"            if self.volume_support:"},{"line_number":806,"context_line":"                if new_flavor.ephemeral !\u003d 0:"},{"line_number":807,"context_line":"                    raise exception.LocalStorageNotSupported()"},{"line_number":808,"context_line":"                if new_flavor_size \u003d\u003d old_flavor_size:"},{"line_number":809,"context_line":"                    raise exception.CannotResizeToSameSize()"},{"line_number":810,"context_line":"            elif self.device_path is not None:"},{"line_number":811,"context_line":"                # ephemeral support enabled"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_f06a75b1","line":808,"updated":"2014-10-28 12:16:06.000000000","message":"what if two flavors differ in CPU count but have same memory? Wouldn\u0027t this prevent that change?","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":812,"context_line":"                if new_flavor.ephemeral \u003d\u003d 0:"},{"line_number":813,"context_line":"                    raise exception.LocalStorageNotSpecified("},{"line_number":814,"context_line":"                        flavor\u003dnew_flavor_id)"},{"line_number":815,"context_line":"                if (new_flavor_size \u003d\u003d old_flavor_size and"},{"line_number":816,"context_line":"                        new_flavor.ephemeral \u003d\u003d new_flavor.ephemeral):"},{"line_number":817,"context_line":"                    raise exception.CannotResizeToSameSize()"},{"line_number":818,"context_line":"            elif new_flavor_size \u003d\u003d old_flavor_size:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_90a129fa","line":815,"updated":"2014-10-28 12:16:06.000000000","message":"what if two flavors differ in CPU count but have same memory?","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":815,"context_line":"                if (new_flavor_size \u003d\u003d old_flavor_size and"},{"line_number":816,"context_line":"                        new_flavor.ephemeral \u003d\u003d new_flavor.ephemeral):"},{"line_number":817,"context_line":"                    raise exception.CannotResizeToSameSize()"},{"line_number":818,"context_line":"            elif new_flavor_size \u003d\u003d old_flavor_size:"},{"line_number":819,"context_line":"                # uses local storage"},{"line_number":820,"context_line":"                raise exception.CannotResizeToSameSize()"},{"line_number":821,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_b0a46d08","line":818,"updated":"2014-10-28 12:16:06.000000000","message":"what if two flavors differ in CPU count but have same memory?","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"1cffbd4dca46dda31f5cc773c8354049ed52b4b5","unresolved":false,"context_lines":[{"line_number":840,"context_line":"        if delta_ram !\u003d 0:"},{"line_number":841,"context_line":"            deltas[\u0027ram\u0027] \u003d delta_ram"},{"line_number":842,"context_line":"        if deltas:"},{"line_number":843,"context_line":"            return run_with_quotas(self.tenant_id, deltas, _resize_resources)"},{"line_number":844,"context_line":"        return _resize_resources()"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def resize_volume(self, new_size):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_554df398","line":843,"updated":"2014-10-28 12:16:06.000000000","message":"as best as I can tell, run_with_quotas() can handle an empty delta. So this can just be\n\nreturn run_with_quotas(...)","commit_id":"7cb970604a1a58847a8f7ade8f8ac11826914abf"}]}
