Network diagram

Registered by Honza Pokorny on 2016-06-29

# Network diagram blueprint

## Summary

Present a network diagram in the TripleO installer allowing the user to verify
their network configuration

## Technologies and projects involved

### Backend

* Heat
* Mistral
* TripleO Common

### Frontend

* D3 or similar

## Technical description

We want to give the user a way of double-checking their network configuration
before hitting the deploy button. The diagram should serve well for this
purpose, giving them a quick overview of their proposed system.

As such, during the generation of the diagram, we cannot use any overcloud
services. Those services simply won't be available yet. The only data we have
to work with are the user's heat templates and any environment configurations
specified after the templates have been uploaded.

Once the backend has a set of template files, we can begin our work. We will
retrieve all of the template files form Swift, parse them from YAML, and start
processing them for the purposes of the network diagram. We will use the
standard Openstack identifiers (e.g. `OS::Neutron::Net`) to find networks,
nodes, and the associations among them. Each node and network should contain a
name and a description which we can use in the final solution.

We will use Mistral to coordinate this work. The client can poll the Mistral
executions API for progress.

The frontend side of this feature should use a library that has some layout
algorithms ready to use. We simply want to give it a list of nodes, and a list
of networks, and it should be able to draw the diagram without manual
positioning. The use of the d3 library is suggested but not required.

The work can be easily split into two parts: frontend and backend. We can agree
on the data format passed between the two and work from this common interface.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Honza Pokorny
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.