fog-kubevirt 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 394dc624c69b8bf42ce40a4bbc01215739f02af9
4
- data.tar.gz: 6b8b0f38edf9f2c82717752e11a4fb50666110a6
3
+ metadata.gz: 9d1fc639c608aa3c0bd89f32e9add52b726df21a
4
+ data.tar.gz: e4ac9e0849cd5804cb3bf21c0ba0dc31652bf8d0
5
5
  SHA512:
6
- metadata.gz: e4e382201cf05aed39177df9b0eb83007361ef195bb900819e2b15e415df21459b69dd75a604b337359b5153b3111dd5ff1ca3edb151c9b58a131ee07a4cb6ff
7
- data.tar.gz: 2f4b6871e21d29ef6cf75f051850cb7dfd22956153e5976806f81f1ad7ea7cb5b5b040e758ef1c458deec2543bd41c85ada9232d5f7db6141edaf37217b5cef3
6
+ metadata.gz: d84beb7ef3b1ed0a1c88ecfa08e064a85dbb4d9ae3ac3f60f81f7be8c9fc6415ada3a70d732f4def3ffc5a689fd1eba569e1322410a9a8c532b7d4bbe11d7a06
7
+ data.tar.gz: fa71d52ada8bbf8a397646c32a5b22c656cd40f0c8c4d44abc6396b4055163ed10896a5865cc105317149fdd8dd66c4a18f30caecc466d1713cfe369f8fb024b
@@ -520,16 +520,14 @@ module Fog
520
520
  class Mock
521
521
  include Shared
522
522
 
523
+ attr_accessor :namespace
523
524
  def initialize(options={})
525
+ @namespace = options[:namespace]
524
526
  end
525
527
 
526
- private
527
-
528
528
  def client
529
529
  return @client if defined?(@client)
530
530
  end
531
-
532
- # TODO provide mocking
533
531
  end
534
532
  end
535
533
  end
@@ -11,7 +11,7 @@ module Fog
11
11
  extend VmBase
12
12
  define_properties
13
13
 
14
- attribute :state, :aliases => 'phase'
14
+ attribute :phase
15
15
  attribute :ip_address
16
16
  attribute :node_name
17
17
 
@@ -23,12 +23,12 @@ module Fog
23
23
  # TODO: Once IP Addresses are reported to any networks, we should consider also
24
24
  # the availabity of it (by extending the condition with !ip_address.empty?)
25
25
  def ready?
26
- running?(status) && running?(state)
26
+ running?(status) && running?(phase)
27
27
  end
28
28
 
29
29
  def self.parse(object)
30
30
  server = parse_object(object)
31
- server[:state] = object[:phase]
31
+ server[:phase] = object[:phase]
32
32
  server[:node_name] = object[:node_name]
33
33
  server[:ip_address] = object[:ip_address]
34
34
  server
@@ -11,7 +11,92 @@ module Fog
11
11
  end
12
12
 
13
13
  class Mock
