)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We\u0027ve done this implementation because we need to use scheduler hint in"},{"line_number":10,"context_line":"cinder with some specific filters. So, most part of code have been"},{"line_number":11,"context_line":"imported from nova."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"bp scheduler-hints"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I4c8a78ade4ff668d79e7aa6d0d358029754e3d90"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAPH%2F%2F80U%3D","line":12,"updated":"2013-05-17 23:39:49.000000000","message":"should have docimpact.","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"00be07bc583390b6eea7aec125dfc38e1e7d698b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We\u0027ve done this implementation because we need to use scheduler hint in"},{"line_number":10,"context_line":"cinder with some specific filters. So, most part of code have been"},{"line_number":11,"context_line":"imported from nova."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"bp scheduler-hints"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I4c8a78ade4ff668d79e7aa6d0d358029754e3d90"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAPH%2F%2F68g%3D","line":12,"in_reply_to":"AAAAPH%2F%2F80U%3D","updated":"2013-05-20 08:56:36.000000000","message":"Done","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"}],"cinder/api/contrib/scheduler_hints.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import webob.exc"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder.api import extensions"},{"line_number":20,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":21,"context_line":"from cinder.api.v2 import volumes"},{"line_number":22,"context_line":"from cinder.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8zc%3D","line":19,"updated":"2013-05-17 23:39:49.000000000","message":"alphabetical order https://github.com/openstack/cinder/blob/master/HACKING.rst","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    name \u003d \"SchedulerHints\""},{"line_number":60,"context_line":"    alias \u003d \"OS-SCH-HNT\""},{"line_number":61,"context_line":"    namespace \u003d volumes.SCHEDULER_HINTS_NAMESPACE"},{"line_number":62,"context_line":"    updated \u003d \"2011-07-19T00:00:00+00:00\""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def get_controller_extensions(self):"},{"line_number":65,"context_line":"        controller \u003d SchedulerHintsController()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8z8%3D","line":62,"updated":"2013-05-17 23:39:49.000000000","message":"update 2013-05-X","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"0e7b81a7e44a3c124ad44cef624200d792f24cbe","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        attr \u003d \u0027%s:scheduler_hints\u0027 % Scheduler_hints.alias"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            if \u0027scheduler_hints\u0027 in body:"},{"line_number":36,"context_line":"                # NOTE(vish): This is for legacy support"},{"line_number":37,"context_line":"                hints.update(body[\u0027scheduler_hints\u0027])"},{"line_number":38,"context_line":"            elif attr in body:"},{"line_number":39,"context_line":"                hints.update(body[attr])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F6DM%3D","line":36,"updated":"2013-05-20 16:17:00.000000000","message":"I understand that this is from Nova...do we need this as hints are new to Cinder?","commit_id":"db6d178a72989d979dbf42cb3b200e65a3afb1dd"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"d268a137edbbe285503afa1bd17fc623f4040856","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        attr \u003d \u0027%s:scheduler_hints\u0027 % Scheduler_hints.alias"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            if \u0027scheduler_hints\u0027 in body:"},{"line_number":36,"context_line":"                # NOTE(vish): This is for legacy support"},{"line_number":37,"context_line":"                hints.update(body[\u0027scheduler_hints\u0027])"},{"line_number":38,"context_line":"            elif attr in body:"},{"line_number":39,"context_line":"                hints.update(body[attr])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F5zk%3D","line":36,"in_reply_to":"AAAAPH%2F%2F510%3D","updated":"2013-05-20 17:27:22.000000000","message":"Sorry I didn\u0027t mean that hints are new to Cinder, but rather to the API.  At one point in Nova were the hints passed in body[\u0027scheduler_hints\u0027] and now passed in body[attr]?  In Cinder will it always be body[attr]?","commit_id":"db6d178a72989d979dbf42cb3b200e65a3afb1dd"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"78d4376f013effc0599b4b7bddfa1d54ad07314b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        attr \u003d \u0027%s:scheduler_hints\u0027 % Scheduler_hints.alias"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            if \u0027scheduler_hints\u0027 in body:"},{"line_number":36,"context_line":"                # NOTE(vish): This is for legacy support"},{"line_number":37,"context_line":"                hints.update(body[\u0027scheduler_hints\u0027])"},{"line_number":38,"context_line":"            elif attr in body:"},{"line_number":39,"context_line":"                hints.update(body[attr])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F1F4%3D","line":36,"in_reply_to":"AAAAPH%2F%2F5zk%3D","updated":"2013-05-22 05:01:54.000000000","message":"I agree with Avishay, the point being that there\u0027s no reason for us to carry forward the legacy support that is in Nova, we\u0027re fortunate enough to have a clean slate on this so we should start with only the current method/implementation.","commit_id":"db6d178a72989d979dbf42cb3b200e65a3afb1dd"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"b60338b2473f38be99b0ca2160e907dd33bd2a9e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        attr \u003d \u0027%s:scheduler_hints\u0027 % Scheduler_hints.alias"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            if \u0027scheduler_hints\u0027 in body:"},{"line_number":36,"context_line":"                # NOTE(vish): This is for legacy support"},{"line_number":37,"context_line":"                hints.update(body[\u0027scheduler_hints\u0027])"},{"line_number":38,"context_line":"            elif attr in body:"},{"line_number":39,"context_line":"                hints.update(body[attr])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F510%3D","line":36,"in_reply_to":"AAAAPH%2F%2F6DM%3D","updated":"2013-05-20 17:17:16.000000000","message":"Please take a look at blueprint. You can see the link in commit message","commit_id":"db6d178a72989d979dbf42cb3b200e65a3afb1dd"}],"cinder/api/openstack/scheduler_hints.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9fc42b56cf1d0f628236aae5daa58676a34450ce","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FVHY%3D","line":3,"updated":"2013-05-14 14:21:27.000000000","message":"2013","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"01abc27839c6372f6f5db77ce1ab8cb8c76ffe45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAO3%2F%2F%2Ftg%3D","line":3,"in_reply_to":"AAAAOn%2F%2FVHY%3D","updated":"2013-05-15 09:08:11.000000000","message":"Done","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9fc42b56cf1d0f628236aae5daa58676a34450ce","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder.api import extensions"},{"line_number":20,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":21,"context_line":"import logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FVH4%3D","line":21,"updated":"2013-05-14 14:21:27.000000000","message":"use instead\nfrom cinder.openstack.common import log as logging","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"01abc27839c6372f6f5db77ce1ab8cb8c76ffe45","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from cinder.api import extensions"},{"line_number":20,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":21,"context_line":"import logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAO3%2F%2F%2Ftk%3D","line":21,"in_reply_to":"AAAAOn%2F%2FVH4%3D","updated":"2013-05-15 09:08:11.000000000","message":"Done","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9fc42b56cf1d0f628236aae5daa58676a34450ce","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    name \u003d \"SchedulerHints\""},{"line_number":59,"context_line":"    alias \u003d \"OS-SCH-HNT\""},{"line_number":60,"context_line":"    namespace \u003d (\"http://docs.openstack.org/compute/ext/\""},{"line_number":61,"context_line":"                 \"scheduler-hints/api/v2\")"},{"line_number":62,"context_line":"    updated \u003d \"2011-07-19T00:00:00+00:00\""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FVGg%3D","line":60,"updated":"2013-05-14 14:21:27.000000000","message":"/compute/openstack-block-service/","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"}],"cinder/api/v2/scheduler_hints.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"646acaf42aae07f7b73454641936ab9a998cb3fc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from cinder.api import extensions"},{"line_number":20,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":21,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":22,"context_line":"from cinder.api.v2 import volumes"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAO3%2F%2F9io%3D","line":22,"updated":"2013-05-16 01:16:23.000000000","message":"move this import one line above to avoid pep8 issue","commit_id":"6718a0a74e63b0e20bde3512fe0a263a41a2343a"}],"cinder/api/v2/volumes.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9fc42b56cf1d0f628236aae5daa58676a34450ce","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    def _extract_scheduler_hints(self, volume_node):"},{"line_number":96,"context_line":"        \"\"\"Marshal the scheduler hints attribute of a parsed request.\"\"\""},{"line_number":97,"context_line":"        node \u003d self.find_first_child_named_in_namespace(volume_node,"},{"line_number":98,"context_line":"            \"http://docs.openstack.org/compute/ext/scheduler-hints/api/v2\","},{"line_number":99,"context_line":"            \"scheduler_hints\")"},{"line_number":100,"context_line":"        if node:"},{"line_number":101,"context_line":"            scheduler_hints \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FVGs%3D","line":98,"updated":"2013-05-14 14:21:27.000000000","message":"Also this would be in the openstack-block-service, not compute.","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"77245d0685db860b8524c94f67b88b3d56a6f88f","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    def _extract_scheduler_hints(self, volume_node):"},{"line_number":96,"context_line":"        \"\"\"Marshal the scheduler hints attribute of a parsed request.\"\"\""},{"line_number":97,"context_line":"        node \u003d self.find_first_child_named_in_namespace(volume_node,"},{"line_number":98,"context_line":"            \"http://docs.openstack.org/compute/ext/scheduler-hints/api/v2\","},{"line_number":99,"context_line":"            \"scheduler_hints\")"},{"line_number":100,"context_line":"        if node:"},{"line_number":101,"context_line":"            scheduler_hints \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FVK0%3D","line":98,"updated":"2013-05-14 13:46:33.000000000","message":"I suggest that you not use the hardcode for the namespace.","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"01abc27839c6372f6f5db77ce1ab8cb8c76ffe45","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    def _extract_scheduler_hints(self, volume_node):"},{"line_number":96,"context_line":"        \"\"\"Marshal the scheduler hints attribute of a parsed request.\"\"\""},{"line_number":97,"context_line":"        node \u003d self.find_first_child_named_in_namespace(volume_node,"},{"line_number":98,"context_line":"            \"http://docs.openstack.org/compute/ext/scheduler-hints/api/v2\","},{"line_number":99,"context_line":"            \"scheduler_hints\")"},{"line_number":100,"context_line":"        if node:"},{"line_number":101,"context_line":"            scheduler_hints \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAO3%2F%2F%2Fto%3D","line":98,"in_reply_to":"AAAAOn%2F%2FVK0%3D","updated":"2013-05-15 09:08:11.000000000","message":"And what do you offer? Move namespace to config file?","commit_id":"95477e1d75e12611fc81d309ad37ee5837cc99ee"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":"SCHEDULER_HINTS_NAMESPACE \u003d\\"},{"line_number":36,"context_line":"        \"http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2\""},{"line_number":37,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F808%3D","line":36,"updated":"2013-05-17 23:39:49.000000000","message":"This would be something like http://docs.openstack.org/api/openstack-block-service/2.0/content/Scheduler_Hints.html","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"00be07bc583390b6eea7aec125dfc38e1e7d698b","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":"SCHEDULER_HINTS_NAMESPACE \u003d\\"},{"line_number":36,"context_line":"        \"http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2\""},{"line_number":37,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F68k%3D","line":36,"in_reply_to":"AAAAPH%2F%2F808%3D","updated":"2013-05-20 08:56:36.000000000","message":"Well, I take this sort or namespace from nova. If you really think that I should your namespace please make a comment on next patchset","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"}],"cinder/tests/api/contrib/test_scheduler_hints.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import datetime"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#import cinder.api.v2.router as router"},{"line_number":21,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":22,"context_line":"import cinder.db.api"},{"line_number":23,"context_line":"from cinder.openstack.common import jsonutils"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F80A%3D","line":20,"updated":"2013-05-17 23:39:49.000000000","message":"should just remove this.","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import datetime"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#import cinder.api.v2.router as router"},{"line_number":21,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":22,"context_line":"import cinder.db.api"},{"line_number":23,"context_line":"from cinder.openstack.common import jsonutils"},{"line_number":24,"context_line":"import cinder.openstack.common.rpc"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8zQ%3D","line":21,"updated":"2013-05-17 23:39:49.000000000","message":"alphabetical order https://github.com/openstack/cinder/blob/master/HACKING.rst","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"54362a43289c14109ab5fbf1243ccb21a7b1a6a3","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"#import cinder.api.v2.router as router"},{"line_number":21,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":22,"context_line":"import cinder.db.api"},{"line_number":23,"context_line":"from cinder.openstack.common import jsonutils"},{"line_number":24,"context_line":"import cinder.openstack.common.rpc"},{"line_number":25,"context_line":"from cinder import test"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F7Ic%3D","line":22,"updated":"2013-05-20 06:10:53.000000000","message":"Not used","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"54362a43289c14109ab5fbf1243ccb21a7b1a6a3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":22,"context_line":"import cinder.db.api"},{"line_number":23,"context_line":"from cinder.openstack.common import jsonutils"},{"line_number":24,"context_line":"import cinder.openstack.common.rpc"},{"line_number":25,"context_line":"from cinder import test"},{"line_number":26,"context_line":"from cinder.tests.api import fakes"},{"line_number":27,"context_line":"from cinder.tests.api.v2 import stubs"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F7IU%3D","line":24,"updated":"2013-05-20 06:10:53.000000000","message":"Not used","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"54362a43289c14109ab5fbf1243ccb21a7b1a6a3","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import cinder.db.api"},{"line_number":23,"context_line":"from cinder.openstack.common import jsonutils"},{"line_number":24,"context_line":"import cinder.openstack.common.rpc"},{"line_number":25,"context_line":"from cinder import test"},{"line_number":26,"context_line":"from cinder.tests.api import fakes"},{"line_number":27,"context_line":"from cinder.tests.api.v2 import stubs"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F7Ig%3D","line":25,"updated":"2013-05-20 06:10:53.000000000","message":"Not used","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            osapi_volume_ext_list\u003d[\u0027Scheduler_hints\u0027])"},{"line_number":42,"context_line":"        self.app \u003d fakes.wsgi_app()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_create_server_without_hints(self):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        @wsgi.response(202)"},{"line_number":47,"context_line":"#        @wsgi.serializers()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8y0%3D","line":44,"updated":"2013-05-17 23:39:49.000000000","message":"/server/volume/","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_create_server_without_hints(self):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        @wsgi.response(202)"},{"line_number":47,"context_line":"#        @wsgi.serializers()"},{"line_number":48,"context_line":"#        @wsgi.deserializers()"},{"line_number":49,"context_line":"        def fake_create(*args, **kwargs):"},{"line_number":50,"context_line":"            print \u0027KWARGS %s\u0027 % kwargs"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8zI%3D","line":47,"updated":"2013-05-17 23:39:49.000000000","message":"remove this","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        @wsgi.response(202)"},{"line_number":47,"context_line":"#        @wsgi.serializers()"},{"line_number":48,"context_line":"#        @wsgi.deserializers()"},{"line_number":49,"context_line":"        def fake_create(*args, **kwargs):"},{"line_number":50,"context_line":"            print \u0027KWARGS %s\u0027 % kwargs"},{"line_number":51,"context_line":"            self.assertNotIn(\u0027scheduler_hints\u0027, kwargs[\u0027body\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8zA%3D","line":48,"updated":"2013-05-17 23:39:49.000000000","message":"remove this","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        def fake_create(*args, **kwargs):"},{"line_number":50,"context_line":"            print \u0027KWARGS %s\u0027 % kwargs"},{"line_number":51,"context_line":"            self.assertNotIn(\u0027scheduler_hints\u0027, kwargs[\u0027body\u0027])"},{"line_number":52,"context_line":"#            self.assertEqual(kwargs[\"scheduler_hints\u0027], {})"},{"line_number":53,"context_line":"            return self.fake_instance"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        self.stubs.Set(cinder.api.v2.volumes.VolumeController, \u0027create\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8y8%3D","line":52,"updated":"2013-05-17 23:39:49.000000000","message":"remove this","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        req.body \u003d jsonutils.dumps(body)"},{"line_number":68,"context_line":"        res \u003d req.get_response(self.app)"},{"line_number":69,"context_line":"        print \"Result %s\" % res"},{"line_number":70,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_create_server_with_hints(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8yM%3D","line":69,"updated":"2013-05-17 23:39:49.000000000","message":"remove this","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        print \"Result %s\" % res"},{"line_number":70,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_create_server_with_hints(self):"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        @wsgi.response(202)"},{"line_number":75,"context_line":"        def fake_create(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8ys%3D","line":72,"updated":"2013-05-17 23:39:49.000000000","message":"/server/volume/","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        req.body \u003d jsonutils.dumps(body)"},{"line_number":94,"context_line":"        res \u003d req.get_response(self.app)"},{"line_number":95,"context_line":"        print \"Result %s\" % res"},{"line_number":96,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_create_server_bad_hints(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8yQ%3D","line":95,"updated":"2013-05-17 23:39:49.000000000","message":"remove this","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        print \"Result %s\" % res"},{"line_number":96,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_create_server_bad_hints(self):"},{"line_number":99,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/volumes\u0027)"},{"line_number":100,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":101,"context_line":"        req.content_type \u003d \u0027application/json\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8yc%3D","line":98,"updated":"2013-05-17 23:39:49.000000000","message":"/server/volume/","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"d409310080b758c8c8b8150b72e78b389fd15282","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPH%2F%2Fx7g%3D","line":3,"updated":"2013-05-23 07:41:26.000000000","message":"2013","commit_id":"a47522449ba8b94b8ae13258607acfe0873e2fa9"}],"cinder/tests/api/v2/stubs.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"61f22e1436d95cc36fa30a51f88b0656d2c5db9b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    return volume"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def stub_volume_2013(id, **kwargs):"},{"line_number":54,"context_line":"    volume \u003d {"},{"line_number":55,"context_line":"        \u0027id\u0027: id,"},{"line_number":56,"context_line":"        \u0027user_id\u0027: \u0027fakeuser\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F8wQ%3D","line":53,"updated":"2013-05-17 23:39:49.000000000","message":"Why can\u0027t you just use stub_volume?","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"997083d61820168032eaebc40fbf4a4f15b1afc8","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    return volume"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def stub_volume_2013(id, **kwargs):"},{"line_number":54,"context_line":"    volume \u003d {"},{"line_number":55,"context_line":"        \u0027id\u0027: id,"},{"line_number":56,"context_line":"        \u0027user_id\u0027: \u0027fakeuser\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPH%2F%2F7KQ%3D","line":53,"in_reply_to":"AAAAPH%2F%2F8wQ%3D","updated":"2013-05-20 05:11:09.000000000","message":"I need year more than \u003e1900. And when I change year in common stub_volume to 2013, many tests fails. So I\u0027ve decided to create another stub,","commit_id":"f26f0e428b15e677d1539f8e1bbda4e55dddaee3"}],"cinder/volume/api.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"78d4376f013effc0599b4b7bddfa1d54ad07314b","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    def create(self, context, size, name, description, snapshot\u003dNone,"},{"line_number":89,"context_line":"               image_id\u003dNone, volume_type\u003dNone, metadata\u003dNone,"},{"line_number":90,"context_line":"               availability_zone\u003dNone, source_volume\u003dNone,"},{"line_number":91,"context_line":"               scheduler_hints\u003dNone):"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        exclusive_options \u003d (snapshot, image_id, source_volume)"},{"line_number":94,"context_line":"        exclusive_options_set \u003d sum(1 for option in"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2F1Fc%3D","line":91,"updated":"2013-05-22 05:01:54.000000000","message":"Not a reflection on this patch, just an observation (and a place to point it out :) ) but I\u0027m somewhat bothered at the growth in the number of parameters for create, particularly since some of them are not compatible.","commit_id":"db6d178a72989d979dbf42cb3b200e65a3afb1dd"}]}
