Fix the Makefile for intel-cmt-cat so it can be build without errors on 67/69267/2
authorjabirkkclt <jabir.kanhira.kadavathu@intel.com>
Fri, 6 Dec 2019 17:35:56 +0000 (09:35 -0800)
committerKamil Wiatrowski <kamilx.wiatrowski@intel.com>
Mon, 9 Dec 2019 14:47:25 +0000 (15:47 +0100)
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 <jabir.kanhira.kadavathu@intel.com>
Signed-off-by: Kamil Wiatrowski <kamilx.wiatrowski@intel.com>
docker/ansible/roles/run_collectd/tasks/main.yml
docs/release/userguide/installguide.docker.rst
src/libpqos/Makefile

index 744c7a7..8fc2734 100644 (file)
     - 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
index 7312a9f..f3b889e 100644 (file)
@@ -377,7 +377,8 @@ Run the collectd stable docker image
    $ cd <BAROMETER_REPO_DIR>
    $ 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 <BAROMETER_REPO_DIR>
    $ 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 <BAROMETER_REPO_DIR>
    $ 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
 ------------------------------------------------
index a32a4ab..a3a9ba5 100644 (file)
@@ -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: