biosphere 0.0.10 → 0.0.11
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.
- 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