Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions api/v1alpha1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
This document specifies Cortex CRDs.

## Pipeline

```yaml
apiVersion: cortex.cloud/v1alpha1
kind: Pipeline
metadata:
name: nova-general-purpose
spec:
description: The primary objective of this pipeline is to load-balance general purpose workloads.
# Ordered filters must be completed successfully in order to ensure valid placement and scheduling.
# Failures stop both placement and scheduling and raise a critical alert.
filters:
- name: filter1
description: Short, human-readable description.
# Optional parameters to configure the filter.
params:
key: value
# Ordered weighers should be completed successfully in order to ensure optimal placement and scheduling.
# Failures raise a warning-level alert.
weighers:
- name: weigher1
description: Short, human-readable description.
# Optional parameters to configure the weigher.
params:
key: value
status:
conditions:
- type: Ready
status: True|False|Unknown
reason: AllFiltersAndWeighersReady
message: All filters and weighers are ready
lastTransitionTime: "<timestamp>"
```

## Knowledge

```yaml
apiVersion: cortex.cloud/v1alpha1
kind: Knowledge
metadata:
name: <name>
spec: {}
status: {}
```

## Reservation

```yaml
apiVersion: cortex.cloud/v1alpha1
kind: Reservation
metadata:
name: <project>-hana
spec:
resources:
cpu: 1
memory: 1TiB

domain: nova
startTime: <timestamp>
endTime: <timestamp>
activeTime: <duration>

projectID: <uuid>

selector:
isNUMAAlignedHost: "true"

# everything nova we can't generalize goes here
nova: {}

status:
conditions:
- type: Ready
status: True|False|Unknown
reason: ReservationReady
message: Reservation is successfully scheduled
lastTransitionTime: "<timestamp>"
```
13 changes: 13 additions & 0 deletions api/v1alpha1/common.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package v1alpha1

// SchedulingDomain reflects the logical domain for scheduling, such as nova, cinder, manila.
// TODO: Or rename to type to avoid naming clash with openstack domains.
type SchedulingDomain string

const (
// SchedulingDomainNova indicates an OpenStack Nova (compute) scheduling domain.
SchedulingDomainNova SchedulingDomain = "nova"

// SchedulingDomainCinder ...
SchedulingDomainCinder SchedulingDomain = "cinder"
)
298 changes: 0 additions & 298 deletions api/v1alpha1/datasource_types.go

This file was deleted.

Loading