Download OpenAPI specification:Download
The data models for the entire ONEx ecosystem
Sets the unified ONEx data model
Array of objects (Host) | |
object (Fabric) | |
object (Dataflow) | |
object (Chaos) |
{- "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"
}
}
], - "flow_profiles": [
- {
- "name": "string",
- "data_size": 0,
- "l2_protocol_choice": "ethernet",
- "ethernet": {
- "mtu": 1500
}, - "l4_protocol_choice": "tcp",
- "tcp": {
- "congestionAlgorithm": "cubic",
- "initcwnd": 0,
- "sendBuf": 0,
- "receiveBuf": 0,
- "destinationPort": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}, - "sourcePort": {
- "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"
}
}
]
}
]
}
}
}
{- "warnings": [
- "string"
]
}
Gets the unified ONEx data model from the server, as currently configured
GetConfig request details
{ }
{- "config": {
- "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"
}
}
], - "flow_profiles": [
- {
- "name": "string",
- "data_size": 0,
- "l2_protocol_choice": "ethernet",
- "ethernet": {
- "mtu": 1500
}, - "l4_protocol_choice": "tcp",
- "tcp": {
- "congestionAlgorithm": "cubic",
- "initcwnd": 0,
- "sendBuf": 0,
- "receiveBuf": 0,
- "destinationPort": {
- "choice": "single_value",
- "single_value": {
- "value": 1
}, - "range": {
- "start_value": 1,
- "increment": 1
}
}, - "sourcePort": {
- "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"
}
}
]
}
]
}
}
}
}
Request to obtain experiment metrics
Metrics request details
{ }
{- "jct": 0,
- "flow_results": [
- {
- "workload_name": "string",
- "flow_number": 0,
- "from_host_name": "string",
- "to_host_name": "string",
- "fct": 0,
- "tcp_info": {
- "rtt": 0,
- "rtt_variance": 0,
- "retransmissions": 0
}
}
]
}