#!/usr/bin/python # -*- coding: utf-8 -*- # vim: ts=4 sw=4 sts=4 et # # galeranotify - wsrep_notify_cmd applications main functions # # Script to send email notifications when a change in Galera cluster membership # occurs. # # Complies with http://www.codership.com/wiki/doku.php?id=notification_command # # Copyright (c) Gabe Guillen , 2015 # Copyright (c) Jan-Jonas Sämann , 2019 # available under the GPLv2 licence, see LICENSE import os import sys import getopt from galeranotify import configuration, persistance try: from email.mime.text import MIMEText except ImportError: # Python 2.4 (CentOS 5.x) from email.MIMEText import MIMEText import smtplib import email.utils def main(): argv = sys.argv[1:] str_status = '' str_uuid = '' str_primary = '' str_members = '' str_index = '' message = '' usage = "Usage: " + os.path.basename(sys.argv[0]) + " --status " usage += " --uuid --primary --members 1): message += "s" message += ":\n\n" if(self._status): message += "Status of this node: " + self._status + "\n\n" if(self._uuid): message += "Cluster state UUID: " + self._uuid + "\n\n" if(self._primary): message += "Current cluster component is primary: " + self._primary + "\n\n" if(self._members): message += "Current members of the component:\n" if(self._index): for i in range(len(self._members)): if(i == int(self._index)): message += "-> " else: message += "-- " message += self._members[i] + "\n" else: message += "\n".join((" " + str(x)) for x in self._members) message += "\n" if(self._index): message += "Index of this node in the member list: " + self._index + "\n" return message