clover.git
6 years agoFix stale link for snort package in docker build 75/64975/1
earrage [Sat, 10 Nov 2018 01:35:59 +0000 (17:35 -0800)]
Fix stale link for snort package in docker build

- Updates the rpm package download for snort. The docker build
is currently failing due a stale link.

Change-Id: If7cf6b0d29f39be9eb7d5f08b59d763f4715a4c1
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoMerge "Add final version of cloverctl tarball"
Stephen Wong [Sat, 10 Nov 2018 00:36:57 +0000 (00:36 +0000)]
Merge "Add final version of cloverctl tarball"

6 years agoAdd final version of cloverctl tarball 69/64969/1
earrage [Fri, 9 Nov 2018 23:43:30 +0000 (15:43 -0800)]
Add final version of cloverctl tarball

- Update the cloverctl tarball with the final Gambia
version
- Install redis to default and clover-system namespaces
when executing 'cloverctl create system visibility'. This
is a hack for now until we update all Clover services to
use redis in clover-system.
- Modify the tag override for 'cloverctl create system'
to use opnfv-7.0.0 instead of latest.
- The opnfv-7.0.0 tag will be created for all Clover
OPNFV DockerHub containers

Change-Id: I5c63a2adc6b822dfbd76ab4081e77aac3381a4df
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoModify SDC guide for snort/lb config change from CLI 53/64953/1
earrage [Fri, 9 Nov 2018 21:30:29 +0000 (13:30 -0800)]
Modify SDC guide for snort/lb config change from CLI

- Convert instructions on how to modify runtime config
of snort-ids and http-lb services using cloverctl rather than
using python gRPC client script
- Remove A-B validation from the SDC guide and from the config
guide index, as it was not updated from Fraser to Gambia
- Add a yaml to add icmp ids rule

Change-Id: I0c5391d9eac0130586d4ab25543a3d308c2ed558
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoRefresh SDC guide for Istio 1.0 47/64947/1
earrage [Fri, 9 Nov 2018 19:57:22 +0000 (11:57 -0800)]
Refresh SDC guide for Istio 1.0

- Add description of new VirtualService and Gateway resources
in Istio 1.0
- Modify manual inject commands to match Istio 1.0
- Update tracing UI graphic with Jaeger that is integrated with Istio 1.0
- Update Istio pod listing
- Update how to expose Prometheus and Jaeger
- Fix the commands to remove Istio 1.0
- Modify SDC yaml for local Docker registry case

Change-Id: I51e2b876699eae48714e94e33e56191364a0dbe5
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoMerge "Initial commit of visibility services config guide"
Stephen Wong [Fri, 9 Nov 2018 18:28:46 +0000 (18:28 +0000)]
Merge "Initial commit of visibility services config guide"

6 years agoInitial commit of visibility services config guide 53/64853/2
earrage [Fri, 9 Nov 2018 07:15:13 +0000 (23:15 -0800)]
Initial commit of visibility services config guide

- Updates to jmeter validation and controller services
guides
- Image for jmeter guide

Change-Id: I175c4052f005d6fbebde8afbcb2bda1df4a4d6d9
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agochange the doc for the istio 1.0 97/64597/3
Ace Lee [Tue, 6 Nov 2018 13:17:23 +0000 (13:17 +0000)]
change the doc for the istio 1.0

prometheus has been installed in istio 1.0
so we need to delete the view.sh file.
but we need to change to to NodePort way to expose the port

Change-Id: I8ae6bc1c251ba5effbc94efe984384af6e64adfc
Signed-off-by: Ace Lee <liyin11@huawei.com>
6 years agoMerge "Add create/delete of clover-system services from CLI"
Stephen Wong [Thu, 8 Nov 2018 23:23:34 +0000 (23:23 +0000)]
Merge "Add create/delete of clover-system services from CLI"

6 years agoFix format problem on user guide 35/64835/1
Stephen Wong [Thu, 8 Nov 2018 23:18:40 +0000 (23:18 +0000)]
Fix format problem on user guide

Change-Id: I474ccaed8fa16d934f770b555211b6a30ba7bfae
Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
6 years agoClover Doc Patches: Update release note, user guide, and add Clovisor 87/64787/1
Stephen Wong [Thu, 8 Nov 2018 15:42:11 +0000 (15:42 +0000)]
Clover Doc Patches: Update release note, user guide, and add Clovisor
configuration guide

Change-Id: I65da13cb9ce503f9b5b2fd2457f147549a13b9f6
Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
6 years agoMerge "Initial commit for Clovisor design doc"
Stephen Wong [Thu, 8 Nov 2018 15:30:32 +0000 (15:30 +0000)]
Merge "Initial commit for Clovisor design doc"

6 years agoMerge "Initial commit of controller services config guide"
Stephen Wong [Thu, 8 Nov 2018 15:28:26 +0000 (15:28 +0000)]
Merge "Initial commit of controller services config guide"

6 years agoMerge "Initial commit of Jmeter validation config guide"
Stephen Wong [Thu, 8 Nov 2018 15:27:34 +0000 (15:27 +0000)]
Merge "Initial commit of Jmeter validation config guide"

6 years agocorrecting reference label 73/64773/1
Sofia Wallin [Thu, 8 Nov 2018 11:33:50 +0000 (12:33 +0100)]
correcting reference label

Change-Id: I9b354e85f7f86872617904dd84ff5f0c516e1ffb
Signed-off-by: Sofia Wallin <sofia.wallin@est.tech>
6 years agoInitial commit of controller services config guide 39/64639/4
earrage [Wed, 7 Nov 2018 01:59:27 +0000 (17:59 -0800)]
Initial commit of controller services config guide

