api

package
v0.0.0-...-2bfc6f9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExternalSchedulerHost

type ExternalSchedulerHost struct {
	// Name of the Manila share host.
	ShareHost string `json:"host"`
}

Host object from the Manila scheduler pipeline.

type ExternalSchedulerRequest

type ExternalSchedulerRequest struct {
	// TODO: Use a more specific type for the spec.
	Spec any `json:"spec"`
	// Request context from Manila that contains additional meta information.
	Context ManilaRequestContext `json:"context"`
	// The share hosts that are available for scheduling.
	Hosts []ExternalSchedulerHost `json:"hosts"`
	// Weights map of share hosts to their weights calculated by the Manila weigher pipeline.
	Weights map[string]float64 `json:"weights"`
	// The name of the pipeline to execute.
	// By default the required pipeline with the name "default" will be used.
	Pipeline string `json:"pipeline"`
}

Request generated by the Manila scheduler when calling cortex. The request contains a spec of the share to be scheduled, a list of hosts and their status, and a map of weights that were calculated by the Manila weigher pipeline. Some additional flags are also included.

type ExternalSchedulerResponse

type ExternalSchedulerResponse struct {
	Hosts []string `json:"hosts"`
}

Response generated by cortex for the Manila scheduler. Cortex returns an ordered list of hosts that the share should be scheduled on.

type ManilaRequestContext

type ManilaRequestContext struct {
	UserID          string   `json:"user"`
	ProjectID       string   `json:"project_id"`
	SystemScope     string   `json:"system_scope"`
	DomainID        string   `json:"domain"`
	UserDomainID    string   `json:"user_domain"`
	ProjectDomainID string   `json:"project_domain"`
	IsAdmin         bool     `json:"is_admin"`
	ReadOnly        bool     `json:"read_only"`
	ShowDeleted     bool     `json:"show_deleted"`
	RequestID       string   `json:"request_id"`
	GlobalRequestID string   `json:"global_request_id"`
	ResourceUUID    string   `json:"resource_uuid"`
	Roles           []string `json:"roles"`
	UserIdentity    string   `json:"user_identity"`
	IsAdminProject  bool     `json:"is_admin_project"`

	RemoteAddress string `json:"remote_address"`
	Timestamp     string `json:"timestamp"`
	QuotaClass    string `json:"quota_class"`
	ProjectName   string `json:"project_name"`
}

Manila request context object. For the spec of this object, see:

- This: https://github.com/sapcc/manila/blob/4ffdfc/manila/context.py#L29 - And: https://github.com/openstack/oslo.context/blob/db20dd/oslo_context/context.py#L329

Some fields are omitted: "service_catalog", "read_deleted" (same as "show_deleted")

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL