Describe virtual devops environments using templates instead of hardcoded generators with some external parameters

Registered by Dennis Dmitriev

Currently, we make virtual devops environments for run system tests, where a small amount of parameters can be used for configure nodes and networks in the virtual environment. This approach is hard to scale and cannot be used for making detailed hardware/network configs for each node in the environment.

Template based approach allows to make unique configuration for each node, make non-standard network topologies without re-writing the #fuel-devops code for each particular case, add new roles for nodes to get environment with pre-installed operation systems or use some external image to get prepared software on some nodes.

Blueprint information

Not started
Nastya Urlapova
Dennis Dmitriev
Series goal:
Accepted for future
Milestone target:
milestone icon next

Related branches



Gerrit topic:,topic:bp/template-based-virtual-devops-environments,n,z

Addressed by:
    Describe virtual devops environments using YAML templates

Addressed by:
    Move to template-based configuration of devops environments

Gerrit topic:,topic:flexible-object-model,n,z

Addressed by:
    Flexible object schema for template-based virtual environments

Addressed by:
    Update usage documentation for v3.0.0

Addressed by:
    v3.0.0: Additional changes to helpers

Addressed by:
    ParamedModel - Parameterizable model class

Addressed by:
    New Libvirt Driver Model

Addressed by:
    New Network Models

Addressed by:
    Volume model changes

Addressed by:
    Node model changes

Addressed by:
    New LibvirtXMLBuilder

Addressed by:
    Group and Environment changes

Addressed by: changes

Addressed by:
    Migration for new model schema.

Addressed by:
    Update unit tests Update verion to 3.0.0

Addressed by:
    Update dummy_driver

Addressed by:
    Add ip_reserved and ip_ranges attributes to AddressPool

Addressed by:
    Template validation

Addressed by:
    Use physical host interfaces to connect virtual and baremetal networks

Addressed by:
    Validator for test configurations

Addressed by:
    Remove deprecated 'verbose' argument

Addressed by:
    Do not raise exceptions if object not found in Libvirt for erase

Addressed by:
    Add a new option 'bootmenu_timeout' for libvirt Node

Addressed by:
    Define and start networks and nodes separatelly

Addressed by:
    Generate 'network_config' in compatibility layer


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.


No subscribers.