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
#!/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 = []
#!/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])
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()