Carbon is a project which provides a easy to use framework for creating product interoperability scenarios to support interoperability testing.
What drives carbon is the scenario descriptor file (YAML formatted). Carbon loads the descriptor and builds a list of pipelines to be executed. Each pipeline contains tasks related to the resources. A resource can be a scenario, a host, an action or a report. Each resource will contain many tasks that the framework will collect in the descriptor file.
i.e. If an action has a task of type ValidateTask, carbon will collect it and add it to the validate pipeline.
When you run your scenario descriptor via carbon, carbon will execute the following:
- Validate your scenario attributes (all resources)
- Provision the machines defined (hosts)
- Configure all machines accordingly (actions)
- Install packages for each host (actions)
- Run your tests (execute)
- Report the results (reports)
To find out more about carbon please visit the sphinx documentation.