예제 #1
0
    def configure_monitors(ctx, monitors):
        """Configure system apps monitors."""
        if not monitors:
            monitors = _monitors(ctx)

        for name, count in six.iteritems(monitors):
            print(name, count)
            masterapi.update_appmonitor(context.GLOBAL.zk.conn, name,
                                        int(count))
예제 #2
0
    def configure_monitors(monitors, cors_origin, krb_realm):
        """Configure system apps monitors."""
        ctx = CellCtx(cors=cors_origin, krb_realm=krb_realm)

        if not monitors:
            monitors = _monitors(ctx)

        for name, count in six.iteritems(monitors):
            print(name, count)
            masterapi.update_appmonitor(context.GLOBAL.zk.conn, name,
                                        int(count))
예제 #3
0
    def configure_monitors(monitors, cors_origin, krb_realm, dry_run):
        """Configure system apps monitors."""
        ctx = cell_admin.CellCtx(cors=cors_origin, krb_realm=krb_realm)
        cell_apps = cell_admin.get_apps(ctx)

        if not monitors:
            monitors = {
                appname: app['monitors']
                for appname, app in cell_apps.items() if 'monitors' in app
            }

        for appname, count in monitors.items():
            fullname = cell_apps[appname]['fullname']
            cli.echo_green('Configuring monitor %s: %s', fullname, count)
            if not dry_run:
                masterapi.update_appmonitor(context.GLOBAL.zk.conn, fullname,
                                            int(count))
예제 #4
0
    def configure(app, count):
        """Create, get or modify an app monitor configuration"""
        zkclient = context.GLOBAL.zk.conn
        if count is not None:
            data = masterapi.update_appmonitor(zkclient, app, count)
        else:
            data = masterapi.get_appmonitor(zkclient, app)

        cli.out(formatter(data))
예제 #5
0
 def update(rsrc_id, rsrc):
     """Update application configuration."""
     zkclient = context.GLOBAL.zk.conn
     return masterapi.update_appmonitor(
         zkclient,
         rsrc_id,
         rsrc.get('count'),
         rsrc.get('policy'),
     )
예제 #6
0
 def create(rsrc_id, rsrc):
     """Create (configure) application monitor."""
     zkclient = context.GLOBAL.zk.conn
     return masterapi.update_appmonitor(
         zkclient,
         rsrc_id,
         rsrc['count'],
         rsrc.get('policy'),
     )
예제 #7
0
파일: master.py 프로젝트: ceache/treadmill
    def configure(app, count, policy):
        """Create, get or modify an app monitor configuration"""
        zkclient = context.GLOBAL.zk.conn

        options = {}
        if count is not None:
            options['count'] = count
        if policy is not None:
            options['policy'] = policy

        existing = masterapi.get_appmonitor(zkclient, app)

        # reconfigure if any of the parameters is specified
        if options:
            if count is None and existing is not None:
                count = existing.get('count')
            if policy is None and existing is not None:
                policy = existing.get('policy')
            data = masterapi.update_appmonitor(zkclient, app, count, policy)

        else:
            data = existing

        cli.out(formatter(data))
예제 #8
0
 def update(rsrc_id, rsrc):
     """Update application configuration."""
     zkclient = context.GLOBAL.zk.conn
     masterapi.update_appmonitor(zkclient, rsrc_id, rsrc['count'])
     return masterapi.get_appmonitor(zkclient, rsrc_id)