)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"1c47c65570849f117c720290c89264dcd1cda68c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix bug when more than one datacenter exists"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the case that there was more than one datacenter defned on the VC,"},{"line_number":10,"context_line":"then spawning an instance would result in an exception. The reason for this"},{"line_number":11,"context_line":"was that the nova compute would not set the correct datacenter for the"},{"line_number":12,"context_line":"selected datastore."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATH%2F%2FPP8%3D","line":9,"updated":"2013-10-20 01:19:51.000000000","message":"defined","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"614f03eab4e9cce6454e86b3e1bf8fbc53d0bf19","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix bug when more than one datacenter exists"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the case that there was more than one datacenter defned on the VC,"},{"line_number":10,"context_line":"then spawning an instance would result in an exception. The reason for this"},{"line_number":11,"context_line":"was that the nova compute would not set the correct datacenter for the"},{"line_number":12,"context_line":"selected datastore."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATH%2F%2FPFI%3D","line":9,"in_reply_to":"AAAATH%2F%2FPP8%3D","updated":"2013-10-20 07:14:21.000000000","message":"Done","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"3919228378d16ddf26c50ca7cbdc3a401772fe97","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The \u0027fake\u0027 configuration was updated to contain an additional data"},{"line_number":18,"context_line":"center with its on datastore."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1180044"},{"line_number":21,"context_line":"Closes-Bug: #1214850"},{"line_number":22,"context_line":"Co-authored-by: Shawn Harsock \u003chartsocks@vmware.com\u003e"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATX%2F%2F%2BOs%3D","line":20,"updated":"2013-10-23 13:39:22.000000000","message":"Gerrit didn\u0027t generate the link correct, Close-bug: # will be fine.","commit_id":"7fe1a23a7627096bdb8178e0f22e80dc5c0c97f4"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"55fda60d0b776e8bf58d91944f8e5e07d51b80a7","unresolved":false,"context_lines":[{"line_number":1567,"context_line":"                        for ds in datastore_refs:"},{"line_number":1568,"context_line":"                            if (ds.value \u003d\u003d ds_ref.value and"},{"line_number":1569,"context_line":"                                    ds._type \u003d\u003d ds_ref._type):"},{"line_number":1570,"context_line":"                                found \u003d True"},{"line_number":1571,"context_line":"                                break"},{"line_number":1572,"context_line":"                if found:"},{"line_number":1573,"context_line":"                    vm_util._cancel_retrieve_if_necessary(self._session, dcs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPHY%3D","line":1570,"updated":"2013-10-20 06:08:55.000000000","message":"The ds\u0027s parent\u0027s parent is the dc, so that is another way to lookup the dc for a single ds. If we are paying the price of getting the ds list of all dc\u0027s, should we just cache all the relationships found?. It seems that at the very least we should consider caching all the ds\u0027s of the found dc.","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"bab1414387a5b93ad10bcdfda3bd1b3dd4359494","unresolved":false,"context_lines":[{"line_number":1567,"context_line":"                        for ds in datastore_refs:"},{"line_number":1568,"context_line":"                            if (ds.value \u003d\u003d ds_ref.value and"},{"line_number":1569,"context_line":"                                    ds._type \u003d\u003d ds_ref._type):"},{"line_number":1570,"context_line":"                                found \u003d True"},{"line_number":1571,"context_line":"                                break"},{"line_number":1572,"context_line":"                if found:"},{"line_number":1573,"context_line":"                    vm_util._cancel_retrieve_if_necessary(self._session, dcs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPEo%3D","line":1570,"in_reply_to":"AAAATH%2F%2FPHY%3D","updated":"2013-10-20 07:09:30.000000000","message":"Not necessarily a ds\u0027s parent\u0027s parent is a dc object.  We may have storage pods (datastore cluster) as a parent of a ds :)","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"614f03eab4e9cce6454e86b3e1bf8fbc53d0bf19","unresolved":false,"context_lines":[{"line_number":1567,"context_line":"                        for ds in datastore_refs:"},{"line_number":1568,"context_line":"                            if (ds.value \u003d\u003d ds_ref.value and"},{"line_number":1569,"context_line":"                                    ds._type \u003d\u003d ds_ref._type):"},{"line_number":1570,"context_line":"                                found \u003d True"},{"line_number":1571,"context_line":"                                break"},{"line_number":1572,"context_line":"                if found:"},{"line_number":1573,"context_line":"                    vm_util._cancel_retrieve_if_necessary(self._session, dcs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPEc%3D","line":1570,"in_reply_to":"AAAATH%2F%2FPHY%3D","updated":"2013-10-20 07:14:21.000000000","message":"good point.","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"f767bd4f9a0442c284d0ab0a5aa6d01c86e45f7e","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1582,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1583,"context_line":"        if not map:"},{"line_number":1584,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1585,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\"])"},{"line_number":1586,"context_line":"            dc_ref, dc_name \u003d self._get_datacenter_from_objects(dcs, ds_ref)"},{"line_number":1587,"context_line":"            map \u003d (dc_ref, dc_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FRP8%3D","line":1584,"updated":"2013-10-18 17:09:39.000000000","message":"Please consider switching to get_dynamic_properties instead of get_objects to retrieve properties. Removes the overhead of processing RetrieveResults each time. Thanks! -Sabari","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"bab1414387a5b93ad10bcdfda3bd1b3dd4359494","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1582,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1583,"context_line":"        if not map:"},{"line_number":1584,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1585,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\"])"},{"line_number":1586,"context_line":"            dc_ref, dc_name \u003d self._get_datacenter_from_objects(dcs, ds_ref)"},{"line_number":1587,"context_line":"            map \u003d (dc_ref, dc_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPEw%3D","line":1584,"in_reply_to":"AAAATH%2F%2FPJg%3D","updated":"2013-10-20 07:09:30.000000000","message":"I overlooked that we are trying to retrieve all datacenters here.","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"614f03eab4e9cce6454e86b3e1bf8fbc53d0bf19","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1582,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1583,"context_line":"        if not map:"},{"line_number":1584,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1585,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\"])"},{"line_number":1586,"context_line":"            dc_ref, dc_name \u003d self._get_datacenter_from_objects(dcs, ds_ref)"},{"line_number":1587,"context_line":"            map \u003d (dc_ref, dc_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPEg%3D","line":1584,"in_reply_to":"AAAATH%2F%2FPJg%3D","updated":"2013-10-20 07:14:21.000000000","message":"The current implementation of get_dynamic_properties assumes that the data will be in the first set of obejcts. The VC may have additional objects that need to be parsed. At the moment we are unable to make use of this here.","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"8f4f7c2ddba6e22cc6ca7f62f9c7020e3d48f608","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1582,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1583,"context_line":"        if not map:"},{"line_number":1584,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1585,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\"])"},{"line_number":1586,"context_line":"            dc_ref, dc_name \u003d self._get_datacenter_from_objects(dcs, ds_ref)"},{"line_number":1587,"context_line":"            map \u003d (dc_ref, dc_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATH%2F%2FPJg%3D","line":1584,"in_reply_to":"AAAATH%2F%2FRP8%3D","updated":"2013-10-20 05:23:38.000000000","message":"I think the idea behind the get_objects call is to retrieve the datastore information for all the existing datacenters in one single RetrieveProperties call, and cache the result.","commit_id":"ace1f1b75eab3b05760dd3146bb68b11fe7b7429"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"0581f0e37dd9ea88bffe4dce982149d14d9f5360","unresolved":false,"context_lines":[{"line_number":1425,"context_line":"    def get_datacenter_ref_and_name(self, ds_ref):"},{"line_number":1426,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1427,"context_line":"        dc_obj \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1428,"context_line":"                \"Datacenter\", [\"name\"])"},{"line_number":1429,"context_line":"        vm_util._cancel_retrieve_if_necessary(self._session, dc_obj)"},{"line_number":1430,"context_line":"        return (dc_obj.objects[0].obj, dc_obj.objects[0].propSet[0].val,"},{"line_number":1431,"context_line":"                self._get_vmfolder_ref())"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATX%2F%2F%2BDQ%3D","line":1428,"updated":"2013-10-23 14:39:06.000000000","message":"why not retrieve the vmfolder for the datacenter here since you are returning it below?","commit_id":"7fe1a23a7627096bdb8178e0f22e80dc5c0c97f4"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"0581f0e37dd9ea88bffe4dce982149d14d9f5360","unresolved":false,"context_lines":[{"line_number":1428,"context_line":"                \"Datacenter\", [\"name\"])"},{"line_number":1429,"context_line":"        vm_util._cancel_retrieve_if_necessary(self._session, dc_obj)"},{"line_number":1430,"context_line":"        return (dc_obj.objects[0].obj, dc_obj.objects[0].propSet[0].val,"},{"line_number":1431,"context_line":"                self._get_vmfolder_ref())"},{"line_number":1432,"context_line":""},{"line_number":1433,"context_line":"    def _get_host_ref_from_name(self, host_name):"},{"line_number":1434,"context_line":"        \"\"\"Get reference to the host with the name specified.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATX%2F%2F%2BDY%3D","line":1431,"updated":"2013-10-23 14:39:06.000000000","message":"oops.\n\n_get_vmfolder_ref isn\u0027t taking into account any information that would tell us whether the vmfolder returned was the folder under the dc.","commit_id":"7fe1a23a7627096bdb8178e0f22e80dc5c0c97f4"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"0581f0e37dd9ea88bffe4dce982149d14d9f5360","unresolved":false,"context_lines":[{"line_number":1585,"context_line":"                        vm_folder \u003d p.val"},{"line_number":1586,"context_line":"                for ds_ref in ds_refs:"},{"line_number":1587,"context_line":"                    self._datastore_dc_mapping[ds_ref] \u003d (dc_ref, dc_name,"},{"line_number":1588,"context_line":"                                                          vm_folder)"},{"line_number":1589,"context_line":""},{"line_number":1590,"context_line":"            if token:"},{"line_number":1591,"context_line":"                dcs \u003d self._session._call_method(vim_util,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATX%2F%2F%2BCE%3D","line":1588,"updated":"2013-10-23 14:39:06.000000000","message":"While remembering that 0 is dc_ref, 1 is dc_name, and 2 is vm_folder is simple enough... using a named tuple to store the names means you don\u0027t have to remember which position is which thing. Alternatively, you could use a class to set that up.","commit_id":"7fe1a23a7627096bdb8178e0f22e80dc5c0c97f4"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"0581f0e37dd9ea88bffe4dce982149d14d9f5360","unresolved":false,"context_lines":[{"line_number":1596,"context_line":""},{"line_number":1597,"context_line":"    def get_datacenter_ref_and_name(self, ds_ref):"},{"line_number":1598,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1599,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1600,"context_line":"        if not map:"},{"line_number":1601,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1602,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\", \"vmFolder\"])"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATX%2F%2F%2BC4%3D","line":1599,"updated":"2013-10-23 14:39:06.000000000","message":"nice idea, but could we use a Named Tuple or other structure here to enforce expectations?","commit_id":"7fe1a23a7627096bdb8178e0f22e80dc5c0c97f4"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"RESIZE_TOTAL_STEPS \u003d 4"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"DcMap \u003d collections.namedtuple(\u0027DcMap\u0027,"},{"line_number":83,"context_line":"                               [\u0027ref\u0027, \u0027name\u0027, \u0027folder\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F92vg%3D","line":82,"updated":"2013-12-05 07:39:43.000000000","message":"1. Since a namedtuple is essentially a tuple with named members, it seems unusual to refer to a namedtuple object as a map; it is also a little confusing given the instances of DcMap are themselves entries in the ds-to-dc map. I suggest renaming DcMap to DcInfo or, if we want to be consistent with another namedtuple usage in vm_util.py, DcRecord","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"RESIZE_TOTAL_STEPS \u003d 4"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"DcMap \u003d collections.namedtuple(\u0027DcMap\u0027,"},{"line_number":83,"context_line":"                               [\u0027ref\u0027, \u0027name\u0027, \u0027folder\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zKM%3D","line":82,"in_reply_to":"AAAATn%2F92vg%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"RESIZE_TOTAL_STEPS \u003d 4"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"DcMap \u003d collections.namedtuple(\u0027DcMap\u0027,"},{"line_number":83,"context_line":"                               [\u0027ref\u0027, \u0027name\u0027, \u0027folder\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class VMwareVMOps(object):"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F922o%3D","line":83,"updated":"2013-12-05 07:39:43.000000000","message":"2. folder -\u003e vmFolder will be clearer","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"RESIZE_TOTAL_STEPS \u003d 4"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"DcMap \u003d collections.namedtuple(\u0027DcMap\u0027,"},{"line_number":83,"context_line":"                               [\u0027ref\u0027, \u0027name\u0027, \u0027folder\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class VMwareVMOps(object):"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zJU%3D","line":83,"in_reply_to":"AAAATn%2F922o%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                 datastore_regex\u003dself._datastore_regex)"},{"line_number":201,"context_line":"        data_store_ref \u003d ds[0]"},{"line_number":202,"context_line":"        data_store_name \u003d ds[1]"},{"line_number":203,"context_line":"        dc_map \u003d self.get_datacenter_ref_and_name(data_store_ref)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        #TODO(hartsocks): this pattern is confusing, reimplement as methods"},{"line_number":206,"context_line":"        # The use of nested functions in this file makes for a confusing and"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F922c%3D","line":203,"updated":"2013-12-05 07:39:43.000000000","message":"Assuming the rename above, we can just use:\ndc \u003d self.get_datacenter_ref_and_name(data_store_ref)\n\nor \n\ndc_info \u003d self.get_datacenter_ref_and_name(data_store_ref)\n\n(Several other similar places below as well.)","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                 datastore_regex\u003dself._datastore_regex)"},{"line_number":201,"context_line":"        data_store_ref \u003d ds[0]"},{"line_number":202,"context_line":"        data_store_name \u003d ds[1]"},{"line_number":203,"context_line":"        dc_map \u003d self.get_datacenter_ref_and_name(data_store_ref)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        #TODO(hartsocks): this pattern is confusing, reimplement as methods"},{"line_number":206,"context_line":"        # The use of nested functions in this file makes for a confusing and"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zIQ%3D","line":203,"in_reply_to":"AAAATn%2F922c%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            # Create the VM on the ESX host"},{"line_number":287,"context_line":"            vm_create_task \u003d self._session._call_method("},{"line_number":288,"context_line":"                                    self._session._get_vim(),"},{"line_number":289,"context_line":"                                    \"CreateVM_Task\", dc_map.folder,"},{"line_number":290,"context_line":"                                    config\u003dconfig_spec, pool\u003dres_pool_ref)"},{"line_number":291,"context_line":"            self._session._wait_for_task(instance[\u0027uuid\u0027], vm_create_task)"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F922A%3D","line":289,"updated":"2013-12-05 07:39:43.000000000","message":"dc_map.folder -\u003e dc.vmFolder\n\nand all similar occurrences below.","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            # Create the VM on the ESX host"},{"line_number":287,"context_line":"            vm_create_task \u003d self._session._call_method("},{"line_number":288,"context_line":"                                    self._session._get_vim(),"},{"line_number":289,"context_line":"                                    \"CreateVM_Task\", dc_map.folder,"},{"line_number":290,"context_line":"                                    config\u003dconfig_spec, pool\u003dres_pool_ref)"},{"line_number":291,"context_line":"            self._session._wait_for_task(instance[\u0027uuid\u0027], vm_create_task)"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zIE%3D","line":289,"in_reply_to":"AAAATn%2F922A%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"                    if p.name \u003d\u003d \u0027vmFolder\u0027:"},{"line_number":1599,"context_line":"                        folder \u003d p.val"},{"line_number":1600,"context_line":"                for ds_ref in ds_refs:"},{"line_number":1601,"context_line":"                    self._datastore_dc_mapping[ds_ref] \u003d DcMap(ref\u003ddc_ref,"},{"line_number":1602,"context_line":"                                                               name\u003dname,"},{"line_number":1603,"context_line":"                                                               folder\u003dfolder)"},{"line_number":1604,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F92y0%3D","line":1601,"updated":"2013-12-05 07:39:43.000000000","message":"DcMap -\u003e DCInfo","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"                    if p.name \u003d\u003d \u0027vmFolder\u0027:"},{"line_number":1599,"context_line":"                        folder \u003d p.val"},{"line_number":1600,"context_line":"                for ds_ref in ds_refs:"},{"line_number":1601,"context_line":"                    self._datastore_dc_mapping[ds_ref] \u003d DcMap(ref\u003ddc_ref,"},{"line_number":1602,"context_line":"                                                               name\u003dname,"},{"line_number":1603,"context_line":"                                                               folder\u003dfolder)"},{"line_number":1604,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zH0%3D","line":1601,"in_reply_to":"AAAATn%2F92y0%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"19a3e61680684bf1d3ea85990134dbf5a9d0be3a","unresolved":false,"context_lines":[{"line_number":1611,"context_line":""},{"line_number":1612,"context_line":"    def get_datacenter_ref_and_name(self, ds_ref):"},{"line_number":1613,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1614,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1615,"context_line":"        if not map:"},{"line_number":1616,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1617,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\", \"vmFolder\"])"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F920Q%3D","line":1614,"updated":"2013-12-05 07:39:43.000000000","message":"\u0027map \u003d\u0027 -\u003e \u0027dc \u003d\u0027 \n\nthroughout this function.","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8664b72502518c36e918aa5751bfdc9f0326c62d","unresolved":false,"context_lines":[{"line_number":1611,"context_line":""},{"line_number":1612,"context_line":"    def get_datacenter_ref_and_name(self, ds_ref):"},{"line_number":1613,"context_line":"        \"\"\"Get the datacenter name and the reference.\"\"\""},{"line_number":1614,"context_line":"        map \u003d self._datastore_dc_mapping.get(ds_ref.value)"},{"line_number":1615,"context_line":"        if not map:"},{"line_number":1616,"context_line":"            dcs \u003d self._session._call_method(vim_util, \"get_objects\","},{"line_number":1617,"context_line":"                    \"Datacenter\", [\"name\", \"datastore\", \"vmFolder\"])"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9zCg%3D","line":1614,"in_reply_to":"AAAATn%2F920Q%3D","updated":"2013-12-05 19:44:41.000000000","message":"Done","commit_id":"1843b193cc6742eb513ee4cecf72de3159cd652a"}]}
