diff options
Diffstat (limited to 'docs/source')
-rw-r--r-- | docs/source/models_demo_flow.txt | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/docs/source/models_demo_flow.txt b/docs/source/models_demo_flow.txt new file mode 100644 index 0000000..69f3600 --- /dev/null +++ b/docs/source/models_demo_flow.txt @@ -0,0 +1,112 @@ +Title: High-level flow for the OPNFV Models+VES demo deployment. +# (c) 2018 AT&T Intellectual Property, Inc +# +# 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. +# +# To generate the flow, browse to https://bramp.github.io/js-sequence-diagrams/, +# select Theme "Simple", and paste the content of this file into the editor. + +participant Admin Server as admin +participant k8s master as k8s_master +participant k8s worker as k8s_worker +participant Cloudify Manager as cloudify +participant k8s pods as k8s_pod +participant Barometer as barometer +participant Kafka\nZookeeper as kafka +participant VES Agent as agent +participant VES Collector as collector +participant InfluxDB as influxdb +participant Grafana as grafana +Note over admin, grafana: For brevity, action/api responses are not shown (flow continuation indicates success). +admin->k8s_master: deploy host OS +admin->k8s_worker: deploy host OS +admin->k8s_master: (SSH) install k8s master +note over k8s_master: install k8s and\nkube-system pods +admin->k8s_master: (SSH) install k8s workers +k8s_master->k8s_worker: (SSH) install k8s worker +k8s_worker->k8s_master: (api) register as worker +admin->k8s_master: (SSH) install helm +admin->k8s_master: (SSH) test helm chart (nginx) +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(nginx-service) +k8s_master->k8s_worker: (k8s) stop nginx pod +k8s_worker->k8s_pod: delete pod +admin->k8s_master: (SSH) deploy ceph-docker\nhelm chart +k8s_master->k8s_worker: (k8s) install ceph-docker +admin->k8s_master: (SSH) test helm chart with\n ceph PVC (dokuwiki) +k8s_master->k8s_worker: (k8s) start dokuwiki pod +note over k8s_pod: (dokuwiki pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(dokuwiki-service) +note over k8s_worker: (k8s worker) +admin->k8s_master: (SSH) install cloudify manager +note over k8s_master: install cloudify CLI +note over cloudify: (on k8s master) +k8s_master->cloudify: create cloudify manager VM +k8s_master->cloudify: (cfy cli) install cloudify k8s plugin +admin->cloudify: (api) upload/deploy cloudify-k8s chart (nginx) +cloudify->k8s_master: (api) deploy nginx chart +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +admin->k8s_pod: GET http://(nginx-service) +admin->cloudify: (api) upload/deploy ves-influxdb chart +cloudify->k8s_master: (api) deploy ves-influxdb chart +k8s_master->k8s_worker: (k8s) start ves-influxdb pod +k8s_worker->influxdb: create pod (type=ClusterIP,port=8086) +admin->influxdb: (api) create veseventsdb +admin->cloudify: (api) upload/deploy grafana chart +cloudify->k8s_master: (api) deploy grafana chart +k8s_master->k8s_worker: (k8s) start grafana pod +k8s_worker->grafana: create pod (type=NodePort,port=30300) +admin->grafana: create VESEvents datasource +note over grafana: (repeat on\nupdate schedule) +grafana->influxdb: (api)\nquery veseventsdb +admin->grafana: create VES dashboard +note over grafana: display stats\non dashboard +admin->cloudify: (api) upload/deploy ves-collector chart +cloudify->k8s_master: (api) deploy ves-collector chart +k8s_master->k8s_worker: (k8s) start ves-collector pod +k8s_worker->collector: create pod (type=ClusterIP,port=3001) +admin->cloudify: (api) upload/deploy ves-zookeeper chart +cloudify->k8s_master: (api) deploy ves-zookeeper chart +k8s_master->k8s_worker: (k8s) start ves-zookeeper pod +note over kafka: (zookeeper pod) +k8s_worker->kafka: create pod (type=ClusterIP,port=2181) +admin->cloudify: (api) upload/deploy ves-kafka chart +cloudify->k8s_master: (api) deploy ves-kafka chart +k8s_master->k8s_worker: (k8s) start ves-kafka pod +note over kafka: (kafka pod) +k8s_worker->kafka: create pod (type=NodePort,port=30992) +note over kafka: NodePort required\nfor barometer +admin->cloudify: (api) upload/deploy ves-agent chart +cloudify->k8s_master: (api) deploy ves-agent chart +k8s_master->k8s_worker: (k8s) start ves-agent pod +k8s_worker->agent: create pod +admin->k8s_master: (SSH) install barometer container +note over barometer: (on k8s master) +k8s_master->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: configure topic\nvia zookeeper +admin->k8s_worker: (SSH) install barometer container +note over barometer: (on k8s worker) +k8s_worker->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: (api) configure topic\nvia zookeeper +note over barometer: (on k8s master\nand workers,\nper schedule) +barometer->kafka: (api) publish\ncollectd stats +kafka->agent: (api)\ncollectd stats +agent->collector: (api) VES event +collector->influxdb: (api)\nveseventsdb entry
\ No newline at end of file |