)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"d9708ee6e1710b2325b6c9622bb37e14bd5eac0a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"associates an instance with a given storage policy, if defined."},{"line_number":11,"context_line":"This enables a vsphere admin to check if the instance is compliant"},{"line_number":12,"context_line":"with the storage policy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I79f8b165e2a82a7335f50f2a421b10e69c02c9f0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAUX%2F%2BtIg%3D","line":13,"updated":"2014-02-19 17:31:53.000000000","message":"Shouldn\u0027t this include Implements: vmware-spbm-support","commit_id":"2a54d9e87393b864f7e0afe06b2b603870e4fc92"}],"nova/tests/virt/vmwareapi/test_vm_util.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"d9708ee6e1710b2325b6c9622bb37e14bd5eac0a","unresolved":false,"context_lines":[{"line_number":524,"context_line":"        create_spec \u003d vm_util.get_vm_create_spec("},{"line_number":525,"context_line":"            fake.FakeFactory(), fake_instance, \u0027fake-name\u0027, \u0027fake-datastore\u0027,"},{"line_number":526,"context_line":"            [], profile_spec\u003d\u0027fake_profile_spec\u0027)"},{"line_number":527,"context_line":"        self.assertEqual(create_spec.vmProfile, [\u0027fake_profile_spec\u0027])"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    @mock.patch.object(pbm_util, \u0027retrieve_profile_id\u0027)"},{"line_number":530,"context_line":"    def test_get_storage_profile_spec(self, mock_retrieve_profile_id):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2BtHc%3D","line":527,"updated":"2014-02-19 17:31:53.000000000","message":"assertEqual order of arguments should be expected, actual","commit_id":"2a54d9e87393b864f7e0afe06b2b603870e4fc92"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"6f6a5dd706ef84fa4fc13a7a88e53e446c0f8c04","unresolved":false,"context_lines":[{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"    @mock.patch.object(pbm, \u0027get_profile_id_by_name\u0027)"},{"line_number":1088,"context_line":"    def test_get_storage_profile_spec(self, mock_retrieve_profile_id):"},{"line_number":1089,"context_line":"        fake_profile_id \u003d fake.DataObject()"},{"line_number":1090,"context_line":"        fake_profile_id.uniqueId \u003d \u0027fake_unique_id\u0027"},{"line_number":1091,"context_line":"        mock_retrieve_profile_id.return_value \u003d fake_profile_id"},{"line_number":1092,"context_line":"        profile_spec \u003d vm_util.get_storage_profile_spec(fake.FakeSession(),"}],"source_content_type":"text/x-python","patch_set":22,"id":"baa201ad_28704d71","line":1089,"updated":"2014-10-16 11:38:57.000000000","message":"nit: I think we should MagicMock here","commit_id":"d666c2250052368644946fb4c9b3db10bd6cad1e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"32d1f944a89bbc12a2bf97e91883fc5123f73b10","unresolved":false,"context_lines":[{"line_number":1099,"context_line":"                                            datastore.name, [],"},{"line_number":1100,"context_line":"                                            extra_specs,"},{"line_number":1101,"context_line":"                                            profile_spec\u003d\u0027fake_profile_spec\u0027)"},{"line_number":1102,"context_line":"        self.assertEqual(create_spec.vmProfile, [\u0027fake_profile_spec\u0027])"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":"    @mock.patch.object(pbm, \u0027get_profile_id_by_name\u0027)"},{"line_number":1105,"context_line":"    def test_get_storage_profile_spec(self, mock_retrieve_profile_id):"}],"source_content_type":"text/x-python","patch_set":25,"id":"9aa7fdbe_52048549","line":1102,"updated":"2014-10-23 16:23:52.000000000","message":"nit: try to keep order of assertEqual() arguments as (expected, actual)","commit_id":"e342bb3adc346b81fdabf459eaa6cd84323e229a"}],"nova/virt/vmwareapi/vm_util.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"514f281ffb27abd7d0bb8dc209ba53a45da0c743","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def get_vm_create_spec(client_factory, instance, name, data_store_name,"},{"line_number":103,"context_line":"                       vif_infos, os_type\u003dconstants.DEFAULT_OS_TYPE,"},{"line_number":104,"context_line":"                       allocations\u003dNone, profile_spec\u003dNone):"},{"line_number":105,"context_line":"    \"\"\"Builds the VM Create spec.\"\"\""},{"line_number":106,"context_line":"    config_spec \u003d client_factory.create(\u0027ns0:VirtualMachineConfigSpec\u0027)"},{"line_number":107,"context_line":"    config_spec.name \u003d name"}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_b62e33f9","line":104,"updated":"2014-10-08 11:00:02.000000000","message":"Would it not be neater to pass in the storage_policy here.\n\nIt seems to fit the abstraction level this method is working at better than \"profile_spec\".","commit_id":"6a207e79d87e77a47d432d0484af8f8026241374"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e0cece28a49af3d6d72aea4821a78a50357d7de4","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def get_vm_create_spec(client_factory, instance, name, data_store_name,"},{"line_number":103,"context_line":"                       vif_infos, os_type\u003dconstants.DEFAULT_OS_TYPE,"},{"line_number":104,"context_line":"                       allocations\u003dNone, profile_spec\u003dNone):"},{"line_number":105,"context_line":"    \"\"\"Builds the VM Create spec.\"\"\""},{"line_number":106,"context_line":"    config_spec \u003d client_factory.create(\u0027ns0:VirtualMachineConfigSpec\u0027)"},{"line_number":107,"context_line":"    config_spec.name \u003d name"}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_2af8bae4","line":104,"in_reply_to":"baa201ad_b62e33f9","updated":"2014-10-12 12:12:36.000000000","message":"This is problematic as that requires an active session","commit_id":"6a207e79d87e77a47d432d0484af8f8026241374"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"514f281ffb27abd7d0bb8dc209ba53a45da0c743","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                                                 vif_infos,"},{"line_number":256,"context_line":"                                                 image_info.os_type,"},{"line_number":257,"context_line":"                                                 allocations\u003dallocations,"},{"line_number":258,"context_line":"                                                 profile_spec\u003dprofile_spec)"},{"line_number":259,"context_line":"        # Create the VM"},{"line_number":260,"context_line":"        vm_ref \u003d vm_util.create_vm(self._session, instance, dc_info.vmFolder,"},{"line_number":261,"context_line":"                                   config_spec, res_pool_ref)"}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_f6343b4b","line":258,"updated":"2014-10-08 11:00:02.000000000","message":"It feels bad to create a method in vm_util you have to call, then pass its result into some other vm_utils method.","commit_id":"6a207e79d87e77a47d432d0484af8f8026241374"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e0cece28a49af3d6d72aea4821a78a50357d7de4","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                                                 vif_infos,"},{"line_number":256,"context_line":"                                                 image_info.os_type,"},{"line_number":257,"context_line":"                                                 allocations\u003dallocations,"},{"line_number":258,"context_line":"                                                 profile_spec\u003dprofile_spec)"},{"line_number":259,"context_line":"        # Create the VM"},{"line_number":260,"context_line":"        vm_ref \u003d vm_util.create_vm(self._session, instance, dc_info.vmFolder,"},{"line_number":261,"context_line":"                                   config_spec, res_pool_ref)"}],"source_content_type":"text/x-python","patch_set":21,"id":"baa201ad_6ad9e282","line":258,"in_reply_to":"baa201ad_f6343b4b","updated":"2014-10-12 12:12:36.000000000","message":"as mentioned on the previous comment - we need a session to get the profile spec. so we are unable to do this","commit_id":"6a207e79d87e77a47d432d0484af8f8026241374"}]}
