fog-kubevirt 1.2.4 → 1.2.5

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: e1f90a753f99bae70fdb0f9ef3a560b939a25472
4
- data.tar.gz: 693cd23e1eb336c338fcbe2440f7de92a9e2cce3
3
+ metadata.gz: a757bb97341858b22dcbce97ae84899d67851f64
4
+ data.tar.gz: 2d92ed31781d8c7331a76dbb6111875222baf5ce
5
5
  SHA512:
6
- metadata.gz: fca88f74721f9ff8d272a522fb44edb4366c6763ec510c9f20e01bf9c309c5d6a34885b9e8fa26d19d8afa84539f565ad04d89da36a9b07bb227d5bda7c03858
7
- data.tar.gz: '068448c16b963a7c9df4814733cb80ccd03494ce007a2c4c78c1b963b99fc483cf112cb4494e32ae9d3676829720857b6f857e1fa64155e83bbf14bb38e2cef2'
6
+ metadata.gz: dc6973eb073d9abfa2bb8016820d7e62a51ed5a08725b9238dcd86fd847ddc0873196c05536433133581c732cfdd63df2414dc034c30c48e0313d4bbf907ba05
7
+ data.tar.gz: 2262f37fe3e69f0c66856c17722dbd4ff88160ee32c11d736eddb29ebd29b53948fc71312e473e28c3c3be6d01ca32db2f4c95da2a016c9c73ce9cbf4fc3be1d
@@ -113,6 +113,115 @@ module Fog
113
113
  end
114
114
  end
115
115
 
116
+ #
117
+ # This class contains functions performing unit calculations.
118
+ # Originally implemented for manageiq-providers-kubevirt project
119
+ #
120
+ class UnitConverter
121
+ #
122
+ # Converts a value containing an optional unit to another unit. For example, if the value is
123
+ # `2 MiB` and the unit is `KiB` the result will be 2048.
124
+ #
125
+ # @param value [String] The value to convert, with an optional unit suffix.
126
+ # @param to [Symbol] (:b) The name of the unit to convert to, for example `:gib`.
127
+ # @return [BigDecimal] The converted value.
128
+ #
129
+ def self.convert(value, to)
130
+ # Return nil if no value is given:
131
+ return nil unless value
132
+
133
+ match = validate(value)
134
+ value = match[:value]
135
+ from = match[:suffix]
136
+
137
+ # Convert the value from string to big decimal to make sure that we don't loose precission:
138
+ value = BigDecimal(value)
139
+
140
+ # Do the conversion:
141
+ from_factor = scale_factor(from)
142
+ to_factor = scale_factor(to)
143
+ value * from_factor / to_factor
144
+ end
145
+
146
+ #
147
+ # Validates and extracts the numeric value and the unit
148
+ #
149
+ # @param value [String] The value to validate with optional unit suffix.
150
+ # @return [MatchData] describing the match, or ValidationError is raised if no match.
151
+ #
152
+ def self.validate(value)
153
+ match = VALUE_RE.match(value)
154
+ raise ::Fog::Kubevirt::Errors::ValidationError, "The value '#{value}' isn't a valid unit" unless match
155
+
156
+ match
157
+ end
158
+
159
+ #
160
+ # Regular expression used to match values and to separate them into the numeric value and the
161
+ # optional unit suffix.
162
+ #
163
+ VALUE_RE = /^\s*(?<value>[[:digit:]]+)\s*(?<suffix>[[:alpha:]]+)?\s*$/i
164
+ private_constant :VALUE_RE
165
+
166
+ #
167
+ # Scale factors associated to the different unit suffixes.
168
+ #
169
+ SCALE_FACTORS = {
170
+ :b => 1,
171
+
172
+ :k => 10**3,
173
+ :m => 10**6,
174
+ :g => 10**9,
175
+ :t => 10**12,
176
+ :p => 10**15,
177
+ :e => 10**18,
178
+ :z => 10**21,
179
+ :y => 10**24,
180
+
181
+ :kb => 10**3,
182
+ :mb => 10**6,
183
+ :gb => 10**9,
184
+ :tb => 10**12,
185
+ :pb => 10**15,
186
+ :eb => 10**18,
187
+ :zb => 10**21,
188
+ :yb => 10**24,
189
+
190
+ :ki => 2**10,
191
+ :mi => 2**20,
192
+ :gi => 2**30,
193
+ :ti => 2**40,
194
+ :pi => 2**50,
195
+ :ei => 2**60,
196
+ :zi => 2**70,
197
+ :yi => 2**80,
198
+
199
+ :kib => 2**10,
200
+ :mib => 2**20,
201
+ :gib => 2**30,
202
+ :tib => 2**40,
203
+ :pib => 2**50,
204
+ :eib => 2**60,
205
+ :zib => 2**70,
206
+ :yib => 2**80
207
+ }.freeze
208
+ private_constant :SCALE_FACTORS
209
+
210
+ #
211
+ # Finds the scale factor that matches the given unit suffix.
212
+ #
213
+ # @param sufix [Symbol, String] The unit suffix, as symbol or string. For example `MiB` or `:mib`.
214
+ # @return [Integer] The scale factor corresponding to that unit.
215
+ #
216
+ def self.scale_factor(suffix)
217
+ suffix = suffix.downcase.to_sym if suffix.kind_of?(String)
218
+ factor = SCALE_FACTORS[suffix]
219
+ raise ::Fog::Kubevirt::Errors::ValidationError, "The value '#{suffix}' isn't a valid unit suffix" unless factor
220
+ factor
221
+ end
222
+ private_class_method :scale_factor
223
+ end
224
+
116
225
  #
