fog 1.27.0 → 1.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -0
- data/Rakefile +2 -2
- data/bin/fog +2 -2
- data/fog.gemspec +4 -3
- data/lib/fog/bin/clodo.rb +1 -1
- data/lib/fog/bin/openstack.rb +5 -0
- data/lib/fog/digitalocean/examples/getting_started.md +46 -4
- data/lib/fog/digitalocean/models/compute/server.rb +1 -3
- data/lib/fog/digitalocean/models/compute/servers.rb +30 -0
- data/lib/fog/fogdocker/compute.rb +3 -2
- data/lib/fog/fogdocker/requests/compute/container_action.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/container_all.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/container_commit.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/container_create.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/container_delete.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/container_get.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/image_all.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/image_create.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/image_delete.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/image_get.rb +1 -1
- data/lib/fog/fogdocker/requests/compute/image_search.rb +1 -1
- data/lib/fog/google/compute.rb +2 -1
- data/lib/fog/google/core.rb +42 -12
- data/lib/fog/google/dns.rb +2 -1
- data/lib/fog/google/monitoring.rb +1 -1
- data/lib/fog/google/sql.rb +1 -1
- data/lib/fog/hp/requests/storage/get_object.rb +5 -3
- data/lib/fog/joyent/compute.rb +2 -0
- data/lib/fog/openstack.rb +1 -0
- data/lib/fog/openstack/baremetal.rb +370 -0
- data/lib/fog/openstack/core.rb +1 -0
- data/lib/fog/openstack/docs/orchestration.md +318 -0
- data/lib/fog/openstack/docs/storage.md +1 -7
- data/lib/fog/openstack/models/baremetal/chassis.rb +60 -0
- data/lib/fog/openstack/models/baremetal/chassis_collection.rb +38 -0
- data/lib/fog/openstack/models/baremetal/driver.rb +30 -0
- data/lib/fog/openstack/models/baremetal/drivers.rb +21 -0
- data/lib/fog/openstack/models/baremetal/node.rb +85 -0
- data/lib/fog/openstack/models/baremetal/nodes.rb +38 -0
- data/lib/fog/openstack/models/baremetal/port.rb +61 -0
- data/lib/fog/openstack/models/baremetal/ports.rb +38 -0
- data/lib/fog/openstack/models/orchestration/event.rb +20 -0
- data/lib/fog/openstack/models/orchestration/events.rb +28 -0
- data/lib/fog/openstack/models/orchestration/resource.rb +32 -0
- data/lib/fog/openstack/models/orchestration/resource_schemas.rb +17 -0
- data/lib/fog/openstack/models/orchestration/resources.rb +35 -0
- data/lib/fog/openstack/models/orchestration/stack.rb +91 -24
- data/lib/fog/openstack/models/orchestration/stacks.rb +38 -4
- data/lib/fog/openstack/models/orchestration/template.rb +15 -0
- data/lib/fog/openstack/models/orchestration/templates.rb +44 -0
- data/lib/fog/openstack/orchestration.rb +48 -2
- data/lib/fog/openstack/requests/baremetal/create_chassis.rb +44 -0
- data/lib/fog/openstack/requests/baremetal/create_node.rb +54 -0
- data/lib/fog/openstack/requests/baremetal/create_port.rb +46 -0
- data/lib/fog/openstack/requests/baremetal/delete_chassis.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/delete_node.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/delete_port.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/get_chassis.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_driver.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_driver_properties.rb +40 -0
- data/lib/fog/openstack/requests/baremetal/get_node.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_port.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/list_chassis.rb +48 -0
- data/lib/fog/openstack/requests/baremetal/list_chassis_detailed.rb +31 -0
- data/lib/fog/openstack/requests/baremetal/list_drivers.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/list_nodes.rb +40 -0
- data/lib/fog/openstack/requests/baremetal/list_nodes_detailed.rb +31 -0
- data/lib/fog/openstack/requests/baremetal/list_ports.rb +48 -0
- data/lib/fog/openstack/requests/baremetal/list_ports_detailed.rb +31 -0
- data/lib/fog/openstack/requests/baremetal/patch_chassis.rb +42 -0
- data/lib/fog/openstack/requests/baremetal/patch_node.rb +41 -0
- data/lib/fog/openstack/requests/baremetal/patch_port.rb +41 -0
- data/lib/fog/openstack/requests/compute/create_server.rb +1 -0
- data/lib/fog/openstack/requests/orchestration/abandon_stack.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/build_info.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/create_stack.rb +31 -12
- data/lib/fog/openstack/requests/orchestration/delete_stack.rb +28 -5
- data/lib/fog/openstack/requests/orchestration/get_stack_template.rb +20 -0
- data/lib/fog/openstack/requests/orchestration/list_resource_events.rb +23 -0
- data/lib/fog/openstack/requests/orchestration/list_resource_types.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/list_resources.rb +23 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_data.rb +27 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_events.rb +23 -0
- data/lib/fog/openstack/requests/orchestration/preview_stack.rb +16 -0
- data/lib/fog/openstack/requests/orchestration/show_event_details.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_data.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_metadata.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_schema.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_template.rb +20 -0
- data/lib/fog/openstack/requests/orchestration/show_stack_details.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/update_stack.rb +34 -7
- data/lib/fog/openstack/requests/orchestration/validate_template.rb +16 -0
- data/lib/fog/openstack/volume.rb +0 -1
- data/lib/fog/ovirt/compute.rb +6 -0
- data/lib/fog/ovirt/models/compute/server.rb +10 -0
- data/lib/fog/ovirt/models/compute/template.rb +1 -0
- data/lib/fog/ovirt/models/compute/volumes.rb +1 -2
- data/lib/fog/ovirt/requests/compute/attach_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/detach_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/list_volumes.rb +19 -0
- data/lib/fog/ovirt/requests/compute/mock_files/disks.xml +58 -0
- data/lib/fog/vcloud_director/models/compute/task.rb +2 -2
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +3 -0
- data/lib/fog/vsphere/requests/compute/cloudinit_to_customspec.rb +20 -11
- data/lib/fog/vsphere/requests/compute/get_compute_resource.rb +41 -0
- data/lib/fog/vsphere/requests/compute/get_network.rb +35 -6
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +19 -13
- data/lib/fog/vsphere/requests/compute/list_compute_resources.rb +92 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +16 -11
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +6 -5
- data/lib/fog/xenserver/requests/compute/create_sr.rb +3 -4
- data/lib/tasks/changelog_task.rb +1 -0
- data/tests/helper.rb +3 -3
- data/tests/helpers/mock_helper.rb +0 -4
- data/tests/openstack/requests/baremetal/chassis_tests.rb +48 -0
- data/tests/openstack/requests/baremetal/driver_tests.rb +40 -0
- data/tests/openstack/requests/baremetal/node_tests.rb +65 -0
- data/tests/openstack/requests/baremetal/port_tests.rb +56 -0
- data/tests/openstack/requests/compute/server_tests.rb +2 -0
- data/tests/openstack/requests/orchestration/stack_tests.rb +2 -2
- data/tests/vsphere/requests/compute/get_network_tests.rb +48 -0
- metadata +88 -23
- data/lib/fog/aws.rb +0 -23
- data/lib/fog/bin/riakcs.rb +0 -25
- data/lib/fog/openstack/requests/orchestration/list_stacks.rb +0 -47
- data/lib/fog/riakcs.rb +0 -2
- data/lib/fog/riakcs/core.rb +0 -121
- data/lib/fog/riakcs/provisioning.rb +0 -98
- data/lib/fog/riakcs/requests/provisioning/create_user.rb +0 -77
- data/lib/fog/riakcs/requests/provisioning/disable_user.rb +0 -23
- data/lib/fog/riakcs/requests/provisioning/enable_user.rb +0 -23
- data/lib/fog/riakcs/requests/provisioning/get_user.rb +0 -41
- data/lib/fog/riakcs/requests/provisioning/list_users.rb +0 -43
- data/lib/fog/riakcs/requests/provisioning/regrant_secret.rb +0 -23
- data/lib/fog/riakcs/requests/provisioning/update_user.rb +0 -23
- data/lib/fog/riakcs/requests/usage/get_usage.rb +0 -68
- data/lib/fog/riakcs/usage.rb +0 -62
- data/tests/riakcs/requests/provisioning/provisioning_tests.rb +0 -174
- data/tests/riakcs/requests/usage/usage_tests.rb +0 -29
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_resource_types
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "resource_types",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def list_resource_types
|
16
|
+
resources = self.data[:resource_types].values
|
17
|
+
|
18
|
+
Excon::Response.new(
|
19
|
+
:body => { 'resource_types' => resources },
|
20
|
+
:status => 200
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_resources(stack, options={})
|
6
|
+
uri = "stacks/#{stack.stack_name}/#{stack.id}/resources"
|
7
|
+
request(:method => 'GET', :path => uri, :expects => 200, :query => options)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Mock
|
12
|
+
def list_resources(stack)
|
13
|
+
resources = self.data[:resources].values
|
14
|
+
|
15
|
+
Excon::Response.new(
|
16
|
+
:body => { 'resources' => resources },
|
17
|
+
:status => 200
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_stack_data(options={})
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => 'stacks',
|
9
|
+
:expects => 200,
|
10
|
+
:query => options
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def list_stack_data
|
17
|
+
stacks = self.data[:stacks].values
|
18
|
+
|
19
|
+
Excon::Response.new(
|
20
|
+
:body => { 'stacks' => stacks },
|
21
|
+
:status => 200
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_stack_events(stack, options={})
|
6
|
+
uri = "stacks/#{stack.stack_name}/#{stack.id}/events"
|
7
|
+
request(:method => 'GET', :path => uri, :expects => 200, :query => options )
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Mock
|
12
|
+
def list_stack_events
|
13
|
+
events = self.data[:events].values
|
14
|
+
|
15
|
+
Excon::Response.new(
|
16
|
+
:body => { 'events' => events },
|
17
|
+
:status => 200
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def preview_stack(options = {})
|
6
|
+
request(
|
7
|
+
:body => Fog::JSON.encode(options),
|
8
|
+
:expects => [200],
|
9
|
+
:method => 'POST',
|
10
|
+
:path => 'stacks/preview'
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def show_event_details(stack, resource, event_id)
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "stacks/#{stack.stack_name}/#{stack.id}/resources/#{resource.resource_name}/events/#{event_id}",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def show_event_details(stack, event)
|
16
|
+
events = self.data[:events].values
|
17
|
+
|
18
|
+
Excon::Response.new(
|
19
|
+
:body => { 'events' => events },
|
20
|
+
:status => 200
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def show_resource_data(stack_name, stack_id, resource_name)
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "stacks/#{stack_name}/#{stack_id}/resources/#{resource_name}",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def show_resource_data(stack_name, stack_id, resource_name)
|
16
|
+
resources = self.data[:resources].values
|
17
|
+
|
18
|
+
Excon::Response.new(
|
19
|
+
:body => { 'resources' => resources },
|
20
|
+
:status => 200
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def show_resource_metadata(stack, resource_name)
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "stacks/#{stack.stack_name}/#{stack.id}/resources/#{resource_name}/metadata",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def show_resource_metadata(stack, resource_name)
|
16
|
+
resources = self.data[:resources].values
|
17
|
+
|
18
|
+
Excon::Response.new(
|
19
|
+
:body => { 'resources' => resources },
|
20
|
+
:status => 200
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def show_resource_template(name)
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "resource_types/#{name}/template",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def show_resource_template(name)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def show_stack_details(name, id)
|
6
|
+
request(
|
7
|
+
:method => 'GET',
|
8
|
+
:path => "stacks/#{name}/#{id}",
|
9
|
+
:expects => 200
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def show_stack_details(name, id)
|
16
|
+
stack = self.data[:stack].values
|
17
|
+
|
18
|
+
Excon::Response.new(
|
19
|
+
:body => { 'stack' => stack },
|
20
|
+
:status => 200
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -4,18 +4,29 @@ module Fog
|
|
4
4
|
class Real
|
5
5
|
# Update a stack.
|
6
6
|
#
|
7
|
-
# @param [
|
8
|
-
# @param [String] stack_name Name of the stack to update.
|
7
|
+
# @param [Fog::Orchestration::OpenStack::Stack] the stack to update.
|
9
8
|
# @param [Hash] options
|
10
9
|
# * :template [String] Structure containing the template body.
|
11
10
|
# or (one of the two Template parameters is required)
|
12
11
|
# * :template_url [String] URL of file containing the template body.
|
13
12
|
# * :parameters [Hash] Hash of providers to supply to template.
|
14
13
|
#
|
15
|
-
def update_stack(
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
def update_stack(arg1, arg2 = nil, arg3 = nil)
|
15
|
+
if arg1.is_a?(Stack)
|
16
|
+
# Normal use, update_stack(stack, options = {})
|
17
|
+
stack = arg1
|
18
|
+
stack_name = stack.stack_name
|
19
|
+
stack_id = stack.id
|
20
|
+
params = arg2.nil? ? {} : arg2
|
21
|
+
else
|
22
|
+
# Deprecated, update_stack(stack_id, stack_name, options = {})
|
23
|
+
Fog::Logger.deprecation("#update_stack(stack_id, stack_name, options) is deprecated, use #update_stack(stack, options) instead [light_black](#{caller.first})[/]")
|
24
|
+
stack_id = arg1
|
25
|
+
stack_name = arg2
|
26
|
+
params = {
|
27
|
+
:stack_name => stack_name
|
28
|
+
}.merge(arg3.nil? ? {} : arg3)
|
29
|
+
end
|
19
30
|
|
20
31
|
request(
|
21
32
|
:expects => 202,
|
@@ -27,7 +38,23 @@ module Fog
|
|
27
38
|
end
|
28
39
|
|
29
40
|
class Mock
|
30
|
-
def update_stack(
|
41
|
+
def update_stack(arg1, arg2 = nil, arg3 = nil)
|
42
|
+
if arg1.is_a?(Stack)
|
43
|
+
# Normal use, update_stack(stack, options = {})
|
44
|
+
stack = arg1
|
45
|
+
stack_name = stack.stack_name
|
46
|
+
stack_id = stack.id
|
47
|
+
params = arg2.nil? ? {} : arg2
|
48
|
+
else
|
49
|
+
# Deprecated, update_stack(stack_id, stack_name, options = {})
|
50
|
+
Fog::Logger.deprecation("#update_stack(stack_id, stack_name, options) is deprecated, use #update_stack(stack, options) instead [light_black](#{caller.first})[/]")
|
51
|
+
stack_id = arg1
|
52
|
+
stack_name = arg2
|
53
|
+
params = {
|
54
|
+
:stack_name => stack_name
|
55
|
+
}.merge(arg3.nil? ? {} : arg3)
|
56
|
+
end
|
57
|
+
|
31
58
|
response = Excon::Response.new
|
32
59
|
response.status = 202
|
33
60
|
response.body = {}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Fog
|
2
|
+
module Orchestration
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def validate_template(options = {})
|
6
|
+
request(
|
7
|
+
:body => Fog::JSON.encode(options),
|
8
|
+
:expects => [200],
|
9
|
+
:method => 'POST',
|
10
|
+
:path => 'validate'
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/fog/openstack/volume.rb
CHANGED
@@ -193,7 +193,6 @@ module Fog
|
|
193
193
|
:openstack_api_key => @openstack_api_key,
|
194
194
|
:openstack_username => @openstack_username,
|
195
195
|
:openstack_auth_uri => @openstack_auth_uri,
|
196
|
-
:openstack_region => @openstack_region,
|
197
196
|
:openstack_auth_token => @openstack_must_reauthenticate ? nil : @openstack_auth_token,
|
198
197
|
:openstack_service_type => @openstack_service_type,
|
199
198
|
:openstack_service_name => @openstack_service_name,
|
data/lib/fog/ovirt/compute.rb
CHANGED
@@ -45,9 +45,12 @@ module Fog
|
|
45
45
|
request :vm_ticket
|
46
46
|
request :list_vm_volumes
|
47
47
|
request :list_template_volumes
|
48
|
+
request :list_volumes
|
48
49
|
request :add_volume
|
49
50
|
request :destroy_volume
|
50
51
|
request :update_volume
|
52
|
+
request :attach_volume
|
53
|
+
request :detach_volume
|
51
54
|
request :get_api_version
|
52
55
|
request :list_quotas
|
53
56
|
request :get_quota
|
@@ -65,6 +68,8 @@ module Fog
|
|
65
68
|
opts[key] = case value
|
66
69
|
when OVIRT::Link
|
67
70
|
value.id
|
71
|
+
when OVIRT::TemplateVersion
|
72
|
+
value
|
68
73
|
when Array
|
69
74
|
value
|
70
75
|
when Hash
|
@@ -114,6 +119,7 @@ module Fog
|
|
114
119
|
connection_opts[:ca_cert_store] = options[:ovirt_ca_cert_store]
|
115
120
|
connection_opts[:ca_cert_file] = options[:ovirt_ca_cert_file]
|
116
121
|
connection_opts[:ca_no_verify] = options[:ovirt_ca_no_verify]
|
122
|
+
connection_opts[:filtered_api] = options[:ovirt_filtered_api]
|
117
123
|
|
118
124
|
@client = OVIRT::Client.new(username, password, url, connection_opts)
|
119
125
|
end
|
@@ -89,6 +89,16 @@ module Fog
|
|
89
89
|
service.update_volume(id, attrs)
|
90
90
|
end
|
91
91
|
|
92
|
+
def attach_volume(attrs)
|
93
|
+
wait_for { stopped? } if attrs[:blocking]
|
94
|
+
service.attach_volume(id, attrs)
|
95
|
+
end
|
96
|
+
|
97
|
+
def detach_volume(attrs)
|
98
|
+
wait_for { stopped? } if attrs[:blocking]
|
99
|
+
service.detach_volume(id, attrs)
|
100
|
+
end
|
101
|
+
|
92
102
|
def start(options = {})
|
93
103
|
wait_for { !locked? } if options[:blocking]
|
94
104
|
service.vm_action(:id =>id, :action => :start)
|
@@ -10,13 +10,12 @@ module Fog
|
|
10
10
|
attr_accessor :vm
|
11
11
|
|
12
12
|
def all(filters = {})
|
13
|
-
requires :vm
|
14
13
|
if vm.is_a? Fog::Compute::Ovirt::Server
|
15
14
|
load service.list_vm_volumes(vm.id)
|
16
15
|
elsif vm.is_a? Fog::Compute::Ovirt::Template
|
17
16
|
load service.list_template_volumes(vm.id)
|
18
17
|
else
|
19
|
-
|
18
|
+
load service.list_volumes
|
20
19
|
end
|
21
20
|
end
|
22
21
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Ovirt
|
4
|
+
class Real
|
5
|
+
def attach_volume(id, options)
|
6
|
+
raise ArgumentError, "instance id is a required parameter" unless id
|
7
|
+
raise ArgumentError, "volume id is a required parameter for attach-volume" unless options.key? :id
|
8
|
+
|
9
|
+
client.attach_volume(id, options[:id])
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class Mock
|
14
|
+
def attach_volume(id, options)
|
15
|
+
raise ArgumentError, "instance id is a required parameter" unless id
|
16
|
+
raise ArgumentError, "volume id is a required parameter for attach-volume" unless options.key? :id
|
17
|
+
true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|