blackstack-deployer 1.2.3 → 1.2.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/blackstack-deployer.rb +34 -22
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b5da852c4f5f0f290aa5b4ab31d0e940e164d12b57401b0840dd1fa3fac553b
4
- data.tar.gz: e4c316a7efd0f4ba46ec0c8173dc63f6b9fb8d33373fd101feda6a0587e5275f
3
+ metadata.gz: 22a37fa20e8810c1408c85c48e113e46fa37c22d320c989ea94cea166e41f177
4
+ data.tar.gz: feb180021ee96e498215aa904134ca0b2c540a147e7e9b5cd27397de4da1cce8
5
5
  SHA512:
6
- metadata.gz: ad8cbc95d607a1133d8d61fbc4529661563c5c2a3c980fab185ca2a1a0056b47ce2a75ecbde6ed2b1ee8a18bd85b2ff7f25e159bbff8061c8313b531f6406fc9
7
- data.tar.gz: b782b149a28d306dfdee8d5ce12b963cf650fa72c117a20255c5a36b8337e307586278ba3cd3d17c4ff57ba85018bd7b2e34cc8bde2c8dd182563166a3727cd8
6
+ metadata.gz: ff9992f727b516ab7ff2c66289aa8a91515a65aaaf29fa73cb48c238f57c654dedd706ac97a95443e412079973c538f55cac515b1e3b16b1f50757882a6f71ac
7
+ data.tar.gz: b187ca6e096557c602b7bf3050059a270c9f68863adda5bb7bac591b74021b830206a00365ec095c0b805b688dd72e9228eb0dfa0ad7ca4b1ff0b861bcc3ffcd
@@ -1,4 +1,6 @@
1
- require 'blackstack-nodes'
1
+ #require 'blackstack-nodes'
2
+ require_relative '../../blackstack-nodes/lib/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.3
4
+ version: 1.2.5
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,20 @@ 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
33
  - !ruby/object:Gem::Dependency
34
34
  name: pg
35
35
  requirement: !ruby/object:Gem::Requirement