longshoreman 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/longshoreman/container.rb +18 -11
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b1314644d0e203677e27d0596b13e43fc72cb8f
4
- data.tar.gz: d01724ed6a95bbc0c7e98da936a69c5465e2b2e4
3
+ metadata.gz: 7b6b000b8424b8b5ee43ef4a38b908bd79773d5f
4
+ data.tar.gz: 87aff00311d535ad90f4091623db27df3c84ede8
5
5
  SHA512:
6
- metadata.gz: 61643f53551a9245566324a1643bb7b24ac608cf261b99deb66d788d46cb58bf45d64d57ff75ddfcaaf8a2a30a8c9019310ae1c13ad2e3c4752bbb61bf01c906
7
- data.tar.gz: 0f3550aebfe7261919c4d89300d7b177187f56013fbee3107f1f93efd0ab5a39d9dca551a03dec8e432c2728b6f7315bd30b553df91eed1cde1725cc8f85875e
6
+ metadata.gz: 7907574c4e9e52f9dc40a0fea7993e727dc4524c3c8a26c9bdce3b316cbafd77cbfe2cf254f55379a969416ff3751febd8c81f2d80c1ceb671da9851bae95ec3
7
+ data.tar.gz: a2a08af51c8347c1c95a676bebbdb540b0bd2b9e2cab763bbd9ea0af4965b7e495068bd4a5e6295285f04e7f4dc0ab43ca6efe38b436547a9dc1d93810b80c67
@@ -1,5 +1,5 @@
1
1
  class Longshoreman::Container
2
-
2
+
3
3
  def initialize(image = nil, name = nil, extra_args = {})
4
4
  if image && name
5
5
  create(image, name, extra_args)
@@ -57,15 +57,7 @@ class Longshoreman::Container
57
57
  def get(id, opts = {})
58
58
  @raw = Docker::Container.get(id, opts)
59
59
  end
60
-
61
- # Return the randomized port number associated with the exposed port.
62
- def rport(exposed_port, protocol="tcp")
63
- # Get all mapped ports
64
- ports = @raw.json["NetworkSettings"]["Ports"]
65
- # We're going to expect 1:1 mapping here
66
- ports["#{exposed_port.to_s}/#{protocol}"][0]["HostPort"].to_i
67
- end
68
-
60
+
69
61
  def id
70
62
  @raw.id
71
63
  end
@@ -75,6 +67,14 @@ class Longshoreman::Container
75
67
  end
76
68
  alias_method :delete, :remove
77
69
 
70
+ # Return the randomized port number associated with the exposed port.
71
+ def rport(exposed_port, protocol="tcp")
72
+ # Get all mapped ports
73
+ ports = @raw.json["NetworkSettings"]["Ports"]
74
+ # We're going to expect 1:1 mapping here
75
+ ports["#{exposed_port.to_s}/#{protocol}"][0]["HostPort"].to_i
76
+ end
77
+
78
78
  def start
79
79
  @raw.start
80
80
  end
@@ -83,6 +83,13 @@ class Longshoreman::Container
83
83
  @raw.stop
84
84
  end
85
85
 
86
- attr_accessor :raw
86
+ def network_delay(ms)
87
+ @raw.exec(['tc', 'qdisc', 'add', 'dev', 'eth0', 'root', 'netem', 'delay', '#{ms}ms'])
88
+ end
87
89
 
90
+ def remove_network_delay
91
+ @raw.exec(['tc', 'qdisc', 'del', 'dev', 'eth0', 'root', 'netem'])
92
+ end
93
+
94
+ attr_accessor :raw
88
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: longshoreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Mildenstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-08 00:00:00.000000000 Z
11
+ date: 2015-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement