From 605102bb6a8a3b48f0c66d817614eec0ef42e017 Mon Sep 17 00:00:00 2001 From: opensource-tnbt Date: Tue, 20 Oct 2020 14:41:59 +0530 Subject: DOCS: Cleanup for Jerma Release. This patch cleans up documentation folder. 1. Broken links are fixed. 2. LMA docs reorganized. 3. Placeholder for K8S and Openstack Support. Remove tls_verify = False line JIRA: VSPERF-627 Signed-off-by: Sridhar K. N. Rao Change-Id: I5ef93919755d351b79fa0bd0416d7d6baeb134a9 --- docs/index.rst | 4 +- docs/k8s/index.rst | 14 ++ docs/lma/devguide.rst | 147 ------------------- docs/lma/index.rst | 18 +++ docs/lma/logs/devguide.rst | 145 +++++++++++++++++++ docs/lma/logs/userguide.rst | 156 +++++++++++++-------- docs/lma/metrics/devguide.rst | 35 ++--- docs/lma/metrics/userguide.rst | 12 +- docs/openstack/index.rst | 14 ++ docs/release/release-notes/release-notes.rst | 46 +++++- .../devguide/design/vswitchperf_design.rst | 2 +- docs/testing/developer/devguide/index.rst | 6 +- .../rfc8204-vsperf-bmwg-vswitch-opnfv.rst | 2 +- .../devguide/requirements/vswitchperf_ltd.rst | 16 +-- .../devguide/requirements/vswitchperf_ltp.rst | 20 +-- .../developer/devguide/results/scenario.rst | 2 +- docs/testing/user/configguide/index.rst | 4 +- docs/testing/user/configguide/installation.rst | 16 ++- docs/testing/user/configguide/tools.rst | 2 +- docs/testing/user/configguide/trafficgen.rst | 10 +- docs/testing/user/userguide/index.rst | 1 - docs/testing/user/userguide/testusage.rst | 4 +- 22 files changed, 397 insertions(+), 279 deletions(-) create mode 100644 docs/k8s/index.rst delete mode 100644 docs/lma/devguide.rst create mode 100644 docs/lma/index.rst create mode 100644 docs/lma/logs/devguide.rst create mode 100644 docs/openstack/index.rst (limited to 'docs') diff --git a/docs/index.rst b/docs/index.rst index d76a1952..d688c752 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,5 +17,7 @@ OPNFV Vswitchperf testing/developer/devguide/index testing/developer/devguide/results/index testing/user/configguide/index - testing/user/userguide/index + lma/index + openstack/index + k8s/index diff --git a/docs/k8s/index.rst b/docs/k8s/index.rst new file mode 100644 index 00000000..36ba7609 --- /dev/null +++ b/docs/k8s/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. + +.. OPNFV VSPERF Documentation master file. + +************************** +OPNFV VSPERF K8S CNB Guide +************************** + +============ +Introduction +============ + diff --git a/docs/lma/devguide.rst b/docs/lma/devguide.rst deleted file mode 100644 index c72b8b12..00000000 --- a/docs/lma/devguide.rst +++ /dev/null @@ -1,147 +0,0 @@ -================= -Table of Contents -================= -.. contents:: -.. section-numbering:: - -Ansible Client-side -==================== - -Ansible File Organisation --------------------------- -Files Structure:: - - ansible-client - ├── ansible.cfg - ├── hosts - ├── playbooks - │ └── setup.yaml - └── roles - ├── clean-td-agent - │ └── tasks - │ └── main.yml - └── td-agent - ├── files - │ └── td-agent.conf - └── tasks - └── main.yml - -Summary of roles ------------------ -====================== ====================== -Roles Description -====================== ====================== -``td-agent`` Install Td-agent & change configuration file -``clean-td-agent`` Unistall Td-agent -====================== ====================== - -Configurable Parameters ------------------------- -====================================================== ====================== ====================== -File (ansible-client/roles/) Parameter Description -====================================================== ====================== ====================== -``td-agent/files/td-agent.conf`` host Fluentd-server IP -``td-agent/files/td-agent.conf`` port Fluentd-Server Port -====================================================== ====================== ====================== - -Ansible Server-side -==================== - -Ansible File Organisation --------------------------- -Files Structure:: - - ansible-server - ├── ansible.cfg - ├── group_vars - │ └── all.yml - ├── hosts - ├── playbooks - │ └── setup.yaml - └── roles - ├── clean-logging - │ └── tasks - │ └── main.yml - ├── k8s-master - │ └── tasks - │ └── main.yml - ├── k8s-pre - │ └── tasks - │ └── main.yml - ├── k8s-worker - │ └── tasks - │ └── main.yml - ├── logging - │ ├── files - │ │ ├── elastalert - │ │ │ ├── ealert-conf-cm.yaml - │ │ │ ├── ealert-key-cm.yaml - │ │ │ ├── ealert-rule-cm.yaml - │ │ │ └── elastalert.yaml - │ │ ├── elasticsearch - │ │ │ ├── elasticsearch.yaml - │ │ │ └── user-secret.yaml - │ │ ├── fluentd - │ │ │ ├── fluent-cm.yaml - │ │ │ ├── fluent-service.yaml - │ │ │ └── fluent.yaml - │ │ ├── kibana - │ │ │ └── kibana.yaml - │ │ ├── namespace.yaml - │ │ ├── nginx - │ │ │ ├── nginx-conf-cm.yaml - │ │ │ ├── nginx-key-cm.yaml - │ │ │ ├── nginx-service.yaml - │ │ │ └── nginx.yaml - │ │ ├── persistentVolume.yaml - │ │ └── storageClass.yaml - │ └── tasks - │ └── main.yml - └── nfs - └── tasks - └── main.yml - -Summary of roles ------------------ -====================== ====================== -Roles Description -====================== ====================== -``k8s-pre`` Pre-requisite for installing K8s, like installing docker & K8s, disable swap etc. -``k8s-master`` Reset K8s & make a master -``k8s-worker`` Join woker nodes with token -``logging`` EFK & elastalert setup in K8s -``clean logging`` Remove EFK & elastalert setup from K8s -``nfs`` Start a NFS server to store Elasticsearch data -====================== ====================== - -Configurable Parameters ------------------------- -========================================================================= ============================================ ====================== -File (ansible-server/roles/) Parameter name Description -========================================================================= ============================================ ====================== -**Role: logging** -``logging/files/persistentVolume.yaml`` storage Increase or Decrease Storage size of Persistent Volume size for each VM -``logging/files/kibana/kibana.yaml`` version To Change the Kibana Version -``logging/files/kibana/kibana.yaml`` count To increase or decrease the replica -``logging/files/elasticsearch/elasticsearch.yaml`` version To Change the Elasticsearch Version -``logging/files/elasticsearch/elasticsearch.yaml`` nodePort To Change Service Port -``logging/files/elasticsearch/elasticsearch.yaml`` storage Increase or Decrease Storage size of Elasticsearch data for each VM -``logging/files/elasticsearch/elasticsearch.yaml`` nodeAffinity -> values (hostname) In which VM Elasticsearch master or data pod will run (change the hostname to run the Elasticsearch master or data pod on a specific node) -``logging/files/elasticsearch/user-secret.yaml`` stringData Add Elasticsearch User & its roles (`Elastic Docs `_) -``logging/files/fluentd/fluent.yaml`` replicas To increase or decrease the replica -``logging/files/fluentd/fluent-service.yaml`` nodePort To Change Service Port -``logging/files/fluentd/fluent-cm.yaml`` index_template.json -> number_of_replicas To increase or decrease replica of data in Elasticsearch -``logging/files/fluentd/fluent-cm.yaml`` fluent.conf Server port & other Fluentd Configuration -``logging/files/nginx/nginx.yaml`` replicas To increase or decrease the replica -``logging/files/nginx/nginx-service.yaml`` nodePort To Change Service Port -``logging/files/nginx/nginx-key-cm.yaml`` kibana-access.key, kibana-access.pem Key file for HTTPs Connection -``logging/files/nginx/nginx-conf-cm.yaml`` - Nginx Configuration -``logging/files/elastalert/elastalert.yaml`` replicas To increase or decrease the replica -``logging/files/elastalert/ealert-key-cm.yaml`` elastalert.key, elastalert.pem Key file for HTTPs Connection -``logging/files/elastalert/ealert-conf-cm.yaml`` run_every How often ElastAlert will query Elasticsearch -``logging/files/elastalert/ealert-conf-cm.yaml`` alert_time_limit If an alert fails for some reason, ElastAlert will retry sending the alert until this time period has elapsed -``logging/files/elastalert/ealert-conf-cm.yaml`` es_host, es_port Elasticsearch Serivce name & port in K8s -``logging/files/elastalert/ealert-rule-cm.yaml`` http_post_url Alert Receiver IP (`Elastalert Rule Config `_) -**Role: nfs** -``nfs/tasks/main.yml`` line Path of NFS storage -========================================================================= ============================================ ====================== diff --git a/docs/lma/index.rst b/docs/lma/index.rst new file mode 100644 index 00000000..dd6be47b --- /dev/null +++ b/docs/lma/index.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. + +.. OPNFV VSPERF LMA Documentation master file. + +*********************** +OPNFV VSPERF LMA Guides +*********************** + +.. toctree:: + :caption: Developer Guide for Monitoring Tools + :maxdepth: 2 + + ./metrics/userguide.rst + ./metrics/devguide.rst + ./logs/userguide.rst + ./logs/devguide.rst diff --git a/docs/lma/logs/devguide.rst b/docs/lma/logs/devguide.rst new file mode 100644 index 00000000..7aeaad29 --- /dev/null +++ b/docs/lma/logs/devguide.rst @@ -0,0 +1,145 @@ +==================== +Logs Developer Guide +==================== + +Ansible Client-side +------------------- + +Ansible File Organisation +^^^^^^^^^^^^^^^^^^^^^^^^^ +Files Structure:: + + ansible-client + ├── ansible.cfg + ├── hosts + ├── playbooks + │ └── setup.yaml + └── roles + ├── clean-td-agent + │ └── tasks + │ └── main.yml + └── td-agent + ├── files + │ └── td-agent.conf + └── tasks + └── main.yml + +Summary of roles +^^^^^^^^^^^^^^^^ +====================== ====================== +Roles Description +====================== ====================== +``td-agent`` Install Td-agent & change configuration file +``clean-td-agent`` Unistall Td-agent +====================== ====================== + +Configurable Parameters +^^^^^^^^^^^^^^^^^^^^^^^ +====================================================== ====================== ====================== +File (ansible-client/roles/) Parameter Description +====================================================== ====================== ====================== +``td-agent/files/td-agent.conf`` host Fluentd-server IP +``td-agent/files/td-agent.conf`` port Fluentd-Server Port +====================================================== ====================== ====================== + +Ansible Server-side +------------------- + +Ansible File Organisation +^^^^^^^^^^^^^^^^^^^^^^^^^ +Files Structure:: + + ansible-server + ├── ansible.cfg + ├── group_vars + │ └── all.yml + ├── hosts + ├── playbooks + │ └── setup.yaml + └── roles + ├── clean-logging + │ └── tasks + │ └── main.yml + ├── k8s-master + │ └── tasks + │ └── main.yml + ├── k8s-pre + │ └── tasks + │ └── main.yml + ├── k8s-worker + │ └── tasks + │ └── main.yml + ├── logging + │ ├── files + │ │ ├── elastalert + │ │ │ ├── ealert-conf-cm.yaml + │ │ │ ├── ealert-key-cm.yaml + │ │ │ ├── ealert-rule-cm.yaml + │ │ │ └── elastalert.yaml + │ │ ├── elasticsearch + │ │ │ ├── elasticsearch.yaml + │ │ │ └── user-secret.yaml + │ │ ├── fluentd + │ │ │ ├── fluent-cm.yaml + │ │ │ ├── fluent-service.yaml + │ │ │ └── fluent.yaml + │ │ ├── kibana + │ │ │ └── kibana.yaml + │ │ ├── namespace.yaml + │ │ ├── nginx + │ │ │ ├── nginx-conf-cm.yaml + │ │ │ ├── nginx-key-cm.yaml + │ │ │ ├── nginx-service.yaml + │ │ │ └── nginx.yaml + │ │ ├── persistentVolume.yaml + │ │ └── storageClass.yaml + │ └── tasks + │ └── main.yml + └── nfs + └── tasks + └── main.yml + +Summary of roles +^^^^^^^^^^^^^^^^ +====================== ====================== +Roles Description +====================== ====================== +``k8s-pre`` Pre-requisite for installing K8s, like installing docker & K8s, disable swap etc. +``k8s-master`` Reset K8s & make a master +``k8s-worker`` Join woker nodes with token +``logging`` EFK & elastalert setup in K8s +``clean logging`` Remove EFK & elastalert setup from K8s +``nfs`` Start a NFS server to store Elasticsearch data +====================== ====================== + +Configurable Parameters +^^^^^^^^^^^^^^^^^^^^^^^ +========================================================================= ============================================ ====================== +File (ansible-server/roles/) Parameter name Description +========================================================================= ============================================ ====================== +**Role: logging** +``logging/files/persistentVolume.yaml`` storage Increase or Decrease Storage size of Persistent Volume size for each VM +``logging/files/kibana/kibana.yaml`` version To Change the Kibana Version +``logging/files/kibana/kibana.yaml`` count To increase or decrease the replica +``logging/files/elasticsearch/elasticsearch.yaml`` version To Change the Elasticsearch Version +``logging/files/elasticsearch/elasticsearch.yaml`` nodePort To Change Service Port +``logging/files/elasticsearch/elasticsearch.yaml`` storage Increase or Decrease Storage size of Elasticsearch data for each VM +``logging/files/elasticsearch/elasticsearch.yaml`` nodeAffinity -> values (hostname) In which VM Elasticsearch master or data pod will run (change the hostname to run the Elasticsearch master or data pod on a specific node) +``logging/files/elasticsearch/user-secret.yaml`` stringData Add Elasticsearch User & its roles (`Elastic Docs `_) +``logging/files/fluentd/fluent.yaml`` replicas To increase or decrease the replica +``logging/files/fluentd/fluent-service.yaml`` nodePort To Change Service Port +``logging/files/fluentd/fluent-cm.yaml`` index_template.json -> number_of_replicas To increase or decrease replica of data in Elasticsearch +``logging/files/fluentd/fluent-cm.yaml`` fluent.conf Server port & other Fluentd Configuration +``logging/files/nginx/nginx.yaml`` replicas To increase or decrease the replica +``logging/files/nginx/nginx-service.yaml`` nodePort To Change Service Port +``logging/files/nginx/nginx-key-cm.yaml`` kibana-access.key, kibana-access.pem Key file for HTTPs Connection +``logging/files/nginx/nginx-conf-cm.yaml`` - Nginx Configuration +``logging/files/elastalert/elastalert.yaml`` replicas To increase or decrease the replica +``logging/files/elastalert/ealert-key-cm.yaml`` elastalert.key, elastalert.pem Key file for HTTPs Connection +``logging/files/elastalert/ealert-conf-cm.yaml`` run_every How often ElastAlert will query Elasticsearch +``logging/files/elastalert/ealert-conf-cm.yaml`` alert_time_limit If an alert fails for some reason, ElastAlert will retry sending the alert until this time period has elapsed +``logging/files/elastalert/ealert-conf-cm.yaml`` es_host, es_port Elasticsearch Serivce name & port in K8s +``logging/files/elastalert/ealert-rule-cm.yaml`` http_post_url Alert Receiver IP (`Elastalert Rule Config `_) +**Role: nfs** +``nfs/tasks/main.yml`` line Path of NFS storage +========================================================================= ============================================ ====================== diff --git a/docs/lma/logs/userguide.rst b/docs/lma/logs/userguide.rst index b410ee6c..9b616fe7 100644 --- a/docs/lma/logs/userguide.rst +++ b/docs/lma/logs/userguide.rst @@ -1,14 +1,16 @@ -================= -Table of Contents -================= -.. contents:: -.. section-numbering:: +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. -Setup -====== +.. OPNFV VSPERF Documentation master file. + +*************** +Logs User Guide +*************** Prerequisites -------------------------- +============= + - Require 3 VMs to setup K8s - ``$ sudo yum install ansible`` - ``$ pip install openshift pyyaml kubernetes`` (required for ansible K8s module) @@ -23,19 +25,21 @@ Prerequisites ====================================================================== ====================== Architecture --------------- +============ .. image:: images/setup.png Installation - Clientside -------------------------- +========================= Nodes -````` +----- + - **Node1** = 10.10.120.21 - **Node4** = 10.10.120.24 How installation is done? -````````````````````````` +------------------------- + - TD-agent installation ``$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh`` - Copy the TD-agent config file in **Node1** @@ -46,10 +50,11 @@ How installation is done? ``$ sudo service td-agent restart`` Installation - Serverside -------------------------- +========================= Nodes -````` +----- + Inside Jumphost - POD12 - **VM1** = 10.10.120.211 - **VM2** = 10.10.120.203 @@ -57,7 +62,8 @@ Inside Jumphost - POD12 How installation is done? -````````````````````````` +------------------------- + **Using Ansible:** - **K8s** - **Elasticsearch:** 1 Master & 1 Data node at each VM @@ -70,12 +76,14 @@ How installation is done? - ``/srv/nfs/data`` How to setup? -````````````` +------------- + - **To setup K8s cluster and EFK:** Run the ansible-playbook ``ansible/playbooks/setup.yaml`` - **To clean everything:** Run the ansible-playbook ``ansible/playbooks/clean.yaml`` Do we have HA? -```````````````` +-------------- + Yes Configuration @@ -83,33 +91,39 @@ Configuration K8s --- + Path of all yamls (Serverside) -```````````````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``ansible-server/roles/logging/files/`` K8s namespace -````````````` +^^^^^^^^^^^^^ + ``logging`` K8s Service details -```````````````````` +^^^^^^^^^^^^^^^^^^^ + ``$ kubectl get svc -n logging`` Elasticsearch Configuration --------------------------- Elasticsearch Setup Structure -````````````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + .. image:: images/elasticsearch.png Elasticsearch service details -````````````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | **Service Name:** ``logging-es-http`` | **Service Port:** ``9200`` | **Service Type:** ``ClusterIP`` How to get elasticsearch default username & password? -````````````````````````````````````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + - User1 (custom user): | **Username:** ``elasticsearch`` | **Password:** ``password123`` @@ -120,7 +134,8 @@ How to get elasticsearch default username & password? | ``$ echo $PASSWORD`` How to increase replica of any index? -```````````````````````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | $ curl -k -u "elasticsearch:password123" -H 'Content-Type: application/json' -XPUT "https://10.10.120.211:9200/indexname*/_settings" -d ' | { | "index" : { @@ -128,51 +143,60 @@ How to increase replica of any index? | }' Index Life -``````````` +^^^^^^^^^^ **30 Days** Kibana Configuration -------------------- Kibana Service details -```````````````````````` +^^^^^^^^^^^^^^^^^^^^^^ + | **Service Name:** ``logging-kb-http`` | **Service Port:** ``5601`` | **Service Type:** ``ClusterIP`` Nginx Configuration --------------------- +------------------- + IP -```` -https://10.10.120.211:32000 +^^ + +The IP address with https. Ex: "10.10.120.211:32000" Nginx Setup Structure -````````````````````` +^^^^^^^^^^^^^^^^^^^^^ + .. image:: images/nginx.png Ngnix Service details -````````````````````` +^^^^^^^^^^^^^^^^^^^^^ + | **Service Name:** ``nginx`` | **Service Port:** ``32000`` | **Service Type:** ``NodePort`` Why NGINX is used? -``````````````````` +^^^^^^^^^^^^^^^^^^ + `Securing ELK using Nginx `_ Nginx Configuration -```````````````````` +^^^^^^^^^^^^^^^^^^^ + **Path:** ``ansible-server/roles/logging/files/nginx/nginx-conf-cm.yaml`` Fluentd Configuration - Clientside (Td-agent) --------------------------------------------- Fluentd Setup Structure -```````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^ + .. image:: images/fluentd-cs.png Log collection paths -````````````````````` +^^^^^^^^^^^^^^^^^^^^ + - ``/tmp/result*/*.log`` - ``/tmp/result*/*.dat`` - ``/tmp/result*/*.csv`` @@ -181,21 +205,25 @@ Log collection paths - ``/var/log/sriovdp/*.log.*`` - ``/var/log/pods/**/*.log`` -Logs sends to -````````````` +Logs sent to +^^^^^^^^^^^^ + Another fluentd instance of K8s cluster (K8s Master: 10.10.120.211) at Jumphost. Td-agent logs -````````````` +^^^^^^^^^^^^^ + Path of td-agent logs: ``/var/log/td-agent/td-agent.log`` Td-agent configuration -```````````````````````` +^^^^^^^^^^^^^^^^^^^^^^ + | Path of conf file: ``/etc/td-agent/td-agent.conf`` | **If any changes is made in td-agent.conf then restart the td-agent service,** ``$ sudo service td-agent restart`` Config Description -```````````````````` +^^^^^^^^^^^^^^^^^^ + - Get the logs from collection path - | Convert to this format | { @@ -210,21 +238,24 @@ Fluentd Configuration - Serverside ---------------------------------- Fluentd Setup Structure -```````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^ + .. image:: images/fluentd-ss.png Fluentd Service details -```````````````````````` +^^^^^^^^^^^^^^^^^^^^^^^ + | **Service Name:** ``fluentd`` | **Service Port:** ``32224`` | **Service Type:** ``NodePort`` -Logs sends to -````````````` -Elasticsearch service (https://logging-es-http:9200) +Logs sent to +^^^^^^^^^^^^ +Elasticsearch service (Example: logging-es-http at port 9200) Config Description -```````````````````` +^^^^^^^^^^^^^^^^^^ + - **Step 1** - Get the logs from Node1 & Node4 - **Step 2** @@ -264,10 +295,11 @@ Config Description ================================ ====================== Elastalert ----------- +========== Send alert if -`````````````` +------------- + - Blacklist - "Failed to run test" - "Failed to execute in '30' seconds" @@ -283,7 +315,8 @@ Send alert if - vswitch_duration > 3 sec How to configure alert? -```````````````````````` +----------------------- + - Add your rule in ``ansible/roles/logging/files/elastalert/ealert-rule-cm.yaml`` (`Elastalert Rule Config `_) | name: anything | type: #The RuleType to use @@ -291,12 +324,13 @@ How to configure alert? | realert: | minutes: 0 #to get alert for all cases after each interval | alert: post #To send alert as HTTP POST - | http_post_url: "http://url" + | http_post_url: # Provide URL - Mount this file to elastalert pod in ``ansible/roles/logging/files/elastalert/elastalert.yaml``. Alert Format -```````````` +------------ + {"type": "pattern-match", "label": "failed", "index": "node4-20200815", "log": "error-log-line", "log-path": "/tmp/result/file.log", "reson": "error-message" } Data Management @@ -305,37 +339,41 @@ Data Management Elasticsearch ------------- +Q&As +^^^^ + Where data is stored now? -````````````````````````` Data is stored in NFS server with 1 replica of each index (default). Path of data are following: + - ``/srv/nfs/data (VM1)`` - ``/srv/nfs/data (VM2)`` - ``/srv/nfs/data (VM3)`` - ``/srv/nfs/master (VM1)`` - ``/srv/nfs/master (VM2)`` - ``/srv/nfs/master (VM3)`` -If user wants to change from NFS to local storage -`````````````````````````````````````````````````` + +If user wants to change from NFS to local storage, can he do it? Yes, user can do this, need to configure persistent volume. (``ansible-server/roles/logging/files/persistentVolume.yaml``) Do we have backup of data? -```````````````````````````` -1 replica of each index +Yes. 1 replica of each index When K8s restart, the data is still accessible? -````````````````````````````````````````````````````` Yes (If data is not deleted from /srv/nfs/data) Troubleshooting =============== + If no logs receiving in Elasticsearch --------------------------------------- +------------------------------------- + - Check IP & port of server-fluentd in client config. - Check client-fluentd logs, ``$ sudo tail -f /var/log/td-agent/td-agent.log`` - Check server-fluentd logs, ``$ sudo kubectl logs -n logging `` If no notification received --------------------------- + - Search your "log" in Elasticsearch. - Check config of elastalert - Check IP of alert-receiver @@ -345,4 +383,4 @@ Reference - `Elastic cloud on K8s `_ - `HA Elasticsearch on K8s `_ - `Fluentd Configuration `_ -- `Elastalert Rule Config `_ \ No newline at end of file +- `Elastalert Rule Config `_ diff --git a/docs/lma/metrics/devguide.rst b/docs/lma/metrics/devguide.rst index 93d33016..40162397 100644 --- a/docs/lma/metrics/devguide.rst +++ b/docs/lma/metrics/devguide.rst @@ -1,17 +1,12 @@ -==================== -Metrics Dev Guide -==================== -Table of Contents -================= -.. contents:: -.. section-numbering:: - +======================= +Metrics Developer Guide +======================= Anible File Organization -============================ +======================== Ansible-Server ----------------- +-------------- Please follow the following file structure: @@ -82,7 +77,7 @@ Please follow the following file structure: Ansible - Client ------------------- +---------------- Please follow the following file structure: @@ -113,25 +108,25 @@ Please follow the following file structure: Summary of Roles -================== +================ A brief description of the Ansible playbook roles, which are used to deploy the monitoring cluster Ansible Server Roles ----------------------- +-------------------- Ansible Server, this part consists of the roles used to deploy Prometheus Alertmanager Grafana stack on the server-side Role: Monitoring -~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~ Deployment and configuration of PAG stack along with collectd-exporter, cadvisor and node-exporter. Role: Clean-Monitoring -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ Removes all the components deployed by the Monitoring role. @@ -163,7 +158,7 @@ Configurable Parameters: File: alertmanager-deployment.yaml -''''''''''''''''''''''''''''''''' +'''''''''''''''''''''''''''''''''' Path : monitoring/files/alertmanager/alertmanager-deployment.yaml Task: Deploys alertmanager instance @@ -315,7 +310,7 @@ Kube State Metrics ^^^^^^^^^^^^^^^^^^^^ File: kube-state-metrics-deployment.yaml -'''''''''''''''''''''''''''''''''''''''''' +'''''''''''''''''''''''''''''''''''''''' Path : monitoring/files/kube-state-metrics/kube-state-metrics-deployment.yaml Task: To create a kube-state-metrics instance @@ -327,7 +322,7 @@ Configurable Parameters: File: kube-state-metrics-service.yaml -''''''''''''''''''''''''''''''''' +''''''''''''''''''''''''''''''''''''' Path : monitoring/files/kube-state-metrics/kube-state-metrics-service.yaml Task: To create a collectd service @@ -343,7 +338,7 @@ Node Exporter ^^^^^^^^^^^^^^^ File: node-exporter-daemonset.yaml -''''''''''''''''''''''''''''''''' +'''''''''''''''''''''''''''''''''' Path : monitoring/files/node-exporter/node-exporter-daemonset.yaml Task: To create a node exporter daemonset @@ -467,7 +462,7 @@ Task: Install collectd along with prerequisites Associated template file: -- collectd.conf.j2 +collectd.conf.j2 Path: collectd/files/collectd.conf.j2 Summary: Edit this file to change the default configuration to diff --git a/docs/lma/metrics/userguide.rst b/docs/lma/metrics/userguide.rst index 0ee4a238..eae336d7 100644 --- a/docs/lma/metrics/userguide.rst +++ b/docs/lma/metrics/userguide.rst @@ -1,10 +1,6 @@ -================= -Metrics -================= -Table of Contents -================= -.. contents:: -.. section-numbering:: +================== +Metrics User Guide +================== Setup ======= @@ -133,7 +129,7 @@ Data Management DataFlow: -------------- -.. image:: images/dataFlow.png +.. image:: images/dataflow.png Where is the data stored now? ---------------------------------- diff --git a/docs/openstack/index.rst b/docs/openstack/index.rst new file mode 100644 index 00000000..fcc04c99 --- /dev/null +++ b/docs/openstack/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others. + +.. OPNFV VSPERF Documentation master file. + +*************************** +OPNFV VSPERF with OPENSTACK +*************************** + +============ +Introduction +============ + diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 199949fb..f50b923c 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -1,6 +1,50 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation, AT&T and others. +.. (c) OPNFV, Intel Corporation, Spirent Communications, AT&T and others. + +OPNFV Iruya Release +==================== + +* Supported Versions - DPDK:18.11, OVS:2.12.0, VPP:19.08.1, QEMU:3.1.1 +* Few bugfixes and minor improvements + +* New Feature: Containers to manage VSPERF. + + * VSPERF Containers for both deployment and test runs + +* Improvement + + * Results Analysis to include all 5 types of data. + + * Infrastructure data + * End-Of-Test Results + * Live-Results + * Events from VSPERF Logs + * Test Environment + +* Usability + + * Configuration Wizard tool. + + +OPNFV Hunter Release +==================== + +* Supported Versions - DPDK:17.08, OVS:2.8.1, VPP:17.07, QEMU:2.9.1 +* Few bugfixes and minor improvements + +* Traffic Generators + + * Spirent - Live Results Support. + * T-Rex - Live Results Support. + +* Improvment + + * Results container to receive logs from Logstash/Fluentd. + +* CI + + * Bug Fixes. OPNFV Gambia Release diff --git a/docs/testing/developer/devguide/design/vswitchperf_design.rst b/docs/testing/developer/devguide/design/vswitchperf_design.rst index 50682a93..5fa892e0 100644 --- a/docs/testing/developer/devguide/design/vswitchperf_design.rst +++ b/docs/testing/developer/devguide/design/vswitchperf_design.rst @@ -23,7 +23,7 @@ Example Connectivity to DUT Establish connectivity to the VSPERF DUT Linux host. If this is in an OPNFV lab following the steps provided by `Pharos `_ -to `access the POD `_ +to `access the POD `_ The followign steps establish the VSPERF environment. diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst index 49659792..64a4758c 100644 --- a/docs/testing/developer/devguide/index.rst +++ b/docs/testing/developer/devguide/index.rst @@ -31,7 +31,7 @@ new techniques together. A new IETF benchmarking specification (RFC8204) is base 2015. VSPERF is also contributing to development of ETSI NFV test specifications through the Test and Open Source Working Group. -* Wiki: https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases +* Wiki: https://wiki.opnfv.org/display/vsperf * Repository: https://git.opnfv.org/vswitchperf * Artifacts: https://artifacts.opnfv.org/vswitchperf.html * Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/ @@ -43,7 +43,6 @@ Design Guides .. toctree:: :caption: Traffic Gen Integration, VSPERF Design, Test Design, Test Plan :maxdepth: 2 - :numbered: ./design/trafficgen_integration_guide.rst ./design/vswitchperf_design.rst @@ -75,6 +74,3 @@ VSPERF CI Test Cases :numbered: CI Test cases run daily on the VSPERF Pharos POD for master and stable branches. - - ./results/scenario.rst - ./results/results.rst diff --git a/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst b/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst index ee7f98b5..10b07d54 100644 --- a/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst +++ b/docs/testing/developer/devguide/requirements/ietf_draft/rfc8204-vsperf-bmwg-vswitch-opnfv.rst @@ -13,7 +13,7 @@ informational RFC published by the IETF available here https://tools.ietf.org/ht For more information about VSPERF refer to: -* Wiki: https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases +* Wiki: https://wiki.opnfv.org/display/vsperf * Repository: https://git.opnfv.org/vswitchperf * Artifacts: https://artifacts.opnfv.org/vswitchperf.html * Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/ diff --git a/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst b/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst index c703ff40..1ea99f7e 100644 --- a/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst +++ b/docs/testing/developer/devguide/requirements/vswitchperf_ltd.rst @@ -62,21 +62,21 @@ References ========== * `RFC 1242 Benchmarking Terminology for Network Interconnection - Devices `__ + Devices `__ * `RFC 2544 Benchmarking Methodology for Network Interconnect - Devices `__ + Devices `__ * `RFC 2285 Benchmarking Terminology for LAN Switching - Devices `__ + Devices `__ * `RFC 2889 Benchmarking Methodology for LAN Switching - Devices `__ + Devices `__ * `RFC 3918 Methodology for IP Multicast - Benchmarking `__ + Benchmarking `__ * `RFC 4737 Packet Reordering - Metrics `__ + Metrics `__ * `RFC 5481 Packet Delay Variation Applicability - Statement `__ + Statement `__ * `RFC 6201 Device Reset - Characterization `__ + Characterization `__ .. 3.2 diff --git a/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst b/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst index e5147bea..c0b63859 100644 --- a/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst +++ b/docs/testing/developer/devguide/requirements/vswitchperf_ltp.rst @@ -63,21 +63,21 @@ References =============== * `RFC 1242 Benchmarking Terminology for Network Interconnection - Devices `__ + Devices `__ * `RFC 2544 Benchmarking Methodology for Network Interconnect - Devices `__ + Devices `__ * `RFC 2285 Benchmarking Terminology for LAN Switching - Devices `__ + Devices `__ * `RFC 2889 Benchmarking Methodology for LAN Switching - Devices `__ + Devices `__ * `RFC 3918 Methodology for IP Multicast - Benchmarking `__ + Benchmarking `__ * `RFC 4737 Packet Reordering - Metrics `__ + Metrics `__ * `RFC 5481 Packet Delay Variation Applicability - Statement `__ + Statement `__ * `RFC 6201 Device Reset - Characterization `__ + Characterization `__ .. 3.1.4 @@ -633,7 +633,7 @@ General Methodology: -------------------------- To establish the baseline performance of the virtual switch, tests would initially be run with a simple workload in the VNF (the recommended -simple workload VNF would be `DPDK `__'s testpmd +simple workload VNF would be `DPDK `__'s testpmd application forwarding packets in a VM or vloop\_vnf a simple kernel module that forwards traffic between two network interfaces inside the virtualized environment while bypassing the networking stack). @@ -656,7 +656,7 @@ tests: - Reference application: Simple forwarding or Open Source VNF. - Frame size (bytes): 64, 128, 256, 512, 1024, 1280, 1518, 2K, 4k OR Packet size based on use-case (e.g. RTP 64B, 256B) OR Mix of packet sizes as - maintained by the Functest project . + maintained by the Functest project . - Reordering check: Tests should confirm that packets within a flow are not reordered. - Duplex: Unidirectional / Bidirectional. Default: Full duplex with diff --git a/docs/testing/developer/devguide/results/scenario.rst b/docs/testing/developer/devguide/results/scenario.rst index dbdc7877..f7eadd33 100644 --- a/docs/testing/developer/devguide/results/scenario.rst +++ b/docs/testing/developer/devguide/results/scenario.rst @@ -34,7 +34,7 @@ Deployment topologies: Loopback applications in the Guest: -* `DPDK testpmd `_. +* `DPDK testpmd `_. * Linux Bridge. * :ref:`l2fwd-module` diff --git a/docs/testing/user/configguide/index.rst b/docs/testing/user/configguide/index.rst index 75a2082d..87c32d11 100644 --- a/docs/testing/user/configguide/index.rst +++ b/docs/testing/user/configguide/index.rst @@ -31,7 +31,7 @@ new techniques together. A new IETF benchmarking specification (RFC8204) is base 2015. VSPERF is also contributing to development of ETSI NFV test specifications through the Test and Open Source Working Group. -* Wiki: https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases +* Wiki: https://wiki.opnfv.org/display/vsperf * Repository: https://git.opnfv.org/vswitchperf * Artifacts: https://artifacts.opnfv.org/vswitchperf.html * Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/ @@ -57,10 +57,10 @@ VSPERF Test Guide .. toctree:: :caption: VSPERF Test Execution :maxdepth: 2 - :numbered: ../userguide/testusage.rst ../userguide/teststeps.rst ../userguide/integration.rst + ../userguide/trafficcapture.rst ../userguide/yardstick.rst ../userguide/testlist.rst diff --git a/docs/testing/user/configguide/installation.rst b/docs/testing/user/configguide/installation.rst index fcf5b05d..b950442e 100644 --- a/docs/testing/user/configguide/installation.rst +++ b/docs/testing/user/configguide/installation.rst @@ -167,8 +167,12 @@ repository provided by Software Collections (`a link`_). The installation script will also use `virtualenv`_ to create a vsperf virtual environment, which is isolated from the default Python environment, using the Python3 package located in **/usr/bin/python3**. This environment will reside in a directory called -**vsperfenv** in $HOME. It will ensure, that system wide Python installation - is not modified or broken by VSPERF installation. The complete list of Python +**vsperfenv** in $HOME. + +It will ensure, that system wide Python installation is not modified or +broken by VSPERF installation. + +The complete list of Python packages installed inside virtualenv can be found in the file ``requirements.txt``, which is located at the vswitchperf repository. @@ -266,8 +270,8 @@ running any of the above. For example: export http_proxy=proxy.mycompany.com:123 export https_proxy=proxy.mycompany.com:123 -.. _a link: http://www.softwarecollections.org/en/scls/rhscl/python33/ -.. _virtualenv: https://virtualenv.readthedocs.org/en/latest/ +.. _a link: https://www.softwarecollections.org/en/scls/rhscl/python33/ +.. _virtualenv: https://virtualenv.pypa.io/en/latest/ .. _vloop-vnf-ubuntu-14.04_20160823: http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160823.qcow2 .. _vloop-vnf-ubuntu-14.04_20160804: http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160804.qcow2 .. _vloop-vnf-ubuntu-14.04_20160303: http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160303.qcow2 @@ -326,7 +330,7 @@ to your OS documentation to set hugepages correctly. It is recommended to set the required amount of hugepages to be allocated by default on reboots. Information on hugepage requirements for dpdk can be found at -http://dpdk.org/doc/guides/linux_gsg/sys_reqs.html +http://doc.dpdk.org/guides/linux_gsg/sys_reqs.html You can review your hugepage amounts by executing the following command @@ -356,7 +360,7 @@ default on the Linux DUT VSPerf recommends the latest tuned-adm package, which can be downloaded from the following location: -http://www.tuned-project.org/2017/04/27/tuned-2-8-0-released/ +https://github.com/redhat-performance/tuned/releases Follow the instructions to install the latest tuned-adm onto your system. For current RHEL customers you should already have the most current version. You diff --git a/docs/testing/user/configguide/tools.rst b/docs/testing/user/configguide/tools.rst index 362bfca8..72e515fa 100644 --- a/docs/testing/user/configguide/tools.rst +++ b/docs/testing/user/configguide/tools.rst @@ -46,7 +46,7 @@ Installation No installation is required for *pidstat*, whereas, collectd has to be installed separately. For installation of collectd, we recommend to follow the process described -in *OPNFV-Barometer* project, which can be found here `Barometer-Euphrates `_ or the most +in *OPNFV-Barometer* project, which can be found here `Barometer `_ recent release. VSPERF assumes that collectd is installed and configured to send metrics over localhost. diff --git a/docs/testing/user/configguide/trafficgen.rst b/docs/testing/user/configguide/trafficgen.rst index 705e5397..3bb09d52 100644 --- a/docs/testing/user/configguide/trafficgen.rst +++ b/docs/testing/user/configguide/trafficgen.rst @@ -407,7 +407,7 @@ Spirent Setup Spirent installation files and instructions are available on the Spirent support website at: -http://support.spirent.com +https://support.spirent.com Select a version of Spirent TestCenter software to utilize. This example will use Spirent TestCenter v4.57 as an example. Substitute the appropriate @@ -459,7 +459,7 @@ STC ReST API. Basic ReST functionality is provided by the resthttp module, and may be used for writing ReST clients independent of STC. - Project page: -- Package download: +- Package download: To use REST interface, follow the instructions in the Project page to install the package. Once installed, the scripts named with 'rest' keyword @@ -618,7 +618,7 @@ support contract. To execute the Xena2544.exe file under Linux distributions the mono-complete package must be installed. To install this package follow the instructions below. Further information can be obtained from -http://www.mono-project.com/docs/getting-started/install/linux/ +https://www.mono-project.com/docs/getting-started/install/linux/ .. code-block:: console @@ -754,7 +754,7 @@ trafficgen.lua Follow MoonGen set up and execution instructions here: -https://github.com/atheurer/lua-trafficgen/blob/master/README.md +https://github.com/atheurer/trafficgen/blob/master/README.md Note one will need to set up ssh login to not use passwords between the server running MoonGen and the device under test (running the VSPERF test @@ -1006,7 +1006,7 @@ dictionary are shown. The rest of the TRAFFIC dictionary is set to default value as they are defined in ``conf/03_traffic.conf``. Please check official documentation of SCAPY project for details about SCAPY frame -definition and supported network layers at: http://www.secdev.org/projects/scapy +definition and supported network layers at: https://scapy.net #. Generate ICMP frames: diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst index 350fbe54..2c7a78ff 100644 --- a/docs/testing/user/userguide/index.rst +++ b/docs/testing/user/userguide/index.rst @@ -11,7 +11,6 @@ VSPERF Test Guide .. toctree:: :caption: VSPERF Test Execution :maxdepth: 2 - :numbered: ./testusage.rst ./teststeps.rst diff --git a/docs/testing/user/userguide/testusage.rst b/docs/testing/user/userguide/testusage.rst index 9dc80bb7..3dd41846 100644 --- a/docs/testing/user/userguide/testusage.rst +++ b/docs/testing/user/userguide/testusage.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation, AT&T and others. +.. (c) OPNFV, Intel Corporation, Spirent, AT&T and others. vSwitchPerf test suites userguide --------------------------------- @@ -662,7 +662,7 @@ modified to use igb_uio_from_src instead. Note: vfio_no_iommu requires kernels equal to or greater than 4.5 and dpdk 16.04 or greater. Using this option will also taint the kernel. -Please refer to the dpdk documents at http://dpdk.org/doc/guides for more +Please refer to the dpdk documents at https://doc.dpdk.org/guides for more information on these drivers. Guest Core and Thread Binding -- cgit 1.2.3-korg