def list_nodes(self):
        passwords_map = {}

        res = self._server_list()
        try:
          for password in self._password_list()['list']:
              try:
                  passwords_map[password['server']['id']] = password['password']
              except __HOLE__:
                  pass
        except InvalidCredsError:
          # some gogrid API keys don't have permission to access the password list.
          pass

        return [ self._to_node(el, passwords_map.get(el.get('id')))
                 for el
                 in res['list'] ]
dataset/ETHPy150Open cloudkick/libcloud/libcloud/compute/drivers/gogrid.py/GoGridNodeDriver.list_nodes