)]}'
{"nova/compute/api.py":[{"author":{"_account_id":9450,"name":"Juan Manuel Ollé","email":"juan.m.olle@intel.com","username":"jmolle"},"change_message_id":"17ad8c695791ba3898d75ca90230135fe555f358","unresolved":false,"context_lines":[{"line_number":2987,"context_line":"        \"\"\""},{"line_number":2988,"context_line":"        LOG.debug(_(\u0027vm evacuation scheduled\u0027))"},{"line_number":2989,"context_line":"        inst_host \u003d instance[\u0027host\u0027]"},{"line_number":2990,"context_line":"        pick_host_with_scheduler \u003d False"},{"line_number":2991,"context_line":""},{"line_number":2992,"context_line":"        service \u003d service_obj.Service.get_by_compute_host(context, inst_host)"},{"line_number":2993,"context_line":"        if self.servicegroup_api.service_is_up(service):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUX%2F%2B2PQ%3D","line":2990,"updated":"2014-02-18 16:42:13.000000000","message":"I think this is unneeded due to the fact that it is not used until reasigned 10 lines down","commit_id":"263020a5a112c96c39a24c6a713a8bbcbd2726c7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"da46a25ce392c488cdb9cfd4ab75f881d592ee0e","unresolved":false,"context_lines":[{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"        self._record_action_start(context, instance, instance_actions.REBUILD)"},{"line_number":2153,"context_line":""},{"line_number":2154,"context_line":"        self.compute_task_api.rebuild_instance(context, instance\u003dinstance,"},{"line_number":2155,"context_line":"                new_pass\u003dadmin_password, injected_files\u003dfiles_to_inject,"},{"line_number":2156,"context_line":"                image_ref\u003dimage_href, orig_image_ref\u003dorig_image_ref,"},{"line_number":2157,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2F6us%3D","line":2154,"updated":"2014-02-27 11:51:23.000000000","message":"I worry about cells here, I can\u0027t remember how much is automatic.\n\nAlso I wonder if more of this method should be moving into the conductor, it might be hard to change the interface once we move this in its current form.\n\nI need more time to decide, so just a neutral vote to raise this for other reviewers.","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"e0c0b8a0bb42cb16ae3ded6e5417bb0f4cf8e238","unresolved":false,"context_lines":[{"line_number":3009,"context_line":"            expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027])"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        #if host not set, let the scheduler pick one."},{"line_number":3012,"context_line":"        pick_host_with_scheduler \u003d not host"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"        return self.compute_task_api.rebuild_instance(context,"},{"line_number":3015,"context_line":"                       instance\u003dinst_obj,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2F3Dg%3D","line":3012,"updated":"2014-02-27 18:59:26.000000000","message":"As far as I can tell, host is required to be set by the API.  Even if that weren\u0027t the case I would prefer that using the scheduler be an explicit choice rather than forgetting to specify something.  Something like an additional flag to the evacuate API extension.","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f18b6e7c208daf93b4290096ae151fec8fc99407","unresolved":false,"context_lines":[{"line_number":3009,"context_line":"            expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027])"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        #if host not set, let the scheduler pick one."},{"line_number":3012,"context_line":"        pick_host_with_scheduler \u003d not host"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"        return self.compute_task_api.rebuild_instance(context,"},{"line_number":3015,"context_line":"                       instance\u003dinst_obj,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoZk%3D","line":3012,"updated":"2014-03-02 10:51:23.000000000","message":"it is not clear when this flag is used. can you please clarify.","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"d512b18ce4c0ceb5b6f1f7bc467525459234bd6d","unresolved":false,"context_lines":[{"line_number":3009,"context_line":"            expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027])"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        #if host not set, let the scheduler pick one."},{"line_number":3012,"context_line":"        pick_host_with_scheduler \u003d not host"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"        return self.compute_task_api.rebuild_instance(context,"},{"line_number":3015,"context_line":"                       instance\u003dinst_obj,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2F2UE%3D","line":3012,"in_reply_to":"AAAAVX%2F%2F3Dg%3D","updated":"2014-02-27 21:04:44.000000000","message":"There\u0027s a v2 extension to advertise this change. \nThe novaclient patches add a --find-host parameter to avoid that situation.\nThanks for the input!","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"77a5ff0c5f539fd5faa014e5ee8f48c494f02d92","unresolved":false,"context_lines":[{"line_number":3009,"context_line":"            expected_attrs\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027])"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        #if host not set, let the scheduler pick one."},{"line_number":3012,"context_line":"        pick_host_with_scheduler \u003d not host"},{"line_number":3013,"context_line":""},{"line_number":3014,"context_line":"        return self.compute_task_api.rebuild_instance(context,"},{"line_number":3015,"context_line":"                       instance\u003dinst_obj,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoTg%3D","line":3012,"in_reply_to":"AAAAVX%2F%2FoZk%3D","updated":"2014-03-02 12:12:37.000000000","message":"Yes.\nThe reason of having the flag is that rebuild_instance is called by rebuild and evacuate.\nRebuild don\u0027t use host initially so this is the way to identify is the host is empty on purpose or not.\n\nThe use of this flag is at:\nhttps://review.openstack.org/#/c/56197/","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"35f5f28e3b4b599c5d3c98714c02b92bce2c8cfd","unresolved":false,"context_lines":[{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"        self._record_action_start(context, instance, instance_actions.REBUILD)"},{"line_number":2153,"context_line":""},{"line_number":2154,"context_line":"        self.compute_task_api.rebuild_instance(context, instance\u003dinstance,"},{"line_number":2155,"context_line":"                new_pass\u003dadmin_password, injected_files\u003dfiles_to_inject,"},{"line_number":2156,"context_line":"                image_ref\u003dimage_href, orig_image_ref\u003dorig_image_ref,"},{"line_number":2157,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms,"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAVX%2F%2FoRg%3D","line":2154,"updated":"2014-03-02 12:22:35.000000000","message":"(Adding John Comment from old patchset)\n\nJohn Garbutt\t\tFeb 27\nI worry about cells here, I can\u0027t remember how much is automatic.\nAlso I wonder if more of this method should be moving into the conductor, it might be hard to change the interface once we move this in its current form.\nI need more time to decide, so just a neutral vote to raise this for other reviewers.","commit_id":"c64fcaaad06a22d497e0cf5838127c73a9879a0b"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"8fd7f767d899c426d2fdfba50c632503a0df7248","unresolved":false,"context_lines":[{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"        self._record_action_start(context, instance, instance_actions.REBUILD)"},{"line_number":2153,"context_line":""},{"line_number":2154,"context_line":"        self.compute_task_api.rebuild_instance(context, instance\u003dinstance,"},{"line_number":2155,"context_line":"                new_pass\u003dadmin_password, injected_files\u003dfiles_to_inject,"},{"line_number":2156,"context_line":"                image_ref\u003dimage_href, orig_image_ref\u003dorig_image_ref,"},{"line_number":2157,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAVX%2F%2FoJg%3D","line":2154,"updated":"2014-03-02 14:00:35.000000000","message":"Adding John Comment from old patchset)\nJohn Garbutt\t Feb 27 I worry about cells here, I can\u0027t remember how much is automatic. Also I wonder if more of this method should be moving into the conductor, it might be hard to change the interface once we move this in its current form. I need more time to decide, so just a neutral vote to raise this for other reviewers.","commit_id":"0e606f599b05dbf16a75122aa664e0bc7fd4f205"}],"nova/conductor/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2b0e0d17aaa582671210326d8c48e20ca69c6092","unresolved":false,"context_lines":[{"line_number":859,"context_line":"                    recreate\u003drecreate,"},{"line_number":860,"context_line":"                    on_shared_storage\u003don_shared_storage,"},{"line_number":861,"context_line":"                    preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":862,"context_line":"                    host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B%2BAA%3D","line":862,"updated":"2014-02-17 22:38:54.000000000","message":"I\u0027m not sure why we\u0027re adding a new conductor API for this. It looks like we make a cast to conductor and then have conductor\u0027s manager do a cast to compute for rebuild_instance. Why not just have the compute do the cast in the first place and avoid this API baggage?","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"1744b7b0f798818bf521a359950b0365403cc724","unresolved":false,"context_lines":[{"line_number":859,"context_line":"                    recreate\u003drecreate,"},{"line_number":860,"context_line":"                    on_shared_storage\u003don_shared_storage,"},{"line_number":861,"context_line":"                    preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":862,"context_line":"                    host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B9sE%3D","line":862,"in_reply_to":"AAAAUX%2F%2B%2BAA%3D","updated":"2014-02-17 23:44:00.000000000","message":"Thanks Dan for your input. As you have noticed we are re-bumping some old patches.\n\nI believe the main reason is that on the find host logic (https://review.openstack.org/#/c/56197/) the scheduler will pick up a compute node. \n\nWhere do you think that logic should be placed if we still don\u0027t know the target host?","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f18b6e7c208daf93b4290096ae151fec8fc99407","unresolved":false,"context_lines":[{"line_number":872,"context_line":"                    recreate\u003drecreate,"},{"line_number":873,"context_line":"                    on_shared_storage\u003don_shared_storage,"},{"line_number":874,"context_line":"                    preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":875,"context_line":"                    host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoZs%3D","line":875,"updated":"2014-03-02 10:51:23.000000000","message":"what about passing pick_host_with_scheduler?","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"77a5ff0c5f539fd5faa014e5ee8f48c494f02d92","unresolved":false,"context_lines":[{"line_number":872,"context_line":"                    recreate\u003drecreate,"},{"line_number":873,"context_line":"                    on_shared_storage\u003don_shared_storage,"},{"line_number":874,"context_line":"                    preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":875,"context_line":"                    host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoTQ%3D","line":875,"in_reply_to":"AAAAVX%2F%2FoZs%3D","updated":"2014-03-02 12:12:37.000000000","message":"Done","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"8fd7f767d899c426d2fdfba50c632503a0df7248","unresolved":false,"context_lines":[{"line_number":861,"context_line":"                         bdms, recreate, on_shared_storage,"},{"line_number":862,"context_line":"                         preserve_ephemeral\u003dFalse, host\u003dNone,"},{"line_number":863,"context_line":"                         pick_host_with_scheduler\u003dFalse):"},{"line_number":864,"context_line":"        self.compute_rpcapi.rebuild_instance(context,"},{"line_number":865,"context_line":"                    instance\u003dinstance,"},{"line_number":866,"context_line":"                    new_pass\u003dnew_pass,"},{"line_number":867,"context_line":"                    injected_files\u003dinjected_files,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAVX%2F%2FoJU%3D","line":864,"updated":"2014-03-02 14:00:35.000000000","message":"this is the compute rebuild_instance that dont know about pick_host_with_scheduler. Logic will be here on dependency patch.","commit_id":"0e606f599b05dbf16a75122aa664e0bc7fd4f205"}],"nova/conductor/rpcapi.py":[{"author":{"_account_id":9450,"name":"Juan Manuel Ollé","email":"juan.m.olle@intel.com","username":"jmolle"},"change_message_id":"62913bec0041b041edf46faf96cecc2869aff75f","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":546,"context_line":"            preserve_ephemeral\u003dFalse, pick_host_with_scheduler\u003dFalse,"},{"line_number":547,"context_line":"            kwargs\u003dNone):"},{"line_number":548,"context_line":"        #kaegs for cell compatibility"},{"line_number":549,"context_line":"        bdms_p \u003d jsonutils.to_primitive(bdms)"},{"line_number":550,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00271.7\u0027)"},{"line_number":551,"context_line":"        cctxt.cast(ctxt, \u0027rebuild_instance\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F1NA%3D","line":548,"updated":"2014-02-10 14:50:12.000000000","message":"fix comment typo kaegs -\u003e kwargs","commit_id":"01cebce860e0041e76f5095b83263363c7ff2c40"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"632ed71de5c5ddd60a5cea409dd3c9cf9f018c6a","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":546,"context_line":"            preserve_ephemeral\u003dFalse, pick_host_with_scheduler\u003dFalse,"},{"line_number":547,"context_line":"            kwargs\u003dNone):"},{"line_number":548,"context_line":"        #kaegs for cell compatibility"},{"line_number":549,"context_line":"        bdms_p \u003d jsonutils.to_primitive(bdms)"},{"line_number":550,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00271.7\u0027)"},{"line_number":551,"context_line":"        cctxt.cast(ctxt, \u0027rebuild_instance\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F1Ec%3D","line":548,"in_reply_to":"AAAAUX%2F%2F1NA%3D","updated":"2014-02-10 15:05:31.000000000","message":"Sure. will wait until jenkins finish to upload the change.","commit_id":"01cebce860e0041e76f5095b83263363c7ff2c40"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2b0e0d17aaa582671210326d8c48e20ca69c6092","unresolved":false,"context_lines":[{"line_number":492,"context_line":"    1.4 - Added reservations to migrate_server."},{"line_number":493,"context_line":"    1.5 - Added the leagacy_bdm parameter to build_instances"},{"line_number":494,"context_line":"    1.6 - Made migrate_server use instance objects"},{"line_number":495,"context_line":"    1.7 - Addded rebuild_instance."},{"line_number":496,"context_line":"    \"\"\""},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B%2BAc%3D","line":495,"updated":"2014-02-17 22:38:54.000000000","message":"\"Added\" is misspelled.","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"1744b7b0f798818bf521a359950b0365403cc724","unresolved":false,"context_lines":[{"line_number":492,"context_line":"    1.4 - Added reservations to migrate_server."},{"line_number":493,"context_line":"    1.5 - Added the leagacy_bdm parameter to build_instances"},{"line_number":494,"context_line":"    1.6 - Made migrate_server use instance objects"},{"line_number":495,"context_line":"    1.7 - Addded rebuild_instance."},{"line_number":496,"context_line":"    \"\"\""},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B9r8%3D","line":495,"in_reply_to":"AAAAUX%2F%2B%2BAc%3D","updated":"2014-02-17 23:44:00.000000000","message":"Done","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2b0e0d17aaa582671210326d8c48e20ca69c6092","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":546,"context_line":"            preserve_ephemeral\u003dFalse, pick_host_with_scheduler\u003dFalse,"},{"line_number":547,"context_line":"            kwargs\u003dNone):"},{"line_number":548,"context_line":"        #kaegs for cell compatibility"},{"line_number":549,"context_line":"        bdms_p \u003d jsonutils.to_primitive(bdms)"},{"line_number":550,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00271.7\u0027)"},{"line_number":551,"context_line":"        cctxt.cast(ctxt, \u0027rebuild_instance\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B%2BAg%3D","line":548,"updated":"2014-02-17 22:38:54.000000000","message":"is this supposed to be \"kwargs\" ?","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"1744b7b0f798818bf521a359950b0365403cc724","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            recreate\u003dFalse, on_shared_storage\u003dFalse, host\u003dNone,"},{"line_number":546,"context_line":"            preserve_ephemeral\u003dFalse, pick_host_with_scheduler\u003dFalse,"},{"line_number":547,"context_line":"            kwargs\u003dNone):"},{"line_number":548,"context_line":"        #kaegs for cell compatibility"},{"line_number":549,"context_line":"        bdms_p \u003d jsonutils.to_primitive(bdms)"},{"line_number":550,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00271.7\u0027)"},{"line_number":551,"context_line":"        cctxt.cast(ctxt, \u0027rebuild_instance\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2B9ro%3D","line":548,"in_reply_to":"AAAAUX%2F%2B%2BAg%3D","updated":"2014-02-17 23:44:00.000000000","message":"yes. thanks","commit_id":"d916409f772595c41a56a7a1ee00fc615314bae6"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f18b6e7c208daf93b4290096ae151fec8fc99407","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":574,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":575,"context_line":"                   host\u003dhost,"},{"line_number":576,"context_line":"                   pick_host_with_scheduler\u003dpick_host_with_scheduler)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoZw%3D","line":576,"updated":"2014-03-02 10:51:23.000000000","message":"i have yet to find where pick_host_with_scheduler is used.","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"77a5ff0c5f539fd5faa014e5ee8f48c494f02d92","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                   recreate\u003drecreate, on_shared_storage\u003don_shared_storage,"},{"line_number":574,"context_line":"                   preserve_ephemeral\u003dpreserve_ephemeral,"},{"line_number":575,"context_line":"                   host\u003dhost,"},{"line_number":576,"context_line":"                   pick_host_with_scheduler\u003dpick_host_with_scheduler)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoTU%3D","line":576,"in_reply_to":"AAAAVX%2F%2FoZw%3D","updated":"2014-03-02 12:12:37.000000000","message":"That\u0027s on the next patch ( add-find-logic ) , in conductor manager.","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"}],"nova/tests/conductor/test_conductor.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a6dc7e0753244be2633560f0f7f9b0e97ddef23a","unresolved":false,"context_lines":[{"line_number":1749,"context_line":"        orig_image_ref \u003d \"\""},{"line_number":1750,"context_line":"        orig_sys_metadata \u003d \"\""},{"line_number":1751,"context_line":"        bdms \u003d \"\""},{"line_number":1752,"context_line":"        self.conductor.rebuild_instance(self.context, instance\u003dinstance,"},{"line_number":1753,"context_line":"                new_pass\u003dnew_pass, injected_files\u003dinjected_files,"},{"line_number":1754,"context_line":"                image_ref\u003dimage_ref, orig_image_ref\u003dorig_image_ref,"},{"line_number":1755,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bs2Y%3D","line":1752,"updated":"2013-11-21 11:24:29.000000000","message":"You should be able to write this test so it works for all the tests you see below.\n\nIf you let us know whats failing, it should be easier to work out how to do that.","commit_id":"b9cf2090daf21412f27a38309a19f91eeb94cd46"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7ef181342077e6ab0cfb05eafd4cdec9b35323e9","unresolved":false,"context_lines":[{"line_number":1749,"context_line":"        orig_image_ref \u003d \"\""},{"line_number":1750,"context_line":"        orig_sys_metadata \u003d \"\""},{"line_number":1751,"context_line":"        bdms \u003d \"\""},{"line_number":1752,"context_line":"        self.conductor.rebuild_instance(self.context, instance\u003dinstance,"},{"line_number":1753,"context_line":"                new_pass\u003dnew_pass, injected_files\u003dinjected_files,"},{"line_number":1754,"context_line":"                image_ref\u003dimage_ref, orig_image_ref\u003dorig_image_ref,"},{"line_number":1755,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BnSo%3D","line":1752,"in_reply_to":"AAAATn%2F%2Bo%2Bo%3D","updated":"2013-11-22 13:36:49.000000000","message":"All the other tests a written in a shared way, it really helps avoid all the code duplication. And ensures consistent behaviour between all the different interfaces.\n\nThe problem is also seen in your follow up patch, a single change and you have lots of places to fix.\n\nIf you mock out all the things underneath, you get a reasonable unit test, that happens to also test the APIs. It does work OK, honest.","commit_id":"b9cf2090daf21412f27a38309a19f91eeb94cd46"},{"author":{"_account_id":7602,"name":"Claxton Correya","email":"claxton@gmail.com","username":"claxton"},"change_message_id":"086bcc1b5558f0f2dffdd78e570a8c04e5cd85c0","unresolved":false,"context_lines":[{"line_number":1749,"context_line":"        orig_image_ref \u003d \"\""},{"line_number":1750,"context_line":"        orig_sys_metadata \u003d \"\""},{"line_number":1751,"context_line":"        bdms \u003d \"\""},{"line_number":1752,"context_line":"        self.conductor.rebuild_instance(self.context, instance\u003dinstance,"},{"line_number":1753,"context_line":"                new_pass\u003dnew_pass, injected_files\u003dinjected_files,"},{"line_number":1754,"context_line":"                image_ref\u003dimage_ref, orig_image_ref\u003dorig_image_ref,"},{"line_number":1755,"context_line":"                orig_sys_metadata\u003dorig_sys_metadata, bdms\u003dbdms)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bo%2Bo%3D","line":1752,"in_reply_to":"AAAATn%2F%2Bs2Y%3D","updated":"2013-11-22 05:11:07.000000000","message":"I started of that way but moved away since they end up being more functional than unit tests. The other tests uses two similar variables , conductor and conductor_manager, to make the tests work for three different classes in the hierarchy. I personally would not want unit tests to be this way. Any particular reason(s) for wanting the tests to be the other way? It will help me understand your thought process.\n\nIt seems like I have missed out on the assert part in the test. Its available in the next logical patch set.","commit_id":"b9cf2090daf21412f27a38309a19f91eeb94cd46"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f18b6e7c208daf93b4290096ae151fec8fc99407","unresolved":false,"context_lines":[{"line_number":1612,"context_line":"                                            on_shared_storage\u003dshared_storage,"},{"line_number":1613,"context_line":"                                            preserve_ephemeral\u003dFalse,"},{"line_number":1614,"context_line":"                                            host\u003dhost,"},{"line_number":1615,"context_line":"                                            pick_host_with_scheduler\u003dpick_host)"},{"line_number":1616,"context_line":"            assert not self.conductor_manager.scheduler_rpcapi.\\"},{"line_number":1617,"context_line":"                select_destinations.called"},{"line_number":1618,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAVX%2F%2FoZ4%3D","line":1615,"updated":"2014-03-02 10:51:23.000000000","message":"can you use self.assertFalse( here?","commit_id":"64f917773bc8adfc7cb392cb1b07c3d8712979fd"}]}
