)]}'
{"doc/api_samples/all_extensions/extensions-get-resp.json":[{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"194814a7ae508d2949b3bf8d25bbb19c5d1fc8fb","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        },"},{"line_number":467,"context_line":"        {"},{"line_number":468,"context_line":"            \"alias\": \"os-preserve-ephemeral-rebuild\","},{"line_number":469,"context_line":"            \"description\": \"Allow to preserve the ephemeral partition on rebuild.\","},{"line_number":470,"context_line":"            \"links\": [],"},{"line_number":471,"context_line":"            \"name\": \"PreserveEphemeralOnRebuild\","},{"line_number":472,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/preserve_ephemeral_rebuild/api/v2\","}],"source_content_type":"application/json","patch_set":24,"id":"AAAAUH%2F%2FW14%3D","line":469,"updated":"2014-01-14 17:35:47.000000000","message":"Could we change this description to just:\n\n\"Preserve the ephemeral partition on rebuild\"","commit_id":"76876e670ea5a852e7f67efde0ce3de1147f2661"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"1d31e483ce8799852e2dbeef0aa9b6e321fb071d","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        },"},{"line_number":467,"context_line":"        {"},{"line_number":468,"context_line":"            \"alias\": \"os-preserve-ephemeral-rebuild\","},{"line_number":469,"context_line":"            \"description\": \"Allow to preserve the ephemeral partition on rebuild.\","},{"line_number":470,"context_line":"            \"links\": [],"},{"line_number":471,"context_line":"            \"name\": \"PreserveEphemeralOnRebuild\","},{"line_number":472,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/preserve_ephemeral_rebuild/api/v2\","}],"source_content_type":"application/json","patch_set":24,"id":"AAAAUH%2F%2FPI0%3D","line":469,"in_reply_to":"AAAAUH%2F%2FW14%3D","updated":"2014-01-16 02:54:59.000000000","message":"How about \u0027Allow preservation of ... \u0027 ? The extension doesn\u0027t force preservation, it permits it.","commit_id":"76876e670ea5a852e7f67efde0ce3de1147f2661"}],"nova/api/openstack/compute/plugins/v3/servers.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1901beaf519b5a1ee113daaa631fab01e1c4d0ac","unresolved":false,"context_lines":[{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        if \u0027preserve_ephemeral\u0027 in rebuild_dict:"},{"line_number":1148,"context_line":"            rebuild_kwargs[\u0027preserve_ephemeral\u0027] \u003d strutils.bool_from_string("},{"line_number":1149,"context_line":"                rebuild_dict[\u0027preserve_ephemeral\u0027])"},{"line_number":1150,"context_line":""},{"line_number":1151,"context_line":"        if list(self.rebuild_extension_manager):"},{"line_number":1152,"context_line":"            self.rebuild_extension_manager.map(self._rebuild_extension_point,"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F3hw%3D","line":1149,"updated":"2013-12-29 13:05:50.000000000","message":"probably better to use strict\u003dTrue here, though once the input validation patches land I guess it won\u0027t really be needed.","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"73edbede2ba9711ef93ae46e142cfc470357795c","unresolved":false,"context_lines":[{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        if \u0027preserve_ephemeral\u0027 in rebuild_dict:"},{"line_number":1148,"context_line":"            rebuild_kwargs[\u0027preserve_ephemeral\u0027] \u003d strutils.bool_from_string("},{"line_number":1149,"context_line":"                rebuild_dict[\u0027preserve_ephemeral\u0027])"},{"line_number":1150,"context_line":""},{"line_number":1151,"context_line":"        if list(self.rebuild_extension_manager):"},{"line_number":1152,"context_line":"            self.rebuild_extension_manager.map(self._rebuild_extension_point,"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F15g%3D","line":1149,"in_reply_to":"AAAAT3%2F%2F3hw%3D","updated":"2013-12-30 13:59:00.000000000","message":"Done","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1901beaf519b5a1ee113daaa631fab01e1c4d0ac","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        if (self.ext_mgr.is_loaded(\u0027os-preserve-ephemeral-rebuild\u0027)"},{"line_number":1322,"context_line":"                and \u0027preserve_ephemeral\u0027 in body):"},{"line_number":1323,"context_line":"            kwargs[\u0027preserve_ephemeral\u0027] \u003d strutils.bool_from_string("},{"line_number":1324,"context_line":"                body[\u0027preserve_ephemeral\u0027])"},{"line_number":1325,"context_line":""},{"line_number":1326,"context_line":"        if \u0027accessIPv4\u0027 in body:"},{"line_number":1327,"context_line":"            self._validate_access_ipv4(body[\u0027accessIPv4\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F3h0%3D","line":1324,"updated":"2013-12-29 13:05:50.000000000","message":"I think its probably better to use strict\u003dTrue for bool_from_string here so typos (eg ture) don\u0027t get silently interpreted as False.","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"73edbede2ba9711ef93ae46e142cfc470357795c","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        if (self.ext_mgr.is_loaded(\u0027os-preserve-ephemeral-rebuild\u0027)"},{"line_number":1322,"context_line":"                and \u0027preserve_ephemeral\u0027 in body):"},{"line_number":1323,"context_line":"            kwargs[\u0027preserve_ephemeral\u0027] \u003d strutils.bool_from_string("},{"line_number":1324,"context_line":"                body[\u0027preserve_ephemeral\u0027])"},{"line_number":1325,"context_line":""},{"line_number":1326,"context_line":"        if \u0027accessIPv4\u0027 in body:"},{"line_number":1327,"context_line":"            self._validate_access_ipv4(body[\u0027accessIPv4\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F15Q%3D","line":1324,"in_reply_to":"AAAAT3%2F%2F3h0%3D","updated":"2013-12-30 13:59:00.000000000","message":"Done","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"}],"nova/compute/manager.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"4b2c40e65a251d596131e8bdb5ffc5cf66ed7cf3","unresolved":false,"context_lines":[{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class ComputeManager(manager.Manager):"},{"line_number":424,"context_line":"    \"\"\"Manages the running instances from creation to destruction.\"\"\""},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    RPC_API_VERSION \u003d \u00273.1\u0027"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    def __init__(self, compute_driver\u003dNone, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9gbw%3D","line":425,"updated":"2013-12-10 20:24:25.000000000","message":"So if I understand correctly, here is what needs to be bumped.","commit_id":"7198eba77e3e3f3adda0446f3b788e909ceeaa0e"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"2d29bc184f083f62054ac8e3677cdca54e0eb16b","unresolved":false,"context_lines":[{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class ComputeManager(manager.Manager):"},{"line_number":424,"context_line":"    \"\"\"Manages the running instances from creation to destruction.\"\"\""},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    RPC_API_VERSION \u003d \u00273.1\u0027"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    def __init__(self, compute_driver\u003dNone, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9cxc%3D","line":425,"in_reply_to":"AAAATn%2F9gbw%3D","updated":"2013-12-11 16:59:03.000000000","message":"Seems so. Done.","commit_id":"7198eba77e3e3f3adda0446f3b788e909ceeaa0e"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1901beaf519b5a1ee113daaa631fab01e1c4d0ac","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"        if preserve_ephemeral:"},{"line_number":2110,"context_line":"            # The default code path does not support preserving ephemeral"},{"line_number":2111,"context_line":"            # partitions."},{"line_number":2112,"context_line":"            raise exception.PreserveEphemeralNotSupported()"},{"line_number":2113,"context_line":""},{"line_number":2114,"context_line":"        detach_block_devices(context, bdms)"},{"line_number":2115,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F3hg%3D","line":2112,"updated":"2013-12-29 13:05:50.000000000","message":"I don\u0027t see where this exception is handled at the API layer?","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"73edbede2ba9711ef93ae46e142cfc470357795c","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"        if preserve_ephemeral:"},{"line_number":2110,"context_line":"            # The default code path does not support preserving ephemeral"},{"line_number":2111,"context_line":"            # partitions."},{"line_number":2112,"context_line":"            raise exception.PreserveEphemeralNotSupported()"},{"line_number":2113,"context_line":""},{"line_number":2114,"context_line":"        detach_block_devices(context, bdms)"},{"line_number":2115,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F1es%3D","line":2112,"in_reply_to":"AAAAT3%2F%2F3hg%3D","updated":"2013-12-30 13:59:00.000000000","message":"Hmm, I believe it\u0027s very similar to handling of InstanceRecreateNotSupported: rebuild request was successfully handled by the API side and passed to the compute service, and only in the compute service we can tell, if this particular compute driver supports rebuilding instances preserving the state of the default ephemeral partition.\n\nI\u0027m not sure, if we can do anything besides setting the instance to the error state here (which is done by the exception handler one level above).","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"5aedde6444d1fd2ffefa9d0577cfdfb686513f34","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"        if preserve_ephemeral:"},{"line_number":2110,"context_line":"            # The default code path does not support preserving ephemeral"},{"line_number":2111,"context_line":"            # partitions."},{"line_number":2112,"context_line":"            raise exception.PreserveEphemeralNotSupported()"},{"line_number":2113,"context_line":""},{"line_number":2114,"context_line":"        detach_block_devices(context, bdms)"},{"line_number":2115,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAT3%2F%2FrGI%3D","line":2112,"updated":"2014-01-03 17:53:17.000000000","message":"This should be listed as a ClientException on rebuild_instance().  Search the file for other examples of this.","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"401415b47f8b83463e98d186b38dec5c2c795993","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"        if preserve_ephemeral:"},{"line_number":2110,"context_line":"            # The default code path does not support preserving ephemeral"},{"line_number":2111,"context_line":"            # partitions."},{"line_number":2112,"context_line":"            raise exception.PreserveEphemeralNotSupported()"},{"line_number":2113,"context_line":""},{"line_number":2114,"context_line":"        detach_block_devices(context, bdms)"},{"line_number":2115,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAUH%2F%2FyiA%3D","line":2112,"in_reply_to":"AAAAT3%2F%2FrGI%3D","updated":"2014-01-08 14:57:56.000000000","message":"Done","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"734549449e7f7e7bd588898aff81921664e9fb50","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                   orig_image_ref\u003dorig_image_ref,"},{"line_number":566,"context_line":"                   orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms_p,"},{"line_number":567,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":568,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral)"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    def refresh_provider_fw_rules(self, ctxt, host):"},{"line_number":571,"context_line":"        # NOTE(russellb) Havana compat"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9gfo%3D","line":568,"updated":"2013-12-10 20:12:54.000000000","message":"If I\u0027m reading openstack/common/rpc/distpatcher.py right, this would require an rpc version bump. Right?","commit_id":"7198eba77e3e3f3adda0446f3b788e909ceeaa0e"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"2d29bc184f083f62054ac8e3677cdca54e0eb16b","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                   orig_image_ref\u003dorig_image_ref,"},{"line_number":566,"context_line":"                   orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms_p,"},{"line_number":567,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":568,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral)"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    def refresh_provider_fw_rules(self, ctxt, host):"},{"line_number":571,"context_line":"        # NOTE(russellb) Havana compat"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9cxs%3D","line":568,"in_reply_to":"AAAATn%2F9gfo%3D","updated":"2013-12-11 16:59:03.000000000","message":"Good point! Done","commit_id":"7198eba77e3e3f3adda0446f3b788e909ceeaa0e"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"18086d7991ea360429055e51b56ca6e6583f0444","unresolved":false,"context_lines":[{"line_number":561,"context_line":"    def rebuild_instance(self, ctxt, instance, new_pass, injected_files,"},{"line_number":562,"context_line":"            image_ref, orig_image_ref, orig_sys_metadata, bdms,"},{"line_number":563,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":564,"context_line":"            preserve_ephemeral\u003dFalse, kwargs\u003dNone):"},{"line_number":565,"context_line":"        # NOTE(danms): kwargs is only here for cells compatibility, don\u0027t"},{"line_number":566,"context_line":"        # actually send it to compute"},{"line_number":567,"context_line":"        if self.can_send_version(\u00273.4\u0027):"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAATn%2F8z7M%3D","line":564,"updated":"2013-12-20 03:02:12.000000000","message":"this requires a minor RPC API bump right?","commit_id":"a64695a762a038c90dcce07c7b506bc58d925bd3"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"448856c7426d25f7b3f1ac419c684dfb3e4017a5","unresolved":false,"context_lines":[{"line_number":561,"context_line":"    def rebuild_instance(self, ctxt, instance, new_pass, injected_files,"},{"line_number":562,"context_line":"            image_ref, orig_image_ref, orig_sys_metadata, bdms,"},{"line_number":563,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":564,"context_line":"            preserve_ephemeral\u003dFalse, kwargs\u003dNone):"},{"line_number":565,"context_line":"        # NOTE(danms): kwargs is only here for cells compatibility, don\u0027t"},{"line_number":566,"context_line":"        # actually send it to compute"},{"line_number":567,"context_line":"        if self.can_send_version(\u00273.4\u0027):"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAATn%2F8yFg%3D","line":564,"in_reply_to":"AAAATn%2F8z7M%3D","updated":"2013-12-20 13:59:21.000000000","message":"Good catch! Done","commit_id":"a64695a762a038c90dcce07c7b506bc58d925bd3"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"5aedde6444d1fd2ffefa9d0577cfdfb686513f34","unresolved":false,"context_lines":[{"line_number":581,"context_line":"                   orig_image_ref\u003dorig_image_ref,"},{"line_number":582,"context_line":"                   orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms_p,"},{"line_number":583,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":584,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"    def refresh_provider_fw_rules(self, ctxt, host):"},{"line_number":587,"context_line":"        # NOTE(russellb) Havana compat"}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAT3%2F%2FrF8%3D","line":584,"updated":"2014-01-03 17:53:17.000000000","message":"You should only be sending preserve_ephemeral if can_send_version() says you can send \u00273.5\u0027.  If not, you should fall back to \u00273.4\u0027 without it.","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"401415b47f8b83463e98d186b38dec5c2c795993","unresolved":false,"context_lines":[{"line_number":581,"context_line":"                   orig_image_ref\u003dorig_image_ref,"},{"line_number":582,"context_line":"                   orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms_p,"},{"line_number":583,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":584,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"    def refresh_provider_fw_rules(self, ctxt, host):"},{"line_number":587,"context_line":"        # NOTE(russellb) Havana compat"}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAUH%2F%2Fyaw%3D","line":584,"in_reply_to":"AAAAT3%2F%2FrF8%3D","updated":"2014-01-08 14:57:56.000000000","message":"Done","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"}],"nova/exception.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"18086d7991ea360429055e51b56ca6e6583f0444","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"class PreserveEphemeralNotSupported(Invalid):"},{"line_number":539,"context_line":"    msg_fmt \u003d _("},{"line_number":540,"context_line":"        \"The current driver does not support preserving ephemeral partitions.\""},{"line_number":541,"context_line":"        )"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAATn%2F8z7c%3D","line":540,"updated":"2013-12-20 03:02:12.000000000","message":"A user shouldn\u0027t need to know what a \u0027driver\u0027 is.","commit_id":"a64695a762a038c90dcce07c7b506bc58d925bd3"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"448856c7426d25f7b3f1ac419c684dfb3e4017a5","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"class PreserveEphemeralNotSupported(Invalid):"},{"line_number":539,"context_line":"    msg_fmt \u003d _("},{"line_number":540,"context_line":"        \"The current driver does not support preserving ephemeral partitions.\""},{"line_number":541,"context_line":"        )"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAATn%2F8yDo%3D","line":540,"in_reply_to":"AAAATn%2F8z7c%3D","updated":"2013-12-20 13:59:21.000000000","message":"This might not be the best exception message, but we already have similar cases (InstanceRecreateNotSupported - \"Instance recreate is not implemented by this virt driver.\",  UnsupportedVirtType - \"Virtualization type \u0027%(virt)s\u0027 is not supported by this compute driver\", etc).\n\nSo I\u0027d rather we keep this as is. Though, I\u0027m open to suggestions :)","commit_id":"a64695a762a038c90dcce07c7b506bc58d925bd3"}],"nova/tests/api/openstack/compute/plugins/v3/test_server_actions.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1901beaf519b5a1ee113daaa631fab01e1c4d0ac","unresolved":false,"context_lines":[{"line_number":517,"context_line":"        self.mox.ReplayAll()"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        self.controller._action_rebuild(req, FAKE_UUID, body)"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    def test_resize_server(self):"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"        body \u003d dict(resize\u003ddict(flavor_ref\u003d\"http://localhost/3\"))"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F3ho%3D","line":520,"updated":"2013-12-29 13:05:50.000000000","message":"I think you should also test that the default current behaviour of preserve_ephemeral not being passed or is false is retained","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"73edbede2ba9711ef93ae46e142cfc470357795c","unresolved":false,"context_lines":[{"line_number":517,"context_line":"        self.mox.ReplayAll()"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        self.controller._action_rebuild(req, FAKE_UUID, body)"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    def test_resize_server(self):"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"        body \u003d dict(resize\u003ddict(flavor_ref\u003d\"http://localhost/3\"))"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F1wE%3D","line":520,"in_reply_to":"AAAAT3%2F%2F3ho%3D","updated":"2013-12-30 13:59:00.000000000","message":"Done","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"}],"nova/tests/compute/test_rpcapi.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"5aedde6444d1fd2ffefa9d0577cfdfb686513f34","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                injected_files\u003d\u0027None\u0027, image_ref\u003d\u0027None\u0027, orig_image_ref\u003d\u0027None\u0027,"},{"line_number":478,"context_line":"                bdms\u003d[], instance\u003dself.fake_instance, host\u003d\u0027new_host\u0027,"},{"line_number":479,"context_line":"                orig_sys_metadata\u003dNone, recreate\u003dTrue, on_shared_storage\u003dTrue,"},{"line_number":480,"context_line":"                preserve_ephemeral\u003dFalse, version\u003d\u00273.4\u0027)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        # NOTE(russellb) Havana compat"},{"line_number":483,"context_line":"        self.flags(compute\u003d\u0027havana\u0027, group\u003d\u0027upgrade_levels\u0027)"}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAT3%2F%2FrFs%3D","line":480,"updated":"2014-01-03 17:53:17.000000000","message":"You need another test case here for 3.5 with this arg.  3.4 should not have it.","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"401415b47f8b83463e98d186b38dec5c2c795993","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                injected_files\u003d\u0027None\u0027, image_ref\u003d\u0027None\u0027, orig_image_ref\u003d\u0027None\u0027,"},{"line_number":478,"context_line":"                bdms\u003d[], instance\u003dself.fake_instance, host\u003d\u0027new_host\u0027,"},{"line_number":479,"context_line":"                orig_sys_metadata\u003dNone, recreate\u003dTrue, on_shared_storage\u003dTrue,"},{"line_number":480,"context_line":"                preserve_ephemeral\u003dFalse, version\u003d\u00273.4\u0027)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        # NOTE(russellb) Havana compat"},{"line_number":483,"context_line":"        self.flags(compute\u003d\u0027havana\u0027, group\u003d\u0027upgrade_levels\u0027)"}],"source_content_type":"text/x-python","patch_set":22,"id":"AAAAUH%2F%2FyYA%3D","line":480,"in_reply_to":"AAAAT3%2F%2FrFs%3D","updated":"2014-01-08 14:57:56.000000000","message":"Done","commit_id":"8d42bc824bb3d4ef4f37e4cc3ffbd51cf8342eea"}],"nova/tests/integrated/test_api_samples.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"00166631addcf42158d53a2401bc43bf4ece41cc","unresolved":false,"context_lines":[{"line_number":4021,"context_line":"        subs \u003d {\u0027host\u0027: self._get_host(),"},{"line_number":4022,"context_line":"                \u0027uuid\u0027: image,"},{"line_number":4023,"context_line":"                \u0027name\u0027: \u0027new-server-test\u0027,"},{"line_number":4024,"context_line":"                \u0027pass\u0027: \u0027seekr3t\u0027,"},{"line_number":4025,"context_line":"                \u0027ip\u0027: \u00271.2.3.4\u0027,"},{"line_number":4026,"context_line":"                \u0027ip6\u0027: \u0027fe80::100\u0027,"},{"line_number":4027,"context_line":"                \u0027hostid\u0027: \u0027[a-f0-9]+\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAATn%2F8vmI%3D","line":4024,"updated":"2013-12-20 19:20:51.000000000","message":"really? seekr3t","commit_id":"97a48709f5db7eba9af2b5ffe9f095175b2bd0d5"}],"nova/tests/integrated/v3/test_servers.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1901beaf519b5a1ee113daaa631fab01e1c4d0ac","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self.stubs.Set(compute_api.API, \u0027rebuild\u0027, fake_rebuild)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        response \u003d self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":140,"context_line":"                                 \u0027server-action-rebuild\u0027, subs)"},{"line_number":141,"context_line":"        self.assertEqual(response.status, 202)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def test_server_resize(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F3hk%3D","line":140,"updated":"2013-12-29 13:05:50.000000000","message":"To get two different api request samples (one with ephemeral true (default) and one with ephemeral false) I think you\u0027ll need to call this one with a different filename.","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"73edbede2ba9711ef93ae46e142cfc470357795c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self.stubs.Set(compute_api.API, \u0027rebuild\u0027, fake_rebuild)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        response \u003d self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":140,"context_line":"                                 \u0027server-action-rebuild\u0027, subs)"},{"line_number":141,"context_line":"        self.assertEqual(response.status, 202)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def test_server_resize(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAT3%2F%2F1co%3D","line":140,"in_reply_to":"AAAAT3%2F%2F3hk%3D","updated":"2013-12-30 13:59:00.000000000","message":"When not passed, preserve_ephemeral defaults to False. So I\u0027d probably better leave test_server_rebuild() unchanged and call test_server_rebuild_preserve_ephemeral() with preserve_ephemeral set to both False and True (indeed, there will be only one request sample file for preserve_ephemeral passed case, but are there any benefits in providing two almost equal sample files which would be different only in preserve_ephemeral var value?).","commit_id":"8d8f1cf3f975460f709c0c946d5ddcc94a1a665a"}]}
