Add single doc to refrence all of fuel's orchestration logics
This commit is contained in:
parent
cea745189d
commit
23fd3b6bcd
94
docs/spec/orchestration_in_fuel.yaml
Normal file
94
docs/spec/orchestration_in_fuel.yaml
Normal file
@ -0,0 +1,94 @@
|
||||
roles:
|
||||
role-name:
|
||||
name: ""
|
||||
description: ""
|
||||
conflicts:
|
||||
- another_role
|
||||
update_required:
|
||||
- another_role
|
||||
update_once:
|
||||
- another_role
|
||||
has_primary: true
|
||||
limits:
|
||||
min: int OR "<<condition dsl>>"
|
||||
overrides:
|
||||
- condition: "<<condition dsl>>"
|
||||
max: 1
|
||||
- condition: "<<condition dsl>>"
|
||||
reccomended: 3
|
||||
message: ""
|
||||
restrictions:
|
||||
- condition: "<<condition dsl>>"
|
||||
message: ""
|
||||
action: "hide"
|
||||
fault_tolerance: "2%"
|
||||
|
||||
task_groups:
|
||||
#Stages
|
||||
- id: stage_name
|
||||
type: stage
|
||||
requires: [another_stage]
|
||||
#Groups
|
||||
- id: task_group_name
|
||||
type: group
|
||||
role: [role_name]
|
||||
requires: [stage_name_requirement]
|
||||
required_for: [stage_name_complete_before]
|
||||
parameters:
|
||||
strategy:
|
||||
type: one_by_one
|
||||
#OR
|
||||
type: parallel
|
||||
amount: 6 #Optional concurency limit
|
||||
|
||||
tasks:
|
||||
- id: task_name_puppet
|
||||
type: puppet
|
||||
role: '*' #optional role to filter task on, used when in a pre or post deployment stage
|
||||
groups: [task_group_name]
|
||||
required_for: [task_name, stage_name]
|
||||
requires: [task_name, task_group_name, stage_name]
|
||||
condition: "<<condition dsl>>"
|
||||
parameters:
|
||||
puppet_manifest: path_to_manifests
|
||||
puppet_modules: path_to_modules
|
||||
timeout: 3600
|
||||
cwd: /
|
||||
test_pre:
|
||||
cmd: bash style exec of command to run
|
||||
test_post:
|
||||
cmd: bash style exec of command to run
|
||||
|
||||
#all have [roles|groups] and requires /// required_for
|
||||
- id: task_name_shell
|
||||
type: shell
|
||||
parameters:
|
||||
cmd: bash style exec
|
||||
timeout: 180
|
||||
retries: 10
|
||||
interval: 2
|
||||
|
||||
- id: task_name_upload_file
|
||||
type: upload_file
|
||||
role: '*'
|
||||
parameters:
|
||||
path: /etc/hiera/nodes.yaml
|
||||
|
||||
- id: task_name_sync
|
||||
type: sync
|
||||
role: '*'
|
||||
parameters:
|
||||
src: rsync://{MASTER_IP}:/puppet/version
|
||||
dst: /etc/puppet
|
||||
timeout: 180
|
||||
|
||||
- id: task_name_copy_files
|
||||
type: copy_files
|
||||
role: '*'
|
||||
parameters:
|
||||
files:
|
||||
- src: source_file/{CLUSTER_ID}/
|
||||
dst: dest/localtion
|
||||
permissions: '0600'
|
||||
dir_permissions: '0700'
|
||||
|
Loading…
Reference in New Issue
Block a user