vagrant: clear logs and plinth database on destroying box

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Joseph Nuthalapati 2018-11-26 16:00:09 +05:30 committed by James Valleroy
parent 34172a0543
commit 573db44fc3
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
2 changed files with 42 additions and 3 deletions

8
Vagrantfile vendored
View File

@ -47,10 +47,12 @@ $ sudo /vagrant/run --develop
Plinth will be available at https://localhost:4430/plinth (with
an invalid SSL certificate).
"
config.trigger.before :destroy do |trigger|
trigger.warn = "Dropping Plinth database"
trigger.run_remote = {
inline: "rm /vagrant/data/var/lib/plinth/plinth.sqlite3"
trigger.warn = "Performing cleanup steps"
trigger.run = {
path: "post-box-destroy.py"
}
end
config.vm.boot_timeout=1200
end

37
post-box-destroy.py Executable file
View File

@ -0,0 +1,37 @@
#!/usr/bin/python3
# -*- mode: python -*-
#
# This file is part of FreedomBox.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
"""
Cleanup actions to be run when a vagrant box is destroyed.
"""
import os
# Drop Plinth database
try:
os.remove('data/var/lib/plinth/plinth.sqlite3')
except OSError:
pass
# Truncate status.log
with open('data/var/log/plinth/status.log', 'w') as status_log:
status_log.truncate()
# Truncate access.log
with open('data/var/log/plinth/access.log', 'w') as access_log:
access_log.truncate()