117
226
  # Label name which identifies operation system information
118
227
  #
@@ -49,7 +49,10 @@ module Fog
49
49
  }
50
50
  }
51
51
 
52
- pvc[:spec][:resources].merge!(:requests => args[:requests]) if args[:requests]
52
+ # requests is required
53
+ check_size(args[:requests])
54
+ pvc[:spec][:resources].merge!(:requests => args[:requests])
55
+ check_size(args[:limits]) if args[:limits]
53
56
  pvc[:spec][:resources].merge!(:limits => args[:limits]) if args[:limits]
54
57
 
55
58
  if args[:match_labels] || args[:match_expressions]
@@ -58,7 +61,8 @@ module Fog
58
61
  pvc[:spec][:selector].merge!(:matchExpressions => args[:match_expressions]) if args[:match_expressions]
59
62
  end
60
63
 
61
- pvc[:spec][:accessModes] = args[:access_modes] if args[:access_modes]
64
+ # access mode is required
65
+ pvc[:spec][:accessModes] = args[:access_modes]
62
66
  pvc[:spec][:volumeMode] = args[:volume_mode] if args[:volume_mode]
63
67
  pvc[:spec][:volumeName] = args[:volume_name] if args[:volume_name]
64
68
  service.create_pvc(pvc)
@@ -74,6 +78,12 @@ module Fog
74
78
 
75
79
  service.delete_pvc(name) unless pvc.nil?
76
80
  end
81
+
82
+ private
83
+
84
+ def check_size(value)
85
+ ::Fog::Kubevirt::Compute::Shared::UnitConverter.validate(value[:storage])
86
+ end
77
87
  end
78
88
  end
79
89
  end
@@ -4,21 +4,43 @@ module Fog
4
4
  class Real
5
5
  def get_server(name)
6
6
  vm = get_raw_vm(name)
7
- populate_runtime_info(vm)
7
+ vmi = runtime_vm(vm)
8
+
9
+ populate_runtime_info(vm, vmi)
8
10
  server = Server.parse vm
9
11
  populate_pvcs_for_vm(server)
12
+ populate_runtime_nets(server, vmi)
10
13
  server
11
14
  end
12
15
 
13
16
  # Updates a given VM raw entity with vm instance info if exists
14
17
  #
15
18
  # @param vm [Hash] A hash with vm raw data.
16
- def populate_runtime_info(vm)
17
- vmi = get_vminstance(vm[:metadata][:name])
19
+ # @param vmi VMInstance object
20
+ def populate_runtime_info(vm, vmi)
21
+ return if vmi.nil?
22
+
18
23
  vm[:ip_address] = vmi[:ip_address]
19
24
  vm[:node_name] = vmi[:node_name]
20
25
  vm[:phase] = vmi[:status]
21
26
  vm
