def METHOD_NAME(self):
    """Connects to the cluster.
    If the connection is successful, it resets the instrument and configures it with the stored settings.
    A reference to the underlying object is saved in the attribute `device`.
    """
    if not self.is_connected:
        for attempt in range(3):
            try:
                QbloxCluster.close_all()
                self.device = QbloxCluster(self.name, self.address)
                self.device.reset()
                self.is_connected = True
                break
            except Exception as exc:
                log.info(f"Unable to connect:\n{str(exc)}\nRetrying...")
            # TODO: if not able to connect after 3 attempts, check for ping response and reboot
        if not self.is_connected:
            raise InstrumentException(self, f"Unable to connect to {self.name}")
    # apply stored settings
    self._setup()