shards 2.3.2 → 2.3.3

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
- SHA1:
3
- metadata.gz: 9faa695b2983fbdabcb2bdbd83e63a99b2f26f98
4
- data.tar.gz: e2ca33526a2a47d4676cecae895848baa21373ed
2
+ SHA256:
3
+ metadata.gz: 4038bb5139e419a1756231f562e56c2eda09affb2127a3539f108f721b425c57
4
+ data.tar.gz: 9a7cffcb853daf46e3d4302cef097eaaf69f5e5a059fd7bc23fd33c956ed2e3f
5
5
  SHA512:
6
- metadata.gz: 1044c57098d7621a2175755acff8d12adbada17034ca3b2b17984942b2b4b46e4c73833236f2a173902de00830d5feed719847b83a3c9981ea368b5822299350
7
- data.tar.gz: b7fa3f945f27572f19a2d83fb6caf1262cb0eb9e37931b75f2e1ff86962648895f7df681e35f3048fc1ed8fc90c3557513629fd0f30d16147056efda225fb4cf
6
+ metadata.gz: 439b72ed1e0105748c0a649e15ce4ef3a75e9d21d3cccfe96ec2c89aa1f78e66b920a0a65a4286fce69820e30e9fa1e87356e3d4350b53f2be8b49a4fd12a6d1
7
+ data.tar.gz: 647c691803d23f76991a6e3bc314255e4b1e7b1a8080a21219c605f3f83abd3e401d74b0b6fdc9d01b260d0de5c56f9b3f7f9ae32e08c4397ce5c1b7963756c0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shards (2.3.2)
4
+ shards (2.3.3)
5
5
  aws-sdk-ec2 (~> 1.48)
6
6
  aws-sdk-elasticloadbalancing (~> 1.5)
7
7
  aws-sdk-elasticloadbalancingv2 (~> 1.14)
@@ -24,22 +24,22 @@ GEM
24
24
  rspec-expectations (>= 2.99)
25
25
  thor (~> 0.19)
26
26
  aws-eventstream (1.0.1)
27
- aws-partitions (1.106.0)
28
- aws-sdk-core (3.33.0)
27
+ aws-partitions (1.107.0)
28
+ aws-sdk-core (3.36.0)
29
29
  aws-eventstream (~> 1.0)
30
30
  aws-partitions (~> 1.0)
31
31
  aws-sigv4 (~> 1.0)
32
32
  jmespath (~> 1.0)
33
- aws-sdk-ec2 (1.51.0)
33
+ aws-sdk-ec2 (1.54.0)
34
34
  aws-sdk-core (~> 3, >= 3.26.0)
35
35
  aws-sigv4 (~> 1.0)
36
- aws-sdk-elasticloadbalancing (1.5.0)
36
+ aws-sdk-elasticloadbalancing (1.7.0)
37
37
  aws-sdk-core (~> 3, >= 3.26.0)
38
38
  aws-sigv4 (~> 1.0)
39
- aws-sdk-elasticloadbalancingv2 (1.14.0)
39
+ aws-sdk-elasticloadbalancingv2 (1.16.0)
40
40
  aws-sdk-core (~> 3, >= 3.26.0)
41
41
  aws-sigv4 (~> 1.0)
42
- aws-sdk-route53 (1.13.0)
42
+ aws-sdk-route53 (1.15.0)
43
43
  aws-sdk-core (~> 3, >= 3.26.0)
44
44
  aws-sigv4 (~> 1.0)
45
45
  aws-sigv4 (1.0.3)
@@ -62,7 +62,7 @@ Shards::Db:
62
62
  user: shard.username_by_server(server)
63
63
  password: shard.password_by_server(server)
64
64
  file: |
65
- '/tmp/createdb' + dns.name + '.sh'
65
+ File.join(base_dir,'createdb' + dns.name + '.sh')
66
66
  init_script: add "#!/bin/bash"
67
67
  creating_database: |
68
68
  add "echo \"# Creating database #{name}\""
@@ -90,7 +90,7 @@ Shards::Db:
90
90
  add "Source: #{net}"
