browbeat/lib/validate.yaml
jkilpatr b21cd3cebc Add YODA for undercloud and overcloud workloads
Yoda is a Browbeat workload for Ironic and TripleO

It can perform and monitor the following

 * Introspection bulk or batch
 * Cloud deployment with varying node types and numbers
 * Baremetal node import timing (actually done during introspection tests)

Metrics that are gathered inclue

 * Time to pxe
 * Time till pingable
 * Success/Failure rate ahd times
 * Overcloud Metadata after each deploy

Potential issues

Change-Id: I89809cc35db2cfaa39f8ede49ec853572c0e468e
2017-06-15 15:25:31 +00:00

367 lines
8.0 KiB
YAML

name: Browbeat configuration schema
type: map
allowempty: True
mapping:
browbeat:
required: True
type: map
mapping:
results:
type: str
required: True
rerun:
type: int
required: True
cloud_name:
type: str
required: True
elasticsearch:
required: True
type: map
mapping:
enabled:
type: bool
required: True
host:
type: str
required: True
pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$
regather:
type: bool
required: True
port:
type: int
required: True
metadata_files:
type: seq
required: True
sequence:
- type: map
allowempty: True
mapping:
name:
type: str
required: True
file:
type: str
required: True
ansible:
required: True
type: map
allowempty: True
mapping:
ssh_config:
type: str
required: True
hosts:
type: str
required: True
adjust:
type: map
mapping:
keystone_token:
type: str
neutron_l3:
type: str
nova_db:
type: str
workers:
type: str
grafana_snapshot:
type: str
required: True
shaker_build:
type: str
metadata:
type: str
required: True
connmon:
type: map
allowempty: True
mapping:
enabled:
type: bool
required: True
grafana:
required: True
type: map
allowempty: True
mapping:
enabled:
type: bool
required: True
grafana_ip:
type: str
pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$
grafana_port:
type: int
dashboards:
type: seq
sequence:
- type: str
snapshot:
type: map
mapping:
enabled:
type: bool
required: True
snapshot_compute:
type: bool
required: True
perfkit:
required: False
type: map
allowempty: True
mapping:
enabled:
type: bool
required: True
sleep_before:
type: number
required: True
sleep_after:
type: number
required: True
venv:
type: str
required: True
default:
type: map
required: True
mapping:
image:
type: str
required: True
machine_type:
type: str
required: True
os_type:
type: str
required: True
enum: ['rhel', 'debian', 'ubuntu_container', 'windows']
openstack_image_username:
type: str
required: True
openstack_floating_ip_pool:
type: str
required: True
openstack_network:
type: str
required: True
ignore_package_requirements:
type: bool
required: False
timing_measurements:
type: str
required: False
benchmarks:
type: seq
sequence:
- type: map
allowempty: True
mapping:
name:
type: str
required: True
enabled:
type: bool
required: True
benchmarks:
type: str
required: True
shaker:
required: False
allowempty: True
type: map
mapping:
enabled:
type: bool
required: True
server:
type: str
required: True
pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$
port:
type: int
required: True
flavor:
type: str
required: True
join_timeout:
type: int
required: True
sleep_before:
type: number
required: True
sleep_after:
type: number
required: True
venv:
type: str
required: True
shaker_region:
type: str
required: true
external_host:
type: str
required: False
pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$
scenarios:
type: seq
sequence:
- type: map
allowempty: True
mapping:
name:
type: str
required: True
enabled:
type: bool
required: True
file:
type: str
required: True
rally:
required: False
type: map
allowempty: True
mapping:
enabled:
type: bool
required: True
sleep_before:
type: number
required: True
sleep_after:
type: number
required: True
venv:
type: str
required: True
benchmarks:
type: seq
required: True
sequence:
- type: map
mapping:
name:
type: str
required: True
enabled:
required: True
type: bool
concurrency:
type: seq
required: True
sequence:
- type: int
times:
type: int
required: True
scenarios:
type: seq
sequence:
- type: map
allowempty: True
mapping:
name:
type: str
required: True
enabled:
type: bool
required: True
file:
type: str
required: True
yoda:
required: False
type: map
allowempty: True
mapping:
enabled:
type: bool
required: True
instackenv:
type: str
required: True
stackrc:
type: str
required: True
venv:
type: str
required: True
benchmarks:
type: seq
required: True
sequence:
- type: map
mapping:
name:
type: str
required: True
type:
type: str
required: True
enabled:
required: True
type: bool
ntp_server:
type: str
required: False
templates:
type: seq
required: False
sequence:
- type: str
instackenv:
type: str
required: false
times:
type: int
required: True
step:
type: int
required: False
method:
type: str
required: False
timeout:
type: int
required: True
max_fail_amnt:
type: float
required: False
batch_size:
type: int
required: False
keep_stack:
type: bool
required: False
node_pinning:
type: bool
required: False
cloud:
type: seq
sequence:
- type: map
allowempty: True
mapping:
node:
type: str
required: True
start_scale:
type: int
required: True
end_scale:
type: int
required: True