fog 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Rakefile +3 -3
- data/changelog.txt +213 -0
- data/docs/compute/index.markdown +15 -1
- data/fog.gemspec +3 -3
- data/lib/fog.rb +1 -1
- data/lib/fog/aws.rb +9 -0
- data/lib/fog/aws/auto_scaling.rb +3 -1
- data/lib/fog/aws/cloud_formation.rb +2 -0
- data/lib/fog/aws/cloud_watch.rb +2 -0
- data/lib/fog/aws/compute.rb +9 -3
- data/lib/fog/aws/elasticache.rb +8 -1
- data/lib/fog/aws/elb.rb +2 -0
- data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +1 -2
- data/lib/fog/aws/models/compute/security_group.rb +1 -1
- data/lib/fog/aws/models/compute/server.rb +3 -1
- data/lib/fog/aws/models/dns/records.rb +3 -3
- data/lib/fog/aws/models/elb/load_balancer.rb +6 -0
- data/lib/fog/aws/models/storage/file.rb +2 -2
- data/lib/fog/aws/models/storage/files.rb +4 -4
- data/lib/fog/aws/parsers/compute/describe_instance_status.rb +64 -0
- data/lib/fog/aws/parsers/compute/describe_security_groups.rb +1 -1
- data/lib/fog/aws/parsers/sqs/receive_message.rb +1 -1
- data/lib/fog/aws/parsers/sts/get_session_token.rb +31 -0
- data/lib/fog/aws/rds.rb +36 -1
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
- data/lib/fog/aws/requests/compute/describe_instance_status.rb +36 -0
- data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
- data/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +27 -0
- data/lib/fog/aws/requests/rds/create_db_instance.rb +64 -1
- data/lib/fog/aws/requests/rds/delete_db_instance.rb +19 -3
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +40 -1
- data/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +1 -1
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +24 -1
- data/lib/fog/aws/requests/rds/reboot_db_instance.rb +17 -1
- data/lib/fog/aws/requests/storage/{hash_to_acl.rb → acl_utils.rb} +8 -0
- data/lib/fog/aws/requests/storage/copy_object.rb +8 -0
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +7 -1
- data/lib/fog/aws/requests/storage/get_object_acl.rb +7 -1
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +4 -3
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +4 -3
- data/lib/fog/aws/requests/storage/put_bucket_acl.rb +2 -2
- data/lib/fog/aws/requests/storage/put_object_acl.rb +1 -1
- data/lib/fog/aws/requests/sts/get_federation_token.rb +20 -0
- data/lib/fog/aws/requests/sts/get_session_token.rb +18 -0
- data/lib/fog/aws/simpledb.rb +5 -1
- data/lib/fog/aws/sns.rb +2 -0
- data/lib/fog/aws/sqs.rb +5 -1
- data/lib/fog/aws/storage.rb +6 -0
- data/lib/fog/aws/sts.rb +137 -0
- data/lib/fog/bin.rb +1 -0
- data/lib/fog/bin/aws.rb +2 -0
- data/lib/fog/bin/clodo.rb +31 -0
- data/lib/fog/brightbox/compute.rb +7 -0
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +10 -2
- data/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +65 -0
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
- data/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
- data/lib/fog/brightbox/models/compute/image.rb +2 -0
- data/lib/fog/brightbox/models/compute/server.rb +41 -6
- data/lib/fog/brightbox/models/compute/server_group.rb +56 -17
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +14 -0
- data/lib/fog/clodo.rb +34 -0
- data/lib/fog/clodo/compute.rb +152 -0
- data/lib/fog/clodo/models/compute/image.rb +31 -0
- data/lib/fog/clodo/models/compute/images.rb +28 -0
- data/lib/fog/clodo/models/compute/server.rb +163 -0
- data/lib/fog/clodo/models/compute/servers.rb +36 -0
- data/lib/fog/clodo/requests/compute/add_ip_address.rb +49 -0
- data/lib/fog/clodo/requests/compute/create_server.rb +112 -0
- data/lib/fog/clodo/requests/compute/delete_ip_address.rb +47 -0
- data/lib/fog/clodo/requests/compute/delete_server.rb +44 -0
- data/lib/fog/clodo/requests/compute/get_image_details.rb +20 -0
- data/lib/fog/clodo/requests/compute/get_server_details.rb +49 -0
- data/lib/fog/clodo/requests/compute/list_images.rb +48 -0
- data/lib/fog/clodo/requests/compute/list_images_detail.rb +61 -0
- data/lib/fog/clodo/requests/compute/list_servers.rb +50 -0
- data/lib/fog/clodo/requests/compute/list_servers_detail.rb +51 -0
- data/lib/fog/clodo/requests/compute/move_ip_address.rb +34 -0
- data/lib/fog/clodo/requests/compute/reboot_server.rb +19 -0
- data/lib/fog/clodo/requests/compute/rebuild_server.rb +21 -0
- data/lib/fog/clodo/requests/compute/server_action.rb +25 -0
- data/lib/fog/clodo/requests/compute/start_server.rb +19 -0
- data/lib/fog/clodo/requests/compute/stop_server.rb +19 -0
- data/lib/fog/compute.rb +3 -0
- data/lib/fog/core/credentials.rb +3 -3
- data/lib/fog/core/errors.rb +2 -0
- data/lib/fog/core/wait_for.rb +1 -1
- data/lib/fog/dnsmadeeasy/dns.rb +1 -1
- data/lib/fog/libvirt/compute.rb +2 -0
- data/lib/fog/libvirt/models/compute/nodes.rb +1 -3
- data/lib/fog/libvirt/models/compute/server.rb +8 -1
- data/lib/fog/providers.rb +1 -0
- data/lib/fog/rackspace/dns.rb +10 -2
- data/lib/fog/rackspace/load_balancers.rb +3 -0
- data/lib/fog/rackspace/models/compute/server.rb +2 -2
- data/lib/fog/rackspace/models/dns/callback.rb +3 -1
- data/lib/fog/rackspace/models/dns/record.rb +4 -0
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +18 -8
- data/lib/fog/rackspace/requests/load_balancers/delete_nodes.rb +1 -2
- data/lib/fog/rackspace/requests/load_balancers/get_error_page.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb +8 -2
- data/lib/fog/rackspace/requests/load_balancers/remove_error_page.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/set_error_page.rb +21 -0
- data/lib/fog/vcloud/compute.rb +7 -1
- data/lib/fog/vcloud/models/compute/catalogs.rb +4 -5
- data/lib/fog/vcloud/models/compute/helpers/status.rb +37 -0
- data/lib/fog/vcloud/models/compute/network.rb +13 -49
- data/lib/fog/vcloud/models/compute/networks.rb +12 -3
- data/lib/fog/vcloud/models/compute/organization.rb +44 -0
- data/lib/fog/vcloud/models/compute/organizations.rb +29 -0
- data/lib/fog/vcloud/models/compute/server.rb +35 -56
- data/lib/fog/vcloud/models/compute/servers.rb +11 -13
- data/lib/fog/vcloud/models/compute/vapp.rb +41 -0
- data/lib/fog/vcloud/models/compute/vapps.rb +32 -0
- data/lib/fog/vcloud/models/compute/vdc.rb +11 -26
- data/lib/fog/vcloud/models/compute/vdcs.rb +6 -8
- data/lib/fog/vcloud/requests/compute/get_server.rb +10 -0
- data/lib/fog/vsphere/compute.rb +1 -0
- data/lib/fog/vsphere/models/compute/server.rb +18 -0
- data/lib/fog/vsphere/models/compute/servers.rb +8 -2
- data/lib/fog/vsphere/requests/compute/datacenters.rb +34 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -91
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +76 -37
- data/spec/lib/fog/aws/parsers/sqs/receive_message_spec.rb +58 -0
- data/tests/aws/models/elb/model_tests.rb +5 -0
- data/tests/aws/requests/compute/instance_tests.rb +23 -0
- data/tests/aws/requests/compute/security_group_tests.rb +1 -0
- data/tests/aws/requests/elb/listener_tests.rb +4 -0
- data/tests/aws/requests/storage/{hash_to_acl_tests.rb → acl_utils_tests.rb} +38 -2
- data/tests/aws/requests/storage/bucket_tests.rb +0 -3
- data/tests/aws/requests/storage/object_tests.rb +2 -4
- data/tests/aws/requests/sts/get_federation_token_tests.rb +21 -0
- data/tests/aws/requests/sts/session_token_tests.rb +16 -0
- data/tests/brightbox/requests/compute/account_tests.rb +11 -6
- data/tests/brightbox/requests/compute/api_client_tests.rb +23 -12
- data/tests/brightbox/requests/compute/cloud_ip_tests.rb +32 -17
- data/tests/brightbox/requests/compute/helper.rb +29 -3
- data/tests/brightbox/requests/compute/image_tests.rb +17 -14
- data/tests/brightbox/requests/compute/interface_tests.rb +3 -2
- data/tests/brightbox/requests/compute/load_balancer_tests.rb +57 -11
- data/tests/brightbox/requests/compute/server_group_tests.rb +29 -22
- data/tests/brightbox/requests/compute/server_tests.rb +41 -22
- data/tests/brightbox/requests/compute/server_type_tests.rb +7 -6
- data/tests/brightbox/requests/compute/user_tests.rb +11 -16
- data/tests/brightbox/requests/compute/zone_tests.rb +7 -6
- data/tests/clodo/requests/compute/image_tests.rb +36 -0
- data/tests/clodo/requests/compute/server_tests.rb +152 -0
- data/tests/compute/helper.rb +1 -1
- data/tests/core/credential_tests.rb +2 -2
- data/tests/glesys/requests/compute/helper.rb +91 -66
- data/tests/glesys/requests/compute/ip_tests.rb +1 -1
- data/tests/glesys/requests/compute/server_tests.rb +5 -5
- data/tests/helpers/mock_helper.rb +2 -0
- data/tests/rackspace/models/dns/zone_tests.rb +14 -0
- data/tests/rackspace/models/{access_list_tests.rb → load_balancers/access_list_tests.rb} +0 -0
- data/tests/rackspace/models/{access_lists_tests.rb → load_balancers/access_lists_tests.rb} +0 -0
- data/tests/rackspace/models/{load_balancer_tests.rb → load_balancers/load_balancer_tests.rb} +25 -0
- data/tests/rackspace/models/{load_balancers_tests.rb → load_balancers/load_balancers_tests.rb} +0 -0
- data/tests/rackspace/models/{node_tests.rb → load_balancers/node_tests.rb} +0 -0
- data/tests/rackspace/models/{nodes_tests.rb → load_balancers/nodes_tests.rb} +0 -0
- data/tests/rackspace/models/{virtual_ip_tests.rb → load_balancers/virtual_ip_tests.rb} +0 -0
- data/tests/rackspace/models/{virtual_ips_tests.rb → load_balancers/virtual_ips_tests.rb} +0 -0
- data/tests/rackspace/requests/dns/dns_tests.rb +4 -2
- data/tests/rackspace/requests/load_balancers/error_page_tests.rb +31 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +27 -11
- data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +4 -1
- data/tests/rackspace/requests/load_balancers/node_tests.rb +24 -25
- data/tests/slicehost/requests/compute/slice_tests.rb +2 -2
- data/tests/storm_on_demand/requests/compute/server_tests.rb +3 -3
- data/tests/vcloud/data/api_+_v1.0_+_admin_+_network_+_2 +110 -0
- data/tests/vcloud/data/api_+_v1.0_+_login +5 -0
- data/tests/vcloud/data/api_+_v1.0_+_network_+_1 +44 -0
- data/tests/vcloud/data/api_+_v1.0_+_network_+_2 +31 -0
- data/tests/vcloud/data/api_+_v1.0_+_org_+_1 +17 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vapp-1 +369 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vm-1 +139 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vm-2 +155 -0
- data/tests/vcloud/data/api_+_v1.0_+_vdc_+_1 +61 -0
- data/tests/vcloud/models/compute/conn_helper.rb +20 -0
- data/tests/vcloud/models/compute/network_tests.rb +65 -0
- data/tests/vcloud/models/compute/networks_tests.rb +42 -0
- data/tests/vcloud/models/compute/organization_tests.rb +13 -0
- data/tests/vcloud/models/compute/organizations_tests.rb +14 -0
- data/tests/vcloud/models/compute/server_tests.rb +136 -0
- data/tests/vcloud/models/compute/servers_tests.rb +10 -89
- data/tests/vcloud/models/compute/vapp_tests.rb +27 -0
- data/tests/vcloud/models/compute/vapps_tests.rb +17 -0
- data/tests/vcloud/models/compute/vdc_tests.rb +42 -0
- data/tests/vcloud/models/compute/vdcs_tests.rb +17 -0
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +2 -6
- metadata +151 -55
@@ -2,16 +2,17 @@ Shindo.tests('Fog::Compute[:brightbox] | server type requests', ['brightbox']) d
|
|
2
2
|
|
3
3
|
tests('success') do
|
4
4
|
|
5
|
-
tests("#list_server_types")
|
5
|
+
tests("#list_server_types") do
|
6
6
|
pending if Fog.mocking?
|
7
|
-
|
8
|
-
@server_type_id =
|
9
|
-
|
7
|
+
result = Fog::Compute[:brightbox].list_server_types
|
8
|
+
@server_type_id = result.first["id"]
|
9
|
+
formats(Brightbox::Compute::Formats::Collection::SERVER_TYPES) { result }
|
10
10
|
end
|
11
11
|
|
12
|
-
tests("#get_server_type('#{@server_type_id}')")
|
12
|
+
tests("#get_server_type('#{@server_type_id}')") do
|
13
13
|
pending if Fog.mocking?
|
14
|
-
Fog::Compute[:brightbox].get_server_type(@server_type_id)
|
14
|
+
result = Fog::Compute[:brightbox].get_server_type(@server_type_id)
|
15
|
+
formats(Brightbox::Compute::Formats::Full::SERVER_TYPE) { result }
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -2,29 +2,24 @@ Shindo.tests('Fog::Compute[:brightbox] | user requests', ['brightbox']) do
|
|
2
2
|
|
3
3
|
tests('success') do
|
4
4
|
|
5
|
-
tests("#list_users")
|
5
|
+
tests("#list_users") do
|
6
6
|
pending if Fog.mocking?
|
7
|
-
|
8
|
-
@user_id =
|
9
|
-
|
7
|
+
result = Fog::Compute[:brightbox].list_users
|
8
|
+
@user_id = result.first["id"]
|
9
|
+
formats(Brightbox::Compute::Formats::Collection::USERS) { result }
|
10
10
|
end
|
11
11
|
|
12
|
-
tests("#get_user('#{@user_id}')")
|
12
|
+
tests("#get_user('#{@user_id}')") do
|
13
13
|
pending if Fog.mocking?
|
14
|
-
|
15
|
-
|
16
|
-
data
|
14
|
+
result = Fog::Compute[:brightbox].get_user(@user_id)
|
15
|
+
formats(Brightbox::Compute::Formats::Full::USER) { result }
|
17
16
|
end
|
18
17
|
|
19
|
-
update_options = { :name => "
|
20
|
-
|
21
|
-
tests("#update_user('#{@user_id}', #{update_options.inspect})").formats(Brightbox::Compute::Formats::Full::USER) do
|
18
|
+
update_options = { :name => "Example User" }
|
19
|
+
tests("#update_user('#{@user_id}', #{update_options.inspect})") do
|
22
20
|
pending if Fog.mocking?
|
23
|
-
Fog::Compute[:brightbox].update_user(@user_id, update_options)
|
24
|
-
|
25
|
-
|
26
|
-
unless Fog.mocking?
|
27
|
-
Fog::Compute[:brightbox].update_user(@user_id, :name => @original_name)
|
21
|
+
result = Fog::Compute[:brightbox].update_user(@user_id, update_options)
|
22
|
+
formats(Brightbox::Compute::Formats::Full::USER) { result }
|
28
23
|
end
|
29
24
|
|
30
25
|
end
|
@@ -2,16 +2,17 @@ Shindo.tests('Fog::Compute[:brightbox] | zone requests', ['brightbox']) do
|
|
2
2
|
|
3
3
|
tests('success') do
|
4
4
|
|
5
|
-
tests("#list_zones")
|
5
|
+
tests("#list_zones") do
|
6
6
|
pending if Fog.mocking?
|
7
|
-
|
8
|
-
@zone_id =
|
9
|
-
|
7
|
+
result = Fog::Compute[:brightbox].list_zones
|
8
|
+
@zone_id = result.first["id"]
|
9
|
+
formats(Brightbox::Compute::Formats::Collection::ZONES) { result }
|
10
10
|
end
|
11
11
|
|
12
|
-
tests("#get_zone('#{@zone_id}')")
|
12
|
+
tests("#get_zone('#{@zone_id}')") do
|
13
13
|
pending if Fog.mocking?
|
14
|
-
Fog::Compute[:brightbox].get_zone(@zone_id)
|
14
|
+
result = Fog::Compute[:brightbox].get_zone(@zone_id)
|
15
|
+
formats(Brightbox::Compute::Formats::Full::ZONE) { result }
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Shindo.tests('Fog::Compute[:clodo] | image requests', ['clodo']) do
|
2
|
+
|
3
|
+
### Fog.mock!
|
4
|
+
|
5
|
+
clodo = Fog::Compute[:clodo]
|
6
|
+
|
7
|
+
@image_format = {
|
8
|
+
'id' => String,
|
9
|
+
'name' => String,
|
10
|
+
'status' => String,
|
11
|
+
'vps_type' => String
|
12
|
+
}
|
13
|
+
|
14
|
+
@image_details_format = {
|
15
|
+
'os_type' => String,
|
16
|
+
'os_bits' => String,
|
17
|
+
'os_hvm' => String,
|
18
|
+
'_attr' => @image_format
|
19
|
+
}
|
20
|
+
|
21
|
+
tests("success") do
|
22
|
+
tests("- list_images").formats([@image_format]) do
|
23
|
+
clodo.list_images.body['images']
|
24
|
+
end
|
25
|
+
|
26
|
+
tests("- list_images_detail").formats([@image_details_format]) do
|
27
|
+
clodo.list_images_detail.body['images']
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
tests("failure") do
|
32
|
+
tests("- get_image_details(541)").returns(nil) do
|
33
|
+
clodo.images.get(541)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,152 @@
|
|
1
|
+
Shindo.tests('Fog::Compute[:clodo] | server requests', ['clodo']) do
|
2
|
+
|
3
|
+
@ip_format = {
|
4
|
+
'primary_ip' => Fog::Boolean,
|
5
|
+
'isp' => Fog::Boolean,
|
6
|
+
'ip' => String
|
7
|
+
}
|
8
|
+
|
9
|
+
@server_format = {
|
10
|
+
'addresses' => {
|
11
|
+
'public' => [@ip_format]
|
12
|
+
},
|
13
|
+
'id' => String,
|
14
|
+
'imageId' => String,
|
15
|
+
'name' => String,
|
16
|
+
'type' => String,
|
17
|
+
'status' => String
|
18
|
+
}
|
19
|
+
|
20
|
+
@server_details_format = @server_format.merge({
|
21
|
+
'id' => Integer,
|
22
|
+
'vps_createdate' => String,
|
23
|
+
'vps_hdd_max' => String,
|
24
|
+
'vps_traff' => NilClass,
|
25
|
+
'vps_mem_1h_max' => String,
|
26
|
+
'vps_mem_load' => String,
|
27
|
+
'vps_user_pass' => String,
|
28
|
+
'vps_vnc_pass' => String,
|
29
|
+
'vps_adddate' => String,
|
30
|
+
'vps_os_title' => String,
|
31
|
+
'vps_update' => String,
|
32
|
+
'vps_mem_1h_min' => String,
|
33
|
+
'vps_mem_1h_avg' => NilClass,
|
34
|
+
'vps_memory_max' => String,
|
35
|
+
'vps_os_version' => String,
|
36
|
+
'vps_cpu_1h_max' => String,
|
37
|
+
'vps_hdd_load' => String,
|
38
|
+
'vps_disk_load' => String,
|
39
|
+
'vps_os_type' => String,
|
40
|
+
'vps_memory' => String,
|
41
|
+
'vps_cpu_load' => String,
|
42
|
+
'vps_update_days' => String,
|
43
|
+
'vps_os_bits' => String,
|
44
|
+
'vps_vnc' => String,
|
45
|
+
'vps_cpu_max' => String,
|
46
|
+
'vps_cpu_1h_min' => String,
|
47
|
+
'vps_cpu_1h_avg' => NilClass,
|
48
|
+
'vps_root_pass' => String
|
49
|
+
})
|
50
|
+
|
51
|
+
@server_create_format = {
|
52
|
+
'name' => String,
|
53
|
+
'adminPass' => String,
|
54
|
+
'imageId' => String,
|
55
|
+
'id' => Integer
|
56
|
+
}
|
57
|
+
|
58
|
+
# Fog.mock!
|
59
|
+
|
60
|
+
clodo = Fog::Compute[:clodo]
|
61
|
+
|
62
|
+
tests('success') do
|
63
|
+
tests('- create_server(541)').formats(@server_create_format) do
|
64
|
+
data = clodo.create_server(541,{:vps_type => 'ScaleServer'}).body['server']
|
65
|
+
@server_id = data['id']
|
66
|
+
data
|
67
|
+
end
|
68
|
+
|
69
|
+
tests('- list_servers(ready)').formats([@server_format]) do
|
70
|
+
clodo.list_servers.body['servers'].reject {|s| !['is_running', 'is_disabled'].include?(s['status']) }
|
71
|
+
end
|
72
|
+
|
73
|
+
tests('- list_servers(not ready)').formats([@server_format.merge({'addresses'=>{'public'=>NilClass}})]) do
|
74
|
+
clodo.list_servers.body['servers'].reject {|s| !['is_request'].include?(s['status']) }
|
75
|
+
end
|
76
|
+
|
77
|
+
clodo.servers.get(@server_id).wait_for { ready? || state == 'is_error' } unless Fog.mocking?
|
78
|
+
|
79
|
+
tests("- add_ip_address(#{@server_id})").succeeds do
|
80
|
+
clodo.add_ip_address(@server_id)
|
81
|
+
end
|
82
|
+
|
83
|
+
# tests("- get_server_details(#{@server_id})").formats(@server_details_format) do
|
84
|
+
# data = clodo.get_server_details(@server_id).body['server']
|
85
|
+
# @additional_ip = data['addresses']['public'].select {|a| !a['primary_ip'] }.first
|
86
|
+
# data
|
87
|
+
# end
|
88
|
+
|
89
|
+
tests("- reboot_server(#{@server_id})").succeeds do
|
90
|
+
clodo.reboot_server(@server_id, :hard)
|
91
|
+
end
|
92
|
+
|
93
|
+
clodo.servers.get(@server_id).wait_for { ready? || state == 'is_error' } unless Fog.mocking?
|
94
|
+
|
95
|
+
# tests("- delete_ip_address(#{@server_id}, #{@additional_ip['ip']})").success do
|
96
|
+
# clodo.delete_ip_address(@server_id, @additional_ip['ip'])
|
97
|
+
# end
|
98
|
+
|
99
|
+
tests("- stop_server(#{@server_id})").succeeds do
|
100
|
+
clodo.stop_server(@server_id)
|
101
|
+
end
|
102
|
+
|
103
|
+
unless Fog.mocking?
|
104
|
+
clodo.servers.get(@server_id).wait_for { state == 'is_disabled' || state == 'is_error' }
|
105
|
+
end
|
106
|
+
|
107
|
+
tests("- start_server(#{@server_id})").succeeds do
|
108
|
+
clodo.start_server(@server_id)
|
109
|
+
end
|
110
|
+
|
111
|
+
clodo.servers.get(@server_id).wait_for { ready? || state == 'is_error' } unless Fog.mocking?
|
112
|
+
|
113
|
+
tests("- delete_server(#{@server_id})").succeeds do
|
114
|
+
clodo.delete_server(@server_id)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
tests('failure') do
|
119
|
+
tests('- create_server(0)').raises(Excon::Errors::BadRequest) do
|
120
|
+
data = clodo.create_server(0,{:vps_type => 'ScaleServer'}).body['server']
|
121
|
+
@server_id = data['id']
|
122
|
+
data
|
123
|
+
end
|
124
|
+
|
125
|
+
tests("- reboot_server(0)").raises(Excon::Errors::BadRequest) do
|
126
|
+
clodo.reboot_server(0, :hard)
|
127
|
+
end
|
128
|
+
|
129
|
+
tests("- stop_server(0)").raises(Excon::Errors::BadRequest) do
|
130
|
+
clodo.stop_server(0)
|
131
|
+
end
|
132
|
+
|
133
|
+
tests("- start_server(0)").raises(Excon::Errors::BadRequest) do
|
134
|
+
clodo.start_server(0)
|
135
|
+
end
|
136
|
+
|
137
|
+
## delete_server(0) in actual API, works not as it must,
|
138
|
+
## so I do not include this test in tests sequence.
|
139
|
+
# tests("- delete_server(0)").raises(Fog::Compute::Clodo::NotFound) do
|
140
|
+
# clodo.delete_server(0)
|
141
|
+
# end
|
142
|
+
#
|
143
|
+
# tests("- delete_ip_address(0, 6.6.6.6)").raises(Fog::Compute::Clodo::NotFound) do
|
144
|
+
# clodo.delete_ip_address(0, "6.6.6.6")
|
145
|
+
# end
|
146
|
+
|
147
|
+
tests("- delete_ip_address(#{@server_id}, 6.6.6.6)").raises(Excon::Errors::BadRequest) do
|
148
|
+
clodo.delete_ip_address(@server_id, "6.6.6.6")
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
end
|
data/tests/compute/helper.rb
CHANGED
@@ -18,12 +18,12 @@ Shindo.tests do
|
|
18
18
|
tests('credential') do
|
19
19
|
returns(:default, "is :default") { Fog.credential }
|
20
20
|
|
21
|
-
returns(
|
21
|
+
returns(:foo, "can be set directly") do
|
22
22
|
Fog.credential = "foo"
|
23
23
|
Fog.credential
|
24
24
|
end
|
25
25
|
|
26
|
-
returns(
|
26
|
+
returns(:bar, "can be set with environment variable") do
|
27
27
|
ENV["FOG_CREDENTIAL"] = "bar"
|
28
28
|
Fog.credential
|
29
29
|
end
|
@@ -4,10 +4,14 @@ class Glesys
|
|
4
4
|
module Servers
|
5
5
|
|
6
6
|
LIST = {
|
7
|
-
'
|
7
|
+
'debug' => {
|
8
|
+
'input' => []
|
9
|
+
},
|
8
10
|
'servers' => [{
|
9
11
|
'serverid' => String,
|
10
|
-
'hostname' => String
|
12
|
+
'hostname' => String,
|
13
|
+
'datacenter' => String,
|
14
|
+
'platform' => String,
|
11
15
|
}],
|
12
16
|
'status' => {
|
13
17
|
'code' => String,
|
@@ -16,17 +20,19 @@ class Glesys
|
|
16
20
|
}
|
17
21
|
|
18
22
|
CREATE = {
|
19
|
-
'
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
'debug' => {
|
24
|
+
'input' => {
|
25
|
+
"rootpw" => String,
|
26
|
+
"disksize" => String,
|
27
|
+
"memorysize" => String,
|
28
|
+
"datacenter" => String,
|
29
|
+
"cpucores" => String,
|
30
|
+
"transfer" => String,
|
31
|
+
"template" => String,
|
32
|
+
"description" => String,
|
33
|
+
"hostname" => String,
|
34
|
+
"platform" => String
|
35
|
+
}
|
30
36
|
},
|
31
37
|
'server' => {
|
32
38
|
'serverid' => String,
|
@@ -44,9 +50,11 @@ class Glesys
|
|
44
50
|
}
|
45
51
|
|
46
52
|
DESTROY = {
|
47
|
-
'
|
48
|
-
'
|
49
|
-
|
53
|
+
'debug' => {
|
54
|
+
'input' => {
|
55
|
+
'serverid' => String,
|
56
|
+
'keepip' => String,
|
57
|
+
}
|
50
58
|
},
|
51
59
|
'status' => {
|
52
60
|
'code' => String,
|
@@ -55,61 +63,68 @@ class Glesys
|
|
55
63
|
}
|
56
64
|
|
57
65
|
DETAILS = {
|
58
|
-
'
|
59
|
-
'
|
60
|
-
|
66
|
+
'debug' => {
|
67
|
+
'input' => {
|
68
|
+
'serverid' => String
|
69
|
+
}
|
70
|
+
},
|
61
71
|
'server' => {
|
62
72
|
'managedhosting' => String,
|
63
73
|
'cost' => {
|
64
74
|
'amount' => Float,
|
65
|
-
'timeperiod' => String,
|
75
|
+
'timeperiod' => String,
|
66
76
|
'currency' => String
|
67
77
|
},
|
68
|
-
'
|
78
|
+
'serverid' => String,
|
79
|
+
'datacenter' => String,
|
69
80
|
'memory' => String,
|
70
|
-
'cpucores' => String,
|
71
|
-
'transfer' => String,
|
72
|
-
'template' => String,
|
81
|
+
'cpucores' => String,
|
82
|
+
'transfer' => String,
|
83
|
+
'template' => String,
|
73
84
|
'iplist' => [{
|
74
|
-
'cost' => String,
|
75
|
-
'version' => String,
|
85
|
+
'cost' => String,
|
86
|
+
'version' => String,
|
76
87
|
'ip' => String
|
77
88
|
}],
|
78
89
|
'description' => String,
|
79
|
-
'hostname' => String,
|
80
|
-
'disk' => String,
|
90
|
+
'hostname' => String,
|
91
|
+
'disk' => String,
|
81
92
|
'platform' => String
|
82
|
-
},
|
93
|
+
},
|
83
94
|
'status' => {
|
84
|
-
'code' => String,
|
95
|
+
'code' => String,
|
85
96
|
'text' => String
|
86
97
|
}
|
87
98
|
}
|
88
99
|
|
89
100
|
STATUS = {
|
90
|
-
'
|
91
|
-
'
|
92
|
-
|
101
|
+
'debug' => {
|
102
|
+
'input' => {
|
103
|
+
'serverid' => String
|
104
|
+
}
|
105
|
+
},
|
93
106
|
'server' => {
|
94
|
-
'memory' => String,
|
107
|
+
'memory' => String,
|
95
108
|
'bandwidth' => {
|
96
|
-
'last30days' => Integer,
|
109
|
+
'last30days' => Integer,
|
97
110
|
'today' => Integer,
|
98
111
|
'max' => String
|
99
|
-
},
|
100
|
-
'cpu' => String,
|
101
|
-
'disk' => String,
|
112
|
+
},
|
113
|
+
'cpu' => String,
|
114
|
+
'disk' => String,
|
102
115
|
'state' => String
|
103
|
-
},
|
104
|
-
'status' => {
|
116
|
+
},
|
117
|
+
'status' => {
|
105
118
|
'code' => String,
|
106
119
|
'text' => String
|
107
120
|
}
|
108
121
|
}
|
109
|
-
|
122
|
+
|
110
123
|
START = {
|
111
|
-
'
|
112
|
-
'
|
124
|
+
'debug' => {
|
125
|
+
'input' => {
|
126
|
+
'serverid' => String
|
127
|
+
}
|
113
128
|
},
|
114
129
|
'status' => {
|
115
130
|
'code' => String,
|
@@ -118,9 +133,11 @@ class Glesys
|
|
118
133
|
}
|
119
134
|
|
120
135
|
STOP = {
|
121
|
-
'
|
122
|
-
'
|
123
|
-
|
136
|
+
'debug' => {
|
137
|
+
'input' => {
|
138
|
+
'serverid' => String,
|
139
|
+
'type' => String
|
140
|
+
}
|
124
141
|
},
|
125
142
|
'status' => {
|
126
143
|
'code' => String,
|
@@ -130,9 +147,11 @@ class Glesys
|
|
130
147
|
|
131
148
|
end
|
132
149
|
module Ips
|
133
|
-
|
150
|
+
|
134
151
|
IPLIST = {
|
135
|
-
'
|
152
|
+
'debug' => {
|
153
|
+
'input' => []
|
154
|
+
},
|
136
155
|
'iplist' => [{
|
137
156
|
'price' => {
|
138
157
|
'amount' => String,
|
@@ -144,18 +163,21 @@ class Glesys
|
|
144
163
|
'platform' => String,
|
145
164
|
'ip' => String,
|
146
165
|
'version' => String,
|
166
|
+
'PTR' => String,
|
147
167
|
}],
|
148
168
|
'status' => {
|
149
169
|
'code' => String,
|
150
170
|
'text' => String
|
151
171
|
}
|
152
172
|
}
|
153
|
-
|
173
|
+
|
154
174
|
IPLIST_ALL = {
|
155
|
-
'
|
156
|
-
'
|
157
|
-
|
158
|
-
|
175
|
+
'debug' => {
|
176
|
+
'input' => {
|
177
|
+
'datacenter' => String,
|
178
|
+
'ipversion' => String,
|
179
|
+
'platform' => String
|
180
|
+
}
|
159
181
|
},
|
160
182
|
'iplist' => [],
|
161
183
|
'status' => {
|
@@ -170,12 +192,13 @@ class Glesys
|
|
170
192
|
}
|
171
193
|
|
172
194
|
IPLIST_CATCH_RELEASE = {
|
173
|
-
'
|
174
|
-
'
|
175
|
-
|
176
|
-
|
195
|
+
'debug' => {
|
196
|
+
'input' => {
|
197
|
+
'ipaddress' => String,
|
198
|
+
}
|
199
|
+
},
|
177
200
|
'status' => {
|
178
|
-
'code' => String,
|
201
|
+
'code' => String,
|
179
202
|
'text' => String
|
180
203
|
}
|
181
204
|
}
|
@@ -184,20 +207,22 @@ class Glesys
|
|
184
207
|
module Templates
|
185
208
|
|
186
209
|
LIST = {
|
187
|
-
'
|
188
|
-
|
210
|
+
'debug' => {
|
211
|
+
'input' => []
|
212
|
+
},
|
213
|
+
'templates' => {
|
189
214
|
'Xen' => [{
|
190
215
|
'name' => String,
|
191
|
-
'os' => String,
|
192
|
-
'min_mem_size' => String,
|
193
|
-
'min_disk_size' => String,
|
216
|
+
'os' => String,
|
217
|
+
'min_mem_size' => String,
|
218
|
+
'min_disk_size' => String,
|
194
219
|
'platform' => String
|
195
220
|
}],
|
196
221
|
'OpenVZ' => [{
|
197
222
|
'name' => String,
|
198
|
-
'os' => String,
|
199
|
-
'min_mem_size' => String,
|
200
|
-
'min_disk_size' => String,
|
223
|
+
'os' => String,
|
224
|
+
'min_mem_size' => String,
|
225
|
+
'min_disk_size' => String,
|
201
226
|
'platform' => String
|
202
227
|
}]
|
203
228
|
},
|