fuel-docs/devdocs/develop/sequence.rst
Dzmitry Moisa 931509ef44 Replace PlantUML descriptions with static png
Replace PlantUML descriptions with static pictures as PlantUML is not
supported in gate. Remove all the related stuff from configs and
scripts.

Change-Id: I905153ef7d93a1248c76818048f58e24fc1d556d
Implements: blueprints.launchpad.net/fuel/+spec/fuel-docs-migration
2016-03-29 21:02:23 +03:00

1.8 KiB

Sequence Diagrams

OS Provisioning

image

Networks Verification

image

Details on Cluster Provisioning & Deployment (via Facter extension)

image

Once deploy and provisioning messages are accepted by Astute, provisioning method is called. Provisioning part creates system in Cobbler and calls reboot over Cobbler. Then Astute uses MCollective direct addressing mode <http://www.devco.net/archives/2012/06/19/mcollective-direct-addressing-mode.ph p> to check if all required nodes are available, include puppet agent on them. If some nodes are not yet ready, Astute waits for a few seconds and tries to request again. When nodes are booted in target OS, Astute uses upload_file MCollective plugin to push data to a special file /etc/astute.yaml on the target system. Data include role and all other variables needed for deployment. Then, Astute calls puppetd MCollective plugin to start deployment. Puppet is started on nodes.

Accordingly, puppet agent starts its run. Modules contain facter extension, which runs before deployment. Extension reads data from /etc/astute.yaml placed by mcollective, and extends Facter data with it as a single fact, which is then parsed by parseyaml function to create $::fuel_settings data structure. This structure contains all variables as a single hash and supports embedding of other rich structures such as nodes hash or arrays. Case structure in running class chooses appropriate class to import, based on role and deployment_mode variables found in /etc/astute.yaml.