From 98b6190054aec72de88c700ac496a7f4f2df1f4b Mon Sep 17 00:00:00 2001 From: Bryan Sullivan Date: Fri, 2 Feb 2018 13:37:06 -0800 Subject: Add diagram source for Models demo flow. JIRA: MODELS-2 Change-Id: I75b02ef3e6ec0aab268c59b39bff41f7ef0b09ca Signed-off-by: Bryan Sullivan --- docs/images/models_demo_flow.svg | 112 +++++++++++++++++++++++++++++++++++++++ docs/source/models_demo_flow.txt | 112 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 docs/images/models_demo_flow.svg create mode 100644 docs/source/models_demo_flow.txt diff --git a/docs/images/models_demo_flow.svg b/docs/images/models_demo_flow.svg new file mode 100644 index 0000000..3a61dc3 --- /dev/null +++ b/docs/images/models_demo_flow.svg @@ -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, paste the content of this file into the editor at +# https://bramp.github.io/js-sequence-diagrams/, and select Theme "Simple" + +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 entryHigh-level flow for the OPNFV Models+VES demo deployment.High-level flow for the OPNFV Models+VES demo deployment.Admin ServerAdmin Serverk8s masterk8s masterk8s workerk8s workerCloudify ManagerCloudify Managerk8s podsk8s podsBarometerBarometerKafkaZookeeperKafkaZookeeperVES AgentVES AgentVES CollectorVES CollectorInfluxDBInfluxDBGrafanaGrafanaFor brevity, action/api responses are not shown (flow continuation indicates success).deploy host OSdeploy host OS(SSH) install k8s masterinstall k8s andkube-system pods(SSH) install k8s workers(SSH) install k8s worker(api) register as worker(SSH) install helm(SSH) test helm chart (nginx)(k8s) start nginx pod(nginx pod)create podGET http://(nginx-service)(k8s) stop nginx poddelete pod(SSH) deploy ceph-dockerhelm chart(k8s) install ceph-docker(SSH) test helm chart withceph PVC (dokuwiki)(k8s) start dokuwiki pod(dokuwiki pod)create podGET http://(dokuwiki-service)(k8s worker)(SSH) install cloudify managerinstall cloudify CLI(on k8s master)create cloudify manager VM(cfy cli) install cloudify k8s plugin(api) upload/deploy cloudify-k8s chart (nginx)(api) deploy nginx chart(k8s) start nginx pod(nginx pod)create podGET http://(nginx-service)(api) upload/deploy ves-influxdb chart(api) deploy ves-influxdb chart(k8s) start ves-influxdb podcreate pod (type=ClusterIP,port=8086)(api) create veseventsdb(api) upload/deploy grafana chart(api) deploy grafana chart(k8s) start grafana podcreate pod (type=NodePort,port=30300)create VESEvents datasource(repeat onupdate schedule)(api)query veseventsdbcreate VES dashboarddisplay statson dashboard(api) upload/deploy ves-collector chart(api) deploy ves-collector chart(k8s) start ves-collector podcreate pod (type=ClusterIP,port=3001)(api) upload/deploy ves-zookeeper chart(api) deploy ves-zookeeper chart(k8s) start ves-zookeeper pod(zookeeper pod)create pod (type=ClusterIP,port=2181)(api) upload/deploy ves-kafka chart(api) deploy ves-kafka chart(k8s) start ves-kafka pod(kafka pod)create pod (type=NodePort,port=30992)NodePort requiredfor barometer(api) upload/deploy ves-agent chart(api) deploy ves-agent chart(k8s) start ves-agent podcreate pod(SSH) install barometer container(on k8s master)create barometer container(api) register"collectd" topicconfigure topicvia zookeeper(SSH) install barometer container(on k8s worker)create barometer container(api) register"collectd" topic(api) configure topicvia zookeeper(on k8s masterand workers,per schedule)(api) publishcollectd stats(api)collectd stats(api) VES event(api)veseventsdb entry \ No newline at end of file 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 -- cgit 1.2.3-korg