'Get the partition and nodes for an account/container/object.
If a node is responsible for more than one replica, it will
only appear in the output once.
:param account: account name
:param container: container name
:param obj: object name
:returns: a tuple of (partition, list of node dicts)
Each node dict will have at least the following keys:
id      unique integer identifier amongst devices
index   offset into the primary node list for the partition
weight  a float of the relative weight of this device as compared to
others; this indicates how many partitions the builder will try
to assign to this device
zone    integer indicating which zone the device is in; a given
partition will not be assigned to multiple devices within the
same zone
ip      the ip address of the device
port    the tcp port of the device
device  the device\'s name on disk (sdb1, for example)
meta    general use \'extra\' field; for example: the online date, the
hardware description'

def get_nodes(self, account, container=None, obj=None):

    part = self.get_part(account, container, obj)
    return (part, self._get_part_nodes(part))
