Fix logging problem for ansible-playbook 05/75805/2
authorPetr Ospalý <p.ospaly@partner.samsung.com>
Tue, 15 Jan 2019 09:49:30 +0000 (10:49 +0100)
committerPetr Ospalý <p.ospaly@partner.samsung.com>
Thu, 17 Jan 2019 13:07:43 +0000 (14:07 +0100)
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ý <p.ospaly@partner.samsung.com>
ansible/ansible.cfg
ansible/run_playbook.sh

index c2ee3ff..0978b81 100644 (file)
@@ -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
index 9a2ca56..2edbe35 100755 (executable)
@@ -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 \