OpenStack Placement

Tracks resource provider inventories, usages and traits so services can find where a workload fits.

Provider
openstack
Category
Operations
Properties · 2 set by this component
propertytypevaluesrequiredkind defaultthis component
consensusenumnone | raft | paxos | zabnononeinherited
managedboolean—nofalse▸ false
nodesinteger—no—inherited
replicatedboolean—nofalseinherited
resourceClasses · component propertyboolean—notrueinherited
roleenummetadata | lock | discovery | placement | sharding | leader-election | configyes—▸ placement
standalone · component propertyboolean—notrueinherited
traits · component propertyboolean—notrueinherited
Rules that apply · 2

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

shared-dependency-without-redundancy

The design requires redundant discovery, but this DNS or coordination service, which everything depends on, runs on a single provider or a single replica. Its failure is the whole system's failure.

  • — all of these hold:
  • — the design requirement `availability.discoveryRedundant` is true
  • — any of these hold:
  • — the node's `redundantProviders` is false
  • — the node's `replicated` is false
stateful-engine-pinned-to-single-zone

A matching engine, coordination service or event store living in exactly one availability zone, with no failover and no replication, is lost with that zone. Everything that depends on it stops with it.

  • — all of these hold:
  • — the node sits inside exactly 1 availability-zone group
  • — any of these hold:
  • — the node's `failover` is "none"
  • — the node's `replicated` is false
  • — the node's `replication` is "none"
Use it in a design
nodes:
  - { id: "placement", component: "openstack-placement" }
Other Coordination service products · 17
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# OpenStack Placement: "a REST API stack and data model used to track resource provider
# inventories and usages, along with different classes of resources" ("Placement API").
# It records resource providers (compute nodes, storage pools, IP allocation pools), their
# inventories in resource classes such as VCPU, MEMORY_MB and DISK_GB, and qualitative traits;
# Nova and other services ask it where a workload can fit. Extracted from Nova into its own
# repository in Stein (19.0.0) after arriving in Newton (14.0.0).
schemaVersion: "1"
type: "component"
id: "openstack-placement"
kind: "coordination-service"
provider: "openstack"
docs: "https://docs.openstack.org/placement/latest/"
defaults:
  role: "placement"
  managed: false
properties:
  resourceClasses:
    type: "boolean"
    default: true
  traits:
    type: "boolean"
    default: true
  standalone:
    type: "boolean"
    default: true

The same page as markdown, for an agent: /catalogue/components/openstack-placement.md