octavia/specs/version0.5/controller.dot
Michael Johnson e19428eea4 Octavia Controller Worker specification
Initial draft of a spec for the Controller Worker, formerly known as
deploy-worker.

Change-Id: If17bac321275b6cc1137574f37837dfe220606d8
2015-01-29 23:05:11 +00:00

83 lines
3.0 KiB
Plaintext

/*
* Copyright 2014 Hewlett-Packard Development Company, L.P.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
digraph G {
subgraph cluster0 {
style=filled;
color=gray75;
label = "Controller";
queue [label="Queue\nConsumer", fontcolor=white, color=forestgreen, style=filled];
health [label="Health\nManager", fontcolor=white, color=forestgreen, style=filled];
house [label="Housekeeping\n(Spares/Cleanup)\nManager", fontcolor=white, color=forestgreen, style=filled];
ctrl [label="Controller\nWorker", fontcolor=white, color=forestgreen, style=filled, shape=hexagon];
proxy [label="Services\nProxy", fontcolor=white, color=forestgreen, style=filled];
subgraph cluster1 {
style=filled;
color=gray90;
fontcolor=black;
label = "Amphora Driver";
msg [label="Message\nHandler", fontcolor=white, color=forestgreen, style=filled];
config [label="Config\nHandler", fontcolor=white, color=forestgreen, style=filled];
stats [label="Stats\nHandler", fontcolor=white, color=forestgreen, style=filled];
log [label="Log\nHandler", fontcolor=black, color=forestgreen, style=dashed];
}
health -> msg;
}
db [label="Database", fontcolor=white, color=dodgerblue, style=filled];
api [label="APIs", fontcolor=white, color=forestgreen, style=filled];
oslo [label="Oslo\nMessaging", fontcolor=white, color=dodgerblue, style=filled];
nova [label="Nova", fontcolor=white, color=dodgerblue, style=filled];
neutron [label="Neutron", fontcolor=white, color=dodgerblue, style=filled];
cert [label="Certificate\nLibrary", fontcolor=white, color=dodgerblue, style=filled];
bbq [label="Barbican", fontcolor=white, color=dodgerblue, style=filled];
swift [label="SWIFT", fontcolor=white, color=dodgerblue, style=filled];
ceilo [label="Ceilometer", fontcolor=white, color=dodgerblue, style=filled];
amp [label="Amphorae", fontcolor=black, color=coral2, style=filled];
ctrl -> queue [dir="both"];
db -> api -> oslo -> queue [dir="both"];
db -> ctrl [dir="both"];
db -> queue [dir="both"];
db -> health [dir="both"];
db -> house [dir="both"];
db -> msg [dir="both"];
nova -> ctrl [dir="both"];
nova -> house [dir="both"];
neutron -> ctrl [dir="both"];
neutron -> house [dir="both"];
proxy -> swift [dir="both"];
proxy -> amp [dir="both"];
cert -> ctrl [dir="both"];
cert -> bbq [dir="both"];
stats -> ceilo [dir="both"];
msg -> amp [ltail=cluster1];
msg -> amp [ltail=cluster1];
}