code: def _get_vm(self, instance_id, force_reload=True):
          
          self._init_az_api()
          if force_reload:
              # Remove from cache and get from server again
              self._inventory = {}
          cluster_name, node_name = instance_id
          self._init_inventory(cluster_name)
  
          # if instance is known, return it
          if node_name not in self._vm_details:
              vm_info = self._compute_client.virtual_machines.get(
                  cluster_name, node_name, 'instanceView')
              self._vm_details[node_name] = vm_info
  
          try:
              return self._vm_details[node_name]
          except KeyError:
              raise InstanceNotFoundError(
                  "Instance `{instance_id}` not found"
                  .format(instance_id=instance_id))
docs: Return details on the VM with the given name.
  
          :param str node_name: instance identifier
          :param bool force_reload:
            if ``True``, skip searching caches and reload instance from server
            and immediately reload instance data from cloud provider
          :return: py:class:`novaclient.v1_1.servers.Server` - instance
          :raises: `InstanceError` is returned if the instance can't
                   be found in the local cache or in the cloud.