From e904c8e2d35cb16f744a0de3b20466ad3befa36d Mon Sep 17 00:00:00 2001 From: Eddie Arrage Date: Sat, 28 Jul 2018 01:02:35 +0000 Subject: 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 --- clover/tools/jmeter/jmeter-master/Dockerfile | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 clover/tools/jmeter/jmeter-master/Dockerfile (limited to 'clover/tools/jmeter/jmeter-master/Dockerfile') diff --git a/clover/tools/jmeter/jmeter-master/Dockerfile b/clover/tools/jmeter/jmeter-master/Dockerfile new file mode 100644 index 0000000..da0e474 --- /dev/null +++ b/clover/tools/jmeter/jmeter-master/Dockerfile @@ -0,0 +1,29 @@ +# Copyright (c) Authors of Clover +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +FROM java:8 + +RUN wget http://apache.mirrors.hoobly.com//jmeter/binaries/apache-jmeter-4.0.tgz +RUN tar -xvzf apache-jmeter-4.0.tgz +RUN rm apache-jmeter-4.0.tgz +RUN mv apache-jmeter-4.0 /jmeter +ENV JMETER_HOME /jmeter +ENV PATH $JMETER_HOME/bin:$PATH +COPY rmi_keystore.jks $JMETER_HOME/bin + +RUN apt update && apt install -y python-setuptools python-dev python-pip +RUN python -m pip install --upgrade pip +RUN python -m pip install enum34 futures cython +RUN python -m pip install grpcio protobuf jinja2 + +WORKDIR /jmeter/bin + +COPY jmeter-master/process process +COPY jmeter-master/grpc grpc +COPY jmeter-master/tests tests + +CMD ./process/grpc_process.sh no_init -- cgit 1.2.3-korg