fhcap-cli 0.4.13 → 0.4.14

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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -1
  3. data/Jenkinsfile +26 -0
  4. data/lib/fhcap/cli.rb +2 -0
  5. data/lib/fhcap/component.rb +3 -3
  6. data/lib/fhcap/config.rb +12 -0
  7. data/lib/fhcap/cookbook.rb +42 -2
  8. data/lib/fhcap/misc.rb +8 -1
  9. data/lib/fhcap/repo.rb +1 -1
  10. data/lib/fhcap/repos_helper.rb +11 -0
  11. data/lib/fhcap/tasks/chef/cookbook/aws/s3_helper.rb +21 -0
  12. data/lib/fhcap/tasks/chef/cookbook/check_bumps.rb +109 -0
  13. data/lib/fhcap/tasks/chef/cookbook/list_artifacts.rb +73 -17
  14. data/lib/fhcap/tasks/chef/cookbook/update_attribute.rb +51 -0
  15. data/lib/fhcap/tasks/chef/environments/create.rb +3 -1
  16. data/lib/fhcap/tasks/cluster/create_environment.rb +4 -3
  17. data/lib/fhcap/tasks/misc/platform_bump.rb +36 -0
  18. data/lib/fhcap/tasks/repo/add.rb +4 -6
  19. data/lib/fhcap/tasks/setup.rb +7 -1
  20. data/lib/fhcap/version.rb +1 -1
  21. data/lib/fhcap.rb +1 -1
  22. data/spec/fhcap/tasks/chef/cookbook/check_bumps_spec.rb +33 -0
  23. data/templates/chef/{environment_oscp.json.erb → environment_ocp.json.erb} +16 -1
  24. data/templates/chef/environment_ose-single.json.erb +1 -1
  25. data/templates/cluster/aws/common.json.erb +22 -23
  26. data/templates/cluster/aws/{oscp-7node.json.erb → ocp-multi-infra.json.erb} +64 -51
  27. data/templates/cluster/aws/{oscp-5node.json.erb → ocp-multi.json.erb} +47 -59
  28. data/templates/cluster/ocp-multi-infra.json.erb +8 -0
  29. data/templates/cluster/ocp-multi.json.erb +8 -0
  30. data/templates/cluster/openstack/{oscp-7node.json.erb → ocp-multi-infra.json.erb} +0 -0
  31. data/templates/cluster/openstack/{oscp-5node.json.erb → ocp-multi.json.erb} +0 -0
  32. metadata +16 -9
  33. data/templates/cluster/oscp-5node.json.erb +0 -8
  34. data/templates/cluster/oscp-7node.json.erb +0 -8
@@ -8,11 +8,13 @@ module Fhcap
8
8
 
9
9
  def initialize(options)
10
10
  super
11
- @fhcap_config = @config.exists? ? @config.data : @config.fhcap_config
11
+ default_config = options[:'empty-config'] ? @config.fhcap_empty_config : @config.fhcap_config
12
+ @fhcap_config = @config.exists? ? @config.data : default_config
12
13
 
13
14
  opts = {
14
15
  repos_dir: options[:'repos-dir'],
15
16
  fh_src_dir: options[:'fh-src-dir'],
17
+ knife_dir: options[:'knife-dir'],
16
18
  }.delete_if { |k, v| v.nil? || v.empty? }
17
19
 
18
20
  @fhcap_config.merge!(opts)
@@ -36,6 +38,10 @@ module Fhcap
36
38
  fh_src_dir: {
37
39
  msg: "Local directory where FH component src repos are checked out",
38
40
  options: {:path => true}
41
+ },
42
+ knife_dir: {
43
+ msg: "Local directory where knife configuration will be stored",
44
+ options: {:path => true}
39
45
  }
40
46
  }
41
47
  end
data/lib/fhcap/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fhcap
2
- VERSION = "0.4.13"
2
+ VERSION = "0.4.14"
3
3
  end
data/lib/fhcap.rb CHANGED
@@ -3,7 +3,7 @@ require "pathname"
3
3
 
4
4
  module Fhcap
5
5
  GEM_DIR = File.expand_path '..', File.dirname(__FILE__)
