 Andreas Jaeger
		
	
	8f93871cd6
	
	
	Cleanup tox.ini: Remove obsolete constraints
			Andreas Jaeger
		
	
	8f93871cd6
	
	
	Cleanup tox.ini: Remove obsolete constraints
		
			
			Remove old and unused constraints environments from tox.ini. Those have never been used. Use standard environments as default list. Note that the repo has in the past not used constraints in OpenStack CI, this change keeps the status quo. For more information about constraints see: http://lists.openstack.org/pipermail/openstack-dev/2016-August/101474.html Change-Id: I6d945ccc76fe4fbca6e2fb33348392f09d415e80
DON: Diagnosing OpenStack Networking
An OpenStack Horizon dashboard to diagnose OpenStack networking issues.
- Free software: Apache license
- Source: https://git.openstack.org/openstack/python-don
- Bugs: https://bugs.launchpad.net/python-don
Overview
[Presented in the OpenStack Liberty Summit, Vancouver, May, 2015] (https://www.openstack.org/summit/vancouver-2015/summit-videos/presentation/don-diagnosing-ovs-in-neutron "DON Presentation at OpenStack Liberty Summit, Vancouver, May 2015").
A lot has changed since Vancouver! Support for multi-node OpenStack installations and complete integrated with Horizon, Liberty release are among the things to look forward to.
Neutron provides Networking-as-a-service in the OpenStack ecosystem. Networking functionalities are provided by plugins that implement well-defined Neutron APIs. Among many, the Open vSwitch plugin (OVS) is possibly the most widely used. Any practical OpenStack installation has complicated networking configuration and verifying it manually is time consuming and error prone. DON, written primarily in Python, and available as a dashboard in OpenStack Horizon, Libery release, is a network analysis and diagnostic system and provides a completely automated service for verifying and diagnosing the networking functionality provided by OVS. This service verifies (or points out deviations) that the user configuration is indeed reflected in the underlying infrastructure and presents the results in an intuitive graphical display.
Feature Lists:
- Visualize networking internals
- Perform OVS and Ping tests between all pairs of VMs
- Perform Ping tracing between any two VMs
- Allows storing collected data so that it can be retrieved later and displayed
As an example, given the following Neutron network topology:

DON generates the following view of the networking internals,

does OVS tests and ping tests,

and also allows the user to do ping tracing

DON Schematic
DON first collects the output of several commands, parses the output, and
creates a JSON database. This database is then used by the analyzer module, the
visualizer module, and the test module.

How to Run:
Prerequisites:
- 
Django version must be 1.7 or later. However, since OpenStack Horizon uses Django, there is no need to separately install Django. 
- 
The Graphviz dot utility. This is used for drawing the visualization. 
Steps for DevStack:
- You must have a devstack setup running on a single VM.
- Download and source the project specific rc file.
- Copy openstack_dashboard/, static/ directories from DON source to Horizon directory.(/opt/stack/horizon/)
- Copy etc/don/ from DON source to /etc
- Edit /etc/don/don.conf and change deployment_type=devstackunder [DEFAULT] section.
- To allow DON to do Ping tests between all pairs of VMs, configure VM credentials manually into /opt/stack/horizon/openstack_dashboard/don/ovs/credentials.yaml
- Restart Horizon by executing sudo service apache2 restart
Steps for Multinode Openstack:
- You must have Ansible (version 2.0 or later) installed in execution server
- Clone DON source to execution server
- Open shell prompt and execute the below command from DON directory
- ansible-playbook don_playbook.yaml -i <inventory file path> --ask-pass