@cryptotaxi247 / netdata-1 / commits / b8bfe953f

Properly handle interactivity in the updater code. (#13209)

* Clean up updater option parsing. This will make the remaining changes simpler, and also ease maintenance long-term. * Add updater options to override interactivity detection. * Pass interactivity from kickstart to updater when invoking updater.

Austin S. Hemmelgarn committed Jun 27, 2022 at 07:44 UTC b8bfe953fbc8b35e13bd85975d4b23b90a6346b8
2 files changed +32 -23
packaging/installer/kickstart.sh
+7 -1
@@ -705,11 +705,17 @@ update() {
705 return 0
706 fi
707
708 + if [ "${INTERACTIVE}" -eq 0 ]; then
709 + opts="--non-interactive"
710 + else
711 + opts="--interactive"
712 + fi
713 +
714 export NETDATA_SAVE_WARNINGS=1
715 export NETDATA_PROPAGATE_WARNINGS=1
716 # shellcheck disable=SC2090
717 export NETDATA_WARNINGS="${NETDATA_WARNINGS}"
712 - if run ${ROOTCMD} "${updater}" --not-running-from-cron; then
718 + if run ${ROOTCMD} "${updater}" ${opts} --not-running-from-cron; then
719 progress "Updated existing install at ${ndprefix}"
720 return 0
721 else
packaging/installer/netdata-updater.sh
+25 -22
@@ -28,7 +28,7 @@
28 # Author: Pavlos Emm. Katsoulakis <paul@netdata.cloud>
29 # Author: Austin S. Hemmelgarn <austin@netdata.cloud>
30
31 -# Next unused error code: U001A
31 +# Next unused error code: U001B
32
33 set -e
34
@@ -850,27 +850,30 @@ if [ -r "$(dirname "${ENVIRONMENT_FILE}")/.install-type" ]; then
850 fi
851
852 while [ -n "${1}" ]; do
853 - if [ "${1}" = "--not-running-from-cron" ]; then
854 - NETDATA_NOT_RUNNING_FROM_CRON=1
855 - shift 1
856 - elif [ "${1}" = "--no-updater-self-update" ]; then
857 - NETDATA_NO_UPDATER_SELF_UPDATE=1
858 - shift 1
859 - elif [ "${1}" = "--force-update" ]; then
860 - NETDATA_FORCE_UPDATE=1
861 - shift 1
862 - elif [ "${1}" = "--tmpdir-path" ]; then
863 - NETDATA_TMPDIR_PATH="${2}"
864 - shift 2
865 - elif [ "${1}" = "--enable-auto-updates" ]; then
866 - enable_netdata_updater "${2}"
867 - exit $?
868 - elif [ "${1}" = "--disable-auto-updates" ]; then
869 - disable_netdata_updater
870 - exit $?
871 - else
872 - break
873 - fi
853 + case "${1}" in
854 + --not-running-from-cron) NETDATA_NOT_RUNNING_FROM_CRON=1 ;;
855 + --no-updater-self-update) NETDATA_NO_UPDATER_SELF_UPDATE=1 ;;
856 + --force-update) NETDATA_FORCE_UPDATE=1 ;;
857 + --non-interactive) INTERACTIVE=0 ;;
858 + --interactive) INTERACTIVE=1 ;;
859 + --tmpdir-path)
860 + NETDATA_TMPDIR_PATH="${2}"
861 + shift 1
862 + ;;
863 + --enable-auto-updates)
864 + enable_netdata_updater "${2}"
865 + exit $?
866 + ;;
867 + --disable-auto-updates)
868 + disable_netdata_updater
869 + exit $?
870 + ;;
871 + *)
872 + fatal "Unrecognized option ${1}" U001A
873 + ;;
874 + esac
875 +
876 + shift 1
877 done
878
879 # Random sleep to alleviate stampede effect of Agents upgrading