Fix for pci-irq-affinity-agent failing to start in AIO
Ensure that pci-irq-affinity-agent is launched on worker nodes. This includes AIO and standard configs. Root cause is in this agent start script, it can be started only if node type is worker. But for AIO, the node type is controller. Then pmon will restart it again and again and cause controller degrade in the end. Below test for AIO pass 1) Pci-irq-affinity-agent started normally before openstack apply. After openstack apply, related openstack config applied to agent config file as expected. 2) Verified agent started normally in non-openstack worker node for both AIO and multi-node. No degrade in controller node. Change-Id: I73e9dff0358b7ed86bfaaadac834e19fe227892f Closes-Bug: #1828877 Signed-off-by: zhipengl <zhipengs.liu@intel.com>
This commit is contained in:
parent
ed50f0230d
commit
ce0cc60346
@ -14,21 +14,10 @@
|
|||||||
|
|
||||||
source /etc/init.d/functions
|
source /etc/init.d/functions
|
||||||
|
|
||||||
PLATFORM_CONF="/etc/platform/platform.conf"
|
|
||||||
NODETYPE=""
|
|
||||||
DAEMON_NAME="pci-irq-affinity-agent"
|
DAEMON_NAME="pci-irq-affinity-agent"
|
||||||
AFFINITYAGENT="/usr/bin/${DAEMON_NAME}"
|
AFFINITYAGENT="/usr/bin/${DAEMON_NAME}"
|
||||||
|
|
||||||
daemon_pidfile="/var/run/${DAEMON_NAME}.pid"
|
daemon_pidfile="/var/run/${DAEMON_NAME}.pid"
|
||||||
|
|
||||||
if [ -f ${PLATFORM_CONF} ] ; then
|
|
||||||
source ${PLATFORM_CONF}
|
|
||||||
NODETYPE=${nodetype}
|
|
||||||
else
|
|
||||||
logger "$0: ${PLATFORM_CONF} is missing"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f "${AFFINITYAGENT}" ] ; then
|
if [ ! -f "${AFFINITYAGENT}" ] ; then
|
||||||
logger "$0: ${AFFINITYAGENT} is missing"
|
logger "$0: ${AFFINITYAGENT} is missing"
|
||||||
exit 1
|
exit 1
|
||||||
@ -47,41 +36,37 @@ case "$1" in
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${NODETYPE} = "worker" ] ; then
|
echo -n "Setting up config for pci-irq-affinity-agent: "
|
||||||
echo -n "Setting up config for pci-irq-affinity-agent: "
|
|
||||||
|
|
||||||
if [ -e ${daemon_pidfile} ] ; then
|
if [ -e ${daemon_pidfile} ] ; then
|
||||||
echo "Killing existing process before starting new"
|
echo "Killing existing process before starting new"
|
||||||
pid=`cat ${daemon_pidfile}`
|
pid=`cat ${daemon_pidfile}`
|
||||||
kill -TERM $pid
|
kill -TERM $pid
|
||||||
rm -f ${daemon_pidfile}
|
rm -f ${daemon_pidfile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n "Starting pci-irq-affinity-agent: "
|
echo -n "Starting pci-irq-affinity-agent: "
|
||||||
/bin/sh -c "${AFFINITYAGENT}"' >> /dev/null 2>&1 & echo $!' > ${daemon_pidfile}
|
/bin/sh -c "${AFFINITYAGENT}"' >> /dev/null 2>&1 & echo $!' > ${daemon_pidfile}
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
if [ $RETVAL -eq 0 ] ; then
|
if [ $RETVAL -eq 0 ] ; then
|
||||||
echo "OK"
|
echo "OK"
|
||||||
touch /var/lock/subsys/${DAEMON_NAME}
|
touch /var/lock/subsys/${DAEMON_NAME}
|
||||||
else
|
else
|
||||||
echo "FAIL"
|
echo "FAIL"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
stop)
|
stop)
|
||||||
if [ ${NODETYPE} = "worker" ] ; then
|
echo -n "Stopping pci-irq-affinity-agent: "
|
||||||
echo -n "Stopping pci-irq-affinity-agent: "
|
|
||||||
|
|
||||||
if [ -e ${daemon_pidfile} ] ; then
|
if [ -e ${daemon_pidfile} ] ; then
|
||||||
pid=`cat ${daemon_pidfile}`
|
pid=`cat ${daemon_pidfile}`
|
||||||
kill -TERM $pid
|
kill -TERM $pid
|
||||||
rm -f ${daemon_pidfile}
|
rm -f ${daemon_pidfile}
|
||||||
rm -f /var/lock/subsys/${DAEMON_NAME}
|
rm -f /var/lock/subsys/${DAEMON_NAME}
|
||||||
echo "OK"
|
echo "OK"
|
||||||
else
|
else
|
||||||
echo "FAIL"
|
echo "FAIL"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user