fhcap-cli 0.4.12 → 0.4.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -1
- data/lib/cookbooks/provision/recipes/cluster_bootstrap_instances.rb +2 -1
- data/lib/fhcap/cluster.rb +17 -2
- data/lib/fhcap/component.rb +2 -2
- data/lib/fhcap/config.rb +1 -1
- data/lib/fhcap/provider.rb +2 -1
- data/lib/fhcap/repos_helper.rb +7 -1
- data/lib/fhcap/tasks/chef/cookbook/update_artifact.rb +13 -1
- data/lib/fhcap/tasks/chef/cookbook/update_config.rb +5 -0
- data/lib/fhcap/tasks/chef/environments/update_attributes.rb +47 -0
- data/lib/fhcap/tasks/chef/server/info.rb +12 -2
- data/lib/fhcap/tasks/cluster/create_dns_records.rb +4 -3
- data/lib/fhcap/tasks/cluster/create_environment.rb +2 -2
- data/lib/fhcap/tasks/cluster/generate.rb +2 -1
- data/lib/fhcap/tasks/cluster/info.rb +36 -9
- data/lib/fhcap/tasks/cluster/update_environment_attributes.rb +19 -0
- data/lib/fhcap/tasks/knife/add.rb +1 -1
- data/lib/fhcap/tasks/knife/remove.rb +1 -1
- data/lib/fhcap/tasks/provider/add.rb +3 -1
- data/lib/fhcap/tasks/provider/remove.rb +1 -1
- data/lib/fhcap/tasks/repo/add.rb +1 -1
- data/lib/fhcap/tasks/repo/checkout.rb +2 -1
- data/lib/fhcap/tasks/repo/remove.rb +1 -1
- data/lib/fhcap/tasks/setup.rb +1 -1
- data/lib/fhcap/version.rb +1 -1
- data/lib/fhcap.rb +1 -1
- data/spec/fhcap/tasks/chef/cookbook/update_artifact_spec.rb +1 -1
- data/spec/fhcap/tasks/chef/environments/update_attributes_spec.rb +33 -0
- data/spec/fhcap/tasks/cluster/update_environment_attributes_spec.rb +40 -0
- data/spec/fhcap/tasks/provider/add_spec.rb +24 -0
- data/templates/chef/environment_core.json.erb +2 -2
- data/templates/chef/{environment_ose-multi-node.json.erb → environment_oscp.json.erb} +5 -1
- data/templates/chef/environment_ose-single.json.erb +3 -2
- data/templates/chef/environment_single.json.erb +3 -3
- data/templates/cluster/aws/common.json.erb +1 -0
- data/templates/cluster/aws/{ose-multi-node.json.erb → oscp-5node.json.erb} +78 -36
- data/templates/cluster/aws/oscp-7node.json.erb +352 -0
- data/templates/cluster/aws/ose-single.json.erb +1 -0
- data/templates/cluster/openstack/common.json.erb +2 -1
- data/templates/cluster/openstack/oscp-5node.json.erb +68 -0
- data/templates/cluster/openstack/oscp-7node.json.erb +91 -0
- data/templates/cluster/oscp-5node.json.erb +8 -0
- data/templates/cluster/oscp-7node.json.erb +8 -0
- data/templates/kitchen/kitchen.aws.yml.erb +4 -0
- metadata +15 -6
- data/templates/cluster/openstack/ose-multi-node.json.erb +0 -30
- data/templates/cluster/ose-multi-node.json.erb +0 -8
@@ -30,6 +30,7 @@ describe Fhcap::Tasks::Provider::Add do
|
|
30
30
|
specify { expect(subject.type).to eq(options[:type]) }
|
31
31
|
specify { expect(subject.credentials).to eq(options[:credentials]) }
|
32
32
|
specify { expect(subject.instance_variable_get(:@required_credentials)).to eq(%w{aws-access-key aws-secret-key}) }
|
33
|
+
specify { expect(subject.instance_variable_get(:@options_provider_config)).to eq({}) }
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
@@ -55,6 +56,29 @@ describe Fhcap::Tasks::Provider::Add do
|
|
55
56
|
specify { expect(subject.type).to eq(options[:type]) }
|
56
57
|
specify { expect(subject.credentials).to eq(options[:credentials]) }
|
57
58
|
specify { expect(subject.instance_variable_get(:@required_credentials)).to eq(%w{os-auth-url os-tenant-id os-tenant-name os-username os-password}) }
|
59
|
+
specify { expect(subject.instance_variable_get(:@options_provider_config)).to eq({}) }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context "provider-config" do
|
64
|
+
|
65
|
+
let(:options) do
|
66
|
+
{
|
67
|
+
:thor => thor,
|
68
|
+
:name => 'testosprovider',
|
69
|
+
:type => 'testtype',
|
70
|
+
:'provider-config' => {
|
71
|
+
:testconfig => 'testconfig'
|
72
|
+
}
|
73
|
+
}
|
74
|
+
end
|
75
|
+
|
76
|
+
describe "#initialize" do
|
77
|
+
specify { expect(subject.name).to eq(options[:name]) }
|
78
|
+
specify { expect(subject.type).to eq(options[:type]) }
|
79
|
+
specify { expect(subject.credentials).to eq({}) }
|
80
|
+
specify { expect(subject.instance_variable_get(:@required_credentials)).to eq(nil) }
|
81
|
+
specify { expect(subject.instance_variable_get(:@options_provider_config)).to eq({:testconfig => 'testconfig'}) }
|
58
82
|
end
|
59
83
|
end
|
60
84
|
|
@@ -29,13 +29,13 @@ end
|
|
29
29
|
"apache2": {
|
30
30
|
"buildfarm": {
|
31
31
|
"android": {
|
32
|
-
"url": "
|
32
|
+
"url": "meh2-builder.feedhenry.net"
|
33
33
|
},
|
34
34
|
"windowsphone": {
|
35
35
|
"url": "e103-stg-digman-01.feedhenry.net"
|
36
36
|
},
|
37
37
|
"ios": {
|
38
|
-
"url": "
|
38
|
+
"url": "meh2-builder.feedhenry.net"
|
39
39
|
}
|
40
40
|
}
|
41
41
|
},
|
@@ -7,7 +7,11 @@
|
|
7
7
|
"chef_type": "environment",
|
8
8
|
"default_attributes": {
|
9
9
|
"openshift": {
|
10
|
-
"domain": "<%= config[:domain] %>"
|
10
|
+
"domain": "<%= config[:domain] %>",
|
11
|
+
"version": "3.4",
|
12
|
+
"labels": {
|
13
|
+
"region": "default"
|
14
|
+
}
|
11
15
|
},
|
12
16
|
"rhsm": {
|
13
17
|
"username": "CHANGEME",
|
@@ -7,7 +7,8 @@
|
|
7
7
|
"chef_type": "environment",
|
8
8
|
"default_attributes": {
|
9
9
|
"openshift": {
|
10
|
-
"domain": "<%= config[:domain] %>"
|
10
|
+
"domain": "<%= config[:domain] %>",
|
11
|
+
"version": "3.4"
|
11
12
|
},
|
12
13
|
"rhsm": {
|
13
14
|
"username": "CHANGEME",
|
@@ -27,4 +28,4 @@
|
|
27
28
|
}
|
28
29
|
}
|
29
30
|
}
|
30
|
-
}
|
31
|
+
}
|
@@ -24,13 +24,13 @@ end
|
|
24
24
|
"apache2": {
|
25
25
|
"buildfarm": {
|
26
26
|
"android": {
|
27
|
-
"url": "
|
27
|
+
"url": "meh2-builder.feedhenry.net"
|
28
28
|
},
|
29
29
|
"windowsphone": {
|
30
30
|
"url": "e103-stg-digman-01.feedhenry.net"
|
31
31
|
},
|
32
32
|
"ios": {
|
33
|
-
"url": "
|
33
|
+
"url": "meh2-builder.feedhenry.net"
|
34
34
|
}
|
35
35
|
}
|
36
36
|
},
|
@@ -297,7 +297,7 @@ end
|
|
297
297
|
}
|
298
298
|
},
|
299
299
|
"nginx_feedhenry": {
|
300
|
-
"loadbalancer": "<%= config[:domain]
|
300
|
+
"loadbalancer": "<%= config[:domain] %>"
|
301
301
|
}
|
302
302
|
},
|
303
303
|
"override_attributes": {
|
@@ -21,7 +21,7 @@
|
|
21
21
|
},
|
22
22
|
<%- end -%>
|
23
23
|
"security_groups": {
|
24
|
-
"<%= config[:environment_name] %>-
|
24
|
+
"<%= config[:environment_name] %>-oscp-master": {
|
25
25
|
"authorize_ingress": [
|
26
26
|
{
|
27
27
|
"protocols": [
|
@@ -30,9 +30,9 @@
|
|
30
30
|
"start": 0,
|
31
31
|
"end": 65535,
|
32
32
|
"groups": [
|
33
|
-
"<%= config[:environment_name] %>-
|
34
|
-
"<%= config[:environment_name] %>-
|
35
|
-
"<%= config[:environment_name] %>-
|
33
|
+
"<%= config[:environment_name] %>-oscp-master",
|
34
|
+
"<%= config[:environment_name] %>-oscp-node",
|
35
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
36
36
|
]
|
37
37
|
},
|
38
38
|
{
|
@@ -42,9 +42,9 @@
|
|
42
42
|
"start": -1,
|
43
43
|
"end": -1,
|
44
44
|
"groups": [
|
45
|
-
"<%= config[:environment_name] %>-
|
46
|
-
"<%= config[:environment_name] %>-
|
47
|
-
"<%= config[:environment_name] %>-
|
45
|
+
"<%= config[:environment_name] %>-oscp-master",
|
46
|
+
"<%= config[:environment_name] %>-oscp-node",
|
47
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
48
48
|
]
|
49
49
|
},
|
50
50
|
{
|
@@ -59,7 +59,7 @@
|
|
59
59
|
}
|
60
60
|
]
|
61
61
|
},
|
62
|
-
"<%= config[:environment_name] %>-
|
62
|
+
"<%= config[:environment_name] %>-oscp-node": {
|
63
63
|
"authorize_ingress": [
|
64
64
|
{
|
65
65
|
"protocols": [
|
@@ -68,10 +68,10 @@
|
|
68
68
|
"start": 0,
|
69
69
|
"end": 65535,
|
70
70
|
"groups": [
|
71
|
-
"<%= config[:environment_name] %>-
|
72
|
-
"<%= config[:environment_name] %>-
|
73
|
-
"<%= config[:environment_name] %>-
|
74
|
-
"<%= config[:environment_name] %>-
|
71
|
+
"<%= config[:environment_name] %>-oscp-master",
|
72
|
+
"<%= config[:environment_name] %>-oscp-node",
|
73
|
+
"<%= config[:environment_name] %>-oscp-lb",
|
74
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
75
75
|
]
|
76
76
|
},
|
77
77
|
{
|
@@ -81,15 +81,15 @@
|
|
81
81
|
"start": -1,
|
82
82
|
"end": -1,
|
83
83
|
"groups": [
|
84
|
-
"<%= config[:environment_name] %>-
|
85
|
-
"<%= config[:environment_name] %>-
|
86
|
-
"<%= config[:environment_name] %>-
|
87
|
-
"<%= config[:environment_name] %>-
|
84
|
+
"<%= config[:environment_name] %>-oscp-master",
|
85
|
+
"<%= config[:environment_name] %>-oscp-node",
|
86
|
+
"<%= config[:environment_name] %>-oscp-lb",
|
87
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
88
88
|
]
|
89
89
|
}
|
90
90
|
]
|
91
91
|
},
|
92
|
-
"<%= config[:environment_name] %>-
|
92
|
+
"<%= config[:environment_name] %>-oscp-lb": {
|
93
93
|
"authorize_ingress": [
|
94
94
|
{
|
95
95
|
"protocols": [
|
@@ -103,7 +103,7 @@
|
|
103
103
|
}
|
104
104
|
]
|
105
105
|
},
|
106
|
-
"<%= config[:environment_name] %>-
|
106
|
+
"<%= config[:environment_name] %>-oscp-nfs": {
|
107
107
|
"authorize_ingress": [
|
108
108
|
{
|
109
109
|
"protocols": [
|
@@ -112,9 +112,9 @@
|
|
112
112
|
"start": 0,
|
113
113
|
"end": 65535,
|
114
114
|
"groups": [
|
115
|
-
"<%= config[:environment_name] %>-
|
116
|
-
"<%= config[:environment_name] %>-
|
117
|
-
"<%= config[:environment_name] %>-
|
115
|
+
"<%= config[:environment_name] %>-oscp-master",
|
116
|
+
"<%= config[:environment_name] %>-oscp-node",
|
117
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
118
118
|
]
|
119
119
|
},
|
120
120
|
{
|
@@ -124,17 +124,17 @@
|
|
124
124
|
"start": -1,
|
125
125
|
"end": -1,
|
126
126
|
"groups": [
|
127
|
-
"<%= config[:environment_name] %>-
|
128
|
-
"<%= config[:environment_name] %>-
|
129
|
-
"<%= config[:environment_name] %>-
|
127
|
+
"<%= config[:environment_name] %>-oscp-master",
|
128
|
+
"<%= config[:environment_name] %>-oscp-node",
|
129
|
+
"<%= config[:environment_name] %>-oscp-lb"
|
130
130
|
]
|
131
131
|
}
|
132
132
|
]
|
133
133
|
}
|
134
134
|
},
|
135
135
|
"load_balancers": {
|
136
|
-
"
|
137
|
-
"security_groups": ["<%= config[:environment_name] %>-
|
136
|
+
"oscp-lb": {
|
137
|
+
"security_groups": ["<%= config[:environment_name] %>-oscp-lb"],
|
138
138
|
"subnets": ["1a", "1b", "1c"],
|
139
139
|
"scheme": "internet-facing",
|
140
140
|
"listeners": [
|
@@ -150,9 +150,10 @@
|
|
150
150
|
"instances": {
|
151
151
|
"master1": {
|
152
152
|
"aws": {
|
153
|
+
"instance_type": "m3.large",
|
153
154
|
"security_groups": [
|
154
155
|
"ops-admin",
|
155
|
-
"<%= config[:environment_name] %>-
|
156
|
+
"<%= config[:environment_name] %>-oscp-master"
|
156
157
|
]
|
157
158
|
<%- unless config[:provider_config][:cidr] == "none" -%>
|
158
159
|
,"private_ip_address": "",
|
@@ -161,13 +162,21 @@
|
|
161
162
|
},
|
162
163
|
"run_list": [
|
163
164
|
"role[ose_master_server]"
|
164
|
-
]
|
165
|
+
],
|
166
|
+
"chef_attributes":{
|
167
|
+
"openshift":{
|
168
|
+
"labels": {
|
169
|
+
"name": "master1"
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
165
173
|
},
|
166
174
|
"node1": {
|
167
175
|
"aws": {
|
176
|
+
"instance_type": "m3.xlarge",
|
168
177
|
"security_groups": [
|
169
178
|
"ops-admin",
|
170
|
-
"<%= config[:environment_name] %>-
|
179
|
+
"<%= config[:environment_name] %>-oscp-node"
|
171
180
|
]
|
172
181
|
<%- unless config[:provider_config][:cidr] == "none" -%>
|
173
182
|
,"private_ip_address": "",
|
@@ -177,13 +186,22 @@
|
|
177
186
|
"run_list": [
|
178
187
|
"role[ose_node_server]"
|
179
188
|
],
|
180
|
-
"load_balancers": ["
|
189
|
+
"load_balancers": ["oscp-lb"],
|
190
|
+
"chef_attributes":{
|
191
|
+
"openshift":{
|
192
|
+
"labels":{
|
193
|
+
"name": "node1",
|
194
|
+
"region": "infra"
|
195
|
+
}
|
196
|
+
}
|
197
|
+
}
|
181
198
|
},
|
182
199
|
"node2": {
|
183
200
|
"aws": {
|
201
|
+
"instance_type": "m3.xlarge",
|
184
202
|
"security_groups": [
|
185
203
|
"ops-admin",
|
186
|
-
"<%= config[:environment_name] %>-
|
204
|
+
"<%= config[:environment_name] %>-oscp-node"
|
187
205
|
]
|
188
206
|
<%- unless config[:provider_config][:cidr] == "none" -%>
|
189
207
|
,"private_ip_address": "",
|
@@ -193,13 +211,22 @@
|
|
193
211
|
"run_list": [
|
194
212
|
"role[ose_node_server]"
|
195
213
|
],
|
196
|
-
"load_balancers": ["
|
214
|
+
"load_balancers": ["oscp-lb"],
|
215
|
+
"chef_attributes":{
|
216
|
+
"openshift":{
|
217
|
+
"labels": {
|
218
|
+
"name": "node2",
|
219
|
+
"region": "infra"
|
220
|
+
}
|
221
|
+
}
|
222
|
+
}
|
197
223
|
},
|
198
224
|
"node3": {
|
199
225
|
"aws": {
|
226
|
+
"instance_type": "m3.xlarge",
|
200
227
|
"security_groups": [
|
201
228
|
"ops-admin",
|
202
|
-
"<%= config[:environment_name] %>-
|
229
|
+
"<%= config[:environment_name] %>-oscp-node"
|
203
230
|
]
|
204
231
|
<%- unless config[:provider_config][:cidr] == "none" -%>
|
205
232
|
,"private_ip_address": "",
|
@@ -209,13 +236,21 @@
|
|
209
236
|
"run_list": [
|
210
237
|
"role[ose_node_server]"
|
211
238
|
],
|
212
|
-
"load_balancers": ["
|
239
|
+
"load_balancers": ["oscp-lb"],
|
240
|
+
"chef_attributes":{
|
241
|
+
"openshift":{
|
242
|
+
"labels": {
|
243
|
+
"name": "node3",
|
244
|
+
"region": "infra"
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}
|
213
248
|
},
|
214
249
|
"nfs1": {
|
215
250
|
"aws": {
|
216
251
|
"security_groups": [
|
217
252
|
"ops-admin",
|
218
|
-
"<%= config[:environment_name] %>-
|
253
|
+
"<%= config[:environment_name] %>-oscp-nfs"
|
219
254
|
]
|
220
255
|
<%- unless config[:provider_config][:cidr] == "none" -%>
|
221
256
|
,"private_ip_address": "",
|
@@ -224,7 +259,14 @@
|
|
224
259
|
},
|
225
260
|
"run_list": [
|
226
261
|
"role[ose_storage_server]"
|
227
|
-
]
|
262
|
+
],
|
263
|
+
"chef_attributes":{
|
264
|
+
"openshift":{
|
265
|
+
"labels": {
|
266
|
+
"name": "nfs1"
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
228
270
|
}
|
229
271
|
}
|
230
272
|
}
|