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,54 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
# Create a new node
|
6
|
+
#
|
7
|
+
# === Attributes ===
|
8
|
+
# chassis_uuid = UUID of the chassis that this node belongs to
|
9
|
+
# driver = Driver used to control the node [REQUIRED]
|
10
|
+
# driver_info = Key/value pairs used by the driver, such as out-of-band management credentials. Can be
|
11
|
+
# specified multiple times
|
12
|
+
# extra = Record arbitrary key/value metadata. Can be specified multiple times
|
13
|
+
# uuid = Unique UUID for the node
|
14
|
+
# properties = Key/value pairs describing the physical characteristics of the node. This is exported to
|
15
|
+
# Nova and used by the scheduler. Can be specified multiple times
|
16
|
+
def create_node(attributes)
|
17
|
+
desired_options = [
|
18
|
+
:chassis_uuid,
|
19
|
+
:driver,
|
20
|
+
:driver_info,
|
21
|
+
:extra,
|
22
|
+
:uuid,
|
23
|
+
:properties
|
24
|
+
]
|
25
|
+
|
26
|
+
# Filter only allowed creation attributes
|
27
|
+
data = attributes.select { |key, value| desired_options.include?(key.to_sym) }
|
28
|
+
|
29
|
+
request(
|
30
|
+
:body => Fog::JSON.encode(data),
|
31
|
+
:expects => [200,201],
|
32
|
+
:method => 'POST',
|
33
|
+
:path => 'nodes'
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
class Mock
|
39
|
+
def create_node(attributes)
|
40
|
+
response = Excon::Response.new
|
41
|
+
response.status = 200
|
42
|
+
response.headers = {
|
43
|
+
"X-Compute-Request-Id" => "req-fdc6f99e-55a2-4ab1-8904-0892753828cf",
|
44
|
+
"Content-Type" => "application/json",
|
45
|
+
"Content-Length" => "356",
|
46
|
+
"Date" => Date.new
|
47
|
+
}
|
48
|
+
response.body = self.data[:nodes].first
|
49
|
+
response
|
50
|
+
end
|
51
|
+
end # mock
|
52
|
+
end # openstack
|
53
|
+
end # baremetal
|
54
|
+
end # fog
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
# Create a new port
|
6
|
+
#
|
7
|
+
# === Attributes ===
|
8
|
+
# address = MAC Address for this port
|
9
|
+
# extra = Record arbitrary key/value metadata. Can be specified multiple times
|
10
|
+
# node_uuid = UUID of the node that this port belongs to
|
11
|
+
def create_port(attributes)
|
12
|
+
desired_options = [
|
13
|
+
:address,
|
14
|
+
:extra,
|
15
|
+
:node_uuid
|
16
|
+
]
|
17
|
+
|
18
|
+
# Filter only allowed creation attributes
|
19
|
+
data = attributes.select { |key, value| desired_options.include?(key.to_sym) }
|
20
|
+
|
21
|
+
request(
|
22
|
+
:body => Fog::JSON.encode(data),
|
23
|
+
:expects => [200,201],
|
24
|
+
:method => 'POST',
|
25
|
+
:path => 'ports'
|
26
|
+
)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Mock
|
31
|
+
def create_port(attributes)
|
32
|
+
response = Excon::Response.new
|
33
|
+
response.status = 200
|
34
|
+
response.headers = {
|
35
|
+
"X-Compute-Request-Id" => "req-fdc6f99e-55a2-4ab1-8904-0892753828cf",
|
36
|
+
"Content-Type" => "application/json",
|
37
|
+
"Content-Length" => "356",
|
38
|
+
"Date" => Date.new
|
39
|
+
}
|
40
|
+
response.body = self.data[:ports].first
|
41
|
+
response
|
42
|
+
end
|
43
|
+
end # mock
|
44
|
+
end # openstack
|
45
|
+
end # baremetal
|
46
|
+
end # fog
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_chassis(chassis_uuid)
|
6
|
+
data = { :chassis_uuid => chassis_uuid }
|
7
|
+
request(
|
8
|
+
:body => Fog::JSON.encode(data),
|
9
|
+
:expects => [200, 204],
|
10
|
+
:method => 'DELETE',
|
11
|
+
:path => 'chassis'
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def delete_chassis(chassis_uuid)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_node(node_uuid)
|
6
|
+
data = { :node_uuid => node_uuid }
|
7
|
+
request(
|
8
|
+
:body => Fog::JSON.encode(data),
|
9
|
+
:expects => [200, 204],
|
10
|
+
:method => 'DELETE',
|
11
|
+
:path => 'nodes'
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def delete_node(node_uuid)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_port(port_uuid)
|
6
|
+
data = { :port_uuid => port_uuid }
|
7
|
+
request(
|
8
|
+
:body => Fog::JSON.encode(data),
|
9
|
+
:expects => [200, 204],
|
10
|
+
:method => 'DELETE',
|
11
|
+
:path => 'ports'
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def delete_port(port_uuid)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_chassis(chassis_uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200, 204],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "chassis/#{chassis_uuid}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end # class Real
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_chassis(chassis_uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = [200, 204][rand(1)]
|
18
|
+
response.body = self.data[:chassis_collection].first
|
19
|
+
response
|
20
|
+
end # def get_chassis
|
21
|
+
end # class Mock
|
22
|
+
end # class OpenStack
|
23
|
+
end # module Baremetal
|
24
|
+
end # module Fog
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_driver(driver_name)
|
6
|
+
request(
|
7
|
+
:expects => [200, 204],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "drivers/#{driver_name}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end # class Real
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_driver(driver_name)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = [200, 204][rand(1)]
|
18
|
+
response.body = self.data[:drivers].first
|
19
|
+
response
|
20
|
+
end # def get_driver
|
21
|
+
end # class Mock
|
22
|
+
end # class OpenStack
|
23
|
+
end # module Baremetal
|
24
|
+
end # module Fog
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_driver_properties(driver_name)
|
6
|
+
data = { :driver_name => driver_name }
|
7
|
+
request(
|
8
|
+
:body => Fog::JSON.encode(data),
|
9
|
+
:expects => [200, 204],
|
10
|
+
:method => 'GET',
|
11
|
+
:path => "drivers/properties"
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end # class Real
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def get_driver_properties(driver_name)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = [200, 204][rand(1)]
|
20
|
+
response.body = {
|
21
|
+
"pxe_deploy_ramdisk" => "UUID (from Glance) of the ramdisk.",
|
22
|
+
"ipmi_transit_address" => "transit address for bridged request.",
|
23
|
+
"ipmi_terminal_port" => "node's UDP port to connect to.",
|
24
|
+
"ipmi_target_channel" => "destination channel for bridged request.",
|
25
|
+
"ipmi_transit_channel" => "transit channel for bridged request.",
|
26
|
+
"ipmi_local_address" => "local IPMB address for bridged requests. ",
|
27
|
+
"ipmi_username" => "username; default is NULL user. Optional.",
|
28
|
+
"ipmi_address" => "IP address or hostname of the node. Required.",
|
29
|
+
"ipmi_target_address" => "destination address for bridged request.",
|
30
|
+
"ipmi_password" => "password. Optional.",
|
31
|
+
"pxe_deploy_kernel" => "UUID (from Glance) of the deployment kernel.",
|
32
|
+
"ipmi_priv_level" => "privilege level; default is ADMINISTRATOR. ",
|
33
|
+
"ipmi_bridging" => "bridging_type."
|
34
|
+
}
|
35
|
+
response
|
36
|
+
end # def get_driver_properties
|
37
|
+
end # class Mock
|
38
|
+
end # class OpenStack
|
39
|
+
end # module Baremetal
|
40
|
+
end # module Fog
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_node(node_id)
|
6
|
+
request(
|
7
|
+
:expects => [200, 204],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "nodes/#{node_id}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end # class Real
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_node(node_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = [200, 204][rand(1)]
|
18
|
+
response.body = self.data[:nodes].first
|
19
|
+
response
|
20
|
+
end # def get_node
|
21
|
+
end # class Mock
|
22
|
+
end # class OpenStack
|
23
|
+
end # module Baremetal
|
24
|
+
end # module Fog
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_port(port_id)
|
6
|
+
request(
|
7
|
+
:expects => [200, 204],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "ports/#{port_id}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end # class Real
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_port(port_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = [200, 204][rand(1)]
|
18
|
+
response.body = self.data[:ports].first
|
19
|
+
response
|
20
|
+
end # def get_port
|
21
|
+
end # class Mock
|
22
|
+
end # class OpenStack
|
23
|
+
end # module Baremetal
|
24
|
+
end # module Fog
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_chassis(parameters=nil)
|
6
|
+
if parameters
|
7
|
+
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
+
else
|
9
|
+
query = {}
|
10
|
+
end
|
11
|
+
|
12
|
+
request(
|
13
|
+
:expects => [200, 204],
|
14
|
+
:method => 'GET',
|
15
|
+
:path => 'chassis',
|
16
|
+
:query => query
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end # class Real
|
20
|
+
|
21
|
+
class Mock
|
22
|
+
def list_chassis(parameters=nil)
|
23
|
+
response = Excon::Response.new
|
24
|
+
response.status = [200, 204][rand(1)]
|
25
|
+
response.body = {
|
26
|
+
"chassis" => [
|
27
|
+
{
|
28
|
+
"description" => "Sample chassis",
|
29
|
+
"links" => [
|
30
|
+
{
|
31
|
+
"href" => "http =>//localhost:6385/v1/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
32
|
+
"rel" => "self"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"href" => "http =>//localhost:6385/chassis/eaaca217-e7d8-47b4-bb41-3f99f20eed89",
|
36
|
+
"rel" => "bookmark"
|
37
|
+
}
|
38
|
+
],
|
39
|
+
"uuid" => Fog::UUID.uuid
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
43
|
+
response
|
44
|
+
end # def list_chassis
|
45
|
+
end # class Mock
|
46
|
+
end # class OpenStack
|
47
|
+
end # module Baremetal
|
48
|
+
end # module Fog
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_chassis_detailed(parameters=nil)
|
6
|
+
if parameters
|
7
|
+
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
+
else
|
9
|
+
query = {}
|
10
|
+
end
|
11
|
+
|
12
|
+
request(
|
13
|
+
:expects => [200, 204],
|
14
|
+
:method => 'GET',
|
15
|
+
:path => 'chassis/detail',
|
16
|
+
:query => query
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end # class Real
|
20
|
+
|
21
|
+
class Mock
|
22
|
+
def list_chassis_detailed(parameters=nil)
|
23
|
+
response = Excon::Response.new
|
24
|
+
response.status = [200, 204][rand(1)]
|
25
|
+
response.body = { "chassis" => self.data[:chassis_collection] }
|
26
|
+
response
|
27
|
+
end # def list_chassis_detailed
|
28
|
+
end # class Mock
|
29
|
+
end # class OpenStack
|
30
|
+
end # module Baremetal
|
31
|
+
end # module Fog
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_drivers
|
6
|
+
request(
|
7
|
+
:expects => [200, 204],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => 'drivers'
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end # class Real
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def list_drivers
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = [200, 204][rand(1)]
|
18
|
+
response.body = { "drivers" => self.data[:drivers] }
|
19
|
+
response
|
20
|
+
end # def list_drivers
|
21
|
+
end # class Mock
|
22
|
+
end # class OpenStack
|
23
|
+
end # module Baremetal
|
24
|
+
end # module Fog
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Fog
|
2
|
+
module Baremetal
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_nodes(parameters=nil)
|
6
|
+
if parameters
|
7
|
+
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
+
else
|
9
|
+
query = {}
|
10
|
+
end
|
11
|
+
|
12
|
+
request(
|
13
|
+
:expects => [200, 204],
|
14
|
+
:method => 'GET',
|
15
|
+
:path => 'nodes',
|
16
|
+
:query => query
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end # class Real
|
20
|
+
|
21
|
+
class Mock
|
22
|
+
def list_nodes(parameters=nil)
|
23
|
+
response = Excon::Response.new
|
24
|
+
response.status = [200, 204][rand(1)]
|
25
|
+
response.body = {
|
26
|
+
"nodes" => [{
|
27
|
+
"instance_uuid" => Fog::UUID.uuid,
|
28
|
+
"maintenance" => false,
|
29
|
+
"power_state" => "power on",
|
30
|
+
"provision_state" => "active",
|
31
|
+
"uuid" => Fog::UUID.uuid,
|
32
|
+
"links" => []
|
33
|
+
}]
|
34
|
+
}
|
35
|
+
response
|
36
|
+
end # def list_nodes
|
37
|
+
end # class Mock
|
38
|
+
end # class OpenStack
|
39
|
+
end # module Baremetal
|
40
|
+
end # module Fog
|