Пример #1
0
def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
    """Create a Pylons WSGI application and return it

    ``global_conf``
        The inherited configuration for this application. Normally from
        the [DEFAULT] section of the Paste ini file.

    ``full_stack``
        Whether this application provides a full WSGI stack (by default,
        meaning it handles its own exceptions and errors). Disable
        full_stack when this application is "managed" by another WSGI
        middleware.

    ``static_files``
        Whether this application serves its own static files; disable
        when another web server is responsible for serving them.

    ``app_conf``
        The application's local configuration. Normally specified in
        the [app:<name>] section of the Paste ini file (where <name>
        defaults to main).

    """
    # Configure the Pylons environment
    config = load_environment(global_conf, app_conf)

    # The Pylons WSGI app
    app = PylonsApp(config=config)

    # Routing/Session/Cache Middleware
    app = RoutesMiddleware(app, config['routes.map'])
    app = SessionMiddleware(app, config)

    # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)

    if asbool(full_stack):
        # Handle Python exceptions
        app = ErrorHandler(app, global_conf, **config['pylons.errorware'])

        # Display error documents for 401, 403, 404 status codes (and
        # 500 when debug is disabled)
        if asbool(config['debug']):
            app = StatusCodeRedirect(app)
        else:
            app = StatusCodeRedirect(app, [400, 401, 403, 404, 500])

    # Establish the Registry for this application
    app = RegistryManager(app)

    if asbool(static_files):
        # Serve static files
        static_app = StaticURLParser(config['pylons.paths']['static_files'])
        app = Cascade([static_app, app])
    app.config = config
    return app
Пример #2
0
def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
    """Create a Pylons WSGI application and return it

    ``global_conf``
        The inherited configuration for this application. Normally from
        the [DEFAULT] section of the Paste ini file.

    ``full_stack``
        Whether this application provides a full WSGI stack (by default,
        meaning it handles its own exceptions and errors). Disable
        full_stack when this application is "managed" by another WSGI
        middleware.

    ``static_files``
        Whether this application serves its own static files; disable
        when another web server is responsible for serving them.

    ``app_conf``
        The application's local configuration. Normally specified in
        the [app:<name>] section of the Paste ini file (where <name>
        defaults to main).

    """
    # Configure the Pylons environment
    config = load_environment(global_conf, app_conf)

    # The Pylons WSGI app
    app = PylonsApp(config=config)

    # Routing/Session/Cache Middleware
    app = RoutesMiddleware(app, config['routes.map'])
    app = SessionMiddleware(app, config)

    # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)

    if asbool(full_stack):
        # Handle Python exceptions
        app = ErrorHandler(app, global_conf, **config['pylons.errorware'])

        # Display error documents for 401, 403, 404 status codes (and
        # 500 when debug is disabled)
        if asbool(config['debug']):
            app = StatusCodeRedirect(app)
        else:
            app = StatusCodeRedirect(app, [400, 401, 403, 404, 500])

    # Establish the Registry for this application
    app = RegistryManager(app)

    if asbool(static_files):
        # Serve static files
        static_app = StaticURLParser(config['pylons.paths']['static_files'])
        app = Cascade([static_app, app])
    app.config = config
    return app
Пример #3
0
#!/usr/local/bin/python2.6
from paste.deploy import appconfig
from pylons import config

from sqlalchemy.sql import and_

from nodetraq.config.environment import load_environment
from nodetraq.model.meta import Session, now
from nodetraq.model.nodes import Node, Group
from nodetraq.lib.sshwrapper import run_ssh_command

conf = appconfig('config:production.ini', relative_to='../../')
load_environment(conf.global_conf, conf.local_conf)


class XenInfo(object):
    def __init__(self):
        self.hostname = ''
        self.id = 0
        self.mem = 0
        self.vcpus = 0
        self.state = "------"
        self.time = 0
        self.location = 'sv2'
        self.rack = 0
        self.rack_u = 0


def get_xen_list(xen_group):
    # Aggregate xen-dom0 info
    xeninfo = []
Пример #4
0
#!/usr/local/bin/python2.6
from paste.deploy import appconfig
from pylons import config

from nodetraq.config.environment import load_environment
from nodetraq.model.meta import Session, now
from nodetraq.model.nodes import Node, Group

import re
import string

conf = appconfig('config:production.ini', relative_to='../../')
load_environment(conf.global_conf, conf.local_conf)

def create_group(name):
    group = Group()
    group.name = name
    Session.add(group)
    Session.commit()
    return group


def generate_groupname(model_name):
    if not model_name:
        return None
    if model_name in ['DELL', '1']:
        return None
    model_group, model_class = model_name.split()
    model_group = ''.join(
            [c for c in model_group \
                    if c in string.ascii_uppercase])
Пример #5
0
def setup_app(command, conf, vars):
    """Place any commands to setup nodetraq here"""
    # Don't reload the app if it was loaded under the testing environment
    if not pylons.test.pylonsapp:
        load_environment(conf.global_conf, conf.local_conf)

    # Create the tables if they don't already exist
    Base.metadata.create_all(bind=Session.bind)
    # Use the below only if you're not using declarative.
    # metadata.create_all(bind=Session.bind)

    # Setup the Activity Types
    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'nagios'
    a_type.action = 'enable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'puppet'
    a_type.action = 'enable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'puppet'
    a_type.action = 'disable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'user'
    a_type.action = 'create'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'user'
    a_type.action = 'update'
    Session.add(a_type)

    # Setup Flags
    flag = Flag()
    flag.name = 'setup'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'hardware'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'maintenance'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'rebooting'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'examining'
    Session.add(flag)
    Session.commit()

    backup = BackupType()
    backup.name = 'xtrabackup'
    Session.add(backup)
    Session.commit()

    backup = BackupType()
    backup.name = 'one-off-backup'
    Session.add(backup)
    Session.commit()
Пример #6
0
def setup_app(command, conf, vars):
    """Place any commands to setup nodetraq here"""
    # Don't reload the app if it was loaded under the testing environment
    if not pylons.test.pylonsapp:
        load_environment(conf.global_conf, conf.local_conf)

    # Create the tables if they don't already exist
    Base.metadata.create_all(bind=Session.bind)
    # Use the below only if you're not using declarative.
    # metadata.create_all(bind=Session.bind)

    # Setup the Activity Types
    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'node'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'group'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'inventory'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'add'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'remove'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'loadbalancer'
    a_type.action = 'update'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'nagios'
    a_type.action = 'enable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'puppet'
    a_type.action = 'enable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'puppet'
    a_type.action = 'disable'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'user'
    a_type.action = 'create'
    Session.add(a_type)

    a_type = ActivityType()
    a_type.name = 'user'
    a_type.action = 'update'
    Session.add(a_type)

    # Setup Flags
    flag = Flag()
    flag.name = 'setup'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'hardware'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'maintenance'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'rebooting'
    flag.description = ''
    Session.add(flag)

    flag = Flag()
    flag.name = 'examining'
    Session.add(flag)
    Session.commit()

    backup = BackupType()
    backup.name = 'xtrabackup'
    Session.add(backup)
    Session.commit()

    backup = BackupType()
    backup.name = 'one-off-backup'
    Session.add(backup)
    Session.commit()