summaryrefslogtreecommitdiffstats
path: root/tools/lma/ansible-client/roles
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lma/ansible-client/roles')
-rw-r--r--tools/lma/ansible-client/roles/clean-collectd/main.yml44
-rw-r--r--tools/lma/ansible-client/roles/collectd/files/collectd.conf.j244
-rw-r--r--tools/lma/ansible-client/roles/collectd/tasks/main.yml60
3 files changed, 148 insertions, 0 deletions
diff --git a/tools/lma/ansible-client/roles/clean-collectd/main.yml b/tools/lma/ansible-client/roles/clean-collectd/main.yml
new file mode 100644
index 00000000..97100cad
--- /dev/null
+++ b/tools/lma/ansible-client/roles/clean-collectd/main.yml
@@ -0,0 +1,44 @@
+# Copyright 2020 Aditya Srivastava
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+- hosts: localhost
+
+ tasks:
+ - name: Check and install dependencies
+ yum:
+ name: docker
+ state: present
+
+ - name: Install python sdk
+ yum:
+ name: python-docker-py
+ state: present
+
+ - name: Stopping collectd container
+ docker_container:
+ name: collectd
+ state: stopped
+
+ - name: Removing collectd container
+ docker_container:
+ name: collectd
+ state: absent
+
+ # Removes the image (not recommended)
+ # - name: Remove image
+ # docker_image:
+ # state: absent
+ # name: opnfv/barometer-collectd
+ # tag: latest
diff --git a/tools/lma/ansible-client/roles/collectd/files/collectd.conf.j2 b/tools/lma/ansible-client/roles/collectd/files/collectd.conf.j2
new file mode 100644
index 00000000..ba953e3a
--- /dev/null
+++ b/tools/lma/ansible-client/roles/collectd/files/collectd.conf.j2
@@ -0,0 +1,44 @@
+Hostname "{{ host_name }}"
+Interval 10
+LoadPlugin intel_rdt
+LoadPlugin processes
+LoadPlugin interface
+LoadPlugin network
+LoadPlugin ovs_stats
+LoadPlugin cpu
+LoadPlugin memory
+#LoadPlugin csv
+#LoadPlugin write_http
+#LoadPlugin dpdkstat
+##############################################################################
+# Plugin configuration #
+##############################################################################
+<Plugin processes>
+ ProcessMatch "ovs-vswitchd" "ovs-vswitchd"
+ ProcessMatch "ovsdb-server" "ovsdb-server"
+ ProcessMatch "collectd" "collectd"
+</Plugin>
+
+<Plugin cpu>
+ ReportByCpu true
+ ReportByState true
+ ValuesPercentage true
+ ReportNumCpu true
+ ReportGuestState false
+ SubtractGuestState false
+</Plugin>
+
+<Plugin network>
+ Server "10.10.120.211" "30826"
+</Plugin>
+
+<Plugin ovs_stats>
+ Port "6640"
+ Address "127.0.0.1"
+ Socket "/usr/local/var/run/openvswitch/db.sock"
+ Bridges "vsperf-br0"
+</Plugin>
+
+<Plugin "intel_rdt">
+ Cores "2" "4-5" "6-7" "8" "9" "22" "23" "24" "25" "26" "27"
+</Plugin>
diff --git a/tools/lma/ansible-client/roles/collectd/tasks/main.yml b/tools/lma/ansible-client/roles/collectd/tasks/main.yml
new file mode 100644
index 00000000..0befb22b
--- /dev/null
+++ b/tools/lma/ansible-client/roles/collectd/tasks/main.yml
@@ -0,0 +1,60 @@
+# Copyright 2020 Aditya Srivastava
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+
+# Dependency check
+- name: Check and install dependencies
+ yum:
+ name: ['docker', 'python-docker-py']
+ state: present
+
+- name: Install pip
+ yum:
+ name: python-pip
+ state: present
+
+- name: install docker-py
+ pip: name=docker-py
+
+- name: Cloning barometer
+ git:
+ repo: https://gerrit.opnfv.org/gerrit/barometer
+ dest: /tmp/barometer
+
+- name: Create Folder
+ file:
+ path: /tmp/barometer/docker/src/collectd_sample_configs
+ state: directory
+
+# Build collectd
+- name: Downlaod and Build Image
+ command: chdir=/tmp/ {{ item }}
+ become: true
+ with_items:
+ - docker build -t opnfv/barometer-collectd -f barometer/docker/barometer-collectd/Dockerfile barometer/docker/barometer-collectd
+
+# Configuring collectd0
+- name: Ensure collectd is configured
+ template:
+ src: ../files/collectd.conf.j2
+ dest: /tmp/barometer/docker/src/collectd_sample_configs/collectd.conf
+
+# Running Collectd container #####################
+- name: Running collectd
+ command : chdir=/tmp/ {{ item }}
+ become: true
+ with_items:
+ - docker run -tid --name collectd --net=host -v /tmp/barometer/docker/src/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d -v /var/run:/var/run -v /tmp:/tmp --privileged opnfv/barometer-collectd /run_collectd.sh
+ - docker ps