Esempio n. 1
0
def config_check_service(environments, root, path):
    try:
        service = validate.path_val(root, path, 'object')
        env_name = validate.path_val(root, path + ['environment'], 'string',
                                     'default')
        default = env_name == 'default'
        env = environments.get(env_name)
        if env is None:
            if default:
                raise validate.ConfigError(
                    ('The service at %s has no environment field, and no ' +
                     'environment called "default" exists.') %
                    validate.render_path(path))
            else:
                raise validate.ConfigError(
                    'In %s, unrecognized environment %s' %
                    (validate.render_path(path), env_name))
        compiler = service_compilers.get(env['kind'])
        compiler.validateService(root, path)
        for child_name, child in compiler.children(service):
            config_check_service(environments, root, path + [child_name])
    except validate.ConfigError as e:
        if e.note is None:
            e.note = (
                'Did you mean for %s to be a visible field (: instead of ::)?'
                % validate.render_path(path))
        raise
Esempio n. 2
0
def config_check_service(environments, ctx, service_name, service):
    try:
        ctx = ctx + [service_name] 
        validate.value(ctx, service, 'object')
        env_name = validate.obj_field_opt(ctx, service, 'environment', 'string')
        default = env_name is None
        if default:
            env_name = 'default'
        env = environments.get(env_name)
        if env is None:
            if default:
                raise validate.ConfigError(('The service at %s has no environment field, and no ' +
                                            'environment called "default" exists.')
                                            % validate.render_path(ctx))
            else:
                raise validate.ConfigError('In %s, unrecognized environment %s'
                                  % (validate.render_path(ctx), env_name))
        compiler = service_compilers.get(env['kind'])
        compiler.validateService(ctx, service_name, service)
        for child_name, child in compiler.children(service):
            config_check_service(environments, ctx, child_name, child)
    except validate.ConfigError as e:
        if e.note is None:
            e.note = ('Did you mean for %s to be a visible field (: instead of ::)?'
                      % validate.render_path(ctx))
        raise
Esempio n. 3
0
def config_check_service(environments, root, path):
    try:
        service = validate.path_val(root, path, 'object')
        env_name = validate.path_val(root, path + ['environment'], 'string', 'default')
        default = env_name == 'default'
        env = environments.get(env_name)
        if env is None:
            if default:
                raise validate.ConfigError(('The service at %s has no environment field, and no ' +
                                            'environment called "default" exists.')
                                           % validate.render_path(path))
            else:
                raise validate.ConfigError('In %s, unrecognized environment %s'
                                           % (validate.render_path(path), env_name))
        compiler = service_compilers.get(env['kind'])
        compiler.validateService(root, path)
        for child_name, child in compiler.children(service):
            config_check_service(environments, root, path + [child_name])
    except validate.ConfigError as e:
        if e.note is None:
            e.note = ('Did you mean for %s to be a visible field (: instead of ::)?'
                      % validate.render_path(path))
        raise