88ca119e656ee15c38dd3455aef89eff021b79ca
[plcapi.git] / peers-test.mk
1 ### -*-Makefile-*-
2 CHROOT=/plc/root
3 PORT=5432
4 SITEDIR=/etc/planetlab/configs
5 SITE=site.xml
6 RPM=$(shell ls -rt myplc*rpm | tail -1)
7 APIDIR=/usr/share/plc_api
8
9 PLC1=lurch.cs.princeton.edu
10 PLC2=planetlab-devbox.inria.fr
11
12 all:help
13
14 ####################
15 PUSH=pclean pplc1 pplc2 papi1 papi2
16
17 push:$(PUSH)
18
19 papi: pclean papi1 papi2
20 pplc: pclean pplc1 pplc2
21
22 pclean:
23         -find . '(' -name '*.pyc' -o -name '*~' ')' | xargs rm
24 papi1:
25         rsync -a -v -C ./ root@$(PLC1):new_plc_api/
26 pplc1:
27         rsync -a -v -C ./PLC/ root@$(PLC1):$(CHROOT)$(APIDIR)/PLC/
28 papi2:
29         rsync -a -v -C ./ root@$(PLC2):new_plc_api/
30 pplc2:
31         rsync -a -v -C ./PLC/ root@$(PLC2):$(CHROOT)$(APIDIR)/PLC/
32
33 ####################
34 DB=install-schema stop-clients clean-db restart
35 API=install-api restart
36
37 db: $(DB)
38
39 db-dump:
40         chroot $(CHROOT) pg_dump -U pgsqluser planetlab4 > planetlab4.dump
41
42 api: $(API)
43
44 install-schema:
45         @echo 'installing schema'
46         @cp planetlab4.sql $(CHROOT)$(APIDIR)/planetlab4.sql
47
48 install-api:
49         find . -name '*.py' | xargs tar cf - | ( cd $(CHROOT)$(APIDIR) ; tar xf -)
50         -find $(CHROOT)$(APIDIR) -name '*pyc' | xargs rm
51
52 stop-clients:
53         @echo 'pkilling psql'
54         @-pkill psql
55         @echo stopping httpd
56         @chroot $(CHROOT) /etc/plc.d/httpd stop
57
58 clean-db:
59         @echo 'dropping db'
60         @chroot $(CHROOT) psql -U postgres --port $(PORT) template1 -c 'drop database planetlab4'
61
62 restart:
63         @echo 'Restarting PLC'
64         @chroot $(CHROOT) service plc restart
65
66 ####################
67 UPGRADE=down up reconfig restart
68
69 upgrade: $(UPGRADE)
70
71 rpm:
72         @echo latest rpm is $(RPM)
73
74 down:
75         cp $(SITEDIR)/$(SITE) .
76         rpm -e myplc
77 up:
78         rpm -i $(RPM)
79
80 reconfig:
81         service plc mount
82         mkdir -p $(SITEDIR)
83         cp $(SITE) $(SITEDIR)
84         (echo w; echo q) | chroot $(CHROOT) plc-config-tty
85
86 #######
87 HELP=rpm db-dump
88
89 help:
90         @echo known targets:
91         @echo push: $(PUSH) 
92         @echo db: $(DB) 
93         @echo api: $(API) 
94         @echo upgrade: $(UPGRADE)
95         @echo OTHERS: $(HELP)
96