)]}'
{"nova/api/ec2/cloud.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def _state_description(power_state_, vm_state,"},{"line_number":105,"context_line":"                       instance_initiated_shutdown_terminate):"},{"line_number":106,"context_line":"    \"\"\"Map the vm state to the server status string\"\"\""},{"line_number":107,"context_line":"    name \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7ok%3D","line":104,"updated":"2011-12-20 20:18:56.000000000","message":"Why does this routine get the power_state and then not use it?","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    name \u003d None"},{"line_number":108,"context_line":"    if (vm_state \u003d\u003d vm_states.SHUTOFF and"},{"line_number":109,"context_line":"        not instance_initiated_shutdown_terminate):"},{"line_number":110,"context_line":"            name \u003d inst_state.STOPPED"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if name is None:"},{"line_number":113,"context_line":"        name \u003d _STATE_DESCRIPTION_MAP.get(vm_state, vm_state)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7o8%3D","line":110,"updated":"2011-12-20 20:18:56.000000000","message":"This looks to be indented too heavily.","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        not instance_initiated_shutdown_terminate):"},{"line_number":110,"context_line":"            name \u003d inst_state.STOPPED"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    if name is None:"},{"line_number":113,"context_line":"        name \u003d _STATE_DESCRIPTION_MAP.get(vm_state, vm_state)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return {\u0027code\u0027: inst_state.name_to_code(name),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7ow%3D","line":112,"updated":"2011-12-20 20:18:56.000000000","message":"Why not use an else clause?  That should keep you from having to use \"name \u003d None\"","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"30ef4e9934f5570caa01e5d0dabe0c572f60e8a6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from nova.api.ec2 import ec2utils"},{"line_number":34,"context_line":"from nova.api.ec2 import inst_state"},{"line_number":35,"context_line":"from nova.compute import instance_types"},{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2B%2BE%3D","line":34,"updated":"2012-01-11 16:56:13.000000000","message":"For HACKING compliance, this import should occur after the instance_types import.","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"11a84c6de25e0e7a68ddf1e92d7761e7f2f271c7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from nova.api.ec2 import ec2utils"},{"line_number":34,"context_line":"from nova.api.ec2 import inst_state"},{"line_number":35,"context_line":"from nova.compute import instance_types"},{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2BvM%3D","line":34,"in_reply_to":"AAAAD3%2F%2F%2B%2BE%3D","updated":"2012-01-12 06:43:54.000000000","message":"Done","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"66c0894bb369b605b650a600eeb8ac6991567dbc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from nova.api.ec2 import ec2utils"},{"line_number":34,"context_line":"from nova.api.ec2 import inst_state"},{"line_number":35,"context_line":"from nova.compute import instance_types"},{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2Bp8%3D","line":34,"in_reply_to":"AAAAD3%2F%2F%2BvM%3D","updated":"2012-01-12 16:26:52.000000000","message":"Actually, I was wrong; I missed the difference between \"from nova.api.ec2\" and \"from nova.compute\".  My bad.\n\nThe import ordering here is sort of messed up, too; I don\u0027t think that\u0027s your fault, so I\u0027m not going to hold up your patch for this.  If you feel like helping us out, though, you can reorder the imports the right way :)  (As far as I can see, the necessary change would be to move \"from nova.compute import instance_types\" to be after \"from nova import compute\"…)","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"30ef4e9934f5570caa01e5d0dabe0c572f60e8a6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"},{"line_number":38,"context_line":"from nova.compute import vm_states"},{"line_number":39,"context_line":"from nova.compute import power_state"},{"line_number":40,"context_line":"from nova import crypto"},{"line_number":41,"context_line":"from nova import db"},{"line_number":42,"context_line":"from nova import exception"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2B%2BI%3D","line":39,"updated":"2012-01-11 16:56:13.000000000","message":"For HACKING compliance, this import should occur before the vm_states import.","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"11a84c6de25e0e7a68ddf1e92d7761e7f2f271c7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"},{"line_number":38,"context_line":"from nova.compute import vm_states"},{"line_number":39,"context_line":"from nova.compute import power_state"},{"line_number":40,"context_line":"from nova import crypto"},{"line_number":41,"context_line":"from nova import db"},{"line_number":42,"context_line":"from nova import exception"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2BvI%3D","line":39,"in_reply_to":"AAAAD3%2F%2F%2B%2BI%3D","updated":"2012-01-12 06:43:54.000000000","message":"Done","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"66c0894bb369b605b650a600eeb8ac6991567dbc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from nova import block_device"},{"line_number":37,"context_line":"from nova import compute"},{"line_number":38,"context_line":"from nova.compute import vm_states"},{"line_number":39,"context_line":"from nova.compute import power_state"},{"line_number":40,"context_line":"from nova import crypto"},{"line_number":41,"context_line":"from nova import db"},{"line_number":42,"context_line":"from nova import exception"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2Bp4%3D","line":39,"in_reply_to":"AAAAD3%2F%2F%2BvI%3D","updated":"2012-01-12 16:26:52.000000000","message":"Thank you :)","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"}],"nova/compute/api.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"c9b463bde4be0939c6f6fb2e81be96da31d407b1","unresolved":false,"context_lines":[{"line_number":887,"context_line":"        instance_uuid \u003d instance[\"uuid\"]"},{"line_number":888,"context_line":"        LOG.debug(_(\"Going to try to start %s\"), instance_uuid)"},{"line_number":889,"context_line":""},{"line_number":890,"context_line":"        if not (vm_state \u003d\u003d vm_states.STOPPED or"},{"line_number":891,"context_line":"                (power_state_ \u003d\u003d power_state.NOSTATE and"},{"line_number":892,"context_line":"                 vm_state \u003d\u003d vm_states.ACTIVE and"},{"line_number":893,"context_line":"                 instance[\u0027instance_initiated_shutdown_behavior\u0027] \u003d\u003d \u0027stop\u0027)):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F770%3D","line":890,"updated":"2011-12-19 19:43:20.000000000","message":"I don\u0027t think this check is necessary anymore because of the decorator.  Also it seems like some of this logic could be simplified by creating a new state like:\nvm_states.INITIATED_STOPPED\nand being able to check on that state.","commit_id":"b853b7d07351bf9c8b63eade27b1db2d8e95e779"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":856,"context_line":"        \"\"\"Force delete a previously deleted (but not reclaimed) instance.\"\"\""},{"line_number":857,"context_line":"        self._delete(context, instance)"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":860,"context_line":"                                    vm_states.RESCUED],"},{"line_number":861,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":862,"context_line":"    @scheduler_api.reroute_compute(\"stop\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7og%3D","line":859,"updated":"2011-12-20 20:18:56.000000000","message":"Why is \"stop\" valid when the instance is shut off?","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"9aae8ee6e7752aa007c72400e428ed492b6e92e2","unresolved":false,"context_lines":[{"line_number":856,"context_line":"        \"\"\"Force delete a previously deleted (but not reclaimed) instance.\"\"\""},{"line_number":857,"context_line":"        self._delete(context, instance)"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":860,"context_line":"                                    vm_states.RESCUED],"},{"line_number":861,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":862,"context_line":"    @scheduler_api.reroute_compute(\"stop\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F6fE%3D","line":859,"in_reply_to":"AAAAC3%2F%2F7og%3D","updated":"2011-12-27 06:44:22.000000000","message":"Because SHUTOFF is split out from ACTIVE. So I tried not to change the current behavior.\nOff course we can discuss that such vm_states transition shouldn\u0027t be allowed. But I think such discussion/modification should be done separately.\nSame argument applies the all the followiing questions.","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":1169,"context_line":"                                   params\u003dparams)"},{"line_number":1170,"context_line":"        return recv_meta"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":1173,"context_line":"                                    vm_states.RESCUED],"},{"line_number":1174,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":1175,"context_line":"    @scheduler_api.reroute_compute(\"reboot\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7oc%3D","line":1172,"updated":"2011-12-20 20:18:56.000000000","message":"What does it mean to reboot an instance that\u0027s shut off?","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"9aae8ee6e7752aa007c72400e428ed492b6e92e2","unresolved":false,"context_lines":[{"line_number":1169,"context_line":"                                   params\u003dparams)"},{"line_number":1170,"context_line":"        return recv_meta"},{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":1173,"context_line":"                                    vm_states.RESCUED],"},{"line_number":1174,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":1175,"context_line":"    @scheduler_api.reroute_compute(\"reboot\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F6fA%3D","line":1172,"in_reply_to":"AAAAC3%2F%2F7oc%3D","updated":"2011-12-27 06:44:22.000000000","message":"Please see the comment above","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":1356,"context_line":"        # didn\u0027t raise so this is the correct zone"},{"line_number":1357,"context_line":"        self.network_api.add_network_to_project(context, project_id)"},{"line_number":1358,"context_line":""},{"line_number":1359,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":1360,"context_line":"                                    vm_states.RESCUED],"},{"line_number":1361,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":1362,"context_line":"    @scheduler_api.reroute_compute(\"pause\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7oY%3D","line":1359,"updated":"2011-12-20 20:18:56.000000000","message":"I\u0027m not sure it makes sense to pause a shut-off instance...","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"        \"\"\"Retrieve actions for the given instance.\"\"\""},{"line_number":1408,"context_line":"        return self.db.instance_get_actions(context, instance[\u0027uuid\u0027])"},{"line_number":1409,"context_line":""},{"line_number":1410,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.SHUTOFF,"},{"line_number":1411,"context_line":"                                    vm_states.RESCUED],"},{"line_number":1412,"context_line":"                          task_state\u003d[None, task_states.RESIZE_VERIFY])"},{"line_number":1413,"context_line":"    @scheduler_api.reroute_compute(\"suspend\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7oU%3D","line":1410,"updated":"2011-12-20 20:18:56.000000000","message":"Does it make sense to suspend a shut-off instance?","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"}],"nova/db/sqlalchemy/migrate_repo/versions/065_add_instance_attribute.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"c9b463bde4be0939c6f6fb2e81be96da31d407b1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"instance_initiated_shutdown_behavior \u003d Column("},{"line_number":22,"context_line":"    \u0027instance_initiated_shutdown_behavior\u0027,"},{"line_number":23,"context_line":"    String(255), default\u003d\u0027terminate\u0027)"},{"line_number":24,"context_line":"disable_api_termination \u003d Column("},{"line_number":25,"context_line":"    \u0027disable_api_termination\u0027, Boolean(), default\u003dFalse)"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F77s%3D","line":23,"updated":"2011-12-19 19:43:20.000000000","message":"1) is it necessary to store this in the database?  It seems like we can calculate this based on whether the root device is a volume or not?\n\n2) is there a reason to have a string here? Is the value boolean stop vs. terminate? or is there potential for something else like \u0027restart\u0027","commit_id":"b853b7d07351bf9c8b63eade27b1db2d8e95e779"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"518906f3f99b4290dccadefb173f04799f863c65","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"instance_initiated_shutdown_behavior \u003d Column("},{"line_number":22,"context_line":"    \u0027instance_initiated_shutdown_behavior\u0027,"},{"line_number":23,"context_line":"    String(255), default\u003d\u0027terminate\u0027)"},{"line_number":24,"context_line":"disable_api_termination \u003d Column("},{"line_number":25,"context_line":"    \u0027disable_api_termination\u0027, Boolean(), default\u003dFalse)"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F7zs%3D","line":23,"in_reply_to":"AAAAC3%2F%2F77s%3D","updated":"2011-12-20 06:17:43.000000000","message":"1): it is an user-modifable instance attribute. So it needs storage.\nPlease refer to http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-ModifyInstanceAttribute.html\n\n2) It can be bool. So I\u0027ll make it bool.","commit_id":"b853b7d07351bf9c8b63eade27b1db2d8e95e779"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3fd67cf85659d00598bdfac44bfc828fc5567c0b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"instance_initiated_shutdown_terminate \u003d Column("},{"line_number":22,"context_line":"    \u0027instance_initiated_shutdown_terminate\u0027, Boolean(), default\u003dTrue)"},{"line_number":23,"context_line":"disable_api_termination \u003d Column("},{"line_number":24,"context_line":"    \u0027disable_api_termination\u0027, Boolean(), default\u003dFalse)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def upgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F7oo%3D","line":24,"updated":"2011-12-20 20:18:56.000000000","message":"Is there any way we can use shorter column names, both here and in the model?  I\u0027m not going to -1 the patch over it, but this is a very long name to type, and I start to wonder what length restrictions might exist on column names in various database engines...","commit_id":"cc58ff2315228e9b6668b35b6a48ca71774a6b27"}],"nova/tests/test_compute.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"30ef4e9934f5570caa01e5d0dabe0c572f60e8a6","unresolved":false,"context_lines":[{"line_number":1566,"context_line":"    def test_start_shutdown(self):"},{"line_number":1567,"context_line":"        def check_state(instance_uuid, power_state_, vm_state_, task_state_):"},{"line_number":1568,"context_line":"            instance \u003d db.instance_get_by_uuid(self.context, instance_uuid)"},{"line_number":1569,"context_line":"            ## LOG.debug(\u0027%s %s %s %s\u0027, instance[\u0027power_state\u0027],"},{"line_number":1570,"context_line":"            ##           instance[\u0027vm_state\u0027], instance[\u0027task_state\u0027],"},{"line_number":1571,"context_line":"            ##           instance[\u0027shutdown_terminate\u0027])"},{"line_number":1572,"context_line":"            self.assertEqual(instance[\u0027power_state\u0027], power_state_)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2B9w%3D","line":1569,"updated":"2012-01-11 16:56:13.000000000","message":"I\u0027d almost rather you removed these \u0027##\u0027 lines…","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"11a84c6de25e0e7a68ddf1e92d7761e7f2f271c7","unresolved":false,"context_lines":[{"line_number":1566,"context_line":"    def test_start_shutdown(self):"},{"line_number":1567,"context_line":"        def check_state(instance_uuid, power_state_, vm_state_, task_state_):"},{"line_number":1568,"context_line":"            instance \u003d db.instance_get_by_uuid(self.context, instance_uuid)"},{"line_number":1569,"context_line":"            ## LOG.debug(\u0027%s %s %s %s\u0027, instance[\u0027power_state\u0027],"},{"line_number":1570,"context_line":"            ##           instance[\u0027vm_state\u0027], instance[\u0027task_state\u0027],"},{"line_number":1571,"context_line":"            ##           instance[\u0027shutdown_terminate\u0027])"},{"line_number":1572,"context_line":"            self.assertEqual(instance[\u0027power_state\u0027], power_state_)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F%2BvE%3D","line":1569,"in_reply_to":"AAAAD3%2F%2F%2B9w%3D","updated":"2012-01-12 06:43:54.000000000","message":"Done","commit_id":"51e727eb072243f1c9a9caeb099852806ba589ad"}]}
