Create consul container for registering and discovering OpenStack services

Registered by Hui Kang

Currently koala lacks a mechanism to register and discover available Openstack services. Creating consul container within kolla will help service discovery and monitoring.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
Hui Kang
Direction:
Needs approval
Assignee:
Hui Kang
Definition:
Discussion
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Steven Dake

Related branches

Sprints

Whiteboard

1. Add Dockerfile for consul server, including the webui.
2. In the build script, add an option to enable consul. If consul is enabled, we need to insert consul client agent in the other container's Dockerfile. This is can done through the jinja2 template.

consul server docker file is ready To do: Add consul gui, Add sample service file in keystone and married

Looking over the spec documentation, it seems to me the addition of Consul doesn't add anything new to Kolla that doesn't already exist, but does add a bunch of complexity. What is the precise improvement that an operator sees when using Consul instead of the current HAProxy hot-reload code already implemented? --sdake

Hi, sdake. Consul provides a holistic place for monitoring the services. Operator can monitor the status of each services through the consul UI (which looks better than the haproxy the stats page). From the UI, the operator can see the results of different checks (e.g., whether certain port is open or not). To the developer, they define the check scripts which determines whether a service a healthy or not. I have updated the spec to show that the adding of consul will not change the existing deployment workflow. -- Hui

Here are the links to some simple demo video (sorry about not merging them together with the new imovie 10) - Hui
https://youtu.be/QFR1cvUIHKw https://youtu.be/uCNE7WU0cGU https://youtu.be/c-mC2UF4ozI

Gerrit topic: https://review.openstack.org/#q,topic:bp/consul-container,n,z

Addressed by: https://review.openstack.org/228719
    Add consul containers for dynamic configuration and discovery. This implementation includes

Gerrit topic: https://review.openstack.org/#q,topic:bp/2,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.