murder 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -13,6 +13,9 @@ centralized distribution systems wouldn't otherwise function. A "Murder" is
13
13
  normally used to refer to a flock of crows, which in this case applies to a
14
14
  bunch of servers doing something.
15
15
 
16
+ For an intro video, see:
17
+ [Twitter - Murder Bittorrent Deploy System](http://vimeo.com/11280885)
18
+
16
19
 
17
20
  QUICK START
18
21
  -----------
@@ -134,7 +137,7 @@ up on all hosts, then manually run the murder cap tasks:
134
137
 
135
138
  4. Stop the seeder and tracker:
136
139
 
137
- cap murder:stop_seeding
140
+ cap murder:stop_seeding tag="Deploy1"
138
141
  cap murder:stop_tracker
139
142
 
140
143
  When this finishes, all peers will have the files in /tmp/Deploy1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -35,7 +35,7 @@ Capistrano::Configuration.instance(:must_exist).load do
35
35
  # get around the fact that find_servers does not work in role evaluation
36
36
  # (it tries to evaluate all roles, leading to infinite recursion)
37
37
  role :peer do
38
- roles.reject{|k,v| excluded_roles.include? k }.values.map(&:servers).flatten.uniq.reject{|s| s.options[:no_release] }
38
+ roles.reject{|k,v| excluded_roles.include? k }.values.map{|r| r.servers }.flatten.uniq.reject{|s| s.options[:no_release] }
39
39
  end
40
40
 
41
41
  role(:tracker) { roles[:peer].servers.first }
@@ -53,7 +53,7 @@ namespace :murder do
53
53
  DESC
54
54
  task :start_seeding, :roles => :seeder do
55
55
  require_tag
56
- run "screen -dms 'seeder-#{tag}' python #{remote_murder_path}/murder_client.py seeder '#{filename}.torrent' '#{filename}' `host $HOSTNAME | awk '{print $4}'`"
56
+ run "screen -dms 'seeder-#{tag}' python #{remote_murder_path}/murder_client.py seeder '#{filename}.torrent' '#{filename}' `LC_ALL=C host $HOSTNAME | awk '/has address/ {print $4}' | head -n 1`"
57
57
  end
58
58
 
59
59
  desc <<-DESC
@@ -91,7 +91,7 @@ namespace :murder do
91
91
  end
92
92
 
93
93
  upload("#{filename}.torrent", "#{filename}.torrent", :via => :scp)
94
- run "/usr/bin/time -f %e python #{remote_murder_path}/murder_client.py peer '#{filename}.torrent' '#{filename}' `host $CAPISTRANO:HOST$ | awk '{print $4}'`"
94
+ run "python #{remote_murder_path}/murder_client.py peer '#{filename}.torrent' '#{filename}' `LC_ALL=C host $CAPISTRANO:HOST$ | awk '/has address/ {print $4}' | head -n 1`"
95
95
 
96
96
  if ENV['path_is_file']
97
97
  run "cp #{filename} #{destination_path}"
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{murder}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Larry Gadea", "Matt Freels"]
12
- s.date = %q{2010-04-13}
12
+ s.date = %q{2010-10-11}
13
13
  s.description = %q{Large scale server deploys using BitTorrent and the BitTornado library}
14
14
  s.email = %q{lg@twitter.com}
15
15
  s.extra_rdoc_files = [
@@ -85,14 +85,14 @@ Gem::Specification.new do |s|
85
85
  s.homepage = %q{http://github.com/lg/murder}
86
86
  s.rdoc_options = ["--charset=UTF-8"]
87
87
  s.require_paths = ["lib"]
88
- s.rubygems_version = %q{1.3.6}
88
+ s.rubygems_version = %q{1.3.7}
89
89
  s.summary = %q{Large scale server deploys using BitTorrent and the BitTornado library}
90
90
 
91
91
  if s.respond_to? :specification_version then
92
92
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
93
93
  s.specification_version = 3
94
94
 
95
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
95
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
96
96
  else
97
97
  end
98
98
  else
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: murder
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 31
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 1
8
- - 1
9
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
10
11
  platform: ruby
11
12
  authors:
12
13
  - Larry Gadea
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-04-13 00:00:00 -07:00
19
+ date: 2010-10-11 00:00:00 -07:00
19
20
  default_executable:
20
21
  dependencies: []
21
22
 
@@ -103,23 +104,27 @@ rdoc_options:
103
104
  require_paths:
104
105
  - lib
105
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
106
108
  requirements:
107
109
  - - ">="
108
110
  - !ruby/object:Gem::Version
111
+ hash: 3
109
112
  segments:
110
113
  - 0
111
114
  version: "0"
112
115
  required_rubygems_version: !ruby/object:Gem::Requirement
116
+ none: false
113
117
  requirements:
114
118
  - - ">="
115
119
  - !ruby/object:Gem::Version
120
+ hash: 3
116
121
  segments:
117
122
  - 0
118
123
  version: "0"
119
124
  requirements: []
120
125
 
121
126
  rubyforge_project:
122
- rubygems_version: 1.3.6
127
+ rubygems_version: 1.3.7
123
128
  signing_key:
124
129
  specification_version: 3
125
130
  summary: Large scale server deploys using BitTorrent and the BitTornado library