def _process(rsrc):
                try:
                    if '_id' not in rsrc:
                        raise exc.InvalidInputError(
                            __name__,
                            'delta is missing _id attribute: {}'.format(rsrc)
                        )

                    rsrc_id = rsrc['_id']
                    if proid != rsrc_id.partition('.')[0]:
                        raise exc.InvalidInputError(
                            __name__,
                            'instance id does not match proid: {} {}'.format(
                                proid,
                                rsrc_id
                            )
                        )

                    delta = {rsrc_id: rsrc['priority']}
                    masterapi.update_app_priorities(
                        context.GLOBAL.zk.conn,
                        delta
                    )
                    return masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id)
                except Exception as err:  # pylint: disable=W0703
                    return {'_error': {'_id': rsrc_id,
                                       'why': str(err)}}
Exemple #2
0
    def configure(priority, instance):
        """View app instance configuration"""
        if priority is not None:
            masterapi.update_app_priorities(context.GLOBAL.zk.conn,
                                            {instance: priority})

        scheduled = masterapi.get_app(context.GLOBAL.zk.conn, instance)
        cli.out(formatter(scheduled))
Exemple #3
0
        def update(rsrc_id, rsrc):
            """Update instance configuration."""
            _LOGGER.info('update: %s %r', rsrc_id, rsrc)

            delta = {rsrc_id: rsrc['priority']}

            masterapi.update_app_priorities(context.GLOBAL.zk.conn, delta)
            return masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id)
        def get(rsrc_id):
            """Get instance configuration."""
            inst = masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id)
            if inst is None:
                return inst

            inst['_id'] = rsrc_id
            for plugin in self._plugins:
                inst = plugin.remove_attributes(inst)
            return inst
Exemple #5
0
 def configure(instance):
     """View app instance configuration"""
     scheduled = masterapi.get_app(context.GLOBAL.zk.conn, instance)
     cli.out(formatter(scheduled))