pygmy 0.9.7 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00a46ea619743f8afd0f6ae4677b9c22bdeb1e54
4
- data.tar.gz: 117ecfd91e7959eb58b059336769374da7222398
3
+ metadata.gz: e82562973fb2853bbe605317d6a98c5873687811
4
+ data.tar.gz: 2a3650c50aefbbc39a0f69ee41009b68052f7730
5
5
  SHA512:
6
- metadata.gz: 220f6c215177a1e1d65c54636beffd5df094c7655d8be629b35c08fd3289fa978b30a90820022ca58f3d06096732fe27e7e4220feb0d174ce80a06623642030f
7
- data.tar.gz: 0f4574a22269f18464fa99abd6589a60cf9d2770be0d499e92b76fe739bfc4ccad5624705a380c0dbd87c74da059620ab4a446ee95133541140ecfbb5ff78fb2
6
+ metadata.gz: 05492133c39267f75c87f2acb6a81ec2df1b8af3f108809dafbea92c24e6619a087837db60ef1c8b7a3a3e4fd42cc4ed88cc0017fa3f7e1329d9171cdbda46ca
7
+ data.tar.gz: 012c350edeaab93252b9c8289d8423a30ef4b18a8fec0385d900da558026a923dd11b17b8a4879e1bfc0a69da143051950bab7ca41fc550662b2c2bfc4a75594
data/bin/pygmy CHANGED
@@ -129,6 +129,18 @@ class PygmyBin < Thor
129
129
  puts "Error starting haproxy".red
130
130
  end
131
131
 
132
+ if Pygmy::DockerNetwork.create
133
+ puts "Successfully created amazeeio network".green
134
+ else
135
+ puts "Error creating amazeeio network".red
136
+ end
137
+
138
+ if Pygmy::DockerNetwork.connect
139
+ puts "Successfully connected haproxy to amazeeio network".green
140
+ else
141
+ puts "Error connecting haproxy to amazeeio network".red
142
+ end
143
+
132
144
  if Pygmy::Mailhog.start
133
145
  puts "Successfully started mailhog".green
134
146
  else
@@ -168,6 +180,18 @@ class PygmyBin < Thor
168
180
  puts "[*] Haproxy is not running".red
169
181
  end
170
182
 
183
+ if Pygmy::DockerNetwork.exists?
184
+ puts "[*] Network: Exists as name #{Pygmy::DockerNetwork.network_name}".green
185
+ else
186
+ puts "[*] Network does not exist".red
187
+ end
188
+
189
+ if Pygmy::DockerNetwork.haproxy_connected?
190
+ puts "[*] Network: Haproxy #{Pygmy::DockerNetwork.haproxy_name} connected to #{Pygmy::DockerNetwork.network_name}".green
191
+ else
192
+ puts "[*] Haproxy is not connected to #{Pygmy::DockerNetwork.network_name}".red
193
+ end
194
+
171
195
  if Pygmy::Mailhog.running?
172
196
  puts "[*] Mailhog: Running as docker container #{Pygmy::Mailhog.container_name}".green
173
197
  else
@@ -208,7 +232,7 @@ class PygmyBin < Thor
208
232
  if Pygmy::Resolv.clean
209
233
  puts "Resolver removed".green
210
234
  else
211
- puts "Unable to remove resolver".red
235
+ puts "Error while removing the resolver".red
212
236
  end
213
237
 
214
238
  if Pygmy::Dnsmasq.stop
@@ -0,0 +1,74 @@
1
+ require_relative 'docker_service'
2
+
3
+ module Pygmy
4
+ class DockerNetwork
5
+ extend Pygmy::DockerService
6
+
7
+ def self.network_name
8
+ 'amazeeio-network'
9
+ end
10
+
11
+ def self.haproxy_name
12
+ 'amazeeio-haproxy'
13
+ end
14
+
15
+ def self.create_cmd
16
+ "docker network create #{self.network_name}"
17
+ end
18
+
19
+ def self.connect_haproxy_cmd
20
+ "docker network connect #{self.network_name} #{self.haproxy_name}"
21
+ end
22
+
23
+ def self.create
24
+ unless self.exists?
25
+ unless Sh.run_command(self.create_cmd).success?
26
+ raise RuntimeError.new(
27
+ "Failed to create #{self.network_name}. Command #{self.create_cmd} failed"
28
+ )
29
+ end
30
+ end
31
+ self.exists?
32
+ end
33
+
34
+ def self.connect
35
+ unless self.haproxy_connected?
36
+ unless Sh.run_command(self.connect_haproxy_cmd).success?
37
+ raise RuntimeError.new(
38
+ "Failed to connect #{self.haproxy_name} to #{self.network_name}. Command #{self.connect_haproxy_cmd} failed"
39
+ )
40
+ end
41
+ end
42
+ self.haproxy_connected?
43
+ end
44
+
45
+ def self.haproxy_connected?(network_name = self.network_name, haproxy_name = self.haproxy_name)
46
+ !!(self.inspect_containers(network_name) =~ /#{haproxy_name}/)
47
+ end
48
+
49
+ def self.exists?(network_name = self.network_name)
50
+ !!(self.ls =~ /#{network_name}/)
51
+ end
52
+
53
+ def self.inspect_containers(network_name = self.network_name)
54
+ cmd = "docker network inspect #{self.network_name} -f '{{.Containers}}'"
55
+ ret = Sh.run_command(cmd)
56
+ if ret.success?
57
+ return ret.stdout
58
+ else
59
+ raise RuntimeError.new("Failure running command '#{cmd}'")
60
+ end
61
+ end
62
+
63
+ def self.ls
64
+ cmd = "docker network ls"
65
+ ret = Sh.run_command(cmd)
66
+ if ret.success?
67
+ return ret.stdout
68
+ else
69
+ raise RuntimeError.new("Failure running command '#{cmd}'")
70
+ end
71
+ end
72
+
73
+ end
74
+ end
@@ -29,9 +29,13 @@ module Pygmy
29
29
 
30
30
  def self.clean?
31
31
  puts "Removing resolver file and loopback alias IP, this may require sudo".green
32
- self.system!("removing resolverfile", "sudo", "rm", "-f", self.resolver_file)
33
- self.system!("removing loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "-alias", "172.16.172.16")
34
- system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder")
32
+ begin
33
+ self.system!("removing resolverfile", "sudo", "rm", "-f", self.resolver_file)
34
+ self.system!("removing loopback IP alias 172.16.172.16", "sudo", "ifconfig", "lo0", "-alias", "172.16.172.16")
35
+ system!("restarting mDNSResponder", "sudo", "killall", "mDNSResponder")
36
+ rescue Exception => e
37
+ puts e.message
38
+ end
35
39
  end
36
40
 
37
41
  def self.system!(step, *args)
data/lib/pygmy/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Pygmy
2
- VERSION = '0.9.7'
3
- DATE = '2017-01-31'
2
+ VERSION = '0.9.8'
3
+ DATE = '2017-08-08'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pygmy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Schmid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-31 00:00:00.000000000 Z
11
+ date: 2017-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -122,6 +122,7 @@ extra_rdoc_files: []
122
122
  files:
123
123
  - lib/pygmy.rb
124
124
  - lib/pygmy/dnsmasq.rb
125
+ - lib/pygmy/docker_network.rb
125
126
  - lib/pygmy/docker_service.rb
126
127
  - lib/pygmy/haproxy.rb
127
128
  - lib/pygmy/linux.rb