fog 1.41.0 → 1.42.0

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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/Rakefile +0 -3
  4. data/fog.gemspec +5 -6
  5. data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +1 -1
  6. data/lib/fog/version.rb +1 -1
  7. data/lib/tasks/changelog_task.rb +2 -1
  8. data/lib/tasks/github_release_task.rb +1 -1
  9. data/tests/helpers/mock_helper.rb +0 -3
  10. metadata +19 -135
  11. data/lib/fog/bin/ovirt.rb +0 -28
  12. data/lib/fog/ovirt/compute.rb +0 -155
  13. data/lib/fog/ovirt/core.rb +0 -16
  14. data/lib/fog/ovirt/models/compute/affinity_group.rb +0 -25
  15. data/lib/fog/ovirt/models/compute/affinity_groups.rb +0 -20
  16. data/lib/fog/ovirt/models/compute/cluster.rb +0 -20
  17. data/lib/fog/ovirt/models/compute/clusters.rb +0 -20
  18. data/lib/fog/ovirt/models/compute/instance_type.rb +0 -39
  19. data/lib/fog/ovirt/models/compute/instance_types.rb +0 -20
  20. data/lib/fog/ovirt/models/compute/interface.rb +0 -19
  21. data/lib/fog/ovirt/models/compute/interfaces.rb +0 -29
  22. data/lib/fog/ovirt/models/compute/quota.rb +0 -16
  23. data/lib/fog/ovirt/models/compute/quotas.rb +0 -20
  24. data/lib/fog/ovirt/models/compute/server.rb +0 -175
  25. data/lib/fog/ovirt/models/compute/servers.rb +0 -27
  26. data/lib/fog/ovirt/models/compute/template.rb +0 -58
  27. data/lib/fog/ovirt/models/compute/templates.rb +0 -20
  28. data/lib/fog/ovirt/models/compute/volume.rb +0 -36
  29. data/lib/fog/ovirt/models/compute/volumes.rb +0 -28
  30. data/lib/fog/ovirt/requests/compute/add_interface.rb +0 -20
  31. data/lib/fog/ovirt/requests/compute/add_to_affinity_group.rb +0 -21
  32. data/lib/fog/ovirt/requests/compute/add_volume.rb +0 -21
  33. data/lib/fog/ovirt/requests/compute/attach_volume.rb +0 -22
  34. data/lib/fog/ovirt/requests/compute/create_affinity_group.rb +0 -18
  35. data/lib/fog/ovirt/requests/compute/create_vm.rb +0 -18
  36. data/lib/fog/ovirt/requests/compute/datacenters.rb +0 -20
  37. data/lib/fog/ovirt/requests/compute/destroy_affinity_group.rb +0 -19
  38. data/lib/fog/ovirt/requests/compute/destroy_interface.rb +0 -22
  39. data/lib/fog/ovirt/requests/compute/destroy_vm.rb +0 -19
  40. data/lib/fog/ovirt/requests/compute/destroy_volume.rb +0 -22
  41. data/lib/fog/ovirt/requests/compute/detach_volume.rb +0 -22
  42. data/lib/fog/ovirt/requests/compute/get_affinity_group.rb +0 -18
  43. data/lib/fog/ovirt/requests/compute/get_api_version.rb +0 -16
  44. data/lib/fog/ovirt/requests/compute/get_cluster.rb +0 -17
  45. data/lib/fog/ovirt/requests/compute/get_instance_type.rb +0 -17
  46. data/lib/fog/ovirt/requests/compute/get_quota.rb +0 -17
  47. data/lib/fog/ovirt/requests/compute/get_template.rb +0 -17
  48. data/lib/fog/ovirt/requests/compute/get_virtual_machine.rb +0 -17
  49. data/lib/fog/ovirt/requests/compute/list_affinity_group_vms.rb +0 -22
  50. data/lib/fog/ovirt/requests/compute/list_affinity_groups.rb +0 -20
  51. data/lib/fog/ovirt/requests/compute/list_clusters.rb +0 -19
  52. data/lib/fog/ovirt/requests/compute/list_instance_types.rb +0 -19
  53. data/lib/fog/ovirt/requests/compute/list_networks.rb +0 -16
  54. data/lib/fog/ovirt/requests/compute/list_quotas.rb +0 -19
  55. data/lib/fog/ovirt/requests/compute/list_template_interfaces.rb +0 -19
  56. data/lib/fog/ovirt/requests/compute/list_template_volumes.rb +0 -19
  57. data/lib/fog/ovirt/requests/compute/list_templates.rb +0 -19
  58. data/lib/fog/ovirt/requests/compute/list_virtual_machines.rb +0 -19
  59. data/lib/fog/ovirt/requests/compute/list_vm_interfaces.rb +0 -19
  60. data/lib/fog/ovirt/requests/compute/list_vm_volumes.rb +0 -19
  61. data/lib/fog/ovirt/requests/compute/list_volumes.rb +0 -19
  62. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup.xml +0 -8
  63. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup_vms.xml +0 -9
  64. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroups.xml +0 -17
  65. data/lib/fog/ovirt/requests/compute/mock_files/cluster.xml +0 -20
  66. data/lib/fog/ovirt/requests/compute/mock_files/clusters.xml +0 -39
  67. data/lib/fog/ovirt/requests/compute/mock_files/data_centers.xml +0 -17
  68. data/lib/fog/ovirt/requests/compute/mock_files/disks.xml +0 -58
  69. data/lib/fog/ovirt/requests/compute/mock_files/instance_type.xml +0 -42
  70. data/lib/fog/ovirt/requests/compute/mock_files/instance_types.xml +0 -197
  71. data/lib/fog/ovirt/requests/compute/mock_files/nics.xml +0 -10
  72. data/lib/fog/ovirt/requests/compute/mock_files/quotas.xml +0 -7
  73. data/lib/fog/ovirt/requests/compute/mock_files/storage_domains.xml +0 -36
  74. data/lib/fog/ovirt/requests/compute/mock_files/template.xml +0 -39
  75. data/lib/fog/ovirt/requests/compute/mock_files/templates.xml +0 -110
  76. data/lib/fog/ovirt/requests/compute/mock_files/vm.xml +0 -52
  77. data/lib/fog/ovirt/requests/compute/mock_files/vms.xml +0 -152
  78. data/lib/fog/ovirt/requests/compute/mock_files/volumes.xml +0 -40
  79. data/lib/fog/ovirt/requests/compute/remove_from_affinity_group.rb +0 -21
  80. data/lib/fog/ovirt/requests/compute/storage_domains.rb +0 -20
  81. data/lib/fog/ovirt/requests/compute/update_interface.rb +0 -35
  82. data/lib/fog/ovirt/requests/compute/update_vm.rb +0 -18
  83. data/lib/fog/ovirt/requests/compute/update_volume.rb +0 -39
  84. data/lib/fog/ovirt/requests/compute/vm_action.rb +0 -22
  85. data/lib/fog/ovirt/requests/compute/vm_start_with_cloudinit.rb +0 -19
  86. data/lib/fog/ovirt/requests/compute/vm_ticket.rb +0 -17
  87. data/spec/fog/bin/ovirt_spec.rb +0 -10
  88. data/tests/ovirt/compute_tests.rb +0 -25
  89. data/tests/ovirt/models/compute/cluster_tests.rb +0 -31
  90. data/tests/ovirt/models/compute/clusters_tests.rb +0 -9
  91. data/tests/ovirt/models/compute/interface_tests.rb +0 -27
  92. data/tests/ovirt/models/compute/interfaces_tests.rb +0 -9
  93. data/tests/ovirt/models/compute/server_tests.rb +0 -51
  94. data/tests/ovirt/models/compute/servers_tests.rb +0 -14
  95. data/tests/ovirt/models/compute/template_tests.rb +0 -28
  96. data/tests/ovirt/models/compute/templates_tests.rb +0 -9
  97. data/tests/ovirt/requests/compute/create_vm_tests.rb +0 -26
  98. data/tests/ovirt/requests/compute/destroy_vm_tests.rb +0 -18
  99. data/tests/ovirt/requests/compute/list_datacenters_tests.rb +0 -13
  100. data/tests/ovirt/requests/compute/list_quotas_tests.rb +0 -12
  101. data/tests/ovirt/requests/compute/list_storage_domains_tests.rb +0 -13
  102. data/tests/ovirt/requests/compute/update_vm_tests.rb +0 -18
  103. data/tests/ovirt/requests/compute/update_volume_tests.rb +0 -20
