Given that

1. there is an ongoing api discussion in which using json schemas is an important part
2. tempest now has a schema-based auto-generate feature for negative tests

I think it would be a good time to have at least an initial discussion about the requirements for theses schemas and where they will live. The next step in tempest around this is to replace the existing negative test files with auto-gen versions, and most of the work in doing that
is to define the schemas.

The tempest framework needs to know the http method, url part, expected error codes, and payload description. I believe only the last is covered by the current nova schema definitions, with the others being some kind of attribute or data associated with the method that is doing the validation. Ideally the information being used to do the validation could be auto-converted to a more general schema that could be used by tempest. I'm interested in what folks have to say about this and especially from the folks who are core members of both nova and tempest. See below for one example (note that the tempest generator does not yet handle "pattern").

 -David

From nova:

get_console_output = {
    'type': 'object',
    'properties': {
        'get_console_output': {
            'type': 'object',
            'properties': {
                'length': {
                    'type': ['integer', 'string'],
                    'minimum': 0,
                    'pattern': '^[0-9]+$',
                },
            },
            'additionalProperties': False,
        },
    },
    'required': ['get_console_output'],
    'additionalProperties': False,
}

From tempest:

{
    "name": "get-console-output",
    "http-method": "POST",
    "url": "servers/%s/action",
    "resources": [
        {"name":"server", "expected_result": 404}
    ],
    "json-schema": {
        "type": "object",
        "properties": {
            "os-getConsoleOutput": {
                "type": "object",
                "properties": {
                    "length": {
                        "type": ["integer", "string"],
                        "minimum": 0
                    }
                }
            }
        },
        "additionalProperties": false
    }
}


_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to