Refactor ves performance test
[dcaegen2/collectors/ves.git] / performanceTests / Makefile
1 include environment.config
2
3 # Additional configuration
4 PERFORMANCE_TESTS_ENV_DIRECTORY = vesPerformanceTestsEnv
5 RKE_KUBECONFIG_FILE_PATH = ~/.kube/config.onap
6
7 # Targets
8 all: --copy-k8s-performance-tests-env --copy-jmeter-vm-env --install-k8s-performance-tests-env --install-jmeter-vm-env
9 clear: --uninstall-k8s-performance-tests-env --remove-k8s-performance-tests-env --remove-jmeter-vm-env
10 restart: clear all
11
12 # K8s environment
13 --copy-k8s-performance-tests-env:
14         @echo "\n##### Copy performance tests environment directory to k8s environment #####"
15         scp -r -i $(RKE_PRIVATE_KEY) ./environment/k8s $(RKE_NODE_USER_AND_HOSTNAME):$(PERFORMANCE_TESTS_ENV_DIRECTORY)
16         @echo "##### DONE #####"
17
18 --install-k8s-performance-tests-env:
19         @echo "\n##### Deploy components(grafana, influxdb, prometheus, node exporter) on k8s #####"
20         ssh -i $(RKE_PRIVATE_KEY) $(RKE_NODE_USER_AND_HOSTNAME) 'bash -c "export KUBECONFIG=$(RKE_KUBECONFIG_FILE_PATH) && cd $(PERFORMANCE_TESTS_ENV_DIRECTORY) && make all WORKER_IP=$(WORKER_IP)"'
21         @echo "##### DONE #####"
22
23 --uninstall-k8s-performance-tests-env:
24         @echo "\n##### Undeploy components(grafana, influxdb, prometheus, node exporter) from k8s #####"
25         ssh -i $(RKE_PRIVATE_KEY) $(RKE_NODE_USER_AND_HOSTNAME) 'bash -c "export KUBECONFIG=$(RKE_KUBECONFIG_FILE_PATH) && cd $(PERFORMANCE_TESTS_ENV_DIRECTORY) && make clear"'
26         @echo "##### DONE #####"
27
28 --remove-k8s-performance-tests-env:
29         @echo "\n##### Remove performance tests environment directory from k8s environment  #####"
30         ssh -i $(RKE_PRIVATE_KEY) $(RKE_NODE_USER_AND_HOSTNAME) 'bash -c "export KUBECONFIG=$(RKE_KUBECONFIG_FILE_PATH) && rm -rf $(PERFORMANCE_TESTS_ENV_DIRECTORY)"'
31         @echo "##### DONE #####"
32
33 # JMeter VM environment
34 --copy-jmeter-vm-env:
35         @echo "\n##### Copy JMeter environment directory to VM #####"
36         scp -r -i $(JMETER_VM_PRIVATE_KEY) ./environment/jmeterVM $(JMETER_VM_USER_AND_HOSTNAME):$(PERFORMANCE_TESTS_ENV_DIRECTORY)
37         @echo "##### DONE #####"
38
39 --install-jmeter-vm-env:
40         @echo "\n##### Install collectd on VM #####"
41         ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) 'sed -i 's/WORKER_IP/$(WORKER_IP)/g' $(PERFORMANCE_TESTS_ENV_DIRECTORY)/jmeter/test_scenario.jmx'
42         ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) 'sed -i 's/WORKER_IP/$(WORKER_IP)/g' $(PERFORMANCE_TESTS_ENV_DIRECTORY)/collectd/collectd.conf'
43         ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) 'bash -c $(PERFORMANCE_TESTS_ENV_DIRECTORY)/collectd/install_collectd.sh'
44         @echo "##### DONE #####"
45
46 --remove-jmeter-vm-env:
47         @echo "\n##### Remove JMeter environment directory from VM #####"
48         ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) 'rm -rf $(PERFORMANCE_TESTS_ENV_DIRECTORY)'
49         @echo "##### DONE #####"
50
51 # Execute test scenario
52 execute-test:
53         @echo "\n##### Run test scenario #####"
54         ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) '/bin/bash $(PERFORMANCE_TESTS_ENV_DIRECTORY)/jmeter/run_jmeter.sh $(PERFORMANCE_TESTS_ENV_DIRECTORY) $(TEST_SCENARIO_FILE)'
55         @echo "##### DONE #####"