Commit 2adb6afa authored by Antoine Millet's avatar Antoine Millet
Browse files

Removed Riskgroup validation from VMSpec

parent bec4033a
Loading
Loading
Loading
Loading
+1 −29
Original line number Diff line number Diff line
@@ -51,25 +51,6 @@ def check_dict_key(dict_, key, message, **kwargs):

# Validation rules:

def validate_riskgroup(data):
    """ Validate riskgroups.

    Example:
        {'name': {'tag': 1}}
    """

    check_type(data, dict, 'riskgroup: must be a dict')

    for name, tags in data.iteritems():
        env = {"name": name}

        check_type(name, basestring, 'riskgroup/[%(name)s]: must be a string', **env)
        check_type(tags, dict, 'riskgroup/%(name)s: must be a dict', **env)

        for tag, value in tags.iteritems():
            check_type(tag, basestring, 'riskgroup/%(name)s/[%(tag)s]: must be a string', tag=tag, **env)
            check_integer(value, 'riskgroup/%(name)s/%(tag)s: must be a positive integer', min=1, tag=tag, **env)


def validate_machine_volumes(hostname, data):
    """ Validate machines volumes.
@@ -147,12 +128,9 @@ def validate_vmspec(data):
    """ Validate a vmspec.

    Example:
        {'riskgroups:' ..., 'machines': ...}
        {machines': ...}
    """

    if 'riskgroups' in data:
        validate_riskgroup(data['riskgroups'])

    check_dict_key(data, 'machines', 'machines: is mandatory')
    validate_machines(data['machines'])

@@ -165,14 +143,8 @@ def expand_vmspec(vmspec):
    """
    validate_vmspec(vmspec)
    vmspec_expanded = []
    riskgroups = vmspec.get('riskgroups', {})
    for title, specs in vmspec['machines'].iteritems():
        specs['title'] = title
        riskgroup = specs.get('tags', {}).get('riskgroup')
        if riskgroup is not None:
            if riskgroup not in riskgroups:
                raise VMSpecValidationError('machines/%s: riskgroup not defined')
            specs['riskgroup'] = riskgroups[riskgroup]
        if 'target' in vmspec:
            if 'target' in specs:
                specs['target'] = '(%s)&(%s)' % (vmspec['target'], specs['target'])