@@ -1,16 +0,0 @@
1
- require 'fog/core'
2
- require 'fog/xml'
3
-
4
- module Fog
5
- module Ovirt
6
- extend Fog::Provider
7
-
8
- module Errors
9
- class ServiceError < Fog::Errors::Error; end
10
- class SecurityError < ServiceError; end
11
- class NotFound < ServiceError; end
12
- end
13
-
14
- service(:compute, 'Compute')
15
- end
16
- end
@@ -1,25 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Ovirt
4
- class AffinityGroup < Fog::Model
5
- identity :id
6
-
7
- attribute :name
8
- attribute :positive
9
- attribute :enforcing
10
-
11
- def vms
12
- id.nil? ? [] : service.list_affinity_group_vms(id)
13
- end
14
-
15
- def destroy
16
- service.destroy_affinity_group(id)
17
- end
18
-
19
- def to_s
20
- name
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,20 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/affinity_group'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class AffinityGroups < Fog::Collection
8
- model Fog::Compute::Ovirt::AffinityGroup
9
-
10
- def all(filters = {})
11
- load service.list_affinity_groups(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_affinity_group(id)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Ovirt
4
- class Cluster < Fog::Model
5
- identity :id
6
-
7
- attribute :name
8
- attribute :raw
9
-
10
- def networks
11
- service.list_networks(id)
12
- end
13
-
14
- def to_s
15
- name
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/cluster'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class Clusters < Fog::Collection
8
- model Fog::Compute::Ovirt::Cluster
9
-
10
- def all(filters = {})
11
- load service.list_clusters(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_cluster(id)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,39 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Ovirt
4
- class InstanceType < Fog::Model
5
- identity :id
6
-
7
- attr_accessor :raw
8
-
9
- attribute :name
10
- attribute :description
11
- attribute :memory
12
- attribute :cores
13
- attribute :creation_time
14
- attribute :os
15
- attribute :ha
16
- attribute :ha_priority
17
- attribute :display
18
- attribute :usb
19
- attribute :migration_downtime
20
- attribute :type
21
- attribute :status
22
- attribute :cpu_shares
23
- attribute :boot_menu
24
- attribute :origin
25
- attribute :stateless
26
- attribute :delete_protected
27
- attribute :sso
28
- attribute :timezone
29
- attribute :migration
30
- attribute :io_threads
31
- attribute :memory_garanteed
32
-
33
- def to_s
34
- name
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,20 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/instance_type'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class InstanceTypes < Fog::Collection
8
- model Fog::Compute::Ovirt::InstanceType
9
-
10
- def all(filters = {})
11
- load service.list_instance_types(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_instance_type(id)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,19 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Ovirt
4
- class Interface < Fog::Model
5
- attr_accessor :raw
6
- identity :id
7
-
8
- attribute :name
9
- attribute :network
10
- attribute :interface
11
- attribute :mac
12
-
13
- def to_s
14
- name
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,29 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/interface'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class Interfaces < Fog::Collection
8
- model Fog::Compute::Ovirt::Interface
9
-
10
- attr_accessor :vm
11
-
12
- def all(filters = {})
13
- requires :vm
14
- if vm.is_a? Fog::Compute::Ovirt::Server
15
- load service.list_vm_interfaces(vm.id)
16
- elsif vm.is_a? Fog::Compute::Ovirt::Template
17
- load service.list_template_interfaces(vm.id)
18
- else
19
- raise 'interfaces should have vm or template'
20
- end
21
- end
22
-
23
- def get(id)
24
- new service.get_interface(id)
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,16 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Ovirt
4
- class Quota < Fog::Model
5
- identity :id
6
-
7
- attribute :name
8
- attribute :description
9
-
10
- def to_s
11
- name
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/quota'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class Quotas < Fog::Collection
8
- model Fog::Compute::Ovirt::Quota
9
-
10
- def all(filters = {})
11
- load service.list_quotas(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_quota(id)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,175 +0,0 @@
1
- require 'fog/compute/models/server'
2
-
3
- module Fog
4
- module Compute
5
- class Ovirt
6
- class Server < Fog::Compute::Server
7
- # This will be the instance uuid which is globally unique across
8
- # a oVirt deployment.
9
- identity :id
10
-
11
- attribute :name
12
- attribute :comment
13
- attribute :description
14
- attribute :profile
15
- attribute :display
16
- attribute :storage, :aliases => 'disk_size'
17
- attribute :creation_time
18
- attribute :os
19
- attribute :ip
20
- attribute :status
21
- attribute :cores, :aliases => 'cpus'
22
- attribute :memory
23
- attribute :host
24
- attribute :cluster
25
- attribute :template
26
- attribute :instance_type
27
- attribute :interfaces
28
- attribute :volumes
29
- attribute :raw
30
- attribute :quota
31
- attribute :ips
32
- attribute :ha
33
- attribute :ha_priority
34
- attribute :clone
35
- attribute :disks
36
-
37
- def ready?
38
- !(status =~ /down/i)
39
- end
40
-
41
- def locked?
42
- @volumes = nil # force reload volumes
43
- !!(status =~ /locked/i) || (attributes[:volumes]=nil) || volumes.any?{|v| !!(v.status =~ /locked/i)}
44
- end
45
-
46
- def stopped?
47
- status.downcase == 'down'
48
- end
49
-
50
- def mac
51
- interfaces.first.mac unless interfaces.empty?
52
- end
53
-
54
- def interfaces
55
- @interfaces ||= id.nil? ? [] : Fog::Compute::Ovirt::Interfaces.new(
56
- :service => service,
57
- :vm => self
58
- )
59
- end
60
-
61
- def add_interface attrs
62
- wait_for { stopped? } if attrs[:blocking]
63
- service.add_interface(id, attrs)
64
- end
65
-
66
- def update_interface attrs
67
- wait_for { stopped? } if attrs[:blocking]
68
- service.update_interface(id, attrs)
69
- end
70
-
71
- def destroy_interface attrs
72
- wait_for { stopped? } if attrs[:blocking]
73
- service.destroy_interface(id, attrs)
74
- end
75
-
76
- def volumes
77
- @volumes ||= id.nil? ? [] : Fog::Compute::Ovirt::Volumes.new(
78
- :service => service,
79
- :vm => self
80
- )
81
- end
82
-
83
- def add_volume attrs
84
- wait_for { stopped? } if attrs[:blocking]
85
- service.add_volume(id, attrs)
86
- end
87
-
88
- def destroy_volume attrs
89
- wait_for { stopped? } if attrs[:blocking]
90
- service.destroy_volume(id, attrs)
91
- end
92
-
93
- def update_volume attrs
94
- wait_for { stopped? } if attrs[:blocking]
95
- service.update_volume(id, attrs)
96
- end
97
-
98
- def attach_volume(attrs)
99
- wait_for { stopped? } if attrs[:blocking]
100
- service.attach_volume(id, attrs)
101
- end
102
-
103
- def detach_volume(attrs)
104
- wait_for { stopped? } if attrs[:blocking]
105
- service.detach_volume(id, attrs)
106
- end
107
-
108
- def add_to_affinity_group(attrs)
109
- wait_for { stopped? } if attrs[:blocking]
110
- service.add_to_affinity_group(id, attrs)
111
- end
112
-
113
- def remove_from_affinity_group(attrs)
114
- wait_for { stopped? } if attrs[:blocking]
115
- service.remove_from_affinity_group(id, attrs)
116
- end
117
-
118
- def start(options = {})
119
- wait_for { !locked? } if options[:blocking]
120
- service.vm_action(:id =>id, :action => :start)
121
- reload
122
- end
123
-
124
- def start_with_cloudinit(options = {})
125
- wait_for { !locked? } if options[:blocking]
126
- user_data = Hash[YAML.load(options[:user_data]).map{|a| [a.first.to_sym, a.last]}]
127
- service.vm_start_with_cloudinit(:id =>id, :user_data =>user_data)
128
- reload
129
- end
130
-
131
- def stop(options = {})
132
- service.vm_action(:id =>id, :action => :stop)
133
- reload
134
- end
135
-
136
- def reboot(options = {})
137
- unless stopped?
138
- stop
139
- wait_for { stopped? }
140
- end
141
- start options.merge(:blocking => true)
142
- end
143
-
144
- def suspend(options = {})
145
- service.vm_action(:id =>id, :action => :suspend)
146
- reload
147
- end
148
-
149
- def destroy(options = {})
150
- (stop unless stopped?) rescue nil #ignore failure, destroy the machine anyway.
151
- wait_for { stopped? }
152
- service.destroy_vm(:id => id)
153
- end
154
-
155
- def ticket(options = {})
156
- raise "Can not set console ticket, Server is not ready. Server status: #{status}" unless ready?
157
- service.vm_ticket(id, options)
158
- end
159
-
160
- def save
161
- if persisted?
162
- service.update_vm(attributes)
163
- else
164
- self.id = service.create_vm(attributes).id
165
- end
166
- reload
167
- end
168
-
169
- def to_s
170
- name
171
- end
172
- end
173
- end
174
- end
175
- end
@@ -1,27 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/ovirt/models/compute/server'
3
-
4
- module Fog
5
- module Compute
6
- class Ovirt
7
- class Servers < Fog::Collection
8
- model Fog::Compute::Ovirt::Server
9
-
10
- def all(filters = {})
11
- load service.list_virtual_machines(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_virtual_machine(id)
16
- end
17
-
18
- def bootstrap(new_attributes = {})
19
- server = create(new_attributes)
20
- server.wait_for { stopped? }
21
- server.start
22
- server
23
- end
24
- end
25
- end
26
- end
27
- end