Beispiel #1
0
def stonith_does_agent_provide_unfencing(metadata_string):
    try:
        dom = parseString(metadata_string)
        for agent in utils.dom_get_children_by_tag_name(dom, "resource-agent"):
            for actions in utils.dom_get_children_by_tag_name(agent, "actions"):
                for action in utils.dom_get_children_by_tag_name(
                    actions, "action"
                ):
                    if (
                        action.getAttribute("name") == "on"
                        and
                        action.getAttribute("on_target") == "1"
                        and
                        action.getAttribute("automatic") == "1"
                    ):
                        return True
    except xml.parsers.expat.ExpatError as e:
        return False
    return False
Beispiel #2
0
def location_rule_check_duplicates(dom, constraint_el):
    if "--force" not in utils.pcs_options:
        duplicates = location_rule_find_duplicates(dom, constraint_el)
        if duplicates:
            lines = []
            for dup in duplicates:
                lines.append("  Constraint: %s" % dup.getAttribute("id"))
                for dup_rule in utils.dom_get_children_by_tag_name(
                        dup, "rule"):
                    lines.append(rule_utils.ExportDetailed().get_string(
                        dup_rule, True, "    "))
            utils.err(
                "duplicate constraint already exists, use --force to override\n"
                + "\n".join(lines))
Beispiel #3
0
def location_rule_check_duplicates(dom, constraint_el):
    if "--force" not in utils.pcs_options:
        duplicates = location_rule_find_duplicates(dom, constraint_el)
        if duplicates:
            lines = []
            for dup in duplicates:
                lines.append("  Constraint: %s" % dup.getAttribute("id"))
                for dup_rule in utils.dom_get_children_by_tag_name(dup, "rule"):
                    lines.append(rule_utils.ExportDetailed().get_string(
                        dup_rule, True, "    "
                    ))
            utils.err(
                "duplicate constraint already exists, use --force to override\n"
                + "\n".join(lines)
            )