From 863643f6a3e2d2ac70041e14238d98ebb6f9c56e Mon Sep 17 00:00:00 2001
From: Jan Mach <jan.mach@cesnet.cz>
Date: Sat, 18 Sep 2021 20:55:53 +0200
Subject: [PATCH] Fixed Vagrant provisioning errors.

(Redmine issue: #7041)
---
 .vagrantenv/provision.sh           | 16 ++++++++++------
 Makefile                           |  7 ++++---
 doc/sphinx/_doclib/development.rst |  4 ++--
 3 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/.vagrantenv/provision.sh b/.vagrantenv/provision.sh
index e87fdfba..1c14c024 100644
--- a/.vagrantenv/provision.sh
+++ b/.vagrantenv/provision.sh
@@ -7,6 +7,7 @@
 #-------------------------------------------------------------------------------
 
 echo "==========> <BEGIN> provision.sh"
+date
 
 source /vagrant/etc/default/mentat
 source /vagrant/conf/scripts/lib.sh
@@ -24,6 +25,7 @@ echo "==========> Linking configuration files"
 ensure_link /vagrant/etc/default/mentat /etc/default/mentat
 ensure_link /vagrant/conf /etc/mentat
 ensure_link /vagrant/.vagrantenv/.bashrc /home/vagrant/.bashrc
+ensure_link /vagrant/data/GeoIP.conf /etc/GeoIP.conf
 
 echo "==========> Creating Mentat user for development"
 if ! getent passwd ${MENTAT_USER} > /dev/null 2>&1; then
@@ -137,16 +139,17 @@ ensure_link /vagrant/etc/systemd/system/sendria.service /etc/systemd/system/send
 systemctl daemon-reload
 systemctl start sendria.service
 
-
+echo "==========> Bootstraping runtime environment"
+/etc/mentat/scripts/runenv-init.sh
 
 echo "==========> Bootstraping database schema and configuration"
-sudo -u mentat ${MENTAT_VENV}/python /vagrant/bin/mentat-dbmngr.py --command init
-sudo -u mentat bash -c "source ${MENTAT_VENV}/activate ; hawat-cli db stamp head"
-sudo -u mentat bash -c "source ${MENTAT_VENV}/activate ; /etc/mentat/scripts/sqldb-migrate.sh stamp head"
+sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-dbmngr.py --command init
+sudo -u mentat bash -c "source ${MENTAT_VENV}/bin/activate ; hawat-cli db stamp head"
+sudo -u mentat bash -c "source ${MENTAT_VENV}/bin/activate ; /etc/mentat/scripts/sqldb-migrate.sh stamp head"
 /etc/mentat/scripts/sqldb-optimize.sh
 
 echo "==========> Pregenerating application data"
-sudo -u mentat ${MENTAT_VENV}/python /vagrant/bin/mentat-precache.py --allow-empty
+sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-precache.py --allow-empty
 
 echo "==========> Tweaking database users"
 sudo -u postgres psql -c "SELECT usename FROM pg_catalog.pg_user;" | grep root > /dev/null
@@ -162,7 +165,7 @@ fi
 
 echo "==========> Configuring Apache to serve development server"
 if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then
-  ensure_linked_file /vagrant/conf/apache/site_mentat_vagrant.conf /etc/apache2/sites-available/site_mentat_vagrant.conf
+  ensure_link /vagrant/conf/apache/site_mentat_vagrant.conf /etc/apache2/sites-available/site_mentat_vagrant.conf
   sed -i.bak s/APACHE_RUN_USER=www-data/APACHE_RUN_USER=mentat/g /etc/apache2/envvars
   sed -i.bak s/APACHE_RUN_GROUP=www-data/APACHE_RUN_GROUP=mentat/g /etc/apache2/envvars
   rm -f /etc/apache2/envvars.bak
@@ -178,3 +181,4 @@ if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then
 fi
 
 echo "==========> <DONE> provision.sh"
+date
diff --git a/Makefile b/Makefile
index 7a0b992e..e6a48156 100644
--- a/Makefile
+++ b/Makefile
@@ -36,7 +36,7 @@ BIN_FILES := $(wildcard bin/mentat-*.py)
 LIB_FILES := $(shell find $(DIR_LIB) -name '*.py' | grep -v 'test_')
 
 VENV_PYTHON ?= python3.7
-VENV_PATH   ?= venv
+VENV_PATH   ?= /var/mentat/venv
 
 PYTHON      = python3
 PIP         = pip
@@ -464,10 +464,11 @@ presentations: FORCE
 	done
 
 
-db-data-fetch: FORCE
+data-fetch: FORCE
 	@echo "\n$(GREEN)*** Fetching latest production database dump ***$(NC)\n"
 	@rm -rf ./data
 	@mkdir -p ./data
+	@scp mentat-alt:/etc/GeoIP.conf ./data/
 	@scp mentat-alt:/var/mentat/production-dump/mentat_psqldb_latest.tar.gz ./data/
 	@cd ./data/ && tar -xzvf ./mentat_psqldb_latest.tar.gz
 	@rm -f ./data/mentat_psqldb_latest.tar.gz
@@ -475,7 +476,7 @@ db-data-fetch: FORCE
 	@rm -rf ./data/var
 	@echo ""
 
-db-data-import: FORCE
+data-import: FORCE
 	@echo "\n$(GREEN)*** Importing latest production database dump ***$(NC)\n"
 	@sudo -u postgres pg_restore --verbose --format=d --dbname=mentat_main /vagrant/data/mentat_psqldb_latest/main
 	@echo ""
diff --git a/doc/sphinx/_doclib/development.rst b/doc/sphinx/_doclib/development.rst
index 4bb52980..689dd0f1 100644
--- a/doc/sphinx/_doclib/development.rst
+++ b/doc/sphinx/_doclib/development.rst
@@ -624,11 +624,11 @@ Development with Vagrant
 	sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
 	sudo apt update && sudo apt install vagrant
 
-	make db-data-fetch
+	make data-fetch
 	vagrant up
 	vagrant ssh
 	cd /vagrant/
-	make db-data-import
+	make data-import
 
 At this point you are all set to develop Mentat locally without cluttering your personal
 workstation.
-- 
GitLab