)]}'
{"cinder/db/sqlalchemy/models.py":[{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"805b3db3b8ad29dd8ff1c082cfd3766f054927f9","unresolved":false,"context_lines":[{"line_number":390,"context_line":"    id \u003d Column(String(36), primary_key\u003dTrue)"},{"line_number":391,"context_line":"    name \u003d Column(String(255), unique\u003dTrue, nullable\u003dFalse)"},{"line_number":392,"context_line":"    volume_type_id \u003d Column(String(36), ForeignKey(\"volume_types.id\"),"},{"line_number":393,"context_line":"                            nullable\u003dFalse)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"def register_models():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOKE%3D","line":393,"updated":"2013-02-01 16:47:00.000000000","message":"The foreign key declaration is missing from the migration script, also the column length is different","commit_id":"588afc68d57e4ae76e56bbeb11f526772fedf159"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"1af38c94ee78d92f6518ba1202eed6fd587bdafa","unresolved":false,"context_lines":[{"line_number":390,"context_line":"    id \u003d Column(String(36), primary_key\u003dTrue)"},{"line_number":391,"context_line":"    name \u003d Column(String(255), unique\u003dTrue, nullable\u003dFalse)"},{"line_number":392,"context_line":"    volume_type_id \u003d Column(String(36), ForeignKey(\"volume_types.id\"),"},{"line_number":393,"context_line":"                            nullable\u003dFalse)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"def register_models():"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FLYA%3D","line":393,"in_reply_to":"AAAAM3%2F%2FOKE%3D","updated":"2013-02-04 18:57:13.000000000","message":"Will fix up in next patchset","commit_id":"588afc68d57e4ae76e56bbeb11f526772fedf159"}],"cinder/scheduler/manager.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"83e3731a65fbb968f9f4100a53f003affc384ceb","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    RPC_API_VERSION \u003d \u00271.2\u0027"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, scheduler_driver\u003dNone, service_name\u003dNone,"},{"line_number":54,"context_line":"                 *args, **kwargs):"},{"line_number":55,"context_line":"        if not scheduler_driver:"},{"line_number":56,"context_line":"            scheduler_driver \u003d FLAGS.scheduler_driver"},{"line_number":57,"context_line":"        self.driver \u003d importutils.import_object(scheduler_driver)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FUa8%3D","line":54,"updated":"2013-01-30 06:16:30.000000000","message":"Why is this change needed?","commit_id":"5804176f329af9eac824452a47a8eb46a598f424"}],"cinder/service.py":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f76b420c9238db51d5eab764e30fbecb832c3f16","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                LOG.info(_(\u0027Forking too fast, sleeping\u0027))"},{"line_number":212,"context_line":"                time.sleep(1)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"            wrap.forktimes.pop(0)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        wrap.forktimes.append(time.time())"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAM3%2F%2FBdw%3D","line":214,"updated":"2013-02-11 11:31:47.000000000","message":"We\u0027re not using the returned value of pop(). Using \u0027del\u0027 looks a teeny bit better here.","commit_id":"fc5614b4980d11755117b8ec07ced563b8565d6a"}],"cinder/tests/test_volume_backends.py":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f76b420c9238db51d5eab764e30fbecb832c3f16","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        \"\"\"Ensure that a duplicate name causes an error\"\"\""},{"line_number":79,"context_line":"        type_ref \u003d self._create_volume_type()"},{"line_number":80,"context_line":"        self._create_volume_backend(type_ref.id)"},{"line_number":81,"context_line":"        # Is there a better way to do this?"},{"line_number":82,"context_line":"        try:"},{"line_number":83,"context_line":"            self._create_volume_backend(type_ref.id)"},{"line_number":84,"context_line":"            raise Exception(\"This should not be triggered\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAM3%2F%2FBds%3D","line":81,"updated":"2013-02-11 11:31:47.000000000","message":"Can use assertRaises","commit_id":"fc5614b4980d11755117b8ec07ced563b8565d6a"}],"cinder/volume/api.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c6f1f6fb7904766bb335f20982225148145252d0","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            volume_ref \u003d self.db.volume_update(context, volume_id, values)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"            # bypass scheduler and send request directly to volume"},{"line_number":268,"context_line":"            backend \u003d self._get_backend(context, volume)"},{"line_number":269,"context_line":"            vol_rpc \u003d self.get_volume_rpcapi(volume_backend\u003dbackend)"},{"line_number":270,"context_line":"            vol_rpc.create_volume(context,"},{"line_number":271,"context_line":"                                  volume_ref,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2FIwQ%3D","line":268,"updated":"2013-02-05 23:05:59.000000000","message":"Need to change this from volume -\u003e volume_ref I believe","commit_id":"82ae226fd40c3b01a4ebd34ca4a98c7f10da636a"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"2793cb45e825a96688c823d82bace996dbfe5418","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            volume_ref \u003d self.db.volume_update(context, volume_id, values)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            # bypass scheduler and send request directly to volume"},{"line_number":283,"context_line":"            backend \u003d self._get_backend(context, volume)"},{"line_number":284,"context_line":"            vol_rpc \u003d self.get_volume_rpcapi(volume_backend\u003dbackend)"},{"line_number":285,"context_line":"            vol_rpc.create_volume(context,"},{"line_number":286,"context_line":"                                  volume_ref,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2FIv8%3D","line":283,"updated":"2013-02-05 23:14:34.000000000","message":"same here...","commit_id":"82ae226fd40c3b01a4ebd34ca4a98c7f10da636a"}],"cinder/volume/drivers/nexenta/volume.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"f1e54469f4361edfb1d5048b1f73bdd4f185a14f","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    \"\"\"Executes volume driver commands on Nexenta Appliance.\"\"\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, configuration\u003dNone):"},{"line_number":78,"context_line":"        super(NexentaDriver, self).__init__(configuration\u003dconfiguration)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def do_setup(self, context):"},{"line_number":81,"context_line":"        protocol \u003d FLAGS.nexenta_rest_protocol"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOUA%3D","line":78,"updated":"2013-02-04 13:01:20.000000000","message":"Better done with *args **kwargs so we don\u0027t have to keep updating this as the parent changes?","commit_id":"588afc68d57e4ae76e56bbeb11f526772fedf159"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"1af38c94ee78d92f6518ba1202eed6fd587bdafa","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    \"\"\"Executes volume driver commands on Nexenta Appliance.\"\"\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, configuration\u003dNone):"},{"line_number":78,"context_line":"        super(NexentaDriver, self).__init__(configuration\u003dconfiguration)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def do_setup(self, context):"},{"line_number":81,"context_line":"        protocol \u003d FLAGS.nexenta_rest_protocol"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FLgI%3D","line":78,"in_reply_to":"AAAAM3%2F%2FOUA%3D","updated":"2013-02-04 18:57:13.000000000","message":"Roger","commit_id":"588afc68d57e4ae76e56bbeb11f526772fedf159"}],"cinder/volume/drivers/windows.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"f1e54469f4361edfb1d5048b1f73bdd4f185a14f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    \"\"\"Executes volume driver commands on Windows Storage server.\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, configuration\u003dNone):"},{"line_number":54,"context_line":"        super(WindowsDriver, self).__init__(configuration\u003dconfiguration)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def do_setup(self, context):"},{"line_number":57,"context_line":"        \"\"\"Setup the Windows Volume driver."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOT8%3D","line":54,"updated":"2013-02-04 13:01:20.000000000","message":"As nextra driver comment","commit_id":"588afc68d57e4ae76e56bbeb11f526772fedf159"}],"cinder/volume/manager.py":[{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"805b3db3b8ad29dd8ff1c082cfd3766f054927f9","unresolved":false,"context_lines":[{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    @manager.periodic_task"},{"line_number":501,"context_line":"    def _report_driver_status(self, context):"},{"line_number":502,"context_line":"        LOG.info(_(\"Updating volume status\"))"},{"line_number":503,"context_line":"        volume_stats \u003d self.driver.get_volume_stats(refresh\u003dTrue)"},{"line_number":504,"context_line":"        if volume_stats:"},{"line_number":505,"context_line":"            # This will grab info about the host and queue it"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOFY%3D","side":"PARENT","line":502,"updated":"2013-02-01 16:47:00.000000000","message":"Was this intentionally removed?","commit_id":"342e11b9129bc646be96b727ad87281ae169644d"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"1af38c94ee78d92f6518ba1202eed6fd587bdafa","unresolved":false,"context_lines":[{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    @manager.periodic_task"},{"line_number":501,"context_line":"    def _report_driver_status(self, context):"},{"line_number":502,"context_line":"        LOG.info(_(\"Updating volume status\"))"},{"line_number":503,"context_line":"        volume_stats \u003d self.driver.get_volume_stats(refresh\u003dTrue)"},{"line_number":504,"context_line":"        if volume_stats:"},{"line_number":505,"context_line":"            # This will grab info about the host and queue it"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FLgY%3D","side":"PARENT","line":502,"in_reply_to":"AAAAM3%2F%2FOFY%3D","updated":"2013-02-04 18:57:13.000000000","message":"Good catch.. adding back in","commit_id":"342e11b9129bc646be96b727ad87281ae169644d"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f76b420c9238db51d5eab764e30fbecb832c3f16","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def _ensure_backend_mapping(self, service_name):"},{"line_number":142,"context_line":"        \"\"\"Links the backend name to the voluem type\"\"\""},{"line_number":143,"context_line":"        cxtx \u003d context.get_admin_context()"},{"line_number":144,"context_line":"        volume_type_name \u003d self.configuration.backend_volume_type"},{"line_number":145,"context_line":"        # Check to see if the volume type is already configured"},{"line_number":146,"context_line":"        volume_type \u003d volume_types.get_volume_type_by_name(cxtx,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAM3%2F%2FBdU%3D","line":143,"updated":"2013-02-11 11:31:47.000000000","message":"ctxt :)","commit_id":"fc5614b4980d11755117b8ec07ced563b8565d6a"}],"etc/cinder/cinder.conf.sample":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f76b420c9238db51d5eab764e30fbecb832c3f16","unresolved":false,"context_lines":[{"line_number":1120,"context_line":"#backend_volume_type\u003dfake"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":""},{"line_number":1123,"context_line":"# Total option count: 244"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"AAAAM3%2F%2FBdQ%3D","line":1123,"updated":"2013-02-11 11:31:47.000000000","message":"Option count changes? Not sure if the old value is correctly updated.","commit_id":"fc5614b4980d11755117b8ec07ced563b8565d6a"}]}