- Controller services lump cloverctl CLI and clover-controller
together and this config guide provides brief overview
and deploy/delete instructions
- Intended to be one of the first guides a user follows,
as controller is prerequisite for many other Clover services
- Add new, existing config guides to index
including forthcoming jmeter, visibility guides
- Embedded images forthcoming

Change-Id: Ifef0248d9370df862a1d192b979606e443a82e95
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoInitial commit of Jmeter validation config guide 51/64751/2
earrage [Thu, 8 Nov 2018 07:11:30 +0000 (23:11 -0800)]
Initial commit of Jmeter validation config guide

- Provides brief overview and usage instructions including:
  - delete/deploy in k8s using cloverctl CLI and source
  - Generate the test plan on the master
  - Start tests on master or with slaves
  - Retrieve results using cloverctl and interpret
- Embedded images forthcoming

Change-Id: Ibbfa21f5d73c76c16ffac115ad0164c5cf210236
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoTest cloverctl tarball download from git 27/64727/1
earrage [Thu, 8 Nov 2018 01:48:11 +0000 (17:48 -0800)]
Test cloverctl tarball download from git

- This file will be updated when outstanding patches
are merged.
- This is a test for the config guide docs to validate
download procedure.

Change-Id: Iebc79b14b1e74ca09f85f1f5846b0f4f43c782ba
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoInitial commit for Clovisor design doc 35/64635/6
Stephen Wong [Wed, 7 Nov 2018 00:35:13 +0000 (00:35 +0000)]
Initial commit for Clovisor design doc

Change-Id: I9e878b0302623266a7c900f5ca53825d7a3492c3
Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
6 years agoMerge "Add ability to read controller nodeport IP from file"
Stephen Wong [Wed, 7 Nov 2018 07:31:19 +0000 (07:31 +0000)]
Merge "Add ability to read controller nodeport IP from file"

6 years agoMerge "Fix Docker build of Clovisor Docker image on OPNFV Jenkins"
Stephen Wong [Wed, 7 Nov 2018 07:25:18 +0000 (07:25 +0000)]
Merge "Fix Docker build of Clovisor Docker image on OPNFV Jenkins"

6 years agoAdd create/delete of clover-system services from CLI 09/64409/5
earrage [Fri, 2 Nov 2018 04:04:15 +0000 (21:04 -0700)]
Add create/delete of clover-system services from CLI

- Improve usability when deploying or deleting various
Clover components using cloverctl
- Add yaml for each of the clover-system services
including controller, collector, spark, redis, cassandra,
clovisor and jmeter separated by k8s resource and available
under a single yaml directory
- Deploy/delete yaml for services in various subsets including:
  - visibility(controller, collector, spark, redis, cassandra)
  - datastore(redis, cassandra)
  - validation(jmeter master/slaves(4))
  - clovisor (individually)
  - collector (individually)
  - controller (individually)
Ex.  cloverctl create system controller
Ex.  cloverctl create system visibility
- Ability to add nodeport for controller separately
(cloverctl create system controller nodeport)
- Use native client-go methods to create/delete all k8s resources
used by Clover including:
  - pods, deployments, statefulsets, daemonsets, services
  - serviceaccounts, clusterrolebindings
- Above allows yaml override of values such as image value specified
in deployment or daemonset. This is broken down by:
- tag (ex. latest, opnfv-7.0.0) or repo'(ex. opnfv, localhost:5000)
that can be added with CLI flags as shown below:
(cloverctl create system visibility -t latest -r localhost:5000)
  - defaults to -r opnfv -t latest
- Creates/deletes clover-system namespace

- Also added ability to create/delete lb service for controller
external access when running on environment such as GKE
(cloverctl <create/delete> system controller lb)

Change-Id: I2a3c6c80035d4663fa38368b3ff13e9a14090a47
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoAdd ability to read controller nodeport IP from file 19/64519/3
earrage [Mon, 5 Nov 2018 19:49:36 +0000 (11:49 -0800)]
Add ability to read controller nodeport IP from file

- Formalize use of cloverctl config file using viper
- Default name of config file is '.cloverctl.yaml'
- Look for file in home directory or relative to
cloverctl executable
- Single value in config is for 'ControllerIP: <IP Address>'
- Still try and retrieve port value of clover-controller nodeport
automatically
- Still try and retrieve IP address of clover-controller LB if
GKE environment is being used and override config file value if found
in current kube context

- Improve error messaging if controller connect fails
- Clean up the CLI help output
- Modify jmeter 'get testresult' command to avoid the use
of flags and use arguments instead

Change-Id: Id95d1b3d1079ac84996681db62da1f9b6b8a88b5
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoFix Docker build of Clovisor Docker image on OPNFV Jenkins 57/64457/2
Stephen Wong [Sat, 3 Nov 2018 05:18:51 +0000 (05:18 +0000)]
Fix Docker build of Clovisor Docker image on OPNFV Jenkins

Change-Id: Ied0ef2ccd4eb95cace68826a1494e82f2c18d95c
Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
6 years agoModify container tag to opnfv in spark-submit 53/64453/1
earrage [Sat, 3 Nov 2018 01:26:46 +0000 (18:26 -0700)]
Modify container tag to opnfv in spark-submit

- Change tag from local repo to opnfv for clover-spark
container, which spark-submit references
- Move update of configured visibility services into
loop

Change-Id: I9d09a851977c6006ea2cbba45d7a28be6a4660b9
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoAdd minor enhancements to jmeter configuration 49/64449/1
earrage [Fri, 2 Nov 2018 21:40:55 +0000 (14:40 -0700)]
Add minor enhancements to jmeter configuration

- Add user-agent field to jmeter config yaml and jmeter jmx
template that can be configured per URL in testplan
- Add duration time that can be used in combination with
ramp time. Duration is the total time of the test while
ramp time governs how much time is allotted to establish
all configured requests/connections
- Explicitly define clover-jmeter-master service name with
default namespace for clover-controller in clover-system
namespace to reach
- Add missing request_counts.html file

Change-Id: I5e2d388db0b73ea6c28482c94c33cc2a01f1b52e
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoMerge "CLOVER-43: Initial commit for Clovisor"
Stephen Wong [Thu, 1 Nov 2018 17:13:43 +0000 (17:13 +0000)]
Merge "CLOVER-43: Initial commit for Clovisor"

6 years agoMerge "Initial UI dashboard added for visibility"
Stephen Wong [Thu, 1 Nov 2018 17:12:57 +0000 (17:12 +0000)]
Merge "Initial UI dashboard added for visibility"

6 years agoMerge "Update modsecurity image docker registry"
Stephen Wong [Thu, 1 Nov 2018 17:09:02 +0000 (17:09 +0000)]
Merge "Update modsecurity image docker registry"

6 years agoMerge "Initial commit for Spark to analyze visibility data"
Stephen Wong [Thu, 1 Nov 2018 06:51:22 +0000 (06:51 +0000)]
Merge "Initial commit for Spark to analyze visibility data"

6 years agoMerge "Add initial Istio validation testcase for CI"
Stephen Wong [Thu, 1 Nov 2018 06:49:50 +0000 (06:49 +0000)]
Merge "Add initial Istio validation testcase for CI"

6 years agoCLOVER-43: Initial commit for Clovisor 17/62117/9
Stephen Wong [Tue, 11 Sep 2018 23:37:33 +0000 (23:37 +0000)]
CLOVER-43: Initial commit for Clovisor

