From 5b197fbca6b960060c1b3ade5560b4cfbc1c4848 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Petr=20Ospal=C3=BD?= 
Date: Tue, 15 Jan 2019 10:49:30 +0100
Subject: [PATCH] Fix logging problem for ansible-playbook
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Ansible could not write to the log because the ansible is run inside
a chroot env. and on read-only fs - this is solved by adding new rw mount.
Change-Id: I874063ad99948a55f9227d5e7eae05d3eaabe535
Issue-ID: OOM-1575
Signed-off-by: Petr Ospalý 
---
 ansible/ansible.cfg     | 1 +
 ansible/run_playbook.sh | 6 ++++++
 2 files changed, 7 insertions(+)
diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg
index c2ee3ff3..0978b814 100644
--- a/ansible/ansible.cfg
+++ b/ansible/ansible.cfg
@@ -6,3 +6,4 @@
 # relative path ./application is mapped into ansible container under
 # /ansible/application where application roles should be found
 roles_path = /ansible/application
+log_path = /ansible/log/ansible.log
diff --git a/ansible/run_playbook.sh b/ansible/run_playbook.sh
index 9a2ca56f..2edbe358 100755
--- a/ansible/run_playbook.sh
+++ b/ansible/run_playbook.sh
@@ -25,6 +25,7 @@ script_path=$(readlink -f "$0")
 script_name=$(basename "$script_path")
 ANSIBLE_DIR=$(dirname "$script_path")
 ANSIBLE_CHROOT="${ANSIBLE_DIR}/ansible_chroot"
+ANSIBLE_LOG_PATH="/ansible/log/ansible-$(date +%Y.%m.%d-%H%M%S).log"
 
 
 #
@@ -82,6 +83,8 @@ REQUIREMENTS:
 # run playbook
 #
 
+export ANSIBLE_LOG_PATH
+
 # if no arg then print help and exit
 if [ -z "$1" ] ; then
     help
@@ -101,6 +104,8 @@ if [ -n "$ANSIBLE_DOCKER_IMAGE" ] ; then
         -v "$ANSIBLE_DIR:/ansible:ro" \
         -v "$ANSIBLE_DIR/application:/ansible/application:rw" \
         -v "$ANSIBLE_DIR/certs/:/certs:rw" \
+        -v "$ANSIBLE_DIR/log/:/ansible/log:rw" \
+        -e ANSIBLE_LOG_PATH \
         -it "${ANSIBLE_DOCKER_IMAGE}" "$@"
 fi
 
@@ -123,6 +128,7 @@ fi
     --mount rw:"${HOME}/.ssh":/root/.ssh \
     --mount ro:"$ANSIBLE_DIR":/ansible \
     --mount rw:"$ANSIBLE_DIR"/application:/ansible/application \
+    --mount rw:"$ANSIBLE_DIR"/log:/ansible/log \
     --mount rw:"$ANSIBLE_DIR"/certs:/certs \
     --mount ro:/etc/resolv.conf:/etc/resolv.conf \
     --mount ro:/etc/hosts:/etc/hosts \
-- 
2.16.6