
In support of a larger effort to introduce a DeploymentStrategy document for Shipyard to use to drive baremetal node deployment, this change adds a schema and tests for that schema. Change-Id: I94c41f0ee8c8cf9c3762c5c1af575798fb1dccb4
75 lines
1.9 KiB
YAML
75 lines
1.9 KiB
YAML
---
|
|
schema: 'deckhand/DataSchema/v1'
|
|
metadata:
|
|
schema: metadata/Control/v1
|
|
name: shipyard/DeploymentStrategy/v1
|
|
labels:
|
|
application: shipyard
|
|
data:
|
|
$schema: 'http://json-schema.org/schema#'
|
|
id: 'https://github.com/att-comdev/shipyard/deploymentStrategy.yaml'
|
|
type: 'object'
|
|
required:
|
|
- groups
|
|
properties:
|
|
groups:
|
|
type: 'array'
|
|
minItems: 0
|
|
items:
|
|
type: 'object'
|
|
required:
|
|
- name
|
|
- critical
|
|
- depends_on
|
|
- selectors
|
|
properties:
|
|
name:
|
|
type: 'string'
|
|
minLength: 1
|
|
critical:
|
|
type: 'boolean'
|
|
depends_on:
|
|
type: 'array'
|
|
minItems: 0
|
|
items:
|
|
type: 'string'
|
|
selectors:
|
|
type: 'array'
|
|
minItems: 0
|
|
items:
|
|
type: 'object'
|
|
minProperties: 1
|
|
properties:
|
|
node_names:
|
|
type: 'array'
|
|
items:
|
|
type: 'string'
|
|
node_labels:
|
|
type: 'array'
|
|
items:
|
|
type: 'string'
|
|
node_tags:
|
|
type: 'array'
|
|
items:
|
|
type: 'string'
|
|
rack_names:
|
|
type: 'array'
|
|
items:
|
|
type: 'string'
|
|
additionalProperties: false
|
|
success_criteria:
|
|
type: 'object'
|
|
minProperties: 1
|
|
properties:
|
|
percent_successful_nodes:
|
|
type: 'integer'
|
|
minimum: 0
|
|
maximum: 100
|
|
minimum_successful_nodes:
|
|
type: 'integer'
|
|
minimum: 0
|
|
maximum_failed_nodes:
|
|
type: 'integer'
|
|
minimum: 0
|
|
additionalProperties: false
|