collect is missing helmv2 output
This adds helm v2 outputs that we used to have before helm v3 upversion. This gives 'helm status' and 'helm get values' per application using helmv2-cli. This changes helm v3 commands to run as user sysadmin since helm is configured for sysadmin and not root. Otherwise there is missing environment and helm files when run via collect sudo. This corrects one complex expression that does not properly evaluate since it requires being run through command line first. Expressions like CMD="command1 | command2" needs to be run as: eval ${CMD} instead of just: ${CMD} e.g., eval "cat filename | python -m json.tool" Closes-Bug: 1911933 Signed-off-by: Jim Gauld <james.gauld@windriver.com> Change-Id: Ie13c78ae325ce0c2f506b320db3e9b51df3f74f2
This commit is contained in:
parent
a0736f3dc3
commit
538d47cb81
@ -49,9 +49,9 @@ CMD="crictl ps -a"
|
||||
delimiter ${LOGFILE_IMG} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}
|
||||
|
||||
CMD="cat /var/lib/kubelet/cpu_manager_state | python -mjson.tool"
|
||||
CMD="cat /var/lib/kubelet/cpu_manager_state | python -m json.tool"
|
||||
delimiter ${LOGFILE_HOST} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HOST}
|
||||
eval ${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HOST}
|
||||
|
||||
###############################################################################
|
||||
# Active Controller
|
||||
@ -136,21 +136,39 @@ if [ "$nodetype" = "controller" -a "${ACTIVE}" = true ] ; then
|
||||
> ${HELM_DIR}/${APPNAME}.v${APPREVISION}
|
||||
done <<< "${APPLIST}"
|
||||
elif [[ $HELM_VERSION =~ v3 ]]; then
|
||||
CMD="helm list --all --all-namespaces"
|
||||
# NOTE: helm environment not configured for root user
|
||||
CMD="sudo -u sysadmin KUBECONFIG=${KUBECONFIG} helm list --all --all-namespaces"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HELM}
|
||||
|
||||
CMD="helm repo list"
|
||||
CMD="sudo -u sysadmin KUBECONFIG=${KUBECONFIG} helm search repo"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HELM}
|
||||
|
||||
CMD="sudo -u sysadmin KUBECONFIG=${KUBECONFIG} helm repo list"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HELM}
|
||||
fi
|
||||
|
||||
HELM2CLI=$(which helmv2-cli)
|
||||
if [ $? -eq 0 ]; then
|
||||
CMD="helmv2-cli -- helm list"
|
||||
CMD="helmv2-cli -- helm version --short"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HELM}
|
||||
|
||||
CMD="helmv2-cli -- helm list -a"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
mapfile -t ARR < <( ${CMD} 2>>${COLLECT_ERROR_LOG} )
|
||||
printf "%s\n" "${ARR[@]}" >> ${LOGFILE_HELM}
|
||||
for((i=1; i < ${#ARR[@]}; i++))
|
||||
do
|
||||
APPNAME=$(echo ${ARR[$i]} | awk '{print $1}')
|
||||
APPREVISION=$(echo ${ARR[$i]} | awk '{print $2}')
|
||||
${HELM2CLI} -- helm status ${APPNAME} > ${HELM_DIR}/${APPNAME}.status
|
||||
${HELM2CLI} -- helm get values ${APPNAME} --revision ${APPREVISION} \
|
||||
> ${HELM_DIR}/${APPNAME}.v${APPREVISION}
|
||||
done <<< "${APPLIST}"
|
||||
|
||||
CMD="helmv2-cli -- helm search"
|
||||
delimiter ${LOGFILE_HELM} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_HELM}
|
||||
@ -164,6 +182,7 @@ if [ "$nodetype" = "controller" -a "${ACTIVE}" = true ] ; then
|
||||
delimiter ${LOGFILE} "${CMD}"
|
||||
${CMD} 2>>${COLLECT_ERROR_LOG}
|
||||
|
||||
# NOTE(LP1911935): The following etcdctl command is not producing output.
|
||||
export ETCDCTL_API=3
|
||||
CMD="etcdctl --endpoints=localhost:2379 get / --prefix"
|
||||
delimiter ${LOGFILE} "${CMD}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user