OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have.
|1 month ago|
|cloud-init-templates||2 years ago|
|contrib||2 years ago|
|debian||2 years ago|
|etc/fuel-agent||2 years ago|
|fuel_agent||2 years ago|
|specs||2 years ago|
|tools||5 years ago|
|.gitignore||2 years ago|
|.gitreview||1 month ago|
|LICENSE||3 years ago|
|MAINTAINERS||3 years ago|
|README.md||2 years ago|
|requirements.txt||2 years ago|
|run_tests.sh||3 years ago|
|setup.cfg||2 years ago|
|setup.py||4 years ago|
|test-requirements.txt||3 years ago|
|tox.ini||2 years ago|
fuel-agent is nothing more than just a set of data driven executable scripts.
fuel-agent ├── cloud-init-templates ├── contrib ├── debian ├── etc ├── fuel_agent │ ├── cmd │ ├── drivers │ ├── objects │ ├── openstack │ ├── tests │ ├── utils ├── README.md ├── LICENSE ├── requirements.txt ├── run_tests.sh ├── setup.cfg ├── setup.py ├── specs ├── test-requirements.txt
The root level contains important repository documentation and license information. It also contais files which are typical for the infracture of python project such as requirements.txt and setup.py
This directory contains third party code that is not a part of fuel-agent itself but can be used together with fuel-agent.
This folder contains the DEB package specification. Included debian rules are mainly suitable for Ubuntu 12.04 or higher.
This folder contains the sample config file for fuel-agent. Every parameter is well documented. We use oslo-config as a configuration module.
This folder contains the python code: drivers, objects, unit tests and utils, manager and entry points.
This folder contains the RPM package specfication file. Included RPM spec is mainly suitable for Centos 6.x or higher.
fuel-agent is used in Fuel project as a part of operating system provisioning scheme. When a user starts deployment of OpenStack cluster, the first task is to install an operating system on slave nodes. First, Fuel runs fuel-agent on the master node to build OS images. Once images are built, Fuel then runs fuel-agent on slave nodes using Mcollective. Slave nodes are supposed to be booted with so called bootstrap ramdisk. Bootstrap ramdisk is an in-memory OS where fuel-agent is installed.
Detailed documentation on this case is available here:
fuel-agent can easily be used in third party projects as a convenient operating system provisioning tool. As described above fuel-agent is fully data driven and supports various input data formats using pluggable input data drivers. Currently there are three input data drivers available. Those are
In order to be able to use another specific data format one can implement his own data driver and install it independently. fuel-agent uses stevedore to find installed drivers. A new driver needs to be exposed via fuel_agent.driver setuptools name space. See for example setup.cfg file where entry points are defined.
One can also take a look at
contrib directory for some additional examples.
fuel-agent can be installed either using RPM/DEB packages or using
python setup.py install.
fuel-agent currently is a subproject of Fuel project. So, we follow the same development practices as Fuel itself.