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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: daf18083e0cee8c170b5cedf2362398fcc8cedd6
4
- data.tar.gz: 374321563d2b570797295cbd4fe2bee0c5ac5269
3
+ metadata.gz: 0459a0449bf2038aed5733a7c5797a16d05565c7
4
+ data.tar.gz: 0ba58ee53dd1cced9c435ce00daa960997bb217a
5
5
  SHA512:
6
- metadata.gz: f635d48699b79efc3a77d1e147f730f0a3907a7fd7b952b3f4d7e98771da834c4ce5c27d3301f869c4ac634c7c4925d32b9d5c53c6f2ed9357f5f64000d3ed98
7
- data.tar.gz: 5b9ee10cdccb717bc152e431949458efd02a8ece9fc43f925f34b8e535fb447658350f82e5c86e62abcce9235d10837205c3682ddedffa8d935c76a04871e501
6
+ metadata.gz: 4d063d3d43599ac7b9ff2dd63541aeefa3e70362478cba3e12db3c08086aa880a63892fde8ddf1f450c913a446e7c94cb17818ed59d87d645e9e1e5010c80730
7
+ data.tar.gz: fa7f3248955060ce0ac67539c0d5ac99b376f9bd8961936a167cee9c1b87142ff09686fbff0f85f7b23ce740d309f8beb223eb949cd8a6e7810b02362782afbb
@@ -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
@@ -1,3 +1,3 @@
1
1
  class Biosphere
2
- Version = "0.0.10"
2
+ Version = "0.0.11"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biosphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juho Mäkinen