From 3b7264dea083281fe8cca20cf4ee9829ea1e8c49 Mon Sep 17 00:00:00 2001 From: jabirkkclt Date: Fri, 6 Dec 2019 09:35:56 -0800 Subject: Fix the Makefile for intel-cmt-cat so it can be build without errors on CentOS 7. Mount the /sys/fs/resctrl from host to container to avoid issues with intel_rdt plugin. Change-Id: I04d22fccb950aabbde774c1850a5b44ee57908f5 Signed-off-by: jabirkkclt Signed-off-by: Kamil Wiatrowski --- docker/ansible/roles/run_collectd/tasks/main.yml | 25 +++++++++++++++++----- docs/release/userguide/installguide.docker.rst | 27 +++++++++++++++++++++--- src/libpqos/Makefile | 4 +++- 3 files changed, 47 insertions(+), 9 deletions(-) diff --git a/docker/ansible/roles/run_collectd/tasks/main.yml b/docker/ansible/roles/run_collectd/tasks/main.yml index 744c7a77..8fc27342 100644 --- a/docker/ansible/roles/run_collectd/tasks/main.yml +++ b/docker/ansible/roles/run_collectd/tasks/main.yml @@ -31,15 +31,30 @@ - rm_collectd_image when: rm_images|default(false)|bool == true -- name: launch collectd container - docker_container: - name: bar-collectd - image: "{{ collectd_image_name }}" - volumes: +- name: check if /sys/fs/resctrl exist + stat: + path: /sys/fs/resctrl + register: resctrl_dir + +- name: set list of volumes to bind + set_fact: + volumes_list: + - /opt/collectd/etc/collectd.conf.d/:/opt/collectd/etc/collectd.conf.d - /var/run:/var/run - /tmp:/tmp - /var/lib/collectd:/var/lib/collectd + +- name: add resctrl to container volumes + set_fact: + volumes_list: "{{ volumes_list + [ '/sys/fs/resctrl:/sys/fs/resctrl' ] }}" + when: resctrl_dir.stat.exists + +- name: launch collectd container + docker_container: + name: bar-collectd + image: "{{ collectd_image_name }}" + volumes: "{{ volumes_list }}" command: "/run_collectd.sh" detach: yes state: started diff --git a/docs/release/userguide/installguide.docker.rst b/docs/release/userguide/installguide.docker.rst index 7312a9f7..f3b889e6 100644 --- a/docs/release/userguide/installguide.docker.rst +++ b/docs/release/userguide/installguide.docker.rst @@ -377,7 +377,8 @@ Run the collectd stable docker image $ cd $ sudo docker run -ti --net=host -v \ `pwd`/src/collectd/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d \ - -v /var/run:/var/run -v /tmp:/tmp --privileged opnfv/barometer-collectd + -v /var/run:/var/run -v /tmp:/tmp -v /sys/fs/resctrl:/sys/fs/resctrl \ + --privileged opnfv/barometer-collectd .. note:: The docker collectd image contains configuration for all the collectd @@ -406,6 +407,12 @@ Run the collectd stable docker image can be found at: https://wiki.opnfv.org/display/fastpath/Barometer-collectd+host+dependencies + The Resource Control file system (/sys/fs/resctrl) can be bound from host to + container only if this directory exists on the host system. Otherwise omit + the '-v /sys/fs/resctrl:/sys/fs/resctrl' part in docker run command. + More information about resctrl can be found at: + https://github.com/intel/intel-cmt-cat/wiki/resctrl + Check your docker image is running .. code:: bash @@ -431,7 +438,8 @@ plugins requiring different configuration files) $ cd $ sudo docker run -ti --net=host -v \ `pwd`/src/collectd/collectd_sample_configs-master:/opt/collectd/etc/collectd.conf.d \ - -v /var/run:/var/run -v /tmp:/tmp --privileged opnfv/barometer-collectd-master + -v /var/run:/var/run -v /tmp:/tmp -v /sys/fs/resctrl:/sys/fs/resctrl \ + --privileged opnfv/barometer-collectd-master .. note:: Barometer collectd docker images are sharing some directories with host @@ -440,6 +448,12 @@ plugins requiring different configuration files) `barometer-collectd-experimental` image, please stop instance of `barometer-collectd(stable)` image first. + The Resource Control file system (/sys/fs/resctrl) can be bound from host to + container only if this directory exists on the host system. Otherwise omit + the '-v /sys/fs/resctrl:/sys/fs/resctrl' part in docker run command. + More information about resctrl can be found at: + https://github.com/intel/intel-cmt-cat/wiki/resctrl + Run the barometer-collectd-experimental docker image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Barometer-collectd-experimental container shares default configuration files @@ -466,9 +480,16 @@ collectd container) $ cd $ sudo docker run -ti --net=host -v \ `pwd`/src/collectd/collectd_sample_configs-master:/opt/collectd/etc/collectd.conf.d \ - -v /var/run:/var/run -v /tmp:/tmp --privileged \ + -v /var/run:/var/run -v /tmp:/tmp -v /sys/fs/resctrl:/sys/fs/resctrl --privileged \ opnfv/barometer-collectd-experimental +.. note:: + The Resource Control file system (/sys/fs/resctrl) can be bound from host to + container only if this directory exists on the host system. Otherwise omit + the '-v /sys/fs/resctrl:/sys/fs/resctrl' part in docker run command. + More information about resctrl can be found at: + https://github.com/intel/intel-cmt-cat/wiki/resctrl + Build and Run InfluxDB and Grafana docker images ------------------------------------------------ diff --git a/src/libpqos/Makefile b/src/libpqos/Makefile index a32a4ab8..a3a9ba55 100644 --- a/src/libpqos/Makefile +++ b/src/libpqos/Makefile @@ -40,7 +40,9 @@ INSTALL_TARGET = force_install force_make force_make: $(WORK_DIR) $(AT)cd $(WORK_DIR) && git pull $(LIBPQOS_URL) $(LIBPQOS_TAG) @echo "git pull done" - $(AT)$(MAKE) -C $(WORK_DIR) $(MORE_MAKE_FLAGS) + $(AT)$(MAKE) -C $(WORK_DIR)/lib $(MORE_MAKE_FLAGS) + $(AT)$(MAKE) -C $(WORK_DIR)/pqos $(MORE_MAKE_FLAGS) + $(AT)$(MAKE) -C $(WORK_DIR)/rdtset $(MORE_MAKE_FLAGS) @echo "Make done" force_install: -- cgit 1.2.3-korg