Пример #1
0
import collections
import json
from eventool import ssh_cmds
from eventool import logger
import xmltodict
# from lxml import etree as xml_parser
from xml.dom import minidom as xml_parser
from eventool import parsers

LOG = logger.getLogger(__name__)


@parsers.cli_command("pcs", subparser="action")
class PCSMgmt(ssh_cmds.tmp_cmd):
    def __init__(self, ssh):
        super(PCSMgmt, self).__init__(ssh)
        self._dict_xml = None
        self._cluster = None
        # self._haproxy_conf = None

    @property
    def cluster(self):
        self._cluster = self._cluster or self.status_xml()
        return self._cluster

    @parsers.cli_choice(parser="pcs", subparser="action")
    @ssh_cmds.command_decorator
    def status(self):
        """Returns full PCS status. """
        cmd = "pcs status"
        return cmd, self._noop_parser
Пример #2
0
import functools
import os
from eventool import sshutils
import yaml

from eventool import logger

LOG = logger.getLogger(__name__)
CONF_PATH = os.environ.get("HOSTS_CONF", "/etc/eventool/hosts_conf.yaml")


class Host(object):
    def __init__(self, address, user, alias=None, password=None,
                 private_key=None, os=None):

        self.address = address
        self.host_roles = []
        self.alias = alias or []
        self.password = password
        self.private_key = private_key
        self.os = os
        self.user = user
        self._ssh = None

    def add_roles(self, *roles):
        self.host_roles.extend(roles)

    def __str__(self):
        return self.address

    def __repr__(self):