91
91
  add "Target: #{name}"
92
92
  sql_dump_file: |
93
- "/tmp/#{net}.sql.dump"
93
+ File.join(base_dir,"#{net}.sql.dump")
94
94
  chmod_file_command: |
95
95
  "chmod +x #{file}"
96
96
  chmod_file_message: |
@@ -108,7 +108,7 @@ shared_steps:
108
108
  wrong: clean_repo_and_exit
109
109
  wrong_message: The domain %s.
110
110
  min_size: 3
111
- regex: ^[a-z0-9_]*$
111
+ regex: ^[a-z0-9_\-]*$
112
112
 
113
113
  validate_stage:
114
114
  correct: check_shard_presence_in_shards
@@ -14,7 +14,7 @@ fingerprints_terminal:
14
14
  wrong: finish
15
15
  wrong_message: The domain %s.
16
16
  min_size: 3
17
- regex: ^[a-z0-9_]*$
17
+ regex: ^[a-z0-9_\-]*$
18
18
 
19
19
  validate_stage:
20
20
  correct: check_fingerprints
data/lib/shards/db.rb CHANGED
@@ -22,10 +22,15 @@ module Shards
22
22
  @dns=dns
23
23
  @databases_on_servers=[]
24
24
  @server_databases={}
25
+ @time=Time.now.strftime("%Y_%m_%d__%H_%M_%S")
25
26
 
26
27
  reset_output
27
28
  end
28
29
 
30
+ def base_dir
31
+ "/tmp/shards_tool/#{@time}"
32
+ end
33
+
29
34
  def write_file
30
35
  add " "
31
36
  open(file, 'w+') { |fsh|
@@ -35,6 +40,7 @@ module Shards
35
40
  end
36
41
 
37
42
  def create_script
43
+ create_base_dir
38
44
  init_script
39
45
  creating_database
40
46
  dumping_database
@@ -49,6 +55,7 @@ module Shards
49
55
  setting_up_database_message
50
56
  print_output
51
57
  create_script
58
+ create_remote_base_dir!
52
59
  upload!
53
60
  ssh!
54
61
  end
@@ -59,10 +66,41 @@ module Shards
59
66
  Net::SCP.upload! proxy, proxy_user, file, file
60
67
  end
61
68
 
69
+ def create_remote_base_dir!
70
+ ssh_conn do |ssh|
71
+ run_ssh ssh, base_dir_create_command, base_dir_creation_message
72
+ end
73
+ end
74
+
75
+ def base_dir_create_message
76
+ "Creating #{base_dir} directory for db files"
77
+ end
78
+
79
+ def base_dir_delete_message
80
+ "Deleting #{base_dir} directory for db files"
81
+ end
82
+
83
+ def base_dir_create_command
84
+ "mkdir -p #{base_dir}"
85
+ end
86
+
87
+ def base_dir_delete_command
88
+ "rm -rf #{base_dir}"
89
+ end
90
+
91
+ def create_base_dir
92
+ system base_dir_create_command
93
+ end
94
+
95
+ def delete_base_dir
96
+ system base_dir_delete_command
97
+ end
98
+
62
99
  def ssh!
63
100
  ssh_conn do |ssh|
64
101
  run_ssh ssh, chmod_file_command, chmod_file_message
65
102
  run_ssh ssh, db_creation_command, db_creation_message
103
+ run_ssh ssh, base_dir_delete_command, base_dir_delete_message
66
104
  end
67
105
  end
68
106
 
@@ -1,3 +1,3 @@
1
1
  module Shards
2
- VERSION = "2.3.2"
2
+ VERSION = "2.3.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shards
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Diego PL
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-23 00:00:00.000000000 Z
11
+ date: 2018-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -302,7 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
302
  version: '0'
303
303
  requirements: []
304
304
  rubyforge_project:
305
- rubygems_version: 2.6.14
305
+ rubygems_version: 2.7.7
306
306
  signing_key:
307
307
  specification_version: 4
308
308
  summary: Manage shards and sites to many stages and app.