Part of Clover's initial task (during project proposal) is to explore
cloud native network tracing tools. Clover the project proposes
Clovisor as a way for Clover to use the IOvisor
(https://www.iovisor.org/) to perform network tracing. This is the first
commit of this module

Please note that the BPF code used in this commit were only tested with
Linux kernel 4.14+ --- hence, if ubuntu is used, and one prefers LTS,
the requirement is 18.04+

A different patch will track the redis and k8s API server watcher code

Also, a design doc will be added in the future (TBD)

Signed-off-by: Stephen Wong <stephen.kf.wong@gmail.com>
Change-Id: I30d9f9d474b8703097c470d39628e86bc788f9b6

6 years agoInitial UI dashboard added for visibility 17/64117/3
earrage [Sat, 27 Oct 2018 19:55:48 +0000 (12:55 -0700)]
Initial UI dashboard added for visibility

- Add foundation, jquery and jquery-ui open source js/css
packages for skin, layout and AJAX
- Add plotly and candela js open source graphing packages
- Build core visibility view and provide toplevel templates,
headers, menu navigation, etc.
- Update collector/visibility APIs to align to latest Spark
analytics and UI requirements
- Refresh page elements at 5 second interval.
- Visibility controls to stop continual page refresh and clear
visibility.
- Multi-select and update service set to analyze.
- System count updates for tracing, spans, metrics schemas.
- Min/max/avg response times per service (aggregate) table.
- Graphs for: per service request counts, user-agent percentages,
per service/URL counts, per URL/status code counts, per URL counts
- Tabs for distinct URLs, status codes, user-agents, upstream cluster,
operation names, nodeids (service names)
- Table for metrics counters specified in visibility configuration.
- Metrics over time scatter plots for tracked metrics.

Change-Id: Ie3ea12fd32e0274ac52f78becc4a56c4c4134660
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoUpdate modsecurity image docker registry 81/64181/1
JingLu5 [Tue, 30 Oct 2018 06:51:09 +0000 (14:51 +0800)]
Update modsecurity image docker registry

The clover-ns-modsecurity-crs docker image is now built by Jenkins and uploaded
to the OPNFV docker hub.
This patch updates the modsecurity deployment kubernetes manifest to pull image from OPNFV docker hub.

Change-Id: I7e8afd27f726600de9247fc98fe3f5d491000f1c
Signed-off-by: JingLu5 <lvjing5@huawei.com>
6 years agoMerge "Fix broken jmeter binary links"
Stephen Wong [Sat, 27 Oct 2018 07:38:02 +0000 (07:38 +0000)]
Merge "Fix broken jmeter binary links"

6 years agoDocs Index 97/64097/1
Trevor Bramwell [Fri, 26 Oct 2018 18:23:20 +0000 (11:23 -0700)]
Docs Index

Adds the missing index.rst needed to build the documentation.

Change-Id: I6ff27873559718a5ca4e3120646a6ef347120c8a
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
6 years agoFix broken jmeter binary links 91/63891/1
earrage [Mon, 22 Oct 2018 22:39:28 +0000 (15:39 -0700)]
Fix broken jmeter binary links

- Docker container builds are failing due to expired links
for the jmeter binary for jmeter-master and jmeter-slave
- Updated link provided

Change-Id: Icb364bc234b118e0c00359a04b51461142f832af
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoInitial commit for Spark to analyze visibility data 87/63887/2
earrage [Mon, 22 Oct 2018 20:53:54 +0000 (13:53 -0700)]
Initial commit for Spark to analyze visibility data

- Add Apache Spark 2.3 with native Kubernetes support.
- Runs self contained within K8s cluster in clover-system
namespace. One container (clover-spark) includes Clover Spark
JAR artifact. This container interacts with the
K8s API to spawn a spark-driver pod. This pod in turn spawns executor
pods to execute Spark jobs.
- Currently JAR is included in source for convenience and must be
built with sbt (install sbt and execute sbt package)
- Includes JAR from DataStax to provide Cassandra connector to analyze
Cassandra schemas as RDDs (Resilient Distributed Dataset).
- Includes Redis interface JAR to write analyzed data back to visibility
(UI, CLI or API).
- Second container (clover-spark-submit) submits Spark jobs
continuously to allow Spark to be operated entirely within the cluster.
- Two Spark jobs (CloverSlow, CloverFast) allows some analytics to be
provided in real-time and other analytics to be provided over longer
horizons.
- Each Spark job spawns two executor pods.
- Includes yaml manifest to deploy clover-spark-submit with the
necessary RBAC permissions to interact with the K8s API.
- Data analyzed includes tracing and metrics schemas obtained by
clover-collector and written to Cassandra.
- Docker builds of clover-spark and clover-spark-submit are provided
and will be pushed as OPNFV DockerHub images in a separate patch.

Change-Id: I2e92c41fd75d4ebba948c0f8cb60face57005e50
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoMerge "Add visibility API in controller and CLI"
Stephen Wong [Sun, 21 Oct 2018 08:09:48 +0000 (08:09 +0000)]
Merge "Add visibility API in controller and CLI"

6 years agoMerge "Add nginx services control functionality"
Stephen Wong [Sun, 21 Oct 2018 06:22:45 +0000 (06:22 +0000)]
Merge "Add nginx services control functionality"

6 years agoMerge "Improve data ingestion reliability and functionality"
Stephen Wong [Sun, 21 Oct 2018 06:07:07 +0000 (06:07 +0000)]
Merge "Improve data ingestion reliability and functionality"

6 years agoMerge "Remove former check_envs call"
Stephen Wong [Sun, 21 Oct 2018 05:55:09 +0000 (05:55 +0000)]
Merge "Remove former check_envs call"

6 years agoMerge "Updated from global requirements"
Stephen Wong [Sun, 21 Oct 2018 05:53:39 +0000 (05:53 +0000)]
Merge "Updated from global requirements"

6 years agoMerge "Add spinnaker configguide"
Stephen Wong [Sun, 21 Oct 2018 05:50:57 +0000 (05:50 +0000)]
Merge "Add spinnaker configguide"

6 years agoAdd initial Istio validation testcase for CI 11/63311/10
JingLu5 [Tue, 9 Oct 2018 06:34:45 +0000 (14:34 +0800)]
Add initial Istio validation testcase for CI

This work adds testcase for validating Istio installation

Change-Id: Ie895b27eb4b3fbec23cf9519699f5fe37236153c
Signed-off-by: JingLu5 <lvjing5@huawei.com>
6 years agoRemove former check_envs call 31/63631/1
Cédric Ollivier [Wed, 17 Oct 2018 09:48:49 +0000 (11:48 +0200)]
Remove former check_envs call

Else it raises exceptions in __init__().

Change-Id: I4af1f59fbb9a94da1df132e750525fcdb5d0917b
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
6 years agoAdd spinnaker configguide 13/63413/3
wutianwei [Thu, 11 Oct 2018 11:25:12 +0000 (19:25 +0800)]
Add spinnaker configguide

- Supply manifest for creation PV
- Add the spinnaker as a service documentation
- set the ci.jenkins.enabled to false

Change-Id: I66d91aa133085c6c5910913da4303c05fcba9800
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years agoUpdated from global requirements 77/63577/1
Cédric Ollivier [Tue, 16 Oct 2018 09:38:22 +0000 (11:38 +0200)]
Updated from global requirements

Change-Id: I81e92ff3db9ca401cc700ff4a9c28c740f7e9060
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
6 years agoAdd visibility API in controller and CLI 51/63551/1
earrage [Tue, 16 Oct 2018 00:30:20 +0000 (17:30 -0700)]
Add visibility API in controller and CLI

- Modify get visibility to retrieve config and stats
- Add visibility REST API in controller to clear, set, and
get from redis
- Add example yaml to set visibility (service list by name,
metric suffixes/prefixes, and custom metrics) from CLI
- Modify example yaml to start visibility (collector) for
Istio 1.0 from CLI

Change-Id: I43304ff6d70bb4b817b345b9c383ce3621fb06c7
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoAdd nginx services control functionality 27/63427/1
earrage [Thu, 11 Oct 2018 21:11:31 +0000 (14:11 -0700)]
Add nginx services control functionality

- Modify nginx server template to use clover-controller
in clover-system namespace for file upload
- Add ability to set nginx server paths and move uploaded files
in clover-controller and set/get file upload metadata
- Add cloverctl commands to set nginx server and lb configurations
- Add example yaml files to configure nginx server and
lb v1/v2 from cloverctl
- Modify service definition for http-lb versions to distinguish
the two versions for GRPC messaging from clover-controller in SDC
deployment yaml

Change-Id: I5c6866c5ff3de358939c58ea8c0bde64a69c6eca
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoImprove data ingestion reliability and functionality 83/63383/2
earrage [Wed, 10 Oct 2018 18:54:51 +0000 (11:54 -0700)]
Improve data ingestion reliability and functionality

- Modify deployment namespace to clover-system and account
for cassandra moving to the clover-system namespace
- Increase k8s compute resource assigned to cassandra to deal
with performance issues
- Add additional fields (user-agent, request/response size,
status codes) to span schema definition and modify primary keys
- Improve exception handling to prevent collect process from
crashing
- Minor changes to support tracing/monitoring with Istio 1.0
- Inhibit logging for debug messages
- Increase time back and number of traces to fetch in
each sampling interval to deal with Jaeger REST interface
returning trace data out of order under load
(tested to 300 conn/sec; 12K connections currently)
- Move trace insert into batch mode to cassandra
- Read visibility services to analyze from redis rather than
defaults (cloverctl, UI or clover-controller REST will set)
- Remove local directory copies in docker build, as image is
based on base clover container

Change-Id: Ibae98ef5057e52a6eeddd9ebbcfaeb644caec36c
Signed-off-by: earrage <eddie.arrage@huawei.com>
6 years agoUpdated from global requirements 33/63233/1
Cédric Ollivier [Sat, 6 Oct 2018 08:44:15 +0000 (10:44 +0200)]
Updated from global requirements

Change-Id: I92fc0937130b0c70dc5888b64b1082e8816969d4
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
6 years agoMerge "Local Documentation Builds"
Stephen Wong [Wed, 19 Sep 2018 20:53:34 +0000 (20:53 +0000)]
Merge "Local Documentation Builds"

6 years agoMerge "Add ModSecurity config guide"
Stephen Wong [Wed, 19 Sep 2018 20:52:46 +0000 (20:52 +0000)]
Merge "Add ModSecurity config guide"

6 years agoMerge "Spinnaker as a Service"
Stephen Wong [Wed, 19 Sep 2018 20:51:18 +0000 (20:51 +0000)]
Merge "Spinnaker as a Service"

6 years agoLocal Documentation Builds 67/62467/1
Aric Gardner [Tue, 18 Sep 2018 15:02:09 +0000 (11:02 -0400)]
Local Documentation Builds

    This adds configuration for performing local documentation builds
    with the following simple command:

    tox -e docs

Change-Id: Ifb8fce66e59432863d042a96308e6c3a89fb11a8
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
6 years agoFix missing psutil dependency in nginx services 01/62001/1
Eddie Arrage [Sat, 8 Sep 2018 00:15:18 +0000 (00:15 +0000)]
Fix missing psutil dependency in nginx services

- A psutil dependency was added in the latest Clover server version
that was not added to the docker builds of the lb/proxy

Change-Id: Id48c3446a93d6b9cef65d453266d0bf15eddf6cc
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoAdd ModSecurity config guide 69/61969/2
JingLu5 [Fri, 7 Sep 2018 08:18:15 +0000 (16:18 +0800)]
Add ModSecurity config guide

This patch adds ModSecurity config guide.
This patch also deploy the modsecurity and ext_authz filter to clover-gateway namespace.

Change-Id: I5ab21e6337b8f8b839ddd028370df378686bd017
Signed-off-by: JingLu5 <lvjing5@huawei.com>
6 years agoMerge "Add file upload/download and configure URL paths"
Stephen Wong [Wed, 5 Sep 2018 05:05:15 +0000 (05:05 +0000)]
Merge "Add file upload/download and configure URL paths"

6 years agoMerge "Update entry_point to conform with Xtesting"
Stephen Wong [Wed, 5 Sep 2018 05:03:59 +0000 (05:03 +0000)]
Merge "Update entry_point to conform with Xtesting"

6 years agoMerge "Modsecurity as a service"
Stephen Wong [Wed, 5 Sep 2018 05:03:24 +0000 (05:03 +0000)]
Merge "Modsecurity as a service"

6 years agoSpinnaker as a Service 25/61225/3
wutianwei [Wed, 22 Aug 2018 02:49:56 +0000 (10:49 +0800)]
Spinnaker as a Service

JIRA: CLOVER-52

1. Add mainfest to install the spinnaker in kubernetes cluster
2. after using mainfest to install spinnaker,
   we can interacte with the halyard daemon with its REST API
   and we can add/delete/list the dockerRegistry/kubernetes accounts.
3. Add the cloverctl to interate with the halyard daemon

Change-Id: I71bc5977f2d65aab88fa55f7d7a53ab75eb6a46b
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years agoMerge "Add docker and deployment scripts for exemplar video streaming microservice"
Wenjing Chu [Tue, 4 Sep 2018 03:30:48 +0000 (03:30 +0000)]
Merge "Add docker and deployment scripts for exemplar video streaming microservice"

6 years agoUpdate entry_point to conform with Xtesting 23/61723/1
Cédric Ollivier [Sun, 2 Sep 2018 12:52:49 +0000 (14:52 +0200)]
Update entry_point to conform with Xtesting

Functest is being updated to Xtesting 0.60 which leverages on
stevedore [1].

[1] https://docs.openstack.org/stevedore/latest/

Change-Id: I2c162c8e08a580f80b547b3a1cd6cc700d12c858
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
6 years agoMerge "Add envoy.ext_authz filter"
Stephen Wong [Fri, 31 Aug 2018 07:21:35 +0000 (07:21 +0000)]
Merge "Add envoy.ext_authz filter"

6 years agoAdd docker and deployment scripts for exemplar video streaming microservice 03/61603/1
adarsh1001 [Thu, 30 Aug 2018 15:56:08 +0000 (21:26 +0530)]
Add docker and deployment scripts for exemplar video streaming microservice

JIRA: CLOVER-72

This issue falls under the "Edge Cloud-Native Cluster" intern project and is a part of both Clover and Edge cloud projects. The scripts added are of an exemplar video streaming microservice designed to run on the raspberry pi edge cluster. This commit includes the docker scripts to containerize the UV4L stream and the kubernetes deployment script to correctly run the microservice as a pod on the cluster. The detailed description of the project and the instructions for using the scripts are documented in the README.

Change-Id: Ice4e5e7e63c2eb617556eaef1255801ffac851e7
Signed-off-by: adarsh1001 <adarshpalsingh1996@gmail.com>
6 years agoBug fix in SDC after istio to 1.0.0 21/61321/2
Ace Lee [Fri, 24 Aug 2018 07:56:39 +0000 (07:56 +0000)]
Bug fix in SDC after istio to 1.0.0

JIRA: CLOVER-84

There will be some Bug in SDC after we upgrade the Istio to 1.0.0
Istio 1.0 have some concept, for example : virtualservice gateway.
So we change the yaml file using the 1.0.0 concepts.
Add mirror function

Change-Id: Id138cfec2c7d94b44eb508a056c91e193ac1b08b
Signed-off-by: Ace Lee <liyin11@huawei.com>
6 years agoAdd file upload/download and configure URL paths 37/58937/3
Eddie Arrage [Fri, 22 Jun 2018 21:25:54 +0000 (21:25 +0000)]
Add file upload/download and configure URL paths

- Compile nginx from source in order to employ additional modules
- Add nginx-upload-module for high performance file upload that
avoids the need for file copies with a web application.
- File upload allows for placement of files for file download
for performance benchmarking.
- File upload can also be used directly for bi-directional throughput
testing having emulated clients upload files while file downloads
simultaneously occur.
- Nginx file upload stores files with hash to avoid conflicting
file names. Upload block in nginx config is configured to send
REST message to clover-controller with file metadata (original
filename, size, etc.) clover-controller will be responsible for
modifying the hashed filename and placing in a target directory
within an nginx server.
- Build also adds nginx-rtmp module to act as streaming media server
L7 loader will be extended to fetch streaming files from RTMP
servers.

- Add ability to create directories in server site root
and create the location directive(s) in nginx configuration
- Separated upload for configuration (download
files in various paths) from upload for testing (upload
to create bi-directional session throughput)
- Upload for testing does not sent upload metadata to
clover-controller
- Added ability to move upload files to file folders in the nginx site
root to use for download
- Delete files in upload folder
- Fixed issue with 426 Upgrade Required error message
when upload module sends upload metadata to clover-controller
- Added server name to metadata sent to clover-controller

Change-Id: Ib4cf6240f92360b82f378c062675f4fdaa19ca93
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoAdd envoy.ext_authz filter 55/61455/1
JingLu5 [Tue, 28 Aug 2018 08:34:07 +0000 (16:34 +0800)]
Add envoy.ext_authz filter

JIRA: CLOVER-86

This external authorization HTTP filter calls an external HTTP service (ModSecuruty service) to check if the incoming HTTP request is authorized or not. If the request is deemed unauthorized then the request will be denied normally with 403 (Forbidden) response.

Change-Id: I0fe14c73defec027c54f42713cbdf69b0b83e102
Signed-off-by: JingLu5 <lvjing5@huawei.com>
6 years agoModsecurity as a service 13/61313/2
JingLu5 [Fri, 24 Aug 2018 02:55:14 +0000 (10:55 +0800)]
Modsecurity as a service

JIRA: CLOVER-68

1. Add Dockerfile and related files to build clover's modsecurity Docekr container
2. Add mainfest to install the Modsecurity in kubernetes cluster

Change-Id: Ia92926e730c04720f931999d7ec30565ce9e54be
Signed-off-by: JingLu5 <lvjing5@huawei.com>
6 years agoMerge "upgrade istio to 1.0.0"
Stephen Wong [Tue, 21 Aug 2018 07:20:24 +0000 (07:20 +0000)]
Merge "upgrade istio to 1.0.0"

6 years agoMerge "Implement initial clover-controller service"
Stephen Wong [Sun, 19 Aug 2018 07:18:24 +0000 (07:18 +0000)]
Merge "Implement initial clover-controller service"

6 years agoMerge "Implement initial cloverctl CLI tool"
Stephen Wong [Sun, 19 Aug 2018 07:18:00 +0000 (07:18 +0000)]
Merge "Implement initial cloverctl CLI tool"

6 years agoMerge "Implement initial Jmeter master/slave containers"
Stephen Wong [Sun, 19 Aug 2018 07:17:28 +0000 (07:17 +0000)]
Merge "Implement initial Jmeter master/slave containers"

6 years agoMerge "Add ansible scripts for raspberry pi based kubernetes edge cluster"
Wenjing Chu [Tue, 14 Aug 2018 23:23:37 +0000 (23:23 +0000)]
Merge "Add ansible scripts for raspberry pi based kubernetes edge cluster"

6 years agoupgrade istio to 1.0.0 27/60827/1
Ace Lee [Fri, 10 Aug 2018 08:10:08 +0000 (08:10 +0000)]
upgrade istio to 1.0.0

JIRA: CLOVER-84

we change the env in clover and change some deploy script.
will upgrade the doc later

Change-Id: I73a78afb91676efc3278b623c5d263a4a215ccd9
Signed-off-by: Ace Lee <liyin11@huawei.com>
6 years agoImplement initial cloverctl CLI tool 39/60539/2
Eddie Arrage [Thu, 2 Aug 2018 23:15:39 +0000 (23:15 +0000)]
Implement initial cloverctl CLI tool

- Uses client-go package to interface to k8s API and implement
functions as cloverkube package.
- Identifies GKE LB IP for clover-controller for user
- Identifies NodePort port number for clover-controller for user
if environment is local k8s (assumes flannel CNI currently)
- Deploys and deletes clover-collector and clover-controller with
native client-go constructs (currently images are defined with
local registry). Future work will implement other clover services
and Istio components. Uses the clover-system namespace.
- Uses Cobra go package to implement CLI (used in kubectl and
istioctl) using cloverctl <verb> <noun> convention.
- Interfaces to clover-controller to configure clover services
(visibility, IDS ...) within the cluster via REST messaging
- Start visibility (collector) engine using input yaml file or
defaults
- Init, stop and clear (truncate Cassandra tables) visibility
engine or get basic stats.
- Add custom rules to IDS from input yaml file and start/stop
IDS
- Generate jmeter testplan on jmeter-master using input yaml
file. Start tests and output log/results from CLI.
- Specify number of jmeter slaves to initiate tests on from
CLI. Automatically find IP addresses of jmeter slaves within
the k8s cluster.
- Sample yaml files for adding IDS rules, starting visibility
engine and generating jmeter test plans.
- Build script to install go and get dependent packages.
- Implement a custom Istio inject package for manual sidecar
injection (cloverinject). Currently, unused as it is built from
Istio 0.8.0/1.0.0 code base.

Change-Id: Ibb8d08cb98267bdffb8905c221473f177d51bbb3
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoMerge "Adding cassandra service with a separate yaml file."
Stephen Wong [Wed, 1 Aug 2018 05:16:34 +0000 (05:16 +0000)]
Merge "Adding cassandra service with a separate yaml file."

6 years agoMerge "Adding clearwater IMS yaml and clearwater live test dockerfile to test istio...
Stephen Wong [Wed, 1 Aug 2018 05:16:00 +0000 (05:16 +0000)]
Merge "Adding clearwater IMS yaml and clearwater live test dockerfile to test istio service-mesh"

6 years agoMerge "[Clover] using elasticsearch to store log"
Stephen Wong [Wed, 1 Aug 2018 05:14:38 +0000 (05:14 +0000)]
Merge "[Clover] using elasticsearch to store log"

6 years agoImplement initial clover-controller service 27/59227/4
Eddie Arrage [Thu, 28 Jun 2018 17:42:28 +0000 (17:42 +0000)]
Implement initial clover-controller service

- First pass of clover-controller which resides within the k8s
cluster and provides interfaces to all Clover services
- Only service that should need to be exposed outside of
cluster
- Docker build of container that uses stack of nginx, gunicorn
and flask to provide REST interface
- REST interface is intended to serve cloverctl CLI and
dashboard browser UI
- Implements GRPC messaging to clover-collector and snort
- GRPC interfaces files for snort/nginx are added to
container from repo. Collector GRPC files will be removed
from controller/control/api once patch below is merged
https://gerrit.opnfv.org/gerrit/#/c/57245/ and added
similarly
- Provides first pass callback for file upload from
clover-server.
- Some REST messages implement JSON for passing params
to internal services
- Redis interface added to obtain data from services.
Currently, a simple interface to retrieve snort event
information
- YAML manifest renderer to add to k8s. Uses NodePort
service currently, defaulting to port 32044.

- Removed collector gRPC interface files with merge of collector
- Expose tracing and monitoring host/port parameters, as these vary
depending on Istio version and Jaeger version
- Add logging to flask blueprints
- Added jmeter blueprint interface with REST for
testplan generation, start test and result retrieval
- Added flask Response to REST reply messages
- Retrieve some basic stats from collector in json
response

Change-Id: I59eaeb860445ade4b45bba22747a61fb0cf0bbd4
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoImplement initial Jmeter master/slave containers 97/60297/1
Eddie Arrage [Sat, 28 Jul 2018 01:02:35 +0000 (01:02 +0000)]
Implement initial Jmeter master/slave containers

- Jmeter can be used for L4-7 functional and performance testing
- Jmeter master has gRPC server for management
- Generates Jmeter test plans from minimal yaml params file
(sample to be added with cloverctl) using template
- Optionally span tests across slave containers to allow greater
loads to be generated
- Specify loop/thread/slave count and URL list, which
dictates target and number of connections that will be attempted
- clover-controller will interface to gRPC interface on Jmeter
master
- Start tests on master and retrieve log/result files
- Render master and slave k8s manifests files

Change-Id: Id144c8f551b7d375ff252c8de0611f895b50387c
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoAdding cassandra service with a separate yaml file. 61/57661/3
iharijono [Wed, 9 May 2018 01:27:59 +0000 (18:27 -0700)]
Adding cassandra service with a separate yaml file.

- Left the file samples/scenarios/service_delivery_controller_opnfv.yaml unchanged.
- Added a yaml definition of Cassandra StatefulSet and its service into a separate file under tools directory
- Cassandra Service run with 1 replica
- Deleted 'data-plane-ns' and use 'default' instead for cassandra containers.
- Revoked changes for samples/scenarios/service_delivery_controller_opnfv.yaml.
- Added new line (Wutien suggested it)

JIRA: CLOVER-000

Change-Id: I2bb4249cf2523f5011d6fefc69dc469a90e20eaf
Signed-off-by: iharijono <indra.harijono@huawei.com>
6 years agoAdd ansible scripts for raspberry pi based kubernetes edge cluster 73/60073/1
adarsh1001 [Sat, 21 Jul 2018 20:41:47 +0000 (02:11 +0530)]
Add ansible scripts for raspberry pi based kubernetes edge cluster

JIRA: CLOVER-71

This issue falls under the "Edge Cloud-Native Cluster" intern project and is a part of both Clover and Edge cloud projects. The detailed description of the project and the instructions for using the scripts are documented in the README.

Change-Id: I4fdb98f17ae0c53f918376ad6fb90be8ff0b0a71
Signed-off-by: adarsh1001 <adarshpalsingh1996@gmail.com>
6 years agoMerge "Initial commit for Clover Collector"
Stephen Wong [Sat, 7 Jul 2018 06:09:37 +0000 (06:09 +0000)]
Merge "Initial commit for Clover Collector"

6 years agoMerge "Sleep 1 sec after set test."
Stephen Wong [Sat, 7 Jul 2018 05:46:00 +0000 (05:46 +0000)]
Merge "Sleep 1 sec after set test."

6 years agoMerge "[clover] Add script to setup k8s"
Stephen Wong [Sat, 7 Jul 2018 05:45:04 +0000 (05:45 +0000)]
Merge "[clover] Add script to setup k8s"

6 years ago[Clover] using elasticsearch to store log 85/59285/1
wutianwei [Fri, 29 Jun 2018 03:29:38 +0000 (11:29 +0800)]
[Clover] using elasticsearch to store log

Change-Id: I0335fa912a3ca2dff5c989fa06183065216f10e4
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years agoFix project LEAD in INFO.yaml 23/59223/1
Aric Gardner [Thu, 28 Jun 2018 17:09:17 +0000 (13:09 -0400)]
Fix project LEAD in INFO.yaml

Change-Id: Iff9c7bfbae8f5ca46ef88634d4864cd27512aa8a
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
6 years agoSleep 1 sec after set test. 67/58567/2
wutianwei [Fri, 15 Jun 2018 06:22:39 +0000 (14:22 +0800)]
Sleep 1 sec after set test.

if we set testid and start test immediately,
the first test's result can't be got from jaeger

Change-Id: Ia2ab8a91d8c5f9956ea4d3d7c2436fb05490acee
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years ago[clover] Add script to setup k8s 55/58355/2
wutianwei [Fri, 8 Jun 2018 01:49:36 +0000 (09:49 +0800)]
[clover] Add script to setup k8s

what the script do
1. git clone the XCI repo
2. set variable to deploy k8s

how to use
run the below command in you teminal
./xci-k8s-setup.sh

requirement
1. don't under the root user
2. run sudo without password

Change-Id: I5015e12d8d3b0db31285d5e817b3c40d6739ba22
Signed-off-by: wutianwei <wutianwei1@huawei.com>
6 years agoMerge "Streaming logs from application container"
Stephen Wong [Fri, 15 Jun 2018 00:24:57 +0000 (00:24 +0000)]
Merge "Streaming logs from application container"

6 years agoMerge "Add support for node level logging"
Stephen Wong [Fri, 15 Jun 2018 00:24:19 +0000 (00:24 +0000)]
Merge "Add support for node level logging"

6 years agoMerge "fix the sdc sample deploy issue"
Stephen Wong [Fri, 15 Jun 2018 00:23:46 +0000 (00:23 +0000)]
Merge "fix the sdc sample deploy issue"

6 years agoMerge "Fix typo of Jaeger port"
Stephen Wong [Fri, 15 Jun 2018 00:22:11 +0000 (00:22 +0000)]
Merge "Fix typo of Jaeger port"

6 years agoMerge "Fix error in logging installation"
Stephen Wong [Fri, 15 Jun 2018 00:21:42 +0000 (00:21 +0000)]
Merge "Fix error in logging installation"

6 years agoInitial commit for Clover Collector 45/57245/3
Eddie Arrage [Wed, 9 May 2018 18:33:55 +0000 (18:33 +0000)]
Initial commit for Clover Collector

- Added a container named clover-collector using clover
container as a base with build script
- GRPC server to manage collector process
- Cassandra DB client interface to initialize visibility keyspace
- Init messaging adds table schemas for tracing - traces & spans
- Adds table for monitoring - metrics
- Does not implement Cassandra server but developed using
public Cassandra docker container
- Collector process in simple loop that periodically fetches
traces and monitoring data and inserts to Cassandra - not optimized
for batch retrieval yet for monitoring
- CLI interface added to collector process and used
by GRPC server for configuration
- Simple GRPC client script to test GRPC server and start/stop
of collector process
- Collector process can be configured with access for tracing,
monitoring and Cassandra
- Added a return value in monitoring query method

- Added ability to truncate tracing, metrics and spans tables
in cql
- Added cql prepared statements and batch insert for metrics
and spans
- Align cql connection to cql deployment within k8s
- Fix issue with cql host list using ast and collect process
args with background argument
- Added redis interface to accept service/metric list
externally for monitoring (will work in conjunction
with clover-controller)
- Use k8s DNS names and default ports for monitoring, tracing
and cassandra
- Added yaml manifest renderer/template for collector

Change-Id: I3e4353e28844c4ce9c185ff4638012b66c7fff67
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
6 years agoAdd support for node level logging 97/57197/2
Yujun Zhang [Wed, 9 May 2018 07:01:53 +0000 (15:01 +0800)]
Add support for node level logging

Change-Id: Ib5b2240de3276164fe9e272bf36f0d1f89f409c0
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
6 years agoAdding clearwater IMS yaml and clearwater live test dockerfile to test istio service... 01/58101/1
Muhammad Shaikh (Salman) [Wed, 30 May 2018 00:41:19 +0000 (00:41 +0000)]
Adding clearwater IMS yaml and clearwater live test dockerfile to test istio service-mesh

Checking into CLEARWATER_ISTIO branch

This part of the project is intended to validate the clearwater IMS with istio service-mesh.

Change-Id: Ia5ba86301a363fcf9cfe0bac525606b0d897713e
Signed-off-by: Muhammad Shaikh (Salman) <muhammad.shaikh@huawei.com>
6 years agofix the sdc sample deploy issue 81/57981/2
wutianwei [Mon, 28 May 2018 01:02:14 +0000 (09:02 +0800)]
fix the sdc sample deploy issue

there is a issue "No module named google.protobuf",
when trying to run the services docker.
Add the protobuf in services Dockerfile.

Change-Id: I280dc1d5908bcec784e9e1e7c4d07e145f092cdb
Signed-off-by: wutianwei <wutianwei1@huawei.com>