)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5a5255853861022ea18b56c8634d463f7f97fad3","unresolved":false,"context_lines":[{"line_number":407,"context_line":"class ComputeManager(manager.Manager):"},{"line_number":408,"context_line":"    \"\"\"Manages the running instances from creation to destruction.\"\"\""},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    target \u003d messaging.Target(version\u003d\u00273.9\u0027)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    def __init__(self, compute_driver\u003dNone, *args, **kwargs):"},{"line_number":413,"context_line":"        \"\"\"Load configuration options and connect to the hypervisor.\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9Vdk%3D","line":410,"updated":"2014-02-07 16:42:50.000000000","message":"this should be 3.10","commit_id":"7798bd1d5f36997403653b001b80f8e71a7524f3"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"a8933b437d9d23c2339857ad871713af58209ae6","unresolved":false,"context_lines":[{"line_number":2213,"context_line":"        if (bdms and"},{"line_number":2214,"context_line":"            any(not isinstance(bdm, block_device_obj.BlockDeviceMapping)"},{"line_number":2215,"context_line":"                for bdm in bdms)):"},{"line_number":2216,"context_line":"            bdms \u003d None"},{"line_number":2217,"context_line":""},{"line_number":2218,"context_line":"        orig_vm_state \u003d instance.vm_state"},{"line_number":2219,"context_line":"        with self._error_out_instance_on_exception(context, instance.uuid):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUX%2F%2Fpo8%3D","line":2216,"updated":"2014-02-11 18:43:30.000000000","message":"needs a test, lots of conditionals here.","commit_id":"2510463d4b1e919dc229a5714685379c677a0365"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"f7e4a4af37a6034860b28b93fd38f5accf7c7526","unresolved":false,"context_lines":[{"line_number":2213,"context_line":"        if (bdms and"},{"line_number":2214,"context_line":"            any(not isinstance(bdm, block_device_obj.BlockDeviceMapping)"},{"line_number":2215,"context_line":"                for bdm in bdms)):"},{"line_number":2216,"context_line":"            bdms \u003d None"},{"line_number":2217,"context_line":""},{"line_number":2218,"context_line":"        orig_vm_state \u003d instance.vm_state"},{"line_number":2219,"context_line":"        with self._error_out_instance_on_exception(context, instance.uuid):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUX%2F%2FgrI%3D","line":2216,"in_reply_to":"AAAAUX%2F%2Fpo8%3D","updated":"2014-02-12 17:18:46.000000000","message":"Ignore this ... explained in later branch.","commit_id":"2510463d4b1e919dc229a5714685379c677a0365"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"a8933b437d9d23c2339857ad871713af58209ae6","unresolved":false,"context_lines":[{"line_number":2297,"context_line":"            def detach_block_devices(context, bdms):"},{"line_number":2298,"context_line":"                for bdm in bdms:"},{"line_number":2299,"context_line":"                    if bdm.is_volume:"},{"line_number":2300,"context_line":"                        self.volume_api.detach(context, bdm.volume_id)"},{"line_number":2301,"context_line":""},{"line_number":2302,"context_line":"            files \u003d self._decode_files(injected_files)"},{"line_number":2303,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUX%2F%2Fpow%3D","line":2300,"updated":"2014-02-11 18:43:30.000000000","message":"I know this is a pretty simple statement, but I like to see all control flows covered in unit tests. The concern comes in when someone adds more logic inside the if-statement and it\u0027s not covered.","commit_id":"2510463d4b1e919dc229a5714685379c677a0365"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"00c107c8a634a8df5afabe4be87b3f163044187a","unresolved":false,"context_lines":[{"line_number":2297,"context_line":"            def detach_block_devices(context, bdms):"},{"line_number":2298,"context_line":"                for bdm in bdms:"},{"line_number":2299,"context_line":"                    if bdm.is_volume:"},{"line_number":2300,"context_line":"                        self.volume_api.detach(context, bdm.volume_id)"},{"line_number":2301,"context_line":""},{"line_number":2302,"context_line":"            files \u003d self._decode_files(injected_files)"},{"line_number":2303,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUX%2F%2Ff2c%3D","line":2300,"in_reply_to":"AAAAUX%2F%2Fpow%3D","updated":"2014-02-12 19:11:56.000000000","message":"Wel there is no easy way to test this since it\u0027s an inline defined function, and I would have to pull it out of here, which is really not what this patch is supposed to do, so if you don\u0027t mind, I can report a bug, but would leave it here for now.","commit_id":"2510463d4b1e919dc229a5714685379c677a0365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a7f384ba34ae52c4c523b1da7c51a10f9ad0b89f","unresolved":false,"context_lines":[{"line_number":414,"context_line":"class ComputeManager(manager.Manager):"},{"line_number":415,"context_line":"    \"\"\"Manages the running instances from creation to destruction.\"\"\""},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    target \u003d messaging.Target(version\u003d\u00273.18\u0027)"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"    def __init__(self, compute_driver\u003dNone, *args, **kwargs):"},{"line_number":420,"context_line":"        \"\"\"Load configuration options and connect to the hypervisor.\"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2F2KI%3D","line":417,"updated":"2014-03-03 20:29:51.000000000","message":"This needs a rebase","commit_id":"35c0109f400f3094ffee1ef0af9d35f49375bb19"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a7f384ba34ae52c4c523b1da7c51a10f9ad0b89f","unresolved":false,"context_lines":[{"line_number":2210,"context_line":"        # NOTE (ndipanov): If we get non-object BDMs, just get them from the"},{"line_number":2211,"context_line":"        # db again, as this means they are sent in the old format and we want"},{"line_number":2212,"context_line":"        # to avoid converting them back when we can just get them."},{"line_number":2213,"context_line":"        # Remove this on the next major RPC version bump"},{"line_number":2214,"context_line":"        if (bdms and"},{"line_number":2215,"context_line":"            any(not isinstance(bdm, block_device_obj.BlockDeviceMapping)"},{"line_number":2216,"context_line":"                for bdm in bdms)):"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2F2H4%3D","line":2213,"updated":"2014-03-03 20:29:51.000000000","message":"Since you have to rebase this anyway, can you please say \"version 4\" here? It\u0027s hard to remember what \"the next version\" was when you\u0027re coming back later and cleaning these things up.","commit_id":"35c0109f400f3094ffee1ef0af9d35f49375bb19"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"e69f1930d15b9ed67a355aaf60677d491631a4dd","unresolved":false,"context_lines":[{"line_number":608,"context_line":"            bdms \u003d block_device.legacy_mapping(bdms)"},{"line_number":609,"context_line":"            bdms \u003d jsonutils.to_primitive(objects_base.obj_to_primitive(bdms))"},{"line_number":610,"context_line":"            version \u003d \u00273.5\u0027"},{"line_number":611,"context_line":"        else:"},{"line_number":612,"context_line":"            # NOTE(russellb) Havana compat"},{"line_number":613,"context_line":"            version \u003d self._get_compat_version(\u00273.0\u0027, \u00272.22\u0027)"},{"line_number":614,"context_line":"            extra \u003d {}"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAU3%2F%2Fmlk%3D","line":611,"updated":"2014-02-25 18:09:36.000000000","message":"Maybe I\u0027m missing something but shouldn\u0027t bdms be to_primitived in the else clause as well?","commit_id":"2c84fe25143eeacefa22b31424505c03f2e4312f"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"4c1d8fb7a166005e3d45c2e096c8f1f3230f23c5","unresolved":false,"context_lines":[{"line_number":608,"context_line":"            bdms \u003d block_device.legacy_mapping(bdms)"},{"line_number":609,"context_line":"            bdms \u003d jsonutils.to_primitive(objects_base.obj_to_primitive(bdms))"},{"line_number":610,"context_line":"            version \u003d \u00273.5\u0027"},{"line_number":611,"context_line":"        else:"},{"line_number":612,"context_line":"            # NOTE(russellb) Havana compat"},{"line_number":613,"context_line":"            version \u003d self._get_compat_version(\u00273.0\u0027, \u00272.22\u0027)"},{"line_number":614,"context_line":"            extra \u003d {}"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAU3%2F%2FmKk%3D","line":611,"in_reply_to":"AAAAU3%2F%2Fmlk%3D","updated":"2014-02-25 18:44:18.000000000","message":"Good catch!","commit_id":"2c84fe25143eeacefa22b31424505c03f2e4312f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f18d29f5f61787279bf7b59f9a4422456a1e322","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        # actually send it to compute"},{"line_number":610,"context_line":"        extra \u003d {\u0027preserve_ephemeral\u0027: preserve_ephemeral}"},{"line_number":611,"context_line":"        if self.client.can_send_version(\u00273.18\u0027):"},{"line_number":612,"context_line":"            version \u003d \u00273.18\u0027"},{"line_number":613,"context_line":"        else:"},{"line_number":614,"context_line":"            bdms \u003d block_device.legacy_mapping(bdms)"},{"line_number":615,"context_line":"            bdms \u003d jsonutils.to_primitive(objects_base.obj_to_primitive(bdms))"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2F00c%3D","line":612,"updated":"2014-03-03 22:37:18.000000000","message":"These need updating","commit_id":"5e2a6a1977798fee8c933939c25853decc114798"}],"nova/tests/compute/test_rpcapi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2f18d29f5f61787279bf7b59f9a4422456a1e322","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                injected_files\u003d\u0027None\u0027, image_ref\u003d\u0027None\u0027, orig_image_ref\u003d\u0027None\u0027,"},{"line_number":474,"context_line":"                bdms\u003d[], instance\u003dself.fake_instance, host\u003d\u0027new_host\u0027,"},{"line_number":475,"context_line":"                orig_sys_metadata\u003dNone, recreate\u003dTrue, on_shared_storage\u003dTrue,"},{"line_number":476,"context_line":"                preserve_ephemeral\u003dTrue, version\u003d\u00273.18\u0027)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        # NOTE(russellb) Havana compat"},{"line_number":479,"context_line":"        self.flags(compute\u003d\u0027havana\u0027, group\u003d\u0027upgrade_levels\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2F00E%3D","line":476,"updated":"2014-03-03 22:37:18.000000000","message":"and this","commit_id":"5e2a6a1977798fee8c933939c25853decc114798"}]}
