Skip to content

Commit

Permalink
Merge pull request openshift#217 from akiselev1/ironic-provisioning-l…
Browse files Browse the repository at this point in the history
…og-watch

Add new entry point script to dump ramdisk host provisioning logs
  • Loading branch information
metal3-io-bot committed Nov 12, 2020
2 parents 1fa0a08 + d14ee53 commit 749dec4
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
1 change: 1 addition & 0 deletions Dockerfile
Expand Up @@ -56,6 +56,7 @@ COPY ./runhttpd.sh /bin/runhttpd
COPY ./runmariadb.sh /bin/runmariadb
COPY ./configure-ironic.sh /bin/configure-ironic.sh
COPY ./ironic-common.sh /bin/ironic-common.sh
COPY ./runlogwatch.sh /bin/runlogwatch.sh

# TODO(dtantsur): remove this script when we stop supporting running both
# API and conductor processes via one entry point.
Expand Down
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -23,6 +23,7 @@ The following entry points are provided:
- rundnsmasq - Runs the dnmasq dhcp server to provide addresses and initiate PXE boot of baremetal nodes. This includes a lightweight TFTP server. Details on dnsmasq can be found at http://www.thekelleys.org.uk/dnsmasq/doc.html.
- runhttpd - Starts the Apache web server to provide images via http for PXE boot and for deployment of the final images.
- runmariadb - Provides a database to store information associated with baremetal nodes.
- runlogwatch - Waits for host provisioning ramdisk logs to appear, prints their contents and deletes files.

All of the containers must share a common mount point or data store. Ironic requires files for both the TFTP server and HTTP server to be stored in the same partition. This common store must include, in <shared store>/html/images, the following images:
- ironic-python-agent.kernel
Expand Down
20 changes: 20 additions & 0 deletions runlogwatch.sh
@@ -0,0 +1,20 @@
#!/usr/bin/bash

# Ramdisk logs path
LOG_DIR="/shared/log/ironic/deploy"

while :
do
until ls "${LOG_DIR}"/*.tar.gz 1> /dev/null 2>&1
do
sleep 5
done

for fn in "${LOG_DIR}"/*.tar.gz
do
echo "************ Contents of $fn ramdisk log file bundle **************"
tar -xOzvvf $fn | sed -e "s/^/$(basename $fn): /"
rm -f $fn
done
done

0 comments on commit 749dec4

Please sign in to comment.