pygmy 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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