소스 검색

installer: Add system container variable for log saving

A new environment variable, VAR_LOG_ANSIBLE_LOG, was created to allow
the installer to bind mount the location and write the log back to the
host. By default the value is /var/log/ansible.log

Example:
atomic install --system --set INVENTORY_FILE=$(pwd)/hosts.inventory \
       --set SSH_ROOT=/root/.ssh \
       --set VAR_LOG_ANSIBLE_LOG=/some/log/location/ansible.log \
       --set PLAYBOOK_FILE=./playbooks/byo/config.yml openshift-ansible
Steve Milner 8 년 전
부모
커밋
11e470c7e1

+ 10 - 0
system-container/root/exports/config.json.template

@@ -131,6 +131,16 @@
             ]
         },
         {
+            "type": "bind",
+            "source": "$VAR_LOG_OPENSHIFT_LOG",
+            "destination": "/var/log/ansible.log",
+            "options": [
+                "bind",
+                "rw",
+                "mode=755"
+            ]
+        },
+        {
             "destination": "/root/.ansible",
             "type": "tmpfs",
             "source": "tmpfs",

+ 1 - 0
system-container/root/exports/manifest.json

@@ -3,6 +3,7 @@
     "defaultValues": {
         "OPTS": "",
         "VAR_LIB_OPENSHIFT_INSTALLER" : "/var/lib/openshift-installer",
+        "VAR_LOG_OPENSHIFT_LOG": "/var/log/ansible.log",
         "PLAYBOOK_FILE": "/usr/share/ansible/openshift-ansible/playbooks/byo/config.yml",
         "SSH_ROOT": "/root/.ssh",
         "INVENTORY_FILE": "/dev/null"

+ 1 - 0
system-container/root/exports/tmpfiles.template

@@ -1 +1,2 @@
 d    $VAR_LIB_OPENSHIFT_INSTALLER - - - - -
+f    $VAR_LOG_OPENSHIFT_LOG - - - - -

+ 1 - 0
system-container/root/usr/local/bin/run-system-container.sh

@@ -1,3 +1,4 @@
 #!/bin/sh
 
+export ANSIBLE_LOG_PATH=/var/log/ansible.log
 exec ansible-playbook -i /etc/ansible/hosts ${OPTS} ${PLAYBOOK_FILE}