From 29b7e83f5a1d386617a56acdea8ebe9017c39199 Mon Sep 17 00:00:00 2001
From: David Hoese <david.hoese@ssec.wisc.edu>
Date: Mon, 17 May 2021 13:55:03 -0500
Subject: [PATCH] Add initial draft of ceilo adapter driver installation script
---
README.rst | 9 ++++++
scripts/reinstall_ceilo_driver.sh | 53 +++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+)
create mode 100755 scripts/reinstall_ceilo_driver.sh
diff --git a/README.rst b/README.rst
index 9273b26..d4e2322 100644
--- a/README.rst
+++ b/README.rst
@@ -7,3 +7,12 @@ and higher level product generation.
NOTE: Most of the code in this repository was copied from the old subversion
repository. This code was executed on python 2.6/2.7 environments, but will
be run from python 3.6+ from now on. Some scripts may not work out of the box.
+
+Serial Adapter
+^^^^^^^^^^^^^^
+
+To communicate with the ceilometer there is an ethernet to serial adapter
+attached to it. The "rain01" server communicates to it through a special
+driver from "MOXA" (the manufacturer of the adapter). This driver is
+automatically installed as part of the root accounts crontab. See the
+``scripts/reinstall_ceilo_driver.sh`` script for more information.
\ No newline at end of file
diff --git a/scripts/reinstall_ceilo_driver.sh b/scripts/reinstall_ceilo_driver.sh
new file mode 100755
index 0000000..96053bc
--- /dev/null
+++ b/scripts/reinstall_ceilo_driver.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+# Description: This script must be run as root and will reinstall the "MOXA"
+# drivers for the ethernet to serial adapter so the ceilometer can be
+# communicated with. This should be run on reboot as the driver seems to
+# have trouble with kernel updates and maybe even reboots of the server.
+
+if [ $UID -ne 0 ];
+ echo "ERROR: This script must be run as root (UID 0)."
+ exit 1
+fi
+
+TARBALL="/opt/metobs/misc/npreal2_1.18.65_build_17062316.tgz"
+if [ ! -f $TARBALL ]; then
+ echo "ERROR: Source tarball does not exist"
+ exit 1
+fi
+
+SRC_DIR="/tmp/moxa"
+if [ ! -d $SRC_DIR ]; then
+ cd `dirname $SRC_DIR`
+ tar -xzf $TARBALL
+ if [ ! -d $SRC_DIR ]; then
+ echo "ERROR: Could not extract moxa drivers"
+ exit 1
+ fi
+fi
+
+DRIVER_DST="/usr/lib/npreal2/driver"
+
+# Uninstall the old drivers
+if [ -d $DRIVER_DST ]; then
+ cd $DRIVER_DST
+ ./mxuninst
+fi
+
+cd "${SRC_DIR}/kernel3.x"
+/usr/bin/expect <(cat << EOF
+spawn ./mxinst SP1
+expect "Do you want to continue installing?"
+send "N\r"
+expect eof
+EOF
+)
+
+# Add the server
+cd $DRIVER_DST
+./mxaddsvr 192.168.16.27 4
+status=$?
+
+if [ $? -ne 0]; then
+ echo "ERROR: Could not install driver"
+ exit 1
+fi
\ No newline at end of file
--
GitLab