biosphere 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/biosphere/kube.rb +16 -5
- data/lib/biosphere/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0459a0449bf2038aed5733a7c5797a16d05565c7
|
4
|
+
data.tar.gz: 0ba58ee53dd1cced9c435ce00daa960997bb217a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d063d3d43599ac7b9ff2dd63541aeefa3e70362478cba3e12db3c08086aa880a63892fde8ddf1f450c913a446e7c94cb17818ed59d87d645e9e1e5010c80730
|
7
|
+
data.tar.gz: fa7f3248955060ce0ac67539c0d5ac99b376f9bd8961936a167cee9c1b87142ff09686fbff0f85f7b23ce740d309f8beb223eb949cd8a6e7810b02362782afbb
|
data/lib/biosphere/kube.rb
CHANGED
@@ -185,19 +185,30 @@ class Biosphere
|
|
185
185
|
def kube_apply_resource(client, resource)
|
186
186
|
name = resource[:metadata][:name]
|
187
187
|
responses = []
|
188
|
+
not_found = false
|
188
189
|
begin
|
189
|
-
response = client.post(resource)
|
190
|
-
puts "Created resource #{response[:resource]}"
|
191
|
-
responses << response
|
192
|
-
|
193
|
-
rescue RestClient::Conflict => e
|
194
190
|
response = client.get(resource)
|
191
|
+
rescue RestClient::NotFound => e
|
192
|
+
not_found = true
|
193
|
+
end
|
194
|
+
|
195
|
+
if not_found
|
196
|
+
begin
|
197
|
+
response = client.post(resource)
|
198
|
+
puts "Created resource #{response[:resource]}"
|
199
|
+
responses << response
|
200
|
+
rescue RestClient::UnprocessableEntity => e
|
201
|
+
pp e
|
202
|
+
pp JSON.parse(e.response.body)
|
203
|
+
end
|
204
|
+
else
|
195
205
|
puts "Updating resource #{response[:resource]}"
|
196
206
|
|
197
207
|
# Get the current full resource from apiserver
|
198
208
|
update_resource = response[:body]
|
199
209
|
|
200
210
|
# Merge the updates on top of it
|
211
|
+
# TODO: this doesn't remove fields from the update_resource which have been removed from the to-be-updated resource
|
201
212
|
update_resource.merge(resource)
|
202
213
|
|
203
214
|
# Remove fields which apiserver refuses to accept in PUT requests
|
data/lib/biosphere/version.rb
CHANGED