blackstack-deployer 1.2.2 → 1.2.6

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/blackstack-deployer.rb +34 -22
  3. metadata +26 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 963efdf1e53a2270ab7e7c1708b402481874ba05fe54a32efc4effedefdc08eb
4
- data.tar.gz: d36e372a881be2f6e89517c4d194bf35f7f84d38319e0c413010e32903f146de
3
+ metadata.gz: be40fc26512412ab26ca2b7d21e48c8c82f128d080f7291d00d71ddd69abaca9
4
+ data.tar.gz: 308ab54f2f5a11e3cc06325308f1c0654b089f23e6f8582426d7e5b2d4b2337b
5
5
  SHA512:
6
- metadata.gz: 930142455038b2a8a5a4a367002c46fad30aecd52b3c41ce15c47da599c009fcb0bd7cfba9efa5985efaae805b9d50f662009930a4740fac99da2f66c5bdb0e7
7
- data.tar.gz: 3177ece62e6ed4c45909c9bf25e357998c2d97f30f91a5820806849a8f3f134a38a522eb46a992fb47775c1f4c756bc8404096b7c5ca803e900fa2482ac35fd6
6
+ metadata.gz: f83b42917544ebafe681e3bc9747f32ecc8ee355de7b727b5b466ede9223a85c846885e8c91dfa6b70f045bad474ddddb7a03c2879369be3c80902015d1ef400
7
+ data.tar.gz: 7165eeb3f074603b67dc2dbb2ba9f6f2a30d4f067eea595d7df103456b5bb1650d45e78760fdcdcc530231dd3b47b041eec1ddd2205705b176c4e7eedf76b498
@@ -1,4 +1,6 @@
1
- require 'blackstack-nodes'
1
+ #require 'blackstack-nodes'
2
+ require_relative 'blackstack-nodes'
3
+
2
4
  require 'sequel'
3
5
 
4
6
  module BlackStack
@@ -8,6 +10,11 @@ module BlackStack
8
10
  @@nodes = []
9
11
  @@routines = []
10
12
 
13
+ # set the logger
14
+ def self.set_logger(i_logger)
15
+ @@logger = i_logger
16
+ end
17
+
11
18
  # get the logger assigned to the module
12
19
  def self.logger
13
20
  @@logger
@@ -66,6 +73,10 @@ module BlackStack
66
73
  h[:deployment_routine] = self.deployment_routine
67
74
  h
68
75
  end # def to_hash
76
+
77
+ def deploy()
78
+ BlackStack::Deployer::run_routine(self.name, self.deployment_routine);
79
+ end
69
80
  end # module NodeModule
70
81
 
71
82
  # define attributes and methods of a deployer routine
@@ -134,8 +145,8 @@ module BlackStack
134
145
  h = c.run(node)
135
146
  ret << h
136
147
 
137
- BlackStack::Deployer.logger.logs "Result: "
138
- BlackStack::Deployer.logger.logf h.to_s
148
+ #BlackStack::Deployer.logger.logs "Result: "
149
+ #BlackStack::Deployer.logger.logf h.to_s
139
150
 
140
151
  if h[:errors].size == 0
141
152
  BlackStack::Deployer.logger.done
@@ -291,24 +302,16 @@ module BlackStack
291
302
  end
292
303
  end
293
304
 
294
- # running the command
295
- if self.sudo
296
- # escale the single quotes in the code variable
297
- code.gsub!(/'/, "\\\\'")
298
-
299
- if node.ssh_private_key_file.nil?
300
- code = "echo '#{node.ssh_password.to_s.gsub("'", "\\\\'")}' | sudo -S su root -c '#{code.to_s}'"
301
- else
302
- code = "sudo -S su root -c '#{code.to_s}'"
303
- end
304
- else
305
- code = code.to_s
306
- end
305
+ #puts
307
306
  #puts
308
307
  #puts code
309
308
  #exit(0)
310
- output = node.ssh.exec!(code)
311
-
309
+ #puts
310
+ #puts "SUDO: #{self.sudo}"
311
+ # running the command
312
+ output = node.exec(code, self.sudo)
313
+ #puts
314
+ #puts '1'
312
315
  # validation: at least one of the matches should happen
313
316
  if self.matches.size > 0
314
317
  i = 0
@@ -594,21 +597,30 @@ module BlackStack
594
597
  tlogger = BlackStack::Deployer::logger
595
598
  # get list of `.sql` files in the directory `sql_path`, with a name higher than `last_filename`, sorted by name.
596
599
  Dir.entries(@@folder).select {
597
- |f| f =~ /\.sql$/ && f > @@checkpoint.to_s
600
+ |filename| filename =~ /\.sql$/ && filename > @@checkpoint.to_s
598
601
  }.uniq.sort.each { |filename|
599
602
  fullfilename = "#{@@folder}/#{filename}"
600
- #puts fullfilename
601
- #puts File.open(fullfilename).read
603
+
602
604
  tlogger.logs "#{fullfilename}... "
603
605
  BlackStack::Deployer::DB::execute_sentences( File.open(fullfilename).read )
604
606
  tlogger.done
607
+
608
+ tlogger.logs "Updating checkpoint... "
609
+ @@checkpoint = filename
610
+ tlogger.done
605
611
  }
606
612
  end # def
607
613
  end # module DB
608
614
 
609
615
  # deploying all db-updates and run all routines on all nodes
610
616
  def self.deploy()
611
- # TODO: Code Me!
617
+ tlogger = BlackStack::Deployer::logger
618
+
619
+ @@nodes.each { |n|
620
+ tlogger.logs "Node #{n.name}... "
621
+ n.deploy()
622
+ tlogger.done
623
+ }
612
624
  end # def
613
625
 
614
626
  end # module Deployer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blackstack-deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Daniel Sardi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-01 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blackstack-nodes
@@ -16,20 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.2
19
+ version: 1.2.5
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.2.2
22
+ version: 1.2.5
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 1.2.2
29
+ version: 1.2.5
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.2.2
32
+ version: 1.2.5
33
+ - !ruby/object:Gem::Dependency
34
+ name: pg
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.5
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.3.5
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 1.3.5
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.3.5
33
53
  - !ruby/object:Gem::Dependency
34
54
  name: sequel
35
55
  requirement: !ruby/object:Gem::Requirement