code: def join(self, n1):
          
          if self.id == n1.get_id():
              for i in range(k):
                  self.finger[i] = self.proxy
              self.predecessor = self.proxy
              self.run = True
              return True
          else:
              try:
                  self.init_finger_table(n1)
              except Exception:
                  print 'Join failed'
                  # raise Exception('Join failed')
                  return False
              else:
                  self.run = True
                  return True
docs: if join returns false, the node did not entry the ring. Retry it