|
@@ -2,7 +2,9 @@ import subprocess
|
|
|
|
|
|
from doit.tools import LongRunning
|
|
from doit.tools import LongRunning
|
|
|
|
|
|
-from dodo_utils import wait_net_service, up2date_anyimages, run_task_func
|
|
|
|
|
|
+from dodo_utils import wait_net_service, wait_pgsql_db, \
|
|
|
|
+ up2date_hasimage, up2date_anyimages, \
|
|
|
|
+ run_task_func
|
|
|
|
|
|
COMPOSE = 'docker-compose -p feedati'
|
|
COMPOSE = 'docker-compose -p feedati'
|
|
DOIT_CONFIG = {'default_tasks': ['up']}
|
|
DOIT_CONFIG = {'default_tasks': ['up']}
|
|
@@ -46,31 +48,34 @@ def task__dbprepare_clean():
|
|
'''rimuove il dump caricato sul db'''
|
|
'''rimuove il dump caricato sul db'''
|
|
return {
|
|
return {
|
|
'actions': [
|
|
'actions': [
|
|
- "docker container ls -a --format '{{.ID}}\t{{.Names}}'|"
|
|
|
|
- "awk '$2 ~ /^feedati_db$/ { print $$1 }' | "
|
|
|
|
- "xargs -r docker container rm",
|
|
|
|
|
|
+ "docker ps -aqf name=feedati_db|xargs -r docker container rm ",
|
|
|
|
|
|
"docker volume rm feedati_postgres_data || true",
|
|
"docker volume rm feedati_postgres_data || true",
|
|
]
|
|
]
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+def stop():
|
|
|
|
+ subprocess.check_call((COMPOSE + ' stop').split())
|
|
|
|
+ return True
|
|
|
|
+
|
|
|
|
+
|
|
def task_dbprepare():
|
|
def task_dbprepare():
|
|
'''applica il dump sql al container del db'''
|
|
'''applica il dump sql al container del db'''
|
|
return {
|
|
return {
|
|
- 'task_dep': ['_dbprepare_clean', 'build'],
|
|
|
|
|
|
+ 'setup': ['_dbprepare_clean', 'build'],
|
|
'file_dep': ['docker/ttrss.sql'],
|
|
'file_dep': ['docker/ttrss.sql'],
|
|
'actions': [
|
|
'actions': [
|
|
(COMPOSE + ' up -d db').split(),
|
|
(COMPOSE + ' up -d db').split(),
|
|
- r'docker cp ./docker/ttrss.sql '
|
|
|
|
- '$(docker ps -qf name=feedati_db):/tmp/ttrss.sql',
|
|
|
|
- (wait_net_service, ['localhost', 5432, 300]),
|
|
|
|
- r'docker exec -t $(docker ps -qf name=feedati_db) '
|
|
|
|
- 'su -c "psql -d ttrss < /tmp/ttrss.sql" postgres',
|
|
|
|
- 'docker exec -t $(docker ps -qf name=feedati_db) '
|
|
|
|
- 'rm -f /tmp/ttrss.sql',
|
|
|
|
- COMPOSE + ' stop',
|
|
|
|
|
|
+ (wait_net_service, ('localhost', 5432, 300)),
|
|
|
|
+ (wait_pgsql_db, ('feedati_db', 'ttrss', 'ttrss')),
|
|
|
|
+ 'echo LOADING DB',
|
|
|
|
+ r'docker exec -i $(docker ps -aqf name=feedati_db) '
|
|
|
|
+ 'psql -h 127.0.0.1 -f - -d ttrss ttrss < docker/ttrss.sql',
|
|
|
|
+ 'echo DB RESTORED',
|
|
],
|
|
],
|
|
|
|
+ 'teardown': [(stop, [])],
|
|
|
|
+ 'uptodate': [up2date_hasimage('feedati_postgres_data')()],
|
|
'clean': [run_task_func(task__dbprepare_clean)]
|
|
'clean': [run_task_func(task__dbprepare_clean)]
|
|
}
|
|
}
|
|
|
|
|