Beispiel #1
0
def main():
    init_script()
    logger = logging.getLogger("scalarizr.scripts.halt")
    logger.info("Starting halt script...")

    try:
        try:
            action = sys.argv[1]
        except IndexError:
            logger.error("Invalid execution parameters. argv[1] must be presented")
            sys.exit()

        if action == "start" or action == "stop":

            msg_service = bus.messaging_service
            producer = msg_service.get_producer()

            msg = msg_service.new_message(Messages.INT_SERVER_HALT)
            producer.send(Queues.CONTROL, msg)

            # 30 seconds for termination
            start = time.time()
            while not msg.is_handled():
                if time.time() - start < 30:
                    time.sleep(1)
                else:
                    break

    except (BaseException, Exception), e:
        logger.exception(e)
Beispiel #2
0
def main(argv=None):
    if not argv:
        argv = sys.argv
    init_script()
    _init_platform()
    szradm = Szradm(os.path.join(__dir__, 'commands'))
    # If szradm called with no arguments - print help() and all/most used possible commands
    szradm_kwds = command_module.parse_command_line(argv[1:], szradm.help(), options_first=True)
    sys.exit(szradm(**szradm_kwds))
Beispiel #3
0
def main(argv=None):
    if not argv:
        argv = sys.argv
    init_script()
    _init_platform()
    szradm = Szradm(os.path.join(__dir__, 'commands'))
    # If szradm called with no arguments - print help() and all/most used possible commands
    szradm_kwds = command_module.parse_command_line(argv[1:], szradm.help(), options_first=True)
    sys.exit(szradm(**szradm_kwds))
Beispiel #4
0
def main():
    init_script()
    logger = logging.getLogger("scalarizr.scripts.update")
    logger.info("Starting update script...")

    if disttool.is_debian_based():
        logger.info("Updating scalarizr with Apt")
        system2("apt-get -y install scalarizr", shell=True)
    elif disttool.is_redhat_based():
        logger.info("Updating scalarizr with Yum")
        system2("yum -y update scalarizr", shell=True)
    else:
        logger.error("Don't know how to update scalarizr on %s", " ".join(disttool.linux_dist()))
Beispiel #5
0
def main():
    init_script()
    logger = logging.getLogger("scalarizr.scripts.update")
    logger.info("Starting update script...")

    if linux.os.debian_family:
        logger.info("Updating scalarizr with Apt")
        system2("apt-get -y install scalarizr", shell=True)
    elif linux.os.redhat_family:
        logger.info("Updating scalarizr with Yum")
        system2("yum -y update scalarizr", shell=True)
    else:
        logger.error("Don't know how to update scalarizr on %s",
                     " ".join(platform.dist()))
Beispiel #6
0
def main():
    init_script()
    logger = logging.getLogger("scalarizr.scripts.update")
    logger.info("Starting update script...")

    if disttool.is_debian_based():
        logger.info("Updating scalarizr with Apt")
        system2("apt-get -y install scalarizr", shell=True)
    elif disttool.is_redhat_based():
        logger.info("Updating scalarizr with Yum")
        system2("yum -y update scalarizr", shell=True)
    else:
        logger.error("Don't know how to update scalarizr on %s",
                     " ".join(disttool.linux_dist()))
Beispiel #7
0
def main():
    global ini
    init_script()

    #23.09.11-------------------------------------------------------------------------------------------------
    com_dict = {
        'list-roles': ListRolesCommand,
        'get-latest-version': GetlatestVersionCommand,
        'list-ebs-mountpoints': ListEbsMountpointsCommand,
        'get-https-certificate': GetHttpsCertificateCommand,
        'list-role-params': ListRoleParamsCommand,
        'list-virtualhosts': ListVirtualhostsCommand,
        'list-scripts': ListScriptsCommand,
        'list-messages': ListMessagesCommand,
        'message-details': MessageDetailsCommand,
        'mark-as-unhandled': MarkAsUnhandledCommand,
        'help': Help,
        '--help': Help,
        '-h': Help
    }
    str = None
    com = None
    com_find = None

    if len(sys.argv) > 1:
        com_find = 1
    if com_find and com_dict.has_key(sys.argv[1]):
        if sys.argv[2:]:
            str = sys.argv[2:]
        #select command class in list and create object of this class with param
        try:
            com = com_dict.get(sys.argv[1])(str)
            if com:
                if isinstance(com, Help):
                    com.run(com_dict)
                else:
                    com.run()
        except Exception, e:
            com = Help(com_dict)
            com.run()
            raise LookupError("Cant execute command or option. Error: %s" %
                              (e))
Beispiel #8
0
def main():
    global ini
    init_script()