6
- TEMPLATE_NAMES = %w{single core-3node mbaas-3node core-mbaas-6node core-small-9node nginx-test single-blank farm-3node farm-5node farm-single ose-single oscp-5node oscp-7node}.sort
6
+ TEMPLATE_NAMES = %w{single core-3node mbaas-3node core-mbaas-6node core-small-9node nginx-test single-blank farm-3node farm-5node farm-single ose-single ocp-multi ocp-multi-infra}.sort
7
7
 
8
8
  class << self
9
9
  def source_root
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+ require "fhcap/tasks/chef/cookbook/check_bumps"
3
+
4
+ describe Fhcap::Tasks::Chef::Cookbook::CheckBumps do
5
+
6
+ subject {
7
+ Fhcap::Tasks::Chef::Cookbook::CheckBumps.new(options)
8
+ }
9
+
10
+ let(:thor) do
11
+ DummyThor.new
12
+ end
13
+
14
+ let(:config) do
15
+ {}
16
+ end
17
+
18
+ context "defaults" do
19
+
20
+ let(:options) do
21
+ {
22
+ :thor => thor,
23
+ :modified => true,
24
+ :base_branch => 'origin/master'
25
+ }
26
+ end
27
+
28
+ describe "#initialize" do
29
+ specify { expect(subject.base_branch).to eq('origin/master') }
30
+ end
31
+
32
+ end
33
+ end
@@ -7,8 +7,23 @@
7
7
  "chef_type": "environment",