27
+ end
28
+
29
+ # Updates a given Server entity with vm instance networking details if exists
30
+ #
31
+ # @param server Server object
32
+ # @param vmi VMInstance object
33
+ def populate_runtime_nets(server, vmi)
34
+ return if vmi.nil?
35
+
36
+ server[:networks] = vmi[:networks]
37
+ server[:interfaces] = vmi[:interfaces]
38
+ end
39
+
40
+ private
41
+
42
+ def runtime_vm(vm)
43
+ get_vminstance(vm[:metadata][:name])
22
44
  rescue
23
45
  # do nothing if vmi doesn't exist
24
46
  end
@@ -10,8 +10,10 @@ module Fog
10
10
  vms = kubevirt_client.get_virtual_machines(namespace: @namespace)
11
11
  entities = vms.map do |kubevirt_obj|
12
12
  vm_obj = object_to_hash(kubevirt_obj)
13
- populate_runtime_info(vm_obj)
13
+ vmi = runtime_vm(vm_obj)
14
+ populate_runtime_info(vm_obj, vmi)
14
15
  server = Server.parse vm_obj
16
+ populate_runtime_nets(server, vmi)
15
17
  if filters[:pvcs]
16
18
  populate_pvcs_for_vm(server)
17
19
  end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Kubevirt
3
- VERSION = '1.2.4'
3
+ VERSION = '1.2.5'
4
4
  end
5
5
  end
