    /*
    *    Copyright 2014 OpenStack Foundation
    *
    *    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.
    */
    /*
     * Requires graphviz version 2.37 or later to render correctly
     */
    digraph G {
      labelloc="t";
      label="Octavia component design (v0.5)";
      rankdir=LR;
      splines=false;

      subgraph cluster_Neutron {
        label="Neutron";
        color="green";

        NetworkingServices [shape=rectangle label="Networking Services"];

        subgraph cluster_LBaaS {
          label="LBaaS";
          color="yellow";

          UserAPIHandler [shape=none margin=0 label=
            <

|  | User API Handler |  |  |  |
|  | Driver |  |  |  |

    >];
        };
      };

      subgraph cluster_Octavia {
        label="Octavia";
        color="blue";

          NetworkingDriver [shape=rectangle label="Networking Driver"];

          OperatorAPIHandler [shape=none margin=0 label=
             <

|  | Operator API Handler |  |  |  |

    >];

          subgraph cluster_Controller {
            label="";
            color=white;
            Controller [shape=none margin=0 label=
              <

Controller
Health Monitor
Amphora LB Driver

    >];

            Database [shape=cylinder];
          };

          subgraph cluster_Amphoras2 {
            label="";
            color="white";
            id="AmphoraMVs2";
            Amphora3 [shape=none margin=0 label=
              <

Amphora

    >];
            Amphora4 [shape=none margin=0 label=
              <

Amphora

    >];
            Amphora5 [shape=none margin=0 label=
              <

Amphora

    >];
          };

          subgraph cluster_Network {
            label="LB Network";
            color="gray";
            bgcolor="gray";

            Stuff [style=invis shape=none margin=0 label=
              <

Stuff

    >];
            LBNetwork [shape=none margin=0 label=""];
            Things [style=invis shape=none margin=0 label=
              <

Things

    >];
          };

          OperatorAPIHandler -> Controller [dir=none];
          Controller -> LBNetwork [style=invis];
          LBNetwork -> {Amphora3 Amphora4 Amphora5} [style=invis];
          Controller -> {Amphora3 Amphora4 Amphora5} [constraint=false dir=none];
          Controller -> NetworkingDriver [constraint=false dir=none];
          Controller -> Database [constraint=false dir=none];

        };

      UserAPIHandler:driver -> Controller [dir=none];
      NetworkingServices -> NetworkingDriver [dir=none];

    }