8
8
  "default_attributes": {
9
9
  "openshift": {
10
+ <%- if config[:efs_enabled] -%>
11
+ "nfs_server":{
12
+ "volume": {
13
+ "enabled": true,
14
+ "device_name": "CHANGEME:/",
15
+ "mount_point": "/data",
16
+ "fstype": "nfs4",
17
+ "options": ["nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2"]
18
+ },
19
+ "elastic_file_system": {
20
+ "enabled": true,
21
+ "hostname": "CHANGEME"
22
+ }
23
+ },
24
+ <%- end -%>
10
25
  "domain": "<%= config[:domain] %>",
11
- "version": "3.4",
26
+ "version": "3.6",
12
27
  "labels": {
13
28
  "region": "default"
14
29
  }
@@ -8,7 +8,7 @@
8
8
  "default_attributes": {
9
9
  "openshift": {
10
10
  "domain": "<%= config[:domain] %>",
11
- "version": "3.4"
11
+ "version": "3.6"
12
12
  },
13
13
  "rhsm": {
14
14
  "username": "CHANGEME",
@@ -39,35 +39,34 @@
39
39
  "security_groups": {
40
40
  "ops-admin": {
41
41
  "authorize_ingress": [
42
- {
43
- "protocols": ["icmp"],
42
+ {
43
+ "protocols": ["icmp"],
44
44
  "start": -1,
45
45
  "end": -1,
46
- "sources": [
47
- "52.51.188.129"
48
- ]
49
- },
46
+ "sources": [
47
+ "52.51.188.129"
48
+ ]
49
+ },
50
50
  {
51
51
  "protocols": ["all"],
52
52
  "start": 0,
53
53
  "end": 65535,
54
- "sources": [
55
- "<%= @my_public_ip %>",
56
- "46.38.161.225/32",
57
- "52.193.17.19",
58
- "52.37.106.23",
59
- "52.48.49.57",
60
- "13.112.69.160",
61
- "52.50.12.70",
62
- "52.51.188.129",
63
- "52.62.158.176",
64
- "52.70.198.93",
65
- "52.86.106.110",
66
- "54.229.76.48/32",
67
- "78.137.150.209/32",
68
- "79.125.117.182/32",
69
- "149.11.36.106/32"
70
- ]
54
+ "sources": [
55
+ "<%= @my_public_ip %>",
56
+ "46.38.161.225/32",
57
+ "52.193.17.19",
58
+ "52.48.49.57",
59
+ "13.112.69.160",
60
+ "52.50.12.70",
61
+ "52.51.188.129",
62
+ "52.62.158.176",
63
+ "52.70.198.93",
64
+ "52.86.106.110",
65
+ "54.229.76.48/32",
66
+ "78.137.150.209/32",
67
+ "79.125.117.182/32",
68
+ "149.11.36.106/32"
69
+ ]
71
70
  }
72
71
  ]
73
72
  },
@@ -21,7 +21,7 @@
21
21
  },
22
22
  <%- end -%>
23
23
  "security_groups": {
24
- "<%= config[:environment_name] %>-oscp-master": {
24
+ "<%= config[:environment_name] %>-ocp-master": {
25
25
  "authorize_ingress": [
26
26
  {
27
27
  "protocols": [
@@ -30,10 +30,10 @@
30
30
  "start": 0,
31
31
  "end": 65535,
32
32
  "groups": [
33
- "<%= config[:environment_name] %>-oscp-master",
34
- "<%= config[:environment_name] %>-oscp-node",
35
- "<%= config[:environment_name] %>-oscp-nfs",
36
- "<%= config[:environment_name] %>-oscp-infra"
33
+ "<%= config[:environment_name] %>-ocp-master",
34
+ "<%= config[:environment_name] %>-ocp-node",
35
+ "<%= config[:environment_name] %>-ocp-nfs",
36
+ "<%= config[:environment_name] %>-ocp-infra"
37
37
  ]
38
38
  },
39
39
  {
@@ -43,10 +43,10 @@
43
43
  "start": -1,
44
44
  "end": -1,
45
45
  "groups": [
46
- "<%= config[:environment_name] %>-oscp-master",
47
- "<%= config[:environment_name] %>-oscp-node",
48
- "<%= config[:environment_name] %>-oscp-nfs",
49
- "<%= config[:environment_name] %>-oscp-infra"
46
+ "<%= config[:environment_name] %>-ocp-master",
47
+ "<%= config[:environment_name] %>-ocp-node",
48
+ "<%= config[:environment_name] %>-ocp-nfs",
49
+ "<%= config[:environment_name] %>-ocp-infra"
50
50
  ]
51
51
  },
52
52
  {
@@ -61,7 +61,7 @@
61
61
  }
62
62
  ]
63
63
  },
64
- "<%= config[:environment_name] %>-oscp-node": {
64
+ "<%= config[:environment_name] %>-ocp-node": {
65
65
  "authorize_ingress": [
66
66
  {
67
67
  "protocols": [
@@ -70,10 +70,10 @@
70
70
  "start": 0,
71
71
  "end": 65535,
72
72
  "groups": [
73
- "<%= config[:environment_name] %>-oscp-master",
74
- "<%= config[:environment_name] %>-oscp-node",
75
- "<%= config[:environment_name] %>-oscp-nfs",
76
- "<%= config[:environment_name] %>-oscp-infra"
73
+ "<%= config[:environment_name] %>-ocp-master",
74
+ "<%= config[:environment_name] %>-ocp-node",
75
+ "<%= config[:environment_name] %>-ocp-nfs",
76
+ "<%= config[:environment_name] %>-ocp-infra"
77
77
  ]
78
78
  },
79
79
  {
@@ -83,15 +83,15 @@
83
83
  "start": -1,
84
84
  "end": -1,
85
85
  "groups": [
86
- "<%= config[:environment_name] %>-oscp-master",
87
- "<%= config[:environment_name] %>-oscp-node",
88
- "<%= config[:environment_name] %>-oscp-nfs",
89
- "<%= config[:environment_name] %>-oscp-infra"
86
+ "<%= config[:environment_name] %>-ocp-master",
87
+ "<%= config[:environment_name] %>-ocp-node",
88
+ "<%= config[:environment_name] %>-ocp-nfs",
89
+ "<%= config[:environment_name] %>-ocp-infra"
90
90
  ]
91
91
  }
92
92
  ]
93
93
  },
94
- "<%= config[:environment_name] %>-oscp-lb": {
94
+ "<%= config[:environment_name] %>-ocp-lb": {
95
95
  "authorize_ingress": [
96
96
  {
97
97
  "protocols": [
@@ -102,10 +102,20 @@
102
102
  "sources": [
103
103
  "0.0.0.0/0"
104
104
  ]
105
+ },
106
+ {
107
+ "protocols": [
108
+ "tcp"
109
+ ],
110
+ "start": 443,
111
+ "end": 443,
112
+ "sources": [
113
+ "0.0.0.0/0"
114
+ ]
105
115
  }
106
116
  ]
107
117
  },
108
- "<%= config[:environment_name] %>-oscp-nfs": {
118
+ "<%= config[:environment_name] %>-ocp-nfs": {
109
119
  "authorize_ingress": [
110
120
  {
111
121
  "protocols": [
@@ -114,10 +124,10 @@
114
124
  "start": 0,
115
125
  "end": 65535,
116
126
  "groups": [
117
- "<%= config[:environment_name] %>-oscp-master",
118
- "<%= config[:environment_name] %>-oscp-node",
119
- "<%= config[:environment_name] %>-oscp-nfs",
120
- "<%= config[:environment_name] %>-oscp-infra"
127
+ "<%= config[:environment_name] %>-ocp-master",
128
+ "<%= config[:environment_name] %>-ocp-node",
129
+ "<%= config[:environment_name] %>-ocp-nfs",
130
+ "<%= config[:environment_name] %>-ocp-infra"
121
131
  ]
122
132
  },
123
133
  {
@@ -127,15 +137,15 @@
127
137
  "start": -1,
128
138
  "end": -1,
129
139
  "groups": [
130
- "<%= config[:environment_name] %>-oscp-master",
131
- "<%= config[:environment_name] %>-oscp-node",
132
- "<%= config[:environment_name] %>-oscp-nfs",
133
- "<%= config[:environment_name] %>-oscp-infra"
140
+ "<%= config[:environment_name] %>-ocp-master",
141
+ "<%= config[:environment_name] %>-ocp-node",
142
+ "<%= config[:environment_name] %>-ocp-nfs",
143
+ "<%= config[:environment_name] %>-ocp-infra"
134
144
  ]
135
145
  }
136
146
  ]
137
147
  },
138
- "<%= config[:environment_name] %>-oscp-infra": {
148
+ "<%= config[:environment_name] %>-ocp-infra": {
139
149
  "authorize_ingress": [
140
150
  {
141
151
  "protocols": [
@@ -144,11 +154,11 @@
144
154
  "start": 0,
145
155
  "end": 65535,
146
156
  "groups": [
147
- "<%= config[:environment_name] %>-oscp-master",
148
- "<%= config[:environment_name] %>-oscp-node",
149
- "<%= config[:environment_name] %>-oscp-nfs",
150
- "<%= config[:environment_name] %>-oscp-lb",
151
- "<%= config[:environment_name] %>-oscp-infra"
157
+ "<%= config[:environment_name] %>-ocp-master",
158
+ "<%= config[:environment_name] %>-ocp-node",
159
+ "<%= config[:environment_name] %>-ocp-nfs",
160
+ "<%= config[:environment_name] %>-ocp-lb",
161
+ "<%= config[:environment_name] %>-ocp-infra"
152
162
  ]
153
163
  },
154
164
  {
@@ -158,19 +168,19 @@
158
168
  "start": -1,
159
169
  "end": -1,
160
170
  "groups": [
161
- "<%= config[:environment_name] %>-oscp-master",
162
- "<%= config[:environment_name] %>-oscp-node",
163
- "<%= config[:environment_name] %>-oscp-nfs",
164
- "<%= config[:environment_name] %>-oscp-lb",
165
- "<%= config[:environment_name] %>-oscp-infra"
171
+ "<%= config[:environment_name] %>-ocp-master",
172
+ "<%= config[:environment_name] %>-ocp-node",
173
+ "<%= config[:environment_name] %>-ocp-nfs",
174
+ "<%= config[:environment_name] %>-ocp-lb",
175
+ "<%= config[:environment_name] %>-ocp-infra"
166
176
  ]
167
177
  }
168
178
  ]
169
179
  }
170
180
  },
171
181
  "load_balancers": {
172
- "oscp-lb": {
173
- "security_groups": ["<%= config[:environment_name] %>-oscp-lb"],
182
+ "ocp-lb": {
183
+ "security_groups": ["<%= config[:environment_name] %>-ocp-lb"],
174
184
  "subnets": ["1a", "1b", "1c"],
175
185
  "scheme": "internet-facing",
176
186
  "listeners": [
@@ -189,7 +199,7 @@
189
199
  "instance_type": "m3.large",
190
200
  "security_groups": [
191
201
  "ops-admin",
192
- "<%= config[:environment_name] %>-oscp-master"
202
+ "<%= config[:environment_name] %>-ocp-master"
193
203
  ]
194
204
  <%- unless config[:provider_config][:cidr] == "none" -%>
195
205
  ,"private_ip_address": "",
@@ -212,7 +222,7 @@
212
222
  "instance_type": "m3.large",
213
223
  "security_groups": [
214
224
  "ops-admin",
215
- "<%= config[:environment_name] %>-oscp-infra"
225
+ "<%= config[:environment_name] %>-ocp-infra"
216
226
  ]
217
227
  <%- unless config[:provider_config][:cidr] == "none" -%>
218
228
  ,"private_ip_address": "",
@@ -222,7 +232,7 @@
222
232
  "run_list": [
223
233
  "role[ose_node_server]"
224
234
  ],
225
- "load_balancers": ["oscp-lb"],
235
+ "load_balancers": ["ocp-lb"],
226
236
  "chef_attributes":{
227
237
  "openshift":{
228
238
  "labels":{
@@ -237,7 +247,7 @@
237
247
  "instance_type": "m3.large",
238
248
  "security_groups": [
239
249
  "ops-admin",
240
- "<%= config[:environment_name] %>-oscp-infra"
250
+ "<%= config[:environment_name] %>-ocp-infra"
241
251
  ]
242
252
  <%- unless config[:provider_config][:cidr] == "none" -%>
243
253
  ,"private_ip_address": "",
@@ -247,7 +257,7 @@
247
257
  "run_list": [
248
258
  "role[ose_node_server]"
249
259
  ],
250
- "load_balancers": ["oscp-lb"],
260
+ "load_balancers": ["ocp-lb"],
251
261
  "chef_attributes":{
252
262
  "openshift":{
253
263
  "labels":{
@@ -262,7 +272,7 @@
262
272
  "instance_type": "m3.xlarge",
263
273
  "security_groups": [
264
274
  "ops-admin",
265
- "<%= config[:environment_name] %>-oscp-node"
275
+ "<%= config[:environment_name] %>-ocp-node"
266
276
  ]
267
277
  <%- unless config[:provider_config][:cidr] == "none" -%>
268
278
  ,"private_ip_address": "",
@@ -285,7 +295,7 @@
285
295
  "instance_type": "m3.xlarge",
286
296
  "security_groups": [
287
297
  "ops-admin",
288
- "<%= config[:environment_name] %>-oscp-node"
298
+ "<%= config[:environment_name] %>-ocp-node"
289
299
  ]
290
300
  <%- unless config[:provider_config][:cidr] == "none" -%>
291
301
  ,"private_ip_address": "",
@@ -308,7 +318,7 @@
308
318
  "instance_type": "m3.xlarge",
309
319
  "security_groups": [
310
320
  "ops-admin",
311
- "<%= config[:environment_name] %>-oscp-node"
321
+ "<%= config[:environment_name] %>-ocp-node"
312
322
  ]
313
323
  <%- unless config[:provider_config][:cidr] == "none" -%>
314
324
  ,"private_ip_address": "",
@@ -325,12 +335,14 @@
325
335
  }
326
336
  }
327
337
  }
328
- },
338
+ }
339
+ <%- unless config[:provider_config][:efs_enabled] -%>
340
+ ,
329
341
  "nfs1": {
330
342
  "aws": {
331
343
  "security_groups": [
332
344
  "ops-admin",
333
- "<%= config[:environment_name] %>-oscp-nfs"
345
+ "<%= config[:environment_name] %>-ocp-nfs"
334
346
  ]
335
347
  <%- unless config[:provider_config][:cidr] == "none" -%>
336
348
  ,"private_ip_address": "",
@@ -348,5 +360,6 @@
348
360
  }
349
361
  }
350
362
  }
363
+ <%- end -%>
351
364
  }
352
365
  }