@@ -0,0 +1,806 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json
23
+ Date:
24
+ - Tue, 23 Apr 2019 13:49:50 GMT
25
+ Content-Length:
26
+ - '213'
27
+ body:
28
+ encoding: UTF-8
29
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
30
+
31
+ '
32
+ http_version:
33
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
34
+ - request:
35
+ method: get
36
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers:
41
+ Accept:
42
+ - "*/*"
43
+ Accept-Encoding:
44
+ - gzip, deflate
45
+ User-Agent:
46
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
47
+ response:
48
+ status:
49
+ code: 200
50
+ message: OK
51
+ headers:
52
+ Content-Type:
53
+ - application/json
54
+ Date:
55
+ - Tue, 23 Apr 2019 13:49:50 GMT
56
+ Content-Length:
57
+ - '1720'
58
+ body:
59
+ encoding: UTF-8
60
+ string: '{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"kubevirt.io/v1alpha3","resources":[{"name":"kubevirts","singularName":"kubevirt","namespaced":true,"kind":"KubeVirt","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["kv","kvs"]},{"name":"virtualmachineinstances","singularName":"virtualmachineinstance","namespaced":true,"kind":"VirtualMachineInstance","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["vmi","vmis"]},{"name":"virtualmachineinstancepresets","singularName":"virtualmachineinstancepreset","namespaced":true,"kind":"VirtualMachineInstancePreset","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["vmipreset","vmipresets"]},{"name":"virtualmachineinstancereplicasets","singularName":"virtualmachineinstancereplicaset","namespaced":true,"kind":"VirtualMachineInstanceReplicaSet","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["vmirs","vmirss"]},{"name":"virtualmachineinstancereplicasets/scale","singularName":"","namespaced":true,"group":"autoscaling","version":"v1","kind":"Scale","verbs":["get","patch","update"]},{"name":"virtualmachines","singularName":"virtualmachine","namespaced":true,"kind":"VirtualMachine","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["vm","vms"]},{"name":"virtualmachineinstancemigrations","singularName":"virtualmachineinstancemigration","namespaced":true,"kind":"VirtualMachineInstanceMigration","verbs":["delete","deletecollection","get","list","patch","create","update","watch"],"shortNames":["vmim","vmims"]}]}
61
+
62
+ '
63
+ http_version:
64
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
65
+ - request:
66
+ method: get
67
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
68
+ body:
69
+ encoding: US-ASCII
70
+ string: ''
71
+ headers:
72
+ Accept:
73
+ - "*/*"
74
+ Accept-Encoding:
75
+ - gzip, deflate
76
+ User-Agent:
77
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: OK
82
+ headers:
83
+ Content-Type:
84
+ - application/json
85
+ Date:
86
+ - Tue, 23 Apr 2019 13:49:50 GMT
87
+ Content-Length:
88
+ - '998'
89
+ body:
90
+ encoding: UTF-8
91
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688356","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":true,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
92
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
93
+
94
+ '
95
+ http_version:
96
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
97
+ - request:
98
+ method: get
99
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
100
+ body:
101
+ encoding: US-ASCII
102
+ string: ''
103
+ headers:
104
+ Accept:
105
+ - "*/*"
106
+ Accept-Encoding:
107
+ - gzip, deflate
108
+ User-Agent:
109
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
110
+ response:
111
+ status:
112
+ code: 200
113
+ message: OK
114
+ headers:
115
+ Content-Type:
116
+ - application/json
117
+ Date:
118
+ - Tue, 23 Apr 2019 13:49:50 GMT
119
+ Content-Length:
120
+ - '213'
121
+ body:
122
+ encoding: UTF-8
123
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
124
+
125
+ '
126
+ http_version:
127
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
128
+ - request:
129
+ method: get
130
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vm-cirros
131
+ body:
132
+ encoding: US-ASCII
133
+ string: ''
134
+ headers:
135
+ Accept:
136
+ - "*/*"
137
+ Accept-Encoding:
138
+ - gzip, deflate
139
+ User-Agent:
140
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
141
+ response:
142
+ status:
143
+ code: 200
144
+ message: OK
145
+ headers:
146
+ Content-Type:
147
+ - application/json
148
+ Date:
149
+ - Tue, 23 Apr 2019 13:49:50 GMT
150
+ Content-Length:
151
+ - '1715'
152
+ body:
153
+ encoding: UTF-8
154
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachineInstance","metadata":{"creationTimestamp":"2019-04-23T13:49:18Z","finalizers":["foregroundDeleteVirtualMachine"],"generateName":"vm-cirros","generation":1,"labels":{"kubevirt.io/nodeName":"node02","kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","ownerReferences":[{"apiVersion":"kubevirt.io/v1alpha3","blockOwnerDeletion":true,"controller":true,"kind":"VirtualMachine","name":"vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"}],"resourceVersion":"688354","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vm-cirros","uid":"96dd3b9b-65ce-11e9-8a0c-525500d15501"},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}],"interfaces":[{"bridge":{},"name":"default"}]},"features":{"acpi":{"enabled":true}},"firmware":{"uuid":"0d2a2043-41c0-59c3-9b17-025022203668"},"machine":{"type":"q35"},"resources":{"requests":{"memory":"64M"}}},"networks":[{"name":"default","pod":{}}],"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
155
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]},"status":{"conditions":[{"lastProbeTime":null,"lastTransitionTime":null,"status":"True","type":"LiveMigratable"},{"lastProbeTime":null,"lastTransitionTime":"2019-04-23T13:49:31Z","status":"True","type":"Ready"}],"interfaces":[{"ipAddress":"10.244.1.20","mac":"0a:58:0a:f4:01:14","name":"default"}],"migrationMethod":"BlockMigration","nodeName":"node02","phase":"Running"}}
156
+
157
+ '
158
+ http_version:
159
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
160
+ - request:
161
+ method: get
162
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
163
+ body:
164
+ encoding: US-ASCII
165
+ string: ''
166
+ headers:
167
+ Accept:
168
+ - "*/*"
169
+ Accept-Encoding:
170
+ - gzip, deflate
171
+ User-Agent:
172
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
173
+ response:
174
+ status:
175
+ code: 200
176
+ message: OK
177
+ headers:
178
+ Content-Type:
179
+ - application/json
180
+ Date:
181
+ - Tue, 23 Apr 2019 13:49:50 GMT
182
+ Content-Length:
183
+ - '213'
184
+ body:
185
+ encoding: UTF-8
186
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
187
+
188
+ '
189
+ http_version:
190
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
191
+ - request:
192
+ method: get
193
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
194
+ body:
195
+ encoding: US-ASCII
196
+ string: ''
197
+ headers:
198
+ Accept:
199
+ - "*/*"
200
+ Accept-Encoding:
201
+ - gzip, deflate
202
+ User-Agent:
203
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
204
+ response:
205
+ status:
206
+ code: 200
207
+ message: OK
208
+ headers:
209
+ Content-Type:
210
+ - application/json
211
+ Date:
212
+ - Tue, 23 Apr 2019 13:49:50 GMT
213
+ Content-Length:
214
+ - '998'
215
+ body:
216
+ encoding: UTF-8
217
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688356","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":true,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
218
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
219
+
220
+ '
221
+ http_version:
222
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
223
+ - request:
224
+ method: get
225
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
226
+ body:
227
+ encoding: US-ASCII
228
+ string: ''
229
+ headers:
230
+ Accept:
231
+ - "*/*"
232
+ Accept-Encoding:
233
+ - gzip, deflate
234
+ User-Agent:
235
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
236
+ response:
237
+ status:
238
+ code: 200
239
+ message: OK
240
+ headers:
241
+ Content-Type:
242
+ - application/json
243
+ Date:
244
+ - Tue, 23 Apr 2019 13:49:50 GMT
245
+ Content-Length:
246
+ - '213'
247
+ body:
248
+ encoding: UTF-8
249
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
250
+
251
+ '
252
+ http_version:
253
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
254
+ - request:
255
+ method: put
256
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
257
+ body:
258
+ encoding: UTF-8
259
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688356","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
260
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}'
261
+ headers:
262
+ Accept:
263
+ - "*/*"
264
+ Accept-Encoding:
265
+ - gzip, deflate
266
+ User-Agent:
267
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
268
+ Content-Type:
269
+ - application/json
270
+ Content-Length:
271
+ - '998'
272
+ response:
273
+ status:
274
+ code: 200
275
+ message: OK
276
+ headers:
277
+ Content-Type:
278
+ - application/json
279
+ Date:
280
+ - Tue, 23 Apr 2019 13:49:50 GMT
281
+ Content-Length:
282
+ - '999'
283
+ body:
284
+ encoding: UTF-8
285
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688413","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
286
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
287
+
288
+ '
289
+ http_version:
290
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
291
+ - request:
292
+ method: get
293
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
294
+ body:
295
+ encoding: US-ASCII
296
+ string: ''
297
+ headers:
298
+ Accept:
299
+ - "*/*"
300
+ Accept-Encoding:
301
+ - gzip, deflate
302
+ User-Agent:
303
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
304
+ response:
305
+ status:
306
+ code: 200
307
+ message: OK
308
+ headers:
309
+ Content-Type:
310
+ - application/json
311
+ Date:
312
+ - Tue, 23 Apr 2019 13:49:50 GMT
313
+ Content-Length:
314
+ - '213'
315
+ body:
316
+ encoding: UTF-8
317
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
318
+
319
+ '
320
+ http_version:
321
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
322
+ - request:
323
+ method: get
324
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
325
+ body:
326
+ encoding: US-ASCII
327
+ string: ''
328
+ headers:
329
+ Accept:
330
+ - "*/*"
331
+ Accept-Encoding:
332
+ - gzip, deflate
333
+ User-Agent:
334
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
335
+ response:
336
+ status:
337
+ code: 200
338
+ message: OK
339
+ headers:
340
+ Content-Type:
341
+ - application/json
342
+ Date:
343
+ - Tue, 23 Apr 2019 13:49:50 GMT
344
+ Content-Length:
345
+ - '999'
346
+ body:
347
+ encoding: UTF-8
348
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688413","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
349
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
350
+
351
+ '
352
+ http_version:
353
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
354
+ - request:
355
+ method: get
356
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
357
+ body:
358
+ encoding: US-ASCII
359
+ string: ''
360
+ headers:
361
+ Accept:
362
+ - "*/*"
363
+ Accept-Encoding:
364
+ - gzip, deflate
365
+ User-Agent:
366
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
367
+ response:
368
+ status:
369
+ code: 200
370
+ message: OK
371
+ headers:
372
+ Content-Type:
373
+ - application/json
374
+ Date:
375
+ - Tue, 23 Apr 2019 13:49:50 GMT
376
+ Content-Length:
377
+ - '213'
378
+ body:
379
+ encoding: UTF-8
380
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
381
+
382
+ '
383
+ http_version:
384
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
385
+ - request:
386
+ method: get
387
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vm-cirros
388
+ body:
389
+ encoding: US-ASCII
390
+ string: ''
391
+ headers:
392
+ Accept:
393
+ - "*/*"
394
+ Accept-Encoding:
395
+ - gzip, deflate
396
+ User-Agent:
397
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
398
+ response:
399
+ status:
400
+ code: 200
401
+ message: OK
402
+ headers:
403
+ Content-Type:
404
+ - application/json
405
+ Date:
406
+ - Tue, 23 Apr 2019 13:49:50 GMT
407
+ Content-Length:
408
+ - '1789'
409
+ body:
410
+ encoding: UTF-8
411
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachineInstance","metadata":{"creationTimestamp":"2019-04-23T13:49:18Z","deletionGracePeriodSeconds":0,"deletionTimestamp":"2019-04-23T13:49:50Z","finalizers":["foregroundDeleteVirtualMachine"],"generateName":"vm-cirros","generation":2,"labels":{"kubevirt.io/nodeName":"node02","kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","ownerReferences":[{"apiVersion":"kubevirt.io/v1alpha3","blockOwnerDeletion":true,"controller":true,"kind":"VirtualMachine","name":"vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"}],"resourceVersion":"688414","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vm-cirros","uid":"96dd3b9b-65ce-11e9-8a0c-525500d15501"},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}],"interfaces":[{"bridge":{},"name":"default"}]},"features":{"acpi":{"enabled":true}},"firmware":{"uuid":"0d2a2043-41c0-59c3-9b17-025022203668"},"machine":{"type":"q35"},"resources":{"requests":{"memory":"64M"}}},"networks":[{"name":"default","pod":{}}],"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
412
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]},"status":{"conditions":[{"lastProbeTime":null,"lastTransitionTime":null,"status":"True","type":"LiveMigratable"},{"lastProbeTime":null,"lastTransitionTime":"2019-04-23T13:49:31Z","status":"True","type":"Ready"}],"interfaces":[{"ipAddress":"10.244.1.20","mac":"0a:58:0a:f4:01:14","name":"default"}],"migrationMethod":"BlockMigration","nodeName":"node02","phase":"Running"}}
413
+
414
+ '
415
+ http_version:
416
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
417
+ - request:
418
+ method: get
419
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
420
+ body:
421
+ encoding: US-ASCII
422
+ string: ''
423
+ headers:
424
+ Accept:
425
+ - "*/*"
426
+ Accept-Encoding:
427
+ - gzip, deflate
428
+ User-Agent:
429
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
430
+ response:
431
+ status:
432
+ code: 200
433
+ message: OK
434
+ headers:
435
+ Content-Type:
436
+ - application/json
437
+ Date:
438
+ - Tue, 23 Apr 2019 13:49:50 GMT
439
+ Content-Length:
440
+ - '213'
441
+ body:
442
+ encoding: UTF-8
443
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
444
+
445
+ '
446
+ http_version:
447
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
448
+ - request:
449
+ method: get
450
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
451
+ body:
452
+ encoding: US-ASCII
453
+ string: ''
454
+ headers:
455
+ Accept:
456
+ - "*/*"
457
+ Accept-Encoding:
458
+ - gzip, deflate
459
+ User-Agent:
460
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
461
+ response:
462
+ status:
463
+ code: 200
464
+ message: OK
465
+ headers:
466
+ Content-Type:
467
+ - application/json
468
+ Date:
469
+ - Tue, 23 Apr 2019 13:49:50 GMT
470
+ Content-Length:
471
+ - '999'
472
+ body:
473
+ encoding: UTF-8
474
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688413","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
475
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
476
+
477
+ '
478
+ http_version:
479
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
480
+ - request:
481
+ method: get
482
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
483
+ body:
484
+ encoding: US-ASCII
485
+ string: ''
486
+ headers:
487
+ Accept:
488
+ - "*/*"
489
+ Accept-Encoding:
490
+ - gzip, deflate
491
+ User-Agent:
492
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
493
+ response:
494
+ status:
495
+ code: 200
496
+ message: OK
497
+ headers:
498
+ Content-Type:
499
+ - application/json
500
+ Date:
501
+ - Tue, 23 Apr 2019 13:49:50 GMT
502
+ Content-Length:
503
+ - '213'
504
+ body:
505
+ encoding: UTF-8
506
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
507
+
508
+ '
509
+ http_version:
510
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
511
+ - request:
512
+ method: put
513
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
514
+ body:
515
+ encoding: UTF-8
516
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688413","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":true,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
517
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}'
518
+ headers:
519
+ Accept:
520
+ - "*/*"
521
+ Accept-Encoding:
522
+ - gzip, deflate
523
+ User-Agent:
524
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
525
+ Content-Type:
526
+ - application/json
527
+ Content-Length:
528
+ - '997'
529
+ response:
530
+ status:
531
+ code: 200
532
+ message: OK
533
+ headers:
534
+ Content-Type:
535
+ - application/json
536
+ Date:
537
+ - Tue, 23 Apr 2019 13:49:50 GMT
538
+ Content-Length:
539
+ - '998'
540
+ body:
541
+ encoding: UTF-8
542
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688418","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":true,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
543
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
544
+
545
+ '
546
+ http_version:
547
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
548
+ - request:
549
+ method: get
550
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
551
+ body:
552
+ encoding: US-ASCII
553
+ string: ''
554
+ headers:
555
+ Accept:
556
+ - "*/*"
557
+ Accept-Encoding:
558
+ - gzip, deflate
559
+ User-Agent:
560
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
561
+ response:
562
+ status:
563
+ code: 200
564
+ message: OK
565
+ headers:
566
+ Content-Type:
567
+ - application/json
568
+ Date:
569
+ - Tue, 23 Apr 2019 13:49:50 GMT
570
+ Content-Length:
571
+ - '213'
572
+ body:
573
+ encoding: UTF-8
574
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
575
+
576
+ '
577
+ http_version:
578
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
579
+ - request:
580
+ method: get
581
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
582
+ body:
583
+ encoding: US-ASCII
584
+ string: ''
585
+ headers:
586
+ Accept:
587
+ - "*/*"
588
+ Accept-Encoding:
589
+ - gzip, deflate
590
+ User-Agent:
591
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
592
+ response:
593
+ status:
594
+ code: 200
595
+ message: OK
596
+ headers:
597
+ Content-Type:
598
+ - application/json
599
+ Date:
600
+ - Tue, 23 Apr 2019 13:49:50 GMT
601
+ Content-Length:
602
+ - '998'
603
+ body:
604
+ encoding: UTF-8
605
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688418","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":true,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
606
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
607
+
608
+ '
609
+ http_version:
610
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
611
+ - request:
612
+ method: get
613
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
614
+ body:
615
+ encoding: US-ASCII
616
+ string: ''
617
+ headers:
618
+ Accept:
619
+ - "*/*"
620
+ Accept-Encoding:
621
+ - gzip, deflate
622
+ User-Agent:
623
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
624
+ response:
625
+ status:
626
+ code: 200
627
+ message: OK
628
+ headers:
629
+ Content-Type:
630
+ - application/json
631
+ Date:
632
+ - Tue, 23 Apr 2019 13:49:50 GMT
633
+ Content-Length:
634
+ - '213'
635
+ body:
636
+ encoding: UTF-8
637
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
638
+
639
+ '
640
+ http_version:
641
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
642
+ - request:
643
+ method: put
644
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
645
+ body:
646
+ encoding: UTF-8
647
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688418","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
648
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}'
649
+ headers:
650
+ Accept:
651
+ - "*/*"
652
+ Accept-Encoding:
653
+ - gzip, deflate
654
+ User-Agent:
655
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
656
+ Content-Type:
657
+ - application/json
658
+ Content-Length:
659
+ - '998'
660
+ response:
661
+ status:
662
+ code: 200
663
+ message: OK
664
+ headers:
665
+ Content-Type:
666
+ - application/json
667
+ Date:
668
+ - Tue, 23 Apr 2019 13:49:50 GMT
669
+ Content-Length:
670
+ - '999'
671
+ body:
672
+ encoding: UTF-8
673
+ string: '{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"creationTimestamp":"2019-04-23T13:49:13Z","generation":1,"labels":{"kubevirt.io/vm":"vm-cirros"},"name":"vm-cirros","namespace":"default","resourceVersion":"688419","selfLink":"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros","uid":"9463663d-65ce-11e9-8a0c-525500d15501"},"spec":{"running":false,"template":{"metadata":{"creationTimestamp":null,"labels":{"kubevirt.io/vm":"vm-cirros"}},"spec":{"domain":{"devices":{"disks":[{"disk":{"bus":"virtio"},"name":"containerdisk"},{"disk":{"bus":"virtio"},"name":"cloudinitdisk"}]},"machine":{"type":""},"resources":{"requests":{"memory":"64M"}}},"terminationGracePeriodSeconds":0,"volumes":[{"containerDisk":{"image":"registry:5000/kubevirt/cirros-container-disk-demo:devel"},"name":"containerdisk"},{"cloudInitNoCloud":{"userData":"#!/bin/sh\n\necho
674
+ ''printed from cloud-init userdata''\n"},"name":"cloudinitdisk"}]}}},"status":{"created":true,"ready":true}}
675
+
676
+ '
677
+ http_version:
678
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
679
+ - request:
680
+ method: get
681
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
682
+ body:
683
+ encoding: US-ASCII
684
+ string: ''
685
+ headers:
686
+ Accept:
687
+ - "*/*"
688
+ Accept-Encoding:
689
+ - gzip, deflate
690
+ User-Agent:
691
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
692
+ response:
693
+ status:
694
+ code: 200
695
+ message: OK
696
+ headers:
697
+ Content-Type:
698
+ - application/json
699
+ Date:
700
+ - Tue, 23 Apr 2019 13:49:50 GMT
701
+ Content-Length:
702
+ - '213'
703
+ body:
704
+ encoding: UTF-8
705
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
706
+
707
+ '
708
+ http_version:
709
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
710
+ - request:
711
+ method: delete
712
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
713
+ body:
714
+ encoding: US-ASCII
715
+ string: ''
716
+ headers:
717
+ Accept:
718
+ - "*/*"
719
+ Accept-Encoding:
720
+ - gzip, deflate
721
+ User-Agent:
722
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
723
+ Content-Type:
724
+ - application/json
725
+ response:
726
+ status:
727
+ code: 200
728
+ message: OK
729
+ headers:
730
+ Content-Type:
731
+ - application/json
732
+ Date:
733
+ - Tue, 23 Apr 2019 13:49:50 GMT
734
+ Content-Length:
735
+ - '192'
736
+ body:
737
+ encoding: UTF-8
738
+ string: '{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Success","details":{"name":"vm-cirros","group":"kubevirt.io","kind":"virtualmachines","uid":"9463663d-65ce-11e9-8a0c-525500d15501"}}
739
+
740
+ '
741
+ http_version:
742
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
743
+ - request:
744
+ method: get
745
+ uri: https://10.8.254.82:8443/apis/kubevirt.io
746
+ body:
747
+ encoding: US-ASCII
748
+ string: ''
749
+ headers:
750
+ Accept:
751
+ - "*/*"
752
+ Accept-Encoding:
753
+ - gzip, deflate
754
+ User-Agent:
755
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
756
+ response:
757
+ status:
758
+ code: 200
759
+ message: OK
760
+ headers:
761
+ Content-Type:
762
+ - application/json
763
+ Date:
764
+ - Tue, 23 Apr 2019 13:49:50 GMT
765
+ Content-Length:
766
+ - '213'
767
+ body:
768
+ encoding: UTF-8
769
+ string: '{"kind":"APIGroup","apiVersion":"v1","name":"kubevirt.io","versions":[{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"kubevirt.io/v1alpha3","version":"v1alpha3"}}
770
+
771
+ '
772
+ http_version:
773
+ recorded_at: Tue, 23 Apr 2019 13:49:50 GMT
774
+ - request:
775
+ method: get
776
+ uri: https://10.8.254.82:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vm-cirros
777
+ body:
778
+ encoding: US-ASCII
779
+ string: ''
780
+ headers:
781
+ Accept:
782
+ - "*/*"
783
+ Accept-Encoding:
784
+ - gzip, deflate
785
+ User-Agent:
786
+ - rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105
787
+ response:
788
+ status:
789
+ code: 404
790
+ message: Not Found
791
+ headers:
792
+ Content-Type:
793
+ - application/json
794
+ Date:
795
+ - Tue, 23 Apr 2019 13:49:51 GMT
796
+ Content-Length:
797
+ - '242'
798
+ body:
799
+ encoding: UTF-8
800
+ string: '{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"virtualmachines.kubevirt.io
801
+ \"vm-cirros\" not found","reason":"NotFound","details":{"name":"vm-cirros","group":"kubevirt.io","kind":"virtualmachines"},"code":404}
802
+
803
+ '
804
+ http_version:
805
+ recorded_at: Tue, 23 Apr 2019 13:49:51 GMT
806
+ recorded_with: VCR 4.0.0