cheftacular 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cheftacular/chef/data_bag.rb +2 -0
- data/lib/cheftacular/cheftacular.rb +1 -0
- data/lib/cheftacular/dns.rb +3 -1
- data/lib/cheftacular/helper.rb +9 -3
- data/lib/cheftacular/parser.rb +1 -1
- data/lib/cheftacular/stateless_actions/cloud_bootstrap.rb +0 -2
- data/lib/cheftacular/stateless_actions/upload_nodes.rb +10 -0
- data/lib/cheftacular/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c20403e9a06c24107c229161f34ed5ae10eb2360
|
4
|
+
data.tar.gz: e9edf5b27994a98c4dbbc5aa07eab3907d5303ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1a81ce225e84ab00701c15cee3d7cc5c519134795b4b382f55e4e9a4c8a59183d934cecc85e8afdedd2e49dafc80e1913da1e480cf4631f2e67836724001877
|
7
|
+
data.tar.gz: 294dda1dc967aca367b832dcee99e6a2b5dac916b4ae877af379727ad9f71c3f5f7ad649701c60a6a075eb7b5d62519895f7f3ac2de9c61f774660e9d54cdc2e
|
@@ -28,6 +28,8 @@ class Cheftacular
|
|
28
28
|
item = @config[env]['logs_bag'].reload
|
29
29
|
|
30
30
|
#TODO use zlib gem to store and display logs https://stackoverflow.com/questions/17882463/compressing-large-string-in-ruby
|
31
|
+
#Zlib::Deflate.deflate(data_to_compress)
|
32
|
+
#Zlib::Inflate.inflate(data_compressed)
|
31
33
|
item.attributes = item.attributes.deep_merge(@config[env]['logs_bag_hash'].dup)
|
32
34
|
|
33
35
|
begin
|
data/lib/cheftacular/dns.rb
CHANGED
@@ -142,7 +142,7 @@ class Cheftacular
|
|
142
142
|
end
|
143
143
|
|
144
144
|
def compile_address_hash_for_server_from_options *args
|
145
|
-
target_serv_index = nil
|
145
|
+
target_serv_index = args.include?('set_hash_to_nil') ? nil : @config[@options['env']]['addresses_bag_hash']['addresses'].count
|
146
146
|
tld = @config[@options['env']]['config_bag_hash'][@options['sub_env']]['tld']
|
147
147
|
|
148
148
|
args.each do |arg|
|
@@ -155,6 +155,8 @@ class Cheftacular
|
|
155
155
|
|
156
156
|
full_domain ||= "#{ @options['node_name'] }.#{ tld }"
|
157
157
|
|
158
|
+
@config[@options['env']]['addresses_bag_hash'] = @config[@options['env']]['addresses_bag'].reload.to_hash
|
159
|
+
|
158
160
|
@config[@options['env']]['addresses_bag_hash']['addresses'].each do |serv_hash|
|
159
161
|
target_serv_index = @config[@options['env']]['addresses_bag_hash']['addresses'].index(serv_hash) if serv_hash['name'] == @options['node_name']
|
160
162
|
end
|
data/lib/cheftacular/helper.rb
CHANGED
@@ -10,15 +10,21 @@ class Cheftacular
|
|
10
10
|
Cheftacular.to_s.underscore.dasherize
|
11
11
|
end
|
12
12
|
|
13
|
-
def is_command? command
|
13
|
+
def is_command? command=''
|
14
|
+
command ||= ''
|
15
|
+
|
14
16
|
@config['action'].public_methods(false).include?(command.to_sym)
|
15
17
|
end
|
16
18
|
|
17
|
-
def is_stateless_command? command
|
19
|
+
def is_stateless_command? command=''
|
20
|
+
command ||= ''
|
21
|
+
|
18
22
|
@config['stateless_action'].public_methods(false).include?(command.to_sym)
|
19
23
|
end
|
20
24
|
|
21
|
-
def is_not_command_or_stateless_command? command
|
25
|
+
def is_not_command_or_stateless_command? command=''
|
26
|
+
command ||= ''
|
27
|
+
|
22
28
|
!@config['action'].public_methods(false).include?(command.to_sym) && !@config['stateless_action'].public_methods(false).include?(command.to_sym)
|
23
29
|
end
|
24
30
|
|
data/lib/cheftacular/parser.rb
CHANGED
@@ -42,7 +42,7 @@ class Cheftacular
|
|
42
42
|
|
43
43
|
parse_repository(@options['repository'])
|
44
44
|
|
45
|
-
@options['command']
|
45
|
+
@options['command'] = ARGV[0] unless @config['helper'].is_not_command_or_stateless_command?(ARGV[0])
|
46
46
|
end
|
47
47
|
|
48
48
|
return if !@options['codebase'].nil? && !@options['role'].nil? && !@options['command'].nil?
|
@@ -70,8 +70,6 @@ class Cheftacular
|
|
70
70
|
@config['DNS'].create_dns_record_for_domain_from_address_hash(@options['with_dn'], address_hash, "specific_domain_mode") if @options['with_dn']
|
71
71
|
|
72
72
|
@config['DNS'].create_dns_record_for_domain_from_address_hash(tld, address_hash)
|
73
|
-
|
74
|
-
@config[@options['env']]['addresses_bag_hash'] = @config[@options['env']]['addresses_bag'].reload.to_hash
|
75
73
|
|
76
74
|
@config['ChefDataBag'].save_addresses_bag
|
77
75
|
|
@@ -82,6 +82,16 @@ class Cheftacular
|
|
82
82
|
allowed_changes_hash = bag_hash
|
83
83
|
end
|
84
84
|
|
85
|
+
#force add any roles that are not in the bag in the event force yes is turned on
|
86
|
+
(node_roles_hash.keys - bag_hash.keys).each do |role_not_in_node_roles_bag|
|
87
|
+
|
88
|
+
new_role = node_roles_hash[role_not_in_node_roles_bag]
|
89
|
+
|
90
|
+
allowed_changes_hash[role_not_in_node_roles_bag] = bag_hash[role_not_in_node_roles_bag]
|
91
|
+
|
92
|
+
@config[new_role['chef_environment']]['node_roles_bag_hash']['node_roles'][new_role['name']] = new_role
|
93
|
+
end if @options['force_yes'] && @config['helper'].running_in_mode?('devops')
|
94
|
+
|
85
95
|
nodes.each do |node|
|
86
96
|
# if there is a node_roles file that completely matches the name of the file, use it
|
87
97
|
changes_for_current_node = false
|
data/lib/cheftacular/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cheftacular
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Alridge
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|