Isilon / isilon_sdk

Official repository for isilon_sdk. All language bindings are available for download under the 'Releases' tab.
MIT License
50 stars 21 forks source link

Spec file validation fail: Additional properties not allowed: tapes,media_changers at #/schema/properties/devices #14

Closed cbrainerd closed 6 years ago

cbrainerd commented 8 years ago

"name": "SyntaxError", "message": "Swagger schema validation failed. Data does not match any schemas from 'oneOf' at #/paths//platform/3/hardware/tapes/get/responses/200 Data does not match any schemas from 'oneOf' at #/paths//platform/3/hardware/tapes/get/responses/200/schema Additional properties not allowed: tapes,media_changers at #/schema/properties/devices Additional properties not allowed: properties at #/schema Missing required property: $ref at #/paths//platform/3/hardware/tapes/get/responses/200

Problem is caused by an invalid PAPI GET_output_schema for /platform/3/hardware/tapes. This should be fixed in a future OneFS release (bug 176270) but for existing releases would need to be handled in create_swagger_config.py to generate a compliant swagger spec file.

Here's the problem output in the spec file. "media_changers" and "tapes" are not valid as direct children of "devices". "devices" is missing type and properties attributes.

        "HardwareTapes": {
            "description": "Get list Tape and Changer devices",
            "properties": {
                "devices": {
                    "media_changers": { ... },
                    "tapes": { ... }
                },
                "resume": {
                    "description": "Resume string returned by previous query.",
                    "type": "string"
                },
                "total": {
                    "description": "The number of devices",
                    "type": "integer"
                }
            },
            "type": "object"
        },

Found in v0.1.2 isi_sdk_8_0/output.json

Atomicology commented 6 years ago

This issue is affecting the following Python packages: isi_sdk_8_0, isi_sdk_8_0_1, and isi_sdk_8_1_0.