14
- def create_pvc(attrs); end
14
+ def create_pvc(attrs)
15
+ attrs_set_1g = {:apiVersion=>"v1",
16
+ :kind=>"PersistentVolumeClaim",
17
+ :metadata=>{:name=>"robin-rykert-example-com-claim-1",
18
+ :namespace=>"default"},
19
+ :spec=>{:storageClassName=>"local-storage",
20
+ :resources=>{:requests=>{:storage=>"1G"}},
21
+ :selector=>{},
22
+ :accessModes=>["ReadWriteOnce"]}}
23
+ if attrs == attrs_set_1g
24
+ result = Kubeclient::Resource.new
25
+ result.kind = "PersistentVolumeClaim"
26
+ result.apiVersion="v1"
27
+ result.metadata = {:name=>"robin-rykert-example-com-claim-1",
28
+ :namespace=>"default",
29
+ :selfLink=>"/api/v1/namespaces/default/persistentvolumeclaims/robin-rykert-example-com-claim-1",
30
+ :uid=>"00a7e1d7-5875-11e9-9132-525400c5a686",
31
+ :resourceVersion=>"1020273",
32
+ :creationTimestamp=>"2019-04-06T14:05:15Z"}
33
+ result.spec = {:accessModes=>["ReadWriteOnce"],
34
+ :selector=>{},
35
+ :resources=>{:requests=>{:storage=>"1G"}},
36
+ :storageClassName=>"local-storage",
37
+ :volumeMode=>"Filesystem",
38
+ :dataSource=>nil}
39
+ result.status = {:phase=>"Pending"}
40
+ return result
41
+ end
42
+
43
+ attrs_set_2g = {:apiVersion=>"v1",
44
+ :kind=>"PersistentVolumeClaim",
45
+ :metadata=>{:name=>"robin-rykert-example-com-claim-2",
46
+ :namespace=>"default"},
47
+ :spec=>{:storageClassName=>"local-storage",
48
+ :resources=>{:requests=>{:storage=>"2G"}},
49
+ :selector=>{},
50
+ :accessModes=>["ReadWriteOnce"]}}
51
+ if attrs == attrs_set_2g
52
+ result = Kubeclient::Resource.new
53
+ result.kind="PersistentVolumeClaim"
54
+ result.apiVersion="v1"
55
+ result.metadata = {:name=>"robin-rykert-example-com-claim-2",
56
+ :namespace=>"default",
57
+ :selfLink=>"/api/v1/namespaces/default/persistentvolumeclaims/robin-rykert-example-com-claim-2",
58
+ :uid=>"00aa08ba-5875-11e9-9132-525400c5a686",
59
+ :resourceVersion=>"1020274",
60
+ :creationTimestamp=>"2019-04-06T14:05:15Z"}
61
+ result.spec = {:accessModes=>["ReadWriteOnce"],
62
+ :selector=>{},
63
+ :resources=>{:requests=>{:storage=>"2G"}},
64
+ :storageClassName=>"local-storage",
65
+ :volumeMode=>"Filesystem",
66
+ :dataSource=>nil}
67
+ result.status = {:phase=>"Pending"}
68
+ return result
69
+ end
70
+
71
+ attrs_set_1g_image = {:apiVersion=>"v1",
72
+ :kind=>"PersistentVolumeClaim",
73
+ :metadata=>{:name=>"olive-kempter-example-com-claim-1",
74
+ :namespace=>"default"},
75
+ :spec=>{:storageClassName=>"local-storage",
76
+ :resources=>{:requests=>{:storage=>"1G"}},
77
+ :selector=>{},
78
+ :accessModes=>["ReadWriteOnce"]}}
79
+
80
+ if attrs == attrs_set_1g_image
81
+ result = Kubeclient::Resource.new
82
+ result.kind="PersistentVolumeClaim"
83
+ result.apiVersion="v1"
84
+ result.metadata={:name=>"olive-kempter-example-com-claim-1",
85
+ :namespace=>"default",
86
+ :selfLink=>"/api/v1/namespaces/default/persistentvolumeclaims/olive-kempter-example-com-claim-1",
87
+ :uid=>"d4d63298-5945-11e9-9132-525400c5a686",
88
+ :resourceVersion=>"1075554",
89
+ :creationTimestamp=>"2019-04-07T15:00:06Z"}
90
+ result.spec={:accessModes=>["ReadWriteOnce"],
91
+ :selector=>{},
92
+ :resources=>{:requests=>{:storage=>"1G"}},
93
+ :storageClassName=>"local-storage",
94
+ :volumeMode=>"Filesystem",
95
+ :dataSource=>nil}
96
+ result.status={:phase=>"Pending"}
97
+ result
98
+ end
99
+ end
15
100
  end
16
101
  end
17
102
  end
@@ -13,7 +13,128 @@ module Fog
13
13
  end
14
14
 
15
15
  class Mock
