1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

Merge pull request #2474 from holta/initialize-iiab_state.yml

Initialize /etc/iiab/iiab_state.yml warning operators not to mess with it!
This commit is contained in:
A Holt 2020-08-05 15:12:05 -04:00 committed by GitHub
commit 0b0d5976a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 34 deletions

View file

@ -145,40 +145,16 @@ if [ "$STAGE" -lt 2 ] && [ "$1" == "--debug" ]; then
echo -e "\n'--debug' *ignored* as STAGE (counter) < 2." echo -e "\n'--debug' *ignored* as STAGE (counter) < 2."
fi fi
# TEMPORARY: Catch images up to current code to benefit from pre-installed apps # /etc/iiab/iiab_state.yml is mandatory and must be created here. Background:
# Workaround for (web-published) images; will go away later
# Assumes /etc/iiab/iiab_state.yml is not created until (prior run of) Stage 4 but
# config_vars2.yml is present with the stage counter altered by pi-gen to be 2.
if [ -f /etc/iiab/config_vars2.yml ]; then
mv /etc/iiab/config_vars2.yml $IIAB_STATE_FILE
# Fix up prior values in state file
# mongo role improved post image creation
if grep -q sugar $IIAB_STATE_FILE && ! grep -q mongodb $IIAB_STATE_FILE; then
echo "mongodb_installed: True" >> $IIAB_STATE_FILE
fi
# TEMPORARY: another change to account for
# sed -i -e 's/pan_bluetooth/bluetooth/' $IIAB_STATE_FILE
if [ "$STAGE" -eq 2 ]; then
echo -e "\nCompleting Stage 3 from IIAB image (starts systemd service iiab-setup-db to run the 'mysql' role)."
systemctl start iiab-setup-db
fi
PLAYBOOK="iiab-from-console.yml" # Stage 4-9 then Network Role
ARGS="" # Removes '--extra-vars reinstall=True' if --reinstall, BUT WHY?
# The same as --reinstall except Stage 3 is not run as there are no other functional
# changes in Stage 3 to account for post image creation, once the above is run.
# reinstall=True would force kiwix to re-download and re-install in commit
# ce2ec3b0cad76449caf3299003b5d297a3164181
## End image catch up
fi
# Allow iiab-install to read IIAB_STATE_FILE to not repeat installs of previous # Allow iiab-install to read IIAB_STATE_FILE to not repeat installs of previous
# roles that already completed within the stage. # roles that already completed within the stage.
if [ ! -f $IIAB_STATE_FILE ]; then if [ ! -f $IIAB_STATE_FILE ]; then
touch $IIAB_STATE_FILE #touch $IIAB_STATE_FILE
cat > $IIAB_STATE_FILE << EOF
# DO *NOT* MANUALLY EDIT THIS, THANKS!
# IIAB does NOT currently support uninstalling apps/services.
EOF
fi fi
echo -e "\nTRY TO RERUN './iiab-install' IF IT FAILS DUE TO CONNECTIVITY ISSUES ETC!\n" echo -e "\nTRY TO RERUN './iiab-install' IF IT FAILS DUE TO CONNECTIVITY ISSUES ETC!\n"

17
runrole
View file

@ -34,10 +34,21 @@ fi
# exit 1 # exit 1
#fi #fi
# 2020-08-05: yes /etc/iiab/iiab_state.yml is necessary, but we DON'T
# want to encourage sloppy operators to delete/touch this file.
#
# (The iiab_state.yml file should always be created by ./iiab-install,
# for IIAB's Ansible roles that then auto-populate this file.)
#
# FYI ./iiab-network and ./iiab-configure likewise warn operators (IN RED!)
# if they try to run without the existence of /etc/iiab/iiab_state.yml :
#
# ERROR! vars file /etc/iiab/iiab_state.yml was not found
#
# Needed for Stages 1-3 if not installed yet # Needed for Stages 1-3 if not installed yet
if [ ! -f $IIAB_STATE_FILE ]; then #if [ ! -f $IIAB_STATE_FILE ]; then
touch $IIAB_STATE_FILE # touch $IIAB_STATE_FILE
fi #fi
#if ! grep -q $1_install $LOCAL_VARS_FILE; then #if ! grep -q $1_install $LOCAL_VARS_FILE; then
# echo " $1_install: not found in $VARS" # echo " $1_install: not found in $VARS"