Esempio n. 1
0
    def _report_wait_result(
        self, resource_id, node, resource_running_on_before,
        resource_running_on_after
    ):
        allowed_nodes = frozenset([node] if node else [])
        running_on_nodes = self._running_on_nodes(resource_running_on_after)

        severity = severities.INFO
        if (
            resource_running_on_before # running resource moved
            and (
                not running_on_nodes
                or
                (allowed_nodes and allowed_nodes.isdisjoint(running_on_nodes))
                or
                (resource_running_on_before == resource_running_on_after)
           )
        ):
            severity = severities.ERROR
        if not resource_running_on_after:
            return reports.resource_does_not_run(resource_id, severity=severity)
        return reports.resource_running_on_nodes(
            resource_id,
            resource_running_on_after,
            severity=severity
        )
Esempio n. 2
0
def info_resource_state(cluster_state, resource_id):
    roles_with_nodes = _get_primitive_roles_with_nodes(
        _get_primitives_for_state_check(cluster_state,
                                        resource_id,
                                        expected_running=True))
    if not roles_with_nodes:
        return reports.resource_does_not_run(resource_id, severities.INFO)
    return reports.resource_running_on_nodes(resource_id, roles_with_nodes,
                                             severities.INFO)
Esempio n. 3
0
def ensure_resource_state(expected_running, cluster_state, resource_id):
    roles_with_nodes = _get_primitive_roles_with_nodes(
        _get_primitives_for_state_check(cluster_state, resource_id,
                                        expected_running))
    if not roles_with_nodes:
        return reports.resource_does_not_run(
            resource_id,
            severities.INFO if not expected_running else severities.ERROR)
    return reports.resource_running_on_nodes(
        resource_id, roles_with_nodes,
        severities.INFO if expected_running else severities.ERROR)
Esempio n. 4
0
def info_resource_state(cluster_state, resource_id):
    roles_with_nodes = get_resource_state(cluster_state, resource_id)
    if not roles_with_nodes:
        return reports.resource_does_not_run(
            resource_id,
            severities.INFO
        )
    return reports.resource_running_on_nodes(
        resource_id,
        roles_with_nodes,
        severities.INFO
    )
Esempio n. 5
0
def ensure_resource_state(expected_running, cluster_state, resource_id):
    roles_with_nodes = _get_primitive_roles_with_nodes(
        _get_primitives_for_state_check(
            cluster_state,
            resource_id,
            expected_running
        )
    )
    if not roles_with_nodes:
        return reports.resource_does_not_run(
            resource_id,
            severities.INFO if not expected_running else severities.ERROR
        )
    return reports.resource_running_on_nodes(
        resource_id,
        roles_with_nodes,
        severities.INFO if expected_running else severities.ERROR
    )
Esempio n. 6
0
    def _report_wait_result(self, resource_id, node,
                            resource_running_on_before,
                            resource_running_on_after):
        running_on_nodes = self._running_on_nodes(resource_running_on_after)
        if node:
            banned_nodes = frozenset([node])
        else:
            banned_nodes = self._running_on_nodes(resource_running_on_before)

        severity = severities.INFO
        if (not banned_nodes.isdisjoint(running_on_nodes)
                or (resource_running_on_before and not running_on_nodes)):
            severity = severities.ERROR
        if not resource_running_on_after:
            return reports.resource_does_not_run(resource_id,
                                                 severity=severity)
        return reports.resource_running_on_nodes(resource_id,
                                                 resource_running_on_after,
                                                 severity=severity)
Esempio n. 7
0
    def _report_wait_result(self, resource_id, node,
                            resource_running_on_before,
                            resource_running_on_after):
        allowed_nodes = frozenset([node] if node else [])
        running_on_nodes = self._running_on_nodes(resource_running_on_after)

        severity = severities.INFO
        if (resource_running_on_before  # running resource moved
                and
            (not running_on_nodes or
             (allowed_nodes and allowed_nodes.isdisjoint(running_on_nodes)) or
             (resource_running_on_before == resource_running_on_after))):
            severity = severities.ERROR
        if not resource_running_on_after:
            return reports.resource_does_not_run(resource_id,
                                                 severity=severity)
        return reports.resource_running_on_nodes(resource_id,
                                                 resource_running_on_after,
                                                 severity=severity)
Esempio n. 8
0
    def _report_wait_result(
        self, resource_id, node, resource_running_on_before,
        resource_running_on_after
    ):
        running_on_nodes = self._running_on_nodes(resource_running_on_after)
        if node:
            banned_nodes = frozenset([node])
        else:
            banned_nodes = self._running_on_nodes(resource_running_on_before)

        severity = severities.INFO
        if (
            not banned_nodes.isdisjoint(running_on_nodes)
            or
            (resource_running_on_before and not running_on_nodes)
        ):
            severity = severities.ERROR
        if not resource_running_on_after:
            return reports.resource_does_not_run(resource_id, severity=severity)
        return reports.resource_running_on_nodes(
            resource_id,
            resource_running_on_after,
            severity=severity
        )
Esempio n. 9
0
def info_resource_state(cluster_state, resource_id):
    roles_with_nodes = get_resource_state(cluster_state, resource_id)
    if not roles_with_nodes:
        return reports.resource_does_not_run(resource_id, severities.INFO)
    return reports.resource_running_on_nodes(resource_id, roles_with_nodes,
                                             severities.INFO)