-
Notifications
You must be signed in to change notification settings - Fork 0
/
fabfile.py
57 lines (43 loc) · 2.57 KB
/
fabfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from fabric.api import env, local, run
#setup ssh keys for each vagrant server
def tracker():
# change from the default user to 'vagrant'
env.user = 'vagrant'
# connect to the port-forwarded ssh
env.hosts = ['127.0.0.1:2222']
# use vagrant ssh key
result = local('vagrant ssh-config tracker | grep IdentityFile', capture=True)
env.key_filename = result.split()[1]
def seeder():
# change from the default user to 'vagrant'
env.user = 'vagrant'
# connect to the port-forwarded ssh
env.hosts = ['127.0.0.1:2200']
# use vagrant ssh key
result = local('vagrant ssh-config seeder | grep IdentityFile', capture=True)
env.key_filename = result.split()[1]
def leech():
# change from the default user to 'vagrant'
env.user = 'vagrant'
# connect to the port-forwarded ssh
env.hosts = ['127.0.0.1:2201']
# use vagrant ssh key
result = local('vagrant ssh-config leech | grep IdentityFile', capture=True)
env.key_filename = result.split()[1]
#Sample command
def uname():
run('uname -a')
#Commands to run the 3 different program configurations on each VM
def startTracker(time='300', torrents='/vagrant/torrents/', port='8080'):
run("java -jar /vagrant/tracker/target/TorrentCDN-Tracker-1.0-SNAPSHOT.jar -d %s -p %s -t %s" % (torrents, port, time))
def startSeeder(time='300', torrent='/vagrant/torrents/testfile1.txt.torrent', directory='/vagrant/file-o/'):
run("java -jar /vagrant/client/target/TorrentCDN-Client-1.0-SNAPSHOT.jar -d %s -p %s -t %s " % (directory, torrent, time))
def startLeech(time='300', torrent='/vagrant/torrents/testfile1.txt.torrent', directory='/vagrant/file-n/'):
run("java -jar /vagrant/client/target/TorrentCDN-Client-1.0-SNAPSHOT.jar -d %s -p %s -t %s" % (directory, torrent, time))
#Background versions of the above commands
def startTrackerBG(time='300', torrents='/vagrant/torrents/', port='8080'):
run("nohup java -jar /vagrant/tracker/target/TorrentCDN-Tracker-1.0-SNAPSHOT.jar -d %s -p %s -t %s >& /dev/null < /dev/null &" % (torrents, port, time))
def startSeederBG(time='300', torrent='/vagrant/torrents/testfile1.txt.torrent', directory='/vagrant/file-o/'):
run("nohup java -jar /vagrant/client/target/TorrentCDN-Client-1.0-SNAPSHOT.jar -d %s -p %s -t %s >& /dev/null < /dev/null &" % (directory, torrent, time))
def startLeechBG(time='300', torrent='/vagrant/torrents/testfile1.txt.torrent', directory='/vagrant/file-n/'):
run("nohup java -jar /vagrant/client/target/TorrentCDN-Client-1.0-SNAPSHOT.jar -d %s -p %s -t %s >& /dev/null < /dev/null &" % (directory, torrent, time))