#23.09.11-------------------------------------------------------------------------------------------------
    com_dict={'list-roles':ListRolesCommand,
                    'get-latest-version':GetlatestVersionCommand,
                    'list-ebs-mountpoints':ListEbsMountpointsCommand,
                    'get-https-certificate':GetHttpsCertificateCommand,
                    'list-role-params':ListRoleParamsCommand,
                    'list-virtualhosts':ListVirtualhostsCommand,
                    'list-scripts':ListScriptsCommand,
                    'list-messages':ListMessagesCommand,
                    'message-details':MessageDetailsCommand,
                    'mark-as-unhandled':MarkAsUnhandledCommand,

                    'help':Help,
                    '--help':Help,
                    '-h':Help
            }
    str=None
    com=None
    com_find=None

    if len(sys.argv)>1:
        com_find=1
    if com_find and com_dict.has_key(sys.argv[1]):
        if sys.argv[2:]:
            str=sys.argv[2:]
        #select command class in list and create object of this class with param
        try:
            com=com_dict.get(sys.argv[1])(str)
            if com:
                if isinstance(com, Help):
                    com.run(com_dict)
                else:
                    com.run()
        except Exception, e:
            com=Help(com_dict)
            com.run()
            raise LookupError("Cant execute command or option. Error: %s" % (e))
Beispiel #9
0
def main():
    init_script()
    LOG.info("Starting reboot script...")

    try:
        try:
            action = sys.argv[1]
        except IndexError:
            LOG.error(
                "Invalid execution parameters. argv[1] must be presented")
            sys.exit()

        if action == "start" or action == "stop":
            if __node__['state'] != 'running':
                LOG.debug(
                    'Skipping RebootStart firing, server state is: {}'.format(
                        __node__['state']))
                return

            # fire internal reboot start message for Scalarizr
            msg_service = bus.messaging_service
            producer = msg_service.get_producer()
            msg = msg_service.new_message(Messages.INT_SERVER_REBOOT)
            producer.send(Queues.CONTROL, msg)

            # fire RebootStart for Scalr
            # don't use bus.messaging_service, cause it's producer points to Scalarizr endpoint
            msg_service = P2pMessageService(
                server_id=__node__['server_id'],
                crypto_key_path=os.path.join(__node__['etc_dir'],
                                             'private.d/keys/default'),
                producer_url=__node__['producer_url'],
                producer_retries_progression='1,2,5,10,20,30,60')
            hdlr = Handler()
            producer = msg_service.get_producer()
            msg = hdlr.new_message(Messages.REBOOT_START, srv=msg_service)
            producer.send(Queues.CONTROL, msg)

    except:
        LOG.exception('Caught exception')
Beispiel #10
0
def main():
    init_script()
    logger = logging.getLogger("scalarizr.scripts.udev")
    logger.info("Starting udev script...")

    try:
        initd = initdv2.lookup('scalarizr')
        if initd.running:
            channel = '/tmp/udev-block-device'
            with open(channel, 'w+') as fp:
                fp.write(os.environ['DEVNAME'])

            msg_service = bus.messaging_service
            producer = msg_service.get_producer()

            msg = msg_service.new_message(Messages.INT_BLOCK_DEVICE_UPDATED)
            for k, v in os.environ.items():
                msg.body[k.lower()] = v
            producer.send(Queues.CONTROL, msg)

    except (BaseException, Exception), e:
        logger.exception(e)
Beispiel #11
0
def main():
    init_script()   
    logger = logging.getLogger("scalarizr.scripts.udev")
    logger.info("Starting udev script...")


    
    try:
        initd = initdv2.lookup('scalarizr')
        if initd.running:
            channel = '/tmp/udev-block-device'
            with open(channel, 'w+') as fp:
                fp.write(os.environ['DEVNAME'])

            msg_service = bus.messaging_service
            producer = msg_service.get_producer()
        
            msg = msg_service.new_message(Messages.INT_BLOCK_DEVICE_UPDATED)
            for k, v in os.environ.items():
                msg.body[k.lower()] = v
            producer.send(Queues.CONTROL, msg)
    
    except (BaseException, Exception), e:
        logger.exception(e)
Beispiel #12
0
                            print 'Unknown message format'
                            sys.exit(1)
            else:
                msg.body = kv

            if options.name:
                msg.name = options.name

            producer.send(options.queue, msg)

            print "Done"

        if options.reinit:
            print 'Call scalarizr to reinitialize role (see /var/log/scalarizr.log for results)'

            init_script()

            conn = bus.db
            cur = conn.cursor()
            try:
                with open('/etc/scalr/private.d/.state', 'w') as fp:
                    fp.write('bootstrapping')

                msg_service = bus.messaging_service
                msg = msg_service.new_message()

                cur.execute(
                    'SELECT message, format '
                    'FROM p2p_message '
                    'WHERE message_name = ? '
                    'ORDER BY id DESC '
Beispiel #13
0
                            print 'Unknown message format'
                            sys.exit(1)
            else:
                msg.body = kv

            if options.name:
                msg.name = options.name

            producer.send(options.queue, msg)

            print "Done"

        if options.reinit:
            print 'Call scalarizr to reinitialize role (see /var/log/scalarizr.log for results)'

            init_script()

            conn = bus.db
            cur = conn.cursor()
            try:
                with open('/etc/scalr/private.d/.state', 'w') as fp:
                    fp.write('bootstrapping')

                msg_service = bus.messaging_service
                msg = msg_service.new_message()

                cur.execute('SELECT message, format '
                                'FROM p2p_message '
                                'WHERE message_name = ? '
                                'ORDER BY id DESC '
                                'LIMIT 1', ('HostInitResponse', )