From 23fd3b6bcd0ee2fc689b04cb1c8e2353e2cac325 Mon Sep 17 00:00:00 2001 From: Andrew Woodward Date: Tue, 7 Apr 2015 14:33:43 -0700 Subject: [PATCH] Add single doc to refrence all of fuel's orchestration logics --- docs/spec/orchestration_in_fuel.yaml | 94 ++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 docs/spec/orchestration_in_fuel.yaml diff --git a/docs/spec/orchestration_in_fuel.yaml b/docs/spec/orchestration_in_fuel.yaml new file mode 100644 index 00000000..7d260eac --- /dev/null +++ b/docs/spec/orchestration_in_fuel.yaml @@ -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 "<>" + overrides: + - condition: "<>" + max: 1 + - condition: "<>" + reccomended: 3 + message: "" + restrictions: + - condition: "<>" + 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: "<>" + 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' +