ONEx Data Models

Documentation Powered by ReDoc

# ONEx Data Models (0.0.1)

Download OpenAPI specification:Download

URL: https://github.com/onex/models/issues License: MIT

The data models for the entire ONEx ecosystem

# Configuration

## set_config

unused

##### Request Body schema: application/json

| Array of objects (Host)
| object (Fabric)
| object (Dataflow)
| object (Chaos)

### Responses

/config

### Request samples

- Payload

Content type
application/json
`
{

- "hosts":
  [
  - {
    - "name": "string",
    - "address": "string",
    - "prefix": 24
    }
  ],
- "fabric":
  {
  - "choice": "spine_pod_rack",
  - "spine_pod_rack":
    {
    - "spines":
      [
      - {
        - "count": 1,
        - "downlink_ecmp_mode": "random_spray",
        - "qos_profile_name": "string"
        }
      ],
    - "pods":
      [
      - {
        - "count": 1,
        - "pod_profile_name":
          [
          - "string"
          ]
        }
      ],
    - "host_links":
      [
      - {
        - "host_name": "string",
        - "front_panel_port": 0,
        - "choice": "rack",
        - "spine": 1,
        - "pod":
          {
          - "pod_index": 1,
          - "switch_index": 1
          },
        - "rack":
          {
          - "pod_index": 1,
          - "switch_index": 1
          }
        }
      ],
    - "pod_profiles":
      [
      - {
        - "name": "string",
        - "pod_switch":
          {
          - "count": 1,
          - "pod_to_spine_oversubscription": "string",
          - "uplink_ecmp_mode": "random_spray",
          - "downlink_ecmp_mode": "random_spray",
          - "qos_profile_name": "string"
          },
        - "rack":
          {
          - "count": 1,
          - "rack_profile_names":
            [
            - "string"
            ]
          }
        }
      ],
    - "rack_profiles":
      [
      - {
        - "name": "string",
        - "tor_uplink_ecmp_mode": "random_spray",
        - "tor_downlink_ecmp_mode": "random_spray",
        - "tor_qos_profile_name": "string",
        - "tor_to_pod_oversubscription": "string"
        }
      ]
    },
  - "qos_profiles":
    [
    - {
      - "name": "string",
      - "ingress_admission":
        {
        - "reserved_buffer_bytes": 0,
        - "shared_buffer_bytes": 0
        },
      - "scheduler":
        {
        - "scheduler_mode": "strict_priority",
        - "weight_list":
          [
          - 0
          ]
        },
      - "packet_classification":
        {
        - "map_dscp_to_traffic_class":
          {
          - "property1": "string",
          - "property2": "string"
          },
        - "map_traffic_class_to_queue":
          {
          - "property1": "string",
          - "property2": "string"
          }
        }
      }
    ]
  },
- "dataflow":
  {
  - "host_management":
    [
    - {
      - "host_name": "string",
      - "management_address": "string",
      - "nic_name": "string"
      }
    ],
  - "workload":
    [
    - {
      - "name": "string",
      - "choice": "scatter",
      - "scatter":
        {
        - "sources":
          [
          - "string"
          ],
        - "destinations":
          [
          - "string"
          ],
        - "flow_profile_name": "string"
        },
      - "gather":
        {
        - "sources":
          [
          - "string"
          ],
        - "destinations":
          [
          - "string"
          ],
        - "flow_profile_name": "string"
        },
      - "loop":
        {
        - "iterations": 0,
        - "children":
          [
          - { }
          ]
        },
      - "compute":
        {
        - "nodes":
          [
          - "string"
          ],
        - "choice": "simulated",
        - "simulated":
          {
          - "duration": 0
          }
        },
      - "all_reduce":
        {
        - "nodes":
          [
          - "string"
          ],
        - "flow_profile_name": "string",
        - "type": "ring"
        },
      - "broadcast":
        {
        - "sources":
          [
          - "string"
          ],
        - "destinations":
          [
          - "string"
          ],
        - "flow_profile_name": "string"
        },
      - "all_to_all":
        {
        - "nodes":
          [
          - "string"
          ],
        - "flow_profile_name": "string"
        }
      }
    ],
  - "flow_profiles":
    [
    - {
      - "name": "string",
      - "data_size": 0,
      - "l2_protocol_choice": "ethernet",
      - "ethernet":
        {
        - "mtu": 1500
        },
      - "l4_protocol_choice": "tcp",
      - "tcp":
        {
        - "congestion_algorithm": "cubic",
        - "initcwnd": 0,
        - "send_buf": 0,
        - "receive_buf": 0,
        - "destination_port":
          {
          - "choice": "single_value",
          - "single_value":
            {
            - "value": 1
            },
          - "range":
            {
            - "start_value": 1,
            - "increment": 1
            }
          },
        - "source_port":
          {
          - "choice": "single_value",
          - "single_value":
            {
            - "value": 1
            },
          - "range":
            {
            - "start_value": 1,
            - "increment": 1
            }
          }
        },
      - "udp": { }
      }
    ]
  },
- "chaos":
  {
  - "background_traffic":
    {
    - "flows":
      [
      - {
        - "name": "string",
        - "fabric_entry_point":
          {
          - "choice": "switch_reference",
          - "switch_reference":
            {
            - "choice": "spine",
            - "spine":
              {
              - "switch_index": 0
              },
            - "pod":
              {
              - "pod_index": 0,
              - "switch_index": 0
              },
            - "tor":
              {
              - "pod_index": 0,
              - "switch_index": 0
              }
            },
          - "front_panel_port":
            {
            - "front_panel_port": 0
            }
          },
        - "choice": "stateless",
        - "stateless":
          [
          - {
            - "name": "string",
            - "rate": 0,
            - "rate_unit": "bps",
            - "packet":
              {
              - "src_address": "string",
              - "dst_address": "string",
              - "src_port": 1024,
              - "dst_port": 1024,
              - "size": 1000,
              - "l4_protocol": "tcp"
              }
            }
          ]
        }
      ]
    }
  }

}`

### Response samples

- 200
- 400
- 500

Content type
application/json
`
{

- "warnings":
  [
  - {
    - "message": "string",
    - "code": 0,
    - "detail": "string"
    }
  ]

}`