16
- def create_vm(vm); end
16
+ def create_vm(vm)
17
+ args_network_based ={:kind=>"VirtualMachine",
18
+ :metadata=>{:labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"},
19
+ :name=>"robin-rykert.example.com",
20
+ :namespace=>"default"},
21
+ :spec=>{:running=>false,
22
+ :template=>{:metadata=>{:creationTimestamp=>nil,
23
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"}},
24
+ :spec=>{:domain=>{:devices=>{:disks=>[{:name=>"robin-rykert-example-com-disk-00",
25
+ :disk=>{:bus=>"virtio"}},
26
+ {:name=>"robin-rykert-example-com-disk-01",
27
+ :disk=>{:bus=>"virtio"}}],
28
+ :interfaces=>[{:bridge=>{},
29
+ :name=>"ovs-foreman",
30
+ :bootOrder=>1,
31
+ :macAddress=>"a2:b4:a2:b6:a2:a8"}]},
32
+ :machine=>{:type=>""},
33
+ :resources=>{:requests=>{:memory=>"1024M"}},
34
+ :cpu=>{:cores=>1}},
35
+ :terminationGracePeriodSeconds=>0,
36
+ :volumes=>[{:name=>"robin-rykert-example-com-disk-00",
37
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-1"}},
38
+ {:name=>"robin-rykert-example-com-disk-01",
39
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-2"}}],
40
+ :networks=>[{:name=>"ovs-foreman",
41
+ :multus=>{:networkName=>"ovs-foreman"}}]}}}}
42
+ if vm == args_network_based
43
+ result = Kubeclient::Resource.new
44
+ result.apiVersion="kubevirt.io/v1alpha3"
45
+ result.kind="VirtualMachine"
46
+ result.metadata={:creationTimestamp=>"2019-04-06T14:05:15Z",
47
+ :generation=>1,
48
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"},
49
+ :name=>"robin-rykert.example.com",
50
+ :namespace=>"default",
51
+ :resourceVersion=>"1020275",
52
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/robin-rykert.example.com",
53
+ :uid=>"00ae63ee-5875-11e9-9132-525400c5a686"}
54
+ result.spec={:running=>false,
55
+ :template=>{:metadata=>{:creationTimestamp=>nil,
56
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"}},
57
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
58
+ :devices=>{:disks=>[{:disk=>{:bus=>"virtio"},
59
+ :name=>"robin-rykert-example-com-disk-00"},
60
+ {:disk=>{:bus=>"virtio"},
61
+ :name=>"robin-rykert-example-com-disk-01"}],
62
+ :interfaces=>[{:bootOrder=>1,
63
+ :bridge=>{},
64
+ :macAddress=>"a2:b4:a2:b6:a2:a8",
65
+ :name=>"ovs-foreman"}]},
66
+ :machine=>{:type=>""},
67
+ :resources=>{:requests=>{:memory=>"1024M"}}},
68
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
69
+ :name=>"ovs-foreman"}],
70
+ :terminationGracePeriodSeconds=>0,
71
+ :volumes=>[{:name=>"robin-rykert-example-com-disk-00",
72
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-1"}},
73
+ {:name=>"robin-rykert-example-com-disk-01",
74
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-2"}}]}}}
75
+ return result
76
+ end
77
+
78
+ args_image_based = {:kind=>"VirtualMachine",
79
+ :metadata=>{:labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"},
80
+ :name=>"olive-kempter.example.com",
81
+ :namespace=>"default"},
82
+ :spec=>{:running=>false,
83
+ :template=>{:metadata=>{:creationTimestamp=>nil,
84
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"}},
85
+ :spec=>{:domain=>{:devices=>{:disks=>[{:name=>"olive-kempter-example-com-disk-00",
86
+ :disk=>{:bus=>"virtio"},
87
+ :bootOrder=>1},
88
+ {:name=>"olive-kempter-example-com-disk-01",
89
+ :disk=>{:bus=>"virtio"}}],
90
+ :interfaces=>[{:bridge=>{},
91
+ :name=>"ovs-foreman",
92
+ :macAddress=>"a2:a4:a2:b2:a2:b6"}]},
93
+ :machine=>{:type=>""},
94
+ :resources=>{:requests=>{:memory=>"1024M"}},
95
+ :cpu=>{:cores=>1}},
96
+ :terminationGracePeriodSeconds=>0,
97
+ :volumes=>[{:name=>"olive-kempter-example-com-disk-00",
98
+ :containerDisk=>{:image=>"kubevirt/fedora-cloud-registry-disk-demo"}},
99
+ {:name=>"olive-kempter-example-com-disk-01",
100
+ :persistentVolumeClaim=>{:claimName=>"olive-kempter-example-com-claim-1"}}],
101
+ :networks=>[{:name=>"ovs-foreman",
102
+ :multus=>{:networkName=>"ovs-foreman"}}]}}}}
103
+ if vm == args_image_based
104
+ result = Kubeclient::Resource.new
105
+ result.apiVersion="kubevirt.io/v1alpha3"
106
+ result.kind = "VirtualMachine"
107
+ result.metadata={:creationTimestamp=>"2019-04-07T15:00:07Z",
108
+ :generation=>1,
109
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"},
110
+ :name=>"olive-kempter.example.com",
111
+ :namespace=>"default",
112
+ :resourceVersion=>"1075555",
113
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/olive-kempter.example.com",
114
+ :uid=>"d4dba9e4-5945-11e9-9132-525400c5a686"},
115
+ result.spec={:running=>false,
116
+ :template=>{:metadata=>{:creationTimestamp=>nil,
117
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"}},
118
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
119
+ :devices=>{:disks=>[{:bootOrder=>1,
120
+ :disk=>{:bus=>"virtio"},
121
+ :name=>"olive-kempter-example-com-disk-00"},
122
+ {:disk=>{:bus=>"virtio"},
123
+ :name=>"olive-kempter-example-com-disk-01"}],
124
+ :interfaces=>[{:bridge=>{},
125
+ :macAddress=>"a2:a4:a2:b2:a2:b6",
126
+ :name=>"ovs-foreman"}]},
127
+ :machine=>{:type=>""},
128
+ :resources=>{:requests=>{:memory=>"1024M"}}},
129
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
130
+ :name=>"ovs-foreman"}],
131
+ :terminationGracePeriodSeconds=>0,
132
+ :volumes=>[{:containerDisk=>{:image=>"kubevirt/fedora-cloud-registry-disk-demo"},
133
+ :name=>"olive-kempter-example-com-disk-00"},
134
+ {:name=>"olive-kempter-example-com-disk-01",
135
+ :persistentVolumeClaim=>{:claimName=>"olive-kempter-example-com-claim-1"}}]}}}
136
+ end
137
+ end
17
138
  end
18
139
  end
19
140
  end
@@ -23,8 +23,99 @@ module Fog
23
23
  end
24
24
 
25
25
  class Mock
26
- # TODO provide implementation
26
+ def volume(name: "", type: "persistentVolumeClaim", info: "", pvc: nil, config: {}, boot_order: nil, bus: nil)
27
+ volume = Fog::Kubevirt::Compute::Volume.new
28
+ volume.name = name
29
+ volume.type = type
30
+ volume.info = info
31
+ volume.pvc = pvc
32
+ volume.config = config
33
+ volume.boot_order = boot_order
34
+ volume.bus = bus
35
+ volume
36
+ end
37
+
38
+ def disk(name: "", boot_order: nil, type: "disk", bus: "virtio", readonly: nil)
39
+ disk = Fog::Kubevirt::Compute::VmData::VmDisk.new
40
+ disk.name = name
41
+ disk.boot_order = boot_order
42
+ disk.type = type
43
+ disk.bus = bus
44
+ disk.readonly = readonly
45
+ disk
46
+ end
47
+
48
+ def vm_nic(mac_address: "")
49
+ vm_nic = Fog::Kubevirt::Compute::VmNic.new
50
+ vm_nic.mac_address = mac_address
51
+ vm_nic.type = "bridge"
52
+ vm_nic.model = nil
53
+ vm_nic.ports = nil
54
+ vm_nic.boot_order = nil
55
+ end
56
+
27
57
  def get_server(name)
58
+ if name == "robin-rykert.example.com"
59
+ disk1 = disk(name: "robin-rykert-example-com-disk-00", boot_order: nil,type: "disk", bus: "virtio", readonly: nil)
60
+ disk2 = disk(name: "robin-rykert-example-com-disk-01", boot_order: nil,type: "disk", bus: "virtio", readonly: nil)
61
+
62
+ volume1 = volume(name: "robin-rykert-example-com-disk-00", type: "persistentVolumeClaim", info: "robin-rykert-example-com-claim-1",
63
+ pvc: nil, config: {:claimName=>"robin-rykert-example-com-claim-1"}, boot_order: nil, bus: "virtio")
64
+ volume2 = volume(name: "robin-rykert-example-com-disk-01", type: "persistentVolumeClaim", info: "robin-rykert-example-com-claim-2",
65
+ pvc: nil, config: {:claimName=>"robin-rykert-example-com-claim-2"}, boot_order: nil, bus: "virtio")
66
+
67
+ vm_network = Fog::Kubevirt::Compute::VmData::VmNetwork.new
68
+ vm_network.name="ovs-foreman"
69
+ vm_network.type="multus"
70
+
71
+ return {
72
+ :namespace=>"default",
73
+ :name=>"robin-rykert.example.com",
74
+ :resource_version=>"1020275",
75
+ :uid=>"00ae63ee-5875-11e9-9132-525400c5a686",
76
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"},
77
+ :disks=>[disk1, disk2],
78
+ :volumes=>[volume1, volume2],
79
+ :status=>"stopped",
80
+ :interfaces=>[vm_nic(mac_address: "a2:b4:a2:b6:a2:a8")],
81
+ :networks=>[vm_network],
82
+ :machine_type=>"",
83
+ :cpu_cores=>1,
84
+ :memory=>"1024M",
85
+ :state=>nil,
86
+ :node_name=>nil,
87
+ :ip_address=>nil
88
+ }
89
+ end
90
+
91
+ if name == "olive-kempter.example.com"
92
+ disk1 = disk(name: "olive-kempter-example-com-disk-00", boot_order: nil,type: "disk", bus: "virtio", readonly: nil)
93
+ disk2 = disk(name: "olive-kempter-example-com-disk-01", boot_order: nil,type: "disk", bus: "virtio", readonly: nil)
94
+ volume1 = volume(name: "olive-kempter-example-com-disk-00", type: "containerDisk", info: "kubevirt/fedora-cloud-registry-disk-demo",
95
+ pvc: nil, config: {:image=>"kubevirt/fedora-cloud-registry-disk-demo"}, boot_order: nil, bus: "virtio")
96
+ volume2 = volume(name: "olive-kempter-example-com-disk-01", type: "containerDisk", info: "olive-kempter-example-com-claim-1",
97
+ pvc: nil, config: {:claimName=>"olive-kempter-example-com-claim-1"}, boot_order: nil, bus: "virtio")
98
+ return {
99
+ :namespace => "default",
100
+ :name =>"olive-kempter.example.com",
101
+ :resource_version => "1075555",
102
+ :uid => "d4dba9e4-5945-11e9-9132-525400c5a686",
103
+ :labels => {:"kubevirt.io/vm"=>"olive-kempter.example.com"},
104
+ :disks => [disk1, disk2],
105
+ :volumes => [ volume1, volume2],
106
+ :status => "stopped",
107
+ :interfaces => [vm_nic(mac_address: "a2:a4:a2:b2:a2:b6")],
108
+ :networks => [vm_network],
109
+ :machine_type => "",
110
+ :cpu_cores => 1,
111
+ :memory => "1024M",
112
+ :state => nil,
113
+ :node_name => nil,
114
+ :ip_address => nil
115
+ }
116
+ end
117
+
118
+ raise ::Fog::Kubevirt::Errors::ClientError, "HTTP status code 404, virtualmachines.kubevirt.io \"#{name}\" not found for GET"
28
119
  end
29
120
  end
30
121
  end
@@ -12,8 +12,17 @@ module Fog
12
12
  end
13
13
 
14
14
  class Mock
15
- # TODO provide implementation
16
15
  def list_networkattachmentdefs(_filters = {})
16
+ if _filters == {}
17
+ EntityCollection.new("NetworkAttachmentDefinition", "1080",
18
+ [{:namespace=>"default",
19
+ :name=>"ovs-foreman",
20
+ :resource_version=>"1080",
21
+ :uid=>"0e35b868-2464-11e9-93b4-525400c5a686",
22
+ :config=>"{ \"cniVersion\": \"0.3.1\",\"type\": \"ovs\",\"bridge\": \"foreman\" }"
23
+ }]
24
+ )
25
+ end
17
26
  end
18
27
  end
19
28
  end
@@ -15,6 +15,18 @@ module Fog
15
15
 
16
16
  class Mock
17
17
  def list_storageclasses(_filters = {})
18
+ if _filters == {}
19
+ [{
20
+ :name=>"local-storage",
21
+ :resource_version=>"775504",
22
+ :uid=>"c930bca9-5471-11e9-9132-525400c5a686",
23
+ :parameters=>nil,
24
+ :mount_options=>nil,
25
+ :provisioner=>"kubernetes.io/no-provisioner",
26
+ :reclaim_policy=>"Delete",
27
+ :volume_binding_mode=>"WaitForFirstConsumer"
28
+ }]
29
+ end
18
30
  end
19
31
  end
20
32
  end
@@ -8,8 +8,142 @@ module Fog
8
8
  end
9
9
 
10
10
  class Mock
11
- def update_vm(update)
12
- end
11
+ def update_vm(update)
12
+ update_args = {:apiVersion=>"kubevirt.io/v1alpha3",
13
+ :kind=>"VirtualMachine",
14
+ :metadata=>{:creationTimestamp=>"2019-04-06T14:05:15Z",
15
+ :generation=>1,
16
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"},
17
+ :name=>"robin-rykert.example.com",
18
+ :namespace=>"default",
19
+ :resourceVersion=>"1020275",
20
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/robin-rykert.example.com",
21
+ :uid=>"00ae63ee-5875-11e9-9132-525400c5a686"},
22
+ :spec=>{:running=>true,
23
+ :template=>{:metadata=>{:creationTimestamp=>nil,
24
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"}},
25
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
26
+ :devices=>{:disks=>[{:disk=>{:bus=>"virtio"},
27
+ :name=>"robin-rykert-example-com-disk-00"},
28
+ {:disk=>{:bus=>"virtio"},
29
+ :name=>"robin-rykert-example-com-disk-01"}],
30
+ :interfaces=>[{:bootOrder=>1,
31
+ :bridge=>{},
32
+ :macAddress=>"a2:b4:a2:b6:a2:a8",
33
+ :name=>"ovs-foreman"}]},
34
+ :machine=>{:type=>""},
35
+ :resources=>{:requests=>{:memory=>"1024M"}}},
36
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
37
+ :name=>"ovs-foreman"}],
38
+ :terminationGracePeriodSeconds=>0,
39
+ :volumes=>[{:name=>"robin-rykert-example-com-disk-00",
40
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-1"}},
41
+ {:name=>"robin-rykert-example-com-disk-01",
42
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-2"}}]}}}}
43
+ if update == update_args
44
+ result = Kubeclient::Resource.new
45
+ result.apiVersion="kubevirt.io/v1alpha3"
46
+ result.kind="VirtualMachine"
47
+ result.metadata={:creationTimestamp=>"2019-04-06T14:05:15Z",
48
+ :generation=>2,
49
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"},
50
+ :name=>"robin-rykert.example.com",
51
+ :namespace=>"default",
52
+ :resourceVersion=>"1020276",
53
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/robin-rykert.example.com",
54
+ :uid=>"00ae63ee-5875-11e9-9132-525400c5a686"}
55
+ result.spec={:running=>true,
56
+ :template=>{:metadata=>{:creationTimestamp=>nil,
57
+ :labels=>{:"kubevirt.io/vm"=>"robin-rykert.example.com"}},
58
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
59
+ :devices=>{:disks=>[{:disk=>{:bus=>"virtio"},
60
+ :name=>"robin-rykert-example-com-disk-00"},
61
+ {:disk=>{:bus=>"virtio"},
62
+ :name=>"robin-rykert-example-com-disk-01"}],
63
+ :interfaces=>[{:bootOrder=>1,
64
+ :bridge=>{},
65
+ :macAddress=>"a2:b4:a2:b6:a2:a8",
66
+ :name=>"ovs-foreman"}]},
67
+ :machine=>{:type=>""},
68
+ :resources=>{:requests=>{:memory=>"1024M"}}},
69
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
70
+ :name=>"ovs-foreman"}],
71
+ :terminationGracePeriodSeconds=>0,
72
+ :volumes=>[{:name=>"robin-rykert-example-com-disk-00",
73
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-1"}},
74
+ {:name=>"robin-rykert-example-com-disk-01",
75
+ :persistentVolumeClaim=>{:claimName=>"robin-rykert-example-com-claim-2"}}]}}}
76
+ return result
77
+ end
78
+
79
+ update_args_olive = {:apiVersion=>"kubevirt.io/v1alpha3",
80
+ :kind=>"VirtualMachine",
81
+ :metadata=>{:creationTimestamp=>"2019-04-07T15:00:07Z",
82
+ :generation=>1,
83
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"},
84
+ :name=>"olive-kempter.example.com",
85
+ :namespace=>"default",
86
+ :resourceVersion=>"1075555",
87
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/olive-kempter.example.com",
88
+ :uid=>"d4dba9e4-5945-11e9-9132-525400c5a686"},
89
+ :spec=>{:running=>true,
90
+ :template=>{:metadata=>{:creationTimestamp=>nil,
91
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"}},
92
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
93
+ :devices=>{:disks=>[{:bootOrder=>1,
94
+ :disk=>{:bus=>"virtio"},
95
+ :name=>"olive-kempter-example-com-disk-00"},
96
+ {:disk=>{:bus=>"virtio"},
97
+ :name=>"olive-kempter-example-com-disk-01"}],
98
+ :interfaces=>[{:bridge=>{},
99
+ :macAddress=>"a2:a4:a2:b2:a2:b6",
100
+ :name=>"ovs-foreman"}]},
101
+ :machine=>{:type=>""},
102
+ :resources=>{:requests=>{:memory=>"1024M"}}},
103
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
104
+ :name=>"ovs-foreman"}],
105
+ :terminationGracePeriodSeconds=>0,
106
+ :volumes=>[{:containerDisk=>{:image=>"kubevirt/fedora-cloud-registry-disk-demo"},
107
+ :name=>"olive-kempter-example-com-disk-00"},
108
+ {:name=>"olive-kempter-example-com-disk-01",
109
+ :persistentVolumeClaim=>{:claimName=>"olive-kempter-example-com-claim-1"}}]}}}}
110
+
111
+ if update == update_args_olive
112
+ result = Kubeclient::Resource.new
113
+ result.apiVersion="kubevirt.io/v1alpha3"
114
+ result.kind="VirtualMachine"
115
+ result.metadata={:creationTimestamp=>"2019-04-07T15:00:07Z",
116
+ :generation=>2,
117
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"},
118
+ :name=>"olive-kempter.example.com",
119
+ :namespace=>"default",
120
+ :resourceVersion=>"1075556",
121
+ :selfLink=>"/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/olive-kempter.example.com",
122
+ :uid=>"d4dba9e4-5945-11e9-9132-525400c5a686"}
123
+ result.spec={:running=>true,
124
+ :template=>{:metadata=>{:creationTimestamp=>nil,
125
+ :labels=>{:"kubevirt.io/vm"=>"olive-kempter.example.com"}},
126
+ :spec=>{:domain=>{:cpu=>{:cores=>1},
127
+ :devices=>{:disks=>[{:bootOrder=>1,
128
+ :disk=>{:bus=>"virtio"},
129
+ :name=>"olive-kempter-example-com-disk-00"},
130
+ {:disk=>{:bus=>"virtio"},
131
+ :name=>"olive-kempter-example-com-disk-01"}],
132
+ :interfaces=>[{:bridge=>{},
133
+ :macAddress=>"a2:a4:a2:b2:a2:b6",
134
+ :name=>"ovs-foreman"}]},
135
+ :machine=>{:type=>""},
136
+ :resources=>{:requests=>{:memory=>"1024M"}}},
137
+ :networks=>[{:multus=>{:networkName=>"ovs-foreman"},
138
+ :name=>"ovs-foreman"}],
139
+ :terminationGracePeriodSeconds=>0,
140
+ :volumes=>[{:containerDisk=>{:image=>"kubevirt/fedora-cloud-registry-disk-demo"},
141
+ :name=>"olive-kempter-example-com-disk-00"},
142
+ {:name=>"olive-kempter-example-com-disk-01",
143
+ :persistentVolumeClaim=>{:claimName=>"olive-kempter-example-com-claim-1"}}]}}}
144
+ return result
145
+ end
146
+ end
13
147
  end
14
148
  end
15
149
  end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Kubevirt
3
- VERSION = '1.1.3'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-kubevirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Kliczewski
@@ -9,11 +9,12 @@ authors:
9
9
  - Paulo Ribeiro
10
10
  - Gilles Dubreuil
11
11
  - Adam Grare
12
+ - Boris Odnopozov
12
13
  - Wesley Beary
13
14
  autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
- date: 2019-04-05 00:00:00.000000000 Z
17
+ date: 2019-04-08 00:00:00.000000000 Z
17
18
  dependencies:
18
19
  - !ruby/object:Gem::Dependency
19
20
  name: minitest
@@ -134,6 +135,7 @@ email:
134
135
  - plribeiro3000@gmail.com
135
136
  - gilles@redhat.com
136
137
  - agrare@redhat.com
138
+ - bodnopoz@redhat.com
137
139
  - geemus@gmail.com
138
140
  executables: []
139
141
  extensions: []