Add single doc to refrence all of fuel's orchestration logics

This commit is contained in:
Andrew Woodward 2015-04-07 14:33:43 -07:00
parent cea745189d
commit 23fd3b6bcd

View 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'