def attach(self, cluster, enabled=True): """"Hook for policy attach. Register the cluster for health management. :param cluster: The cluster to which the policy is being attached to. :param enabled: The attached cluster policy is enabled or disabled. :return: A tuple comprising execution result and policy data. """ p_type = cluster.rt['profile'].type_name action_names = [a['name'] for a in self.recover_actions] if p_type != 'os.nova.server': if consts.RECOVER_REBUILD in action_names: err_msg = _("Recovery action REBUILD is only applicable to " "os.nova.server clusters.") return False, err_msg if consts.RECOVER_REBOOT in action_names: err_msg = _("Recovery action REBOOT is only applicable to " "os.nova.server clusters.") return False, err_msg kwargs = { 'check_type': self.check_type, 'interval': self.interval, 'params': { 'recover_action': self.recover_actions, 'poll_url': self.poll_url, 'poll_url_ssl_verify': self.poll_url_ssl_verify, 'poll_url_healthy_response': self.poll_url_healthy_response, 'poll_url_retry_limit': self.poll_url_retry_limit, 'poll_url_retry_interval': self.poll_url_retry_interval, 'node_update_timeout': self.node_update_timeout, 'node_delete_timeout': self.node_delete_timeout, 'node_force_recreate': self.node_force_recreate, }, 'enabled': enabled } health_manager.register(cluster.id, engine_id=None, **kwargs) data = { 'check_type': self.check_type, 'interval': self.interval, 'poll_url': self.poll_url, 'poll_url_ssl_verify': self.poll_url_ssl_verify, 'poll_url_healthy_response': self.poll_url_healthy_response, 'poll_url_retry_limit': self.poll_url_retry_limit, 'poll_url_retry_interval': self.poll_url_retry_interval, 'node_update_timeout': self.node_update_timeout, 'node_delete_timeout': self.node_delete_timeout, 'node_force_recreate': self.node_force_recreate, } return True, self._build_policy_data(data)
def attach(self, cluster, enabled=True): """"Hook for policy attach. Register the cluster for health management. :param cluster: The cluster to which the policy is being attached to. :param enabled: The attached cluster policy is enabled or disabled. :return: A tuple comprising execution result and policy data. """ p_type = cluster.rt['profile'].type_name action_names = [a['name'] for a in self.recover_actions] if p_type != 'os.nova.server': if consts.RECOVER_REBUILD in action_names: err_msg = _("Recovery action REBUILD is only applicable to " "os.nova.server clusters.") return False, err_msg if consts.RECOVER_REBOOT in action_names: err_msg = _("Recovery action REBOOT is only applicable to " "os.nova.server clusters.") return False, err_msg kwargs = { 'interval': self.interval, 'node_update_timeout': self.node_update_timeout, 'params': { 'recover_action': self.recover_actions, 'node_delete_timeout': self.node_delete_timeout, 'node_force_recreate': self.node_force_recreate, 'recovery_conditional': self.recovery_conditional, }, 'enabled': enabled } converted_detection_modes = [d._asdict() for d in self.detection_modes] detection_mode = {'detection_modes': converted_detection_modes} kwargs['params'].update(detection_mode) health_manager.register(cluster.id, engine_id=None, **kwargs) data = { 'interval': self.interval, 'node_update_timeout': self.node_update_timeout, 'recovery_conditional': self.recovery_conditional, 'node_delete_timeout': self.node_delete_timeout, 'node_force_recreate': self.node_force_recreate, } data.update(detection_mode) return True, self._build_policy_data(data)
def attach(self, cluster): """"Hook for policy attach. Register the cluster for health management. """ kwargs = { 'check_type': self.check_type, 'interval': self.interval, 'params': {}, } health_manager.register(cluster.id, engine_id=None, **kwargs) data = { 'check_type': self.check_type, 'interval': self.interval, } return True, self._build_policy_data(data)
def attach(self, cluster): """"Hook for policy attach. Register the cluster for health management. :param cluster: The target cluster. :return: A tuple comprising execution result and policy data. """ kwargs = { 'check_type': self.check_type, 'interval': self.interval, 'params': {}, } health_manager.register(cluster.id, engine_id=None, **kwargs) data = { 'check_type': self.check_type, 'interval': self.interval, } return True, self._build_policy_data(data)