fog-openstack 0.1.5 → 0.1.6

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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.travis.yml +6 -2
  4. data/README.md +4 -0
  5. data/Rakefile +10 -2
  6. data/fog-openstack.gemspec +2 -3
  7. data/gemfiles/Gemfile-1.9 +1 -1
  8. data/lib/fog/openstack.rb +14 -6
  9. data/lib/fog/openstack/baremetal.rb +1 -1
  10. data/lib/fog/openstack/common.rb +0 -2
  11. data/lib/fog/openstack/compute.rb +78 -75
  12. data/lib/fog/openstack/core.rb +2 -1
  13. data/lib/fog/openstack/docs/compute.md +1 -1
  14. data/lib/fog/openstack/docs/network.md +283 -0
  15. data/lib/fog/openstack/docs/nfv.md +144 -0
  16. data/lib/fog/openstack/examples/compute/block_device_mapping_v2.rb +4 -4
  17. data/lib/fog/openstack/examples/network/network_add_port.rb +21 -0
  18. data/lib/fog/openstack/examples/network/network_rbac.rb +69 -0
  19. data/lib/fog/openstack/identity.rb +14 -22
  20. data/lib/fog/openstack/identity_v2.rb +1 -1
  21. data/lib/fog/openstack/image_v1.rb +13 -28
  22. data/lib/fog/openstack/image_v2.rb +15 -17
  23. data/lib/fog/openstack/introspection.rb +1 -1
  24. data/lib/fog/openstack/metering.rb +1 -1
  25. data/lib/fog/openstack/models/collection.rb +4 -1
  26. data/lib/fog/openstack/models/compute/availability_zone.rb +5 -0
  27. data/lib/fog/openstack/models/compute/flavor.rb +21 -9
  28. data/lib/fog/openstack/models/compute/server.rb +64 -77
  29. data/lib/fog/openstack/models/compute/snapshot.rb +6 -6
  30. data/lib/fog/openstack/models/compute/volume_attachment.rb +15 -0
  31. data/lib/fog/openstack/models/compute/volume_attachments.rb +20 -0
  32. data/lib/fog/openstack/models/identity_v3/projects.rb +1 -1
  33. data/lib/fog/openstack/models/identity_v3/users.rb +2 -2
  34. data/lib/fog/openstack/models/image_v2/image.rb +41 -22
  35. data/lib/fog/openstack/models/network/floating_ip.rb +1 -0
  36. data/lib/fog/openstack/models/network/rbac_policies.rb +33 -0
  37. data/lib/fog/openstack/models/network/rbac_policy.rb +35 -0
  38. data/lib/fog/openstack/models/nfv/vnf.rb +58 -0
  39. data/lib/fog/openstack/models/nfv/vnfd.rb +53 -0
  40. data/lib/fog/openstack/models/nfv/vnfds.rb +28 -0
  41. data/lib/fog/openstack/models/nfv/vnfs.rb +28 -0
  42. data/lib/fog/openstack/models/volume/snapshot.rb +38 -0
  43. data/lib/fog/openstack/models/volume/snapshots.rb +26 -0
  44. data/lib/fog/openstack/models/volume/volume.rb +32 -2
  45. data/lib/fog/openstack/models/volume/volume_type.rb +3 -4
  46. data/lib/fog/openstack/models/volume_v1/snapshot.rb +43 -0
  47. data/lib/fog/openstack/models/volume_v1/snapshots.rb +16 -0
  48. data/lib/fog/openstack/models/volume_v1/volume.rb +12 -2
  49. data/lib/fog/openstack/models/volume_v2/snapshot.rb +43 -0
  50. data/lib/fog/openstack/models/volume_v2/snapshots.rb +16 -0
  51. data/lib/fog/openstack/models/volume_v2/volume.rb +12 -3
  52. data/lib/fog/openstack/network.rb +53 -46
  53. data/lib/fog/openstack/nfv.rb +158 -0
  54. data/lib/fog/openstack/orchestration.rb +1 -1
  55. data/lib/fog/openstack/planning.rb +1 -1
  56. data/lib/fog/openstack/requests/compute/create_server.rb +1 -1
  57. data/lib/fog/openstack/requests/compute/{create_volume_snapshot.rb → create_snapshot.rb} +16 -16
  58. data/lib/fog/openstack/requests/compute/delete_flavor_metadata.rb +30 -0
  59. data/lib/fog/openstack/requests/compute/evacuate_server.rb +8 -7
  60. data/lib/fog/openstack/requests/compute/get_key_pair.rb +49 -0
  61. data/lib/fog/openstack/requests/compute/list_availability_zones.rb +23 -0
  62. data/lib/fog/openstack/requests/compute/list_volume_attachments.rb +31 -0
  63. data/lib/fog/openstack/requests/compute/update_flavor_metadata.rb +33 -0
  64. data/lib/fog/openstack/requests/network/create_rbac_policy.rb +42 -0
  65. data/lib/fog/openstack/requests/network/delete_rbac_policy.rb +28 -0
  66. data/lib/fog/openstack/requests/network/get_rbac_policy.rb +28 -0
  67. data/lib/fog/openstack/requests/network/list_rbac_policies.rb +25 -0
  68. data/lib/fog/openstack/requests/network/update_port.rb +8 -7
  69. data/lib/fog/openstack/requests/network/update_rbac_policy.rb +41 -0
  70. data/lib/fog/openstack/requests/nfv/create_vnf.rb +37 -0
  71. data/lib/fog/openstack/requests/nfv/create_vnfd.rb +35 -0
  72. data/lib/fog/openstack/requests/nfv/delete_vnf.rb +23 -0
  73. data/lib/fog/openstack/requests/nfv/delete_vnfd.rb +23 -0
  74. data/lib/fog/openstack/requests/nfv/get_vnf.rb +24 -0
  75. data/lib/fog/openstack/requests/nfv/get_vnfd.rb +24 -0
  76. data/lib/fog/openstack/requests/nfv/list_vnfds.rb +25 -0
  77. data/lib/fog/openstack/requests/nfv/list_vnfs.rb +25 -0
  78. data/lib/fog/openstack/requests/nfv/update_vnf.rb +35 -0
  79. data/lib/fog/openstack/requests/volume/action.rb +16 -0
  80. data/lib/fog/openstack/requests/volume/create_snapshot.rb +18 -0
  81. data/lib/fog/openstack/requests/volume/delete_metadata.rb +15 -0
  82. data/lib/fog/openstack/requests/volume/delete_snapshot.rb +5 -5
  83. data/lib/fog/openstack/requests/volume/delete_snapshot_metadata.rb +15 -0
  84. data/lib/fog/openstack/requests/volume/replace_metadata.rb +20 -0
  85. data/lib/fog/openstack/requests/volume/update_metadata.rb +20 -0
  86. data/lib/fog/openstack/requests/volume/update_snapshot.rb +37 -0
  87. data/lib/fog/openstack/requests/volume/update_snapshot_metadata.rb +20 -0
  88. data/lib/fog/openstack/requests/volume/update_volume.rb +25 -0
  89. data/lib/fog/openstack/requests/volume_v1/action.rb +2 -0
  90. data/lib/fog/openstack/requests/volume_v1/create_snapshot.rb +45 -0
  91. data/lib/fog/openstack/requests/volume_v1/delete_metadata.rb +2 -0
  92. data/lib/fog/openstack/requests/volume_v1/delete_snapshot_metadata.rb +2 -0
  93. data/lib/fog/openstack/requests/volume_v1/replace_metadata.rb +2 -0
  94. data/lib/fog/openstack/requests/volume_v1/update_metadata.rb +2 -0
  95. data/lib/fog/openstack/requests/volume_v1/update_snapshot.rb +2 -0
  96. data/lib/fog/openstack/requests/volume_v1/update_snapshot_metadata.rb +2 -0
  97. data/lib/fog/openstack/requests/volume_v1/update_volume.rb +2 -0
  98. data/lib/fog/openstack/requests/volume_v2/action.rb +2 -0
  99. data/lib/fog/openstack/requests/volume_v2/create_snapshot.rb +45 -0
  100. data/lib/fog/openstack/requests/volume_v2/delete_metadata.rb +2 -0
  101. data/lib/fog/openstack/requests/volume_v2/delete_snapshot_metadata.rb +2 -0
  102. data/lib/fog/openstack/requests/volume_v2/replace_metadata.rb +2 -0
  103. data/lib/fog/openstack/requests/volume_v2/update_metadata.rb +2 -0
  104. data/lib/fog/openstack/requests/volume_v2/update_snapshot.rb +2 -0
  105. data/lib/fog/openstack/requests/volume_v2/update_snapshot_metadata.rb +2 -0
  106. data/lib/fog/openstack/requests/volume_v2/update_volume.rb +2 -0
  107. data/lib/fog/openstack/storage.rb +1 -1
  108. data/lib/fog/openstack/version.rb +1 -1
  109. data/lib/fog/openstack/volume.rb +1 -1
  110. data/lib/fog/openstack/volume_v1.rb +29 -21
  111. data/lib/fog/openstack/volume_v2.rb +29 -21
  112. data/supported.md +54 -0
  113. data/tests/openstack/models/identity/ec2_credential_tests.rb +1 -1
  114. data/tests/openstack/models/identity/ec2_credentials_tests.rb +1 -1
  115. data/tests/openstack/models/identity/role_tests.rb +8 -3
  116. data/tests/openstack/models/identity/roles_tests.rb +5 -4
  117. data/tests/openstack/models/identity/tenant_tests.rb +7 -4
  118. data/tests/openstack/models/identity/tenants_tests.rb +10 -5
  119. data/tests/openstack/models/identity/user_tests.rb +4 -3
  120. data/tests/openstack/models/identity/users_tests.rb +10 -6
  121. data/tests/openstack/models/nfv/vnf_tests.rb +35 -0
  122. data/tests/openstack/models/nfv/vnfd_tests.rb +23 -0
  123. data/tests/openstack/models/nfv/vnfds_tests.rb +31 -0
  124. data/tests/openstack/models/nfv/vnfs_tests.rb +38 -0
  125. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +6 -9
  126. data/tests/openstack/requests/identity/helper.rb +12 -4
  127. data/tests/openstack/requests/identity/role_tests.rb +13 -10
  128. data/tests/openstack/requests/identity/tenant_tests.rb +10 -9
  129. data/tests/openstack/requests/identity/user_tests.rb +11 -6
  130. data/tests/openstack/requests/image/image_tests.rb +1 -0
  131. data/tests/openstack/requests/nfv/vnf_tests.rb +70 -0
  132. data/tests/openstack/requests/nfv/vnfd_tests.rb +44 -0
  133. metadata +81 -31
  134. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +0 -26
  135. data/lib/fog/openstack/requests/volume_v1/create_volume_snapshot.rb +0 -44
  136. data/lib/fog/openstack/requests/volume_v2/create_volume_snapshot.rb +0 -43
  137. data/tests/openstack/authenticate_tests.rb +0 -200
  138. data/tests/openstack/identity_version_tests.rb +0 -25
  139. data/tests/openstack/storage_tests.rb +0 -18
  140. data/tests/openstack/version_tests.rb +0 -55
  141. data/tests/openstack/volume_tests.rb +0 -18
@@ -7,15 +7,15 @@ Shindo.tests('Fog::Identity[:openstack] | EC2 credential requests', ['openstack'
7
7
  'user_id' => String,
8
8
  }
9
9
 
10
+ @identity = Fog::Identity::OpenStack.new(:openstack_auth_url => "http://openstack:35357/v2.0/tokens")
11
+
10
12
  @user_id = OpenStack::Identity.get_user_id
11
13
  @tenant_id = OpenStack::Identity.get_tenant_id
12
14
 
13
15
  tests('success') do
14
16
  tests('#create_ec2_credential').
15
17
  formats({'credential' => @credential_format}) do
16
- response =
17
- Fog::Identity[:openstack].
18
- create_ec2_credential(@user_id, @tenant_id)
18
+ response = @identity.create_ec2_credential(@user_id, @tenant_id)
19
19
 
20
20
  @ec2_credential = response.body['credential']
21
21
 
@@ -24,19 +24,16 @@ Shindo.tests('Fog::Identity[:openstack] | EC2 credential requests', ['openstack'
24
24
 
25
25
  tests('#get_ec2_credential').
26
26
  formats({'credential' => @credential_format}) do
27
- Fog::Identity[:openstack].
28
- get_ec2_credential(@user_id, @ec2_credential['access']).body
27
+ @identity.get_ec2_credential(@user_id, @ec2_credential['access']).body
29
28
  end
30
29
 
31
30
  tests('#list_ec2_credentials').
32
31
  formats({'credentials' => [@credential_format]}) do
33
- Fog::Identity[:openstack].
34
- list_ec2_credentials(@user_id).body
32
+ @identity.list_ec2_credentials(@user_id).body
35
33
  end
36
34
 
37
35
  tests('#delete_ec2_credential').succeeds do
38
- Fog::Identity[:openstack].
39
- delete_ec2_credential(@user_id, @ec2_credential['access'])
36
+ @identity.delete_ec2_credential(@user_id, @ec2_credential['access'])
40
37
  end
41
38
 
42
39
  end
@@ -1,13 +1,21 @@
1
1
  class OpenStack
2
2
  module Identity
3
- def self.get_tenant_id
4
- identity = Fog::Identity[:openstack]
3
+ def self.get_tenant_id_old
4
+ identity = Fog::Identity::OpenStack.new(:openstack_auth_url => 'http://openstack:35357/v2.0/tokens')
5
5
  ENV['OPENSTACK_TENANT_NAME'] || identity.list_tenants.body['tenants'].first['id']
6
6
  end
7
7
 
8
- def self.get_user_id
9
- identity = Fog::Identity[:openstack]
8
+ def self.get_user_id_old
9
+ identity = Fog::Identity::OpenStack.new(:openstack_auth_url => 'http://openstack:35357/v2.0/tokens')
10
10
  ENV['OPENSTACK_USER_ID'] || identity.list_users.body['users'].first['id']
11
11
  end
12
+
13
+ def self.get_tenant_id
14
+ 'tenant_id'
15
+ end
16
+
17
+ def self.get_user_id
18
+ 'user_id'
19
+ end
12
20
  end
13
21
  end
@@ -3,42 +3,45 @@ Shindo.tests('Fog::Identity[:openstack] | role requests', ['openstack']) do
3
3
  'id' => String,
4
4
  'name' => String
5
5
  }
6
- @user = Fog::Identity[:openstack].list_users.body['users'].first
7
- @tenant = Fog::Identity[:openstack].list_tenants.body['tenants'].first
6
+
7
+ @identity = Fog::Identity::OpenStack.new(:openstack_auth_url => 'http://openstack:35357/v2.0/tokens')
8
+
9
+ @user = @identity.list_users.body['users'].first
10
+ @tenant = @identity.list_tenants.body['tenants'].first
8
11
  tests('success') do
9
12
 
10
13
  tests('#create_role("Role Name")').formats(@role_format, false) do
11
- @role = Fog::Identity[:openstack].create_role("Role Name").body['role']
14
+ @role = @identity.create_role("Role Name").body['role']
12
15
  end
13
16
 
14
17
  tests('#list_roles').formats({'roles' => [@role_format]}) do
15
- Fog::Identity[:openstack].list_roles.body
18
+ @identity.list_roles.body
16
19
  end
17
20
 
18
21
  tests("#get_role('#{@role['id']}')").formats(@role_format) do
19
- Fog::Identity[:openstack].get_role(@role['id']).body['role']
22
+ @identity.get_role(@role['id']).body['role']
20
23
  end
21
24
 
22
25
  tests('#create_user_role(@tenant["id"], @user["id"], @role["id"])').formats(@role_format) do
23
- Fog::Identity[:openstack].create_user_role(@tenant['id'], @user['id'], @role['id']).body['role']
26
+ @identity.create_user_role(@tenant['id'], @user['id'], @role['id']).body['role']
24
27
  end
25
28
 
26
29
  tests("#list_roles_for_user_on_tenant('#{@tenant['id']}','#{@user['id']}')").formats([@role_format]) do
27
- Fog::Identity[:openstack].list_roles_for_user_on_tenant(@tenant['id'], @user['id']).body['roles']
30
+ @identity.list_roles_for_user_on_tenant(@tenant['id'], @user['id']).body['roles']
28
31
  end
29
32
 
30
33
  tests("#delete_user_role with tenant").returns("") do
31
- Fog::Identity[:openstack].delete_user_role(@tenant['id'], @user['id'], @role['id']).body
34
+ @identity.delete_user_role(@tenant['id'], @user['id'], @role['id']).body
32
35
  end
33
36
 
34
37
  tests("#delete_user_role with tenant").formats(@role_format) do
35
38
  # FIXME - Response (under mocks) is empty String which does not match schema
36
39
  pending
37
- Fog::Identity[:openstack].delete_user_role(@tenant['id'], @user['id'], @role['id']).body
40
+ @identity.delete_user_role(@tenant['id'], @user['id'], @role['id']).body
38
41
  end
39
42
 
40
43
  tests("#delete_role('#{@role['id']}')").succeeds do
41
- Fog::Identity[:openstack].delete_role(@role['id']).body
44
+ @identity.delete_role(@role['id']).body
42
45
  end
43
46
 
44
47
  end
@@ -16,40 +16,41 @@ Shindo.tests('Fog::Identity[:openstack] | tenant requests', ['openstack']) do
16
16
  @tenant_name_update = Fog::Mock.random_hex(64)
17
17
  @tenant_name_update2 = Fog::Mock.random_hex(64)
18
18
 
19
+ @identity = Fog::Identity[:openstack]
20
+
19
21
  tests('success') do
20
22
  tests('#list_tenants').formats({'tenants' => [@tenant_format], 'tenants_links' => []}) do
21
- Fog::Identity[:openstack].list_tenants.body
23
+ @identity.list_tenants.body
22
24
  end
23
25
 
24
26
  tests('#list_roles_for_user_on_tenant(0,1)').
25
27
  formats({'roles' => [@role_format]}) do
26
28
 
27
- openstack = Fog::Identity[:openstack]
28
- openstack.list_roles_for_user_on_tenant(
29
- openstack.current_tenant['id'], OpenStack::Identity.get_user_id).body
29
+ @identity.list_roles_for_user_on_tenant(
30
+ @identity.current_tenant['id'], OpenStack::Identity.get_user_id).body
30
31
  end
31
32
 
32
33
  tests('#create_tenant').formats({'tenant' => @tenant_format}) do
33
- @tenant = Fog::Identity[:openstack].create_tenant('name' => @tenant_name).body
34
+ @tenant = @identity.create_tenant('name' => @tenant_name).body
34
35
  end
35
36
 
36
37
  tests('#get_tenant').formats({'tenant' => @tenant_format}) do
37
- Fog::Identity[:openstack].get_tenant(@tenant['tenant']['id']).body
38
+ @identity.get_tenant(@tenant['tenant']['id']).body
38
39
  end
39
40
 
40
41
  tests('#update_tenant check format').formats({'tenant' => @tenant_format}) do
41
- @tenant = Fog::Identity[:openstack].update_tenant(
42
+ @tenant = @identity.update_tenant(
42
43
  @tenant['tenant']['id'], 'name' => @tenant_name_update).body
43
44
  end
44
45
 
45
46
  tests('#update_tenant update name').succeeds do
46
- @tenant = Fog::Identity[:openstack].update_tenant(
47
+ @tenant = @identity.update_tenant(
47
48
  @tenant['tenant']['id'], 'name' => @tenant_name_update2).body
48
49
  @tenant['tenant']['name'] == @tenant_name_update2
49
50
  end
50
51
 
51
52
  tests('#delete_tenant').succeeds do
52
- Fog::Identity[:openstack].delete_tenant(@tenant['tenant']['id'])
53
+ @identity.delete_tenant(@tenant['tenant']['id'])
53
54
  end
54
55
 
55
56
  end
@@ -8,33 +8,38 @@ Shindo.tests('Fog::Identity[:openstack] | user requests', ['openstack']) do
8
8
  'tenantId' => Fog::Nullable::String
9
9
  }
10
10
 
11
+ @identity = Fog::Identity[:openstack]
12
+
11
13
  tests('success') do
12
14
 
13
15
  @user_name = Fog::Mock.random_hex(64)
14
16
  @user_name_update = Fog::Mock.random_hex(64)
15
17
 
16
18
  tests("#create_user('#{@user_name}', 'mypassword', 'morph@example.com', 't3n4nt1d', true)").formats(@user_format, false) do
17
- @user = Fog::Identity[:openstack].create_user(@user_name, "mypassword", "morph@example.com", OpenStack::Identity.get_tenant_id).body['user']
19
+ @user = @identity.create_user(
20
+ @user_name, "mypassword", "morph@example.com",
21
+ OpenStack::Identity.get_tenant_id
22
+ ).body['user']
18
23
  end
19
24
 
20
25
  tests('#list_users').formats({'users' => [@user_format]}) do
21
- Fog::Identity[:openstack].list_users.body
26
+ @identity.list_users.body
22
27
  end
23
28
 
24
29
  tests('#get_user_by_id').formats(@user_format) do
25
- Fog::Identity[:openstack].get_user_by_id(@user['id']).body['user']
30
+ @identity.get_user_by_id(@user['id']).body['user']
26
31
  end
27
32
 
28
33
  tests('#get_user_by_name').formats(@user_format) do
29
- Fog::Identity[:openstack].get_user_by_name(@user['name']).body['user']
34
+ @identity.get_user_by_name(@user['name']).body['user']
30
35
  end
31
36
 
32
37
  tests("#update_user(#{@user['id']}, :name => 'fogupdateduser')").succeeds do
33
- Fog::Identity[:openstack].update_user(@user['id'], :name => @user_name_update, :email => 'fog@test.com')
38
+ @identity.update_user(@user['id'], :name => @user_name_update, :email => 'fog@test.com')
34
39
  end
35
40
 
36
41
  tests("#delete_user(#{@user['id']})").succeeds do
37
- Fog::Identity[:openstack].delete_user(@user['id'])
42
+ @identity.delete_user(@user['id'])
38
43
  end
39
44
 
40
45
  end
@@ -1,5 +1,6 @@
1
1
  Shindo.tests('Fog::Image[:openstack] | image requests', ['openstack']) do
2
2
  openstack = Fog::Identity[:openstack]
3
+
3
4
  @image_attributes = {
4
5
  :name => 'new image',
5
6
  :owner => openstack.current_tenant['id'],
@@ -0,0 +1,70 @@
1
+ Shindo.tests('@vnf | NFV vnfs requests', ['openstack']) do
2
+ @nfv = Fog::NFV::OpenStack.new
3
+
4
+ @vnfs_create = {
5
+ "status" => String,
6
+ "description" => String,
7
+ "tenant_id" => String,
8
+ "name" => String,
9
+ "instance_id" => String,
10
+ "mgmt_url" => Fog::Nullable::String,
11
+ "attributes" => Hash,
12
+ "id" => String,
13
+ "vnfd_id" => String,
14
+ }
15
+
16
+ @vnfs = {
17
+ "status" => String,
18
+ "description" => String,
19
+ "tenant_id" => String,
20
+ "name" => String,
21
+ "instance_id" => String,
22
+ "mgmt_url" => Fog::Nullable::String,
23
+ "attributes" => Hash,
24
+ "id" => String,
25
+ }
26
+
27
+ tests('success') do
28
+ tests('#create_vnfs').data_matches_schema('vnf' => @vnfs_create) do
29
+ vnfd_data = {:attributes => {:vnfd => "template_name: sample-vnfd\ndescription: demo-example\n\nservice_prop"\
30
+ "erties:\n Id: sample-vnfd\n vendor: tacker\n version: 1\n\nvdus:\n"\
31
+ " vdu1:\n id: vdu1\n vm_image: cirros\n instance_type: m1.ti"\
32
+ "ny\n\n network_interfaces:\n management:\n network: ne"\
33
+ "t_mgmt\n management: true\n pkt_in:\n network: net"\
34
+ "0\n pkt_out:\n network: net1\n\n placement_policy:\n "\
35
+ " availability_zone: nova\n\n auto-scaling: noop\n\n config:"\
36
+ "\n param0: key0\n param1: key1\n"},
37
+ :service_types => [{:service_type => "vnfd"}],
38
+ :mgmt_driver => "noop",
39
+ :infra_driver => "heat"}
40
+ auth = {"tenantName" => "admin", "passwordCredentials" => {"username" => "admin", "password" => "password"}}
41
+ @vnfd_body = @nfv.create_vnfd(:vnfd => vnfd_data, :auth => auth).body
42
+ vnf_data = {:vnfd_id => @vnfd_body["vnfd"]["id"], :name => 'Test'}
43
+ auth = {"tenantName" => "admin", "passwordCredentials" => {"username" => "admin", "password" => "password"}}
44
+ @vnf_body = @nfv.create_vnf(:vnf => vnf_data, :auth => auth).body
45
+ end
46
+
47
+ Fog::NFV[:openstack].vnfs.get(@vnf_body["vnf"]["id"]).wait_for { ready? }
48
+
49
+ tests('#list_vnfs').data_matches_schema('vnfs' => [@vnfs]) do
50
+ @nfv.list_vnfs.body
51
+ end
52
+
53
+ tests('#get_vnfs').data_matches_schema('vnf' => @vnfs) do
54
+ @nfv.get_vnf(@vnf_body["vnf"]["id"]).body
55
+ end
56
+
57
+ tests('#update_vnfs').data_matches_schema('vnf' => @vnfs) do
58
+ vnf_data = {:attributes => {:config => "vdus:\n vdu1:<sample_vdu_config> \n\n"}}
59
+ auth = {"tenantName" => "admin", "passwordCredentials" => {"username" => "admin", "password" => "password"}}
60
+ @nfv.update_vnf(@vnf_body["vnf"]["id"], :vnf => vnf_data, :auth => auth).body
61
+ end
62
+
63
+ tests('#delete_vnfs').succeeds do
64
+ sleep(10) unless Fog.mocking?
65
+
66
+ @nfv.delete_vnf(@vnf_body["vnf"]["id"])
67
+ @nfv.delete_vnfd(@vnfd_body["vnfd"]["id"])
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,44 @@
1
+ Shindo.tests('@vnfd | NFV vnfds requests', ['openstack']) do
2
+ @nfv = Fog::NFV::OpenStack.new
3
+
4
+ @vnfds = {
5
+ "service_types" => Array,
6
+ "description" => String,
7
+ "tenant_id" => String,
8
+ "mgmt_driver" => String,
9
+ "infra_driver" => String,
10
+ "attributes" => Hash,
11
+ "id" => String,
12
+ "name" => String
13
+ }
14
+
15
+ tests('success') do
16
+ tests('#create_vnfds').data_matches_schema('vnfd' => @vnfds) do
17
+ vnfd_data = {:attributes => {:vnfd => "template_name: sample-vnfd\ndescription: demo-example\n\nservice_prop"\
18
+ "erties:\n Id: sample-vnfd\n vendor: tacker\n version: 1\n\nvdus:\n"\
19
+ " vdu1:\n id: vdu1\n vm_image: cirros\n instance_type: m1.ti"\
20
+ "ny\n\n network_interfaces:\n management:\n network: ne"\
21
+ "t_mgmt\n management: true\n pkt_in:\n network: net"\
22
+ "0\n pkt_out:\n network: net1\n\n placement_policy:\n "\
23
+ " availability_zone: nova\n\n auto-scaling: noop\n\n config:"\
24
+ "\n param0: key0\n param1: key1\n"},
25
+ :service_types => [{:service_type => "vnfd"}],
26
+ :mgmt_driver => "noop",
27
+ :infra_driver => "heat"}
28
+ auth = {"tenantName" => "admin", "passwordCredentials" => {"username" => "admin", "password" => "password"}}
29
+ @vnfd_body = @nfv.create_vnfd(:vnfd => vnfd_data, :auth => auth).body
30
+ end
31
+
32
+ tests('#list_vnfds').data_matches_schema('vnfds' => [@vnfds]) do
33
+ @nfv.list_vnfds.body
34
+ end
35
+
36
+ tests('#get_vnfds').data_matches_schema('vnfd' => @vnfds) do
37
+ @nfv.get_vnfd(@vnfd_body["vnfd"]["id"]).body
38
+ end
39
+
40
+ tests('#delete_vnfds').succeeds do
41
+ @nfv.delete_vnfd(@vnfd_body["vnfd"]["id"])
42
+ end
43
+ end
44
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-openstack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Darby
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-05 00:00:00.000000000 Z
11
+ date: 2016-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.38'
19
+ version: '1.39'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.38'
26
+ version: '1.39'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fog-json
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
- - !ruby/object:Gem::Dependency
42
- name: fog-xml
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0.1'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0.1'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: ipaddress
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -196,16 +182,16 @@ dependencies:
196
182
  name: webmock
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
- - - ">="
185
+ - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: '0'
187
+ version: 1.24.6
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
- - - ">="
192
+ - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: '0'
194
+ version: 1.24.6
209
195
  description: OpenStack fog provider gem.
210
196
  email:
211
197
  - matt.darby@rackspace.com
@@ -239,6 +225,8 @@ files:
239
225
  - lib/fog/openstack/docs/getting_started.md
240
226
  - lib/fog/openstack/docs/introspection.md
241
227
  - lib/fog/openstack/docs/metering.md
228
+ - lib/fog/openstack/docs/network.md
229
+ - lib/fog/openstack/docs/nfv.md
242
230
  - lib/fog/openstack/docs/orchestration.md
243
231
  - lib/fog/openstack/docs/planning.md
244
232
  - lib/fog/openstack/docs/storage.md
@@ -248,6 +236,8 @@ files:
248
236
  - lib/fog/openstack/examples/identity/basics.rb
249
237
  - lib/fog/openstack/examples/image/upload-test-image.rb
250
238
  - lib/fog/openstack/examples/introspection/basics.rb
239
+ - lib/fog/openstack/examples/network/network_add_port.rb
240
+ - lib/fog/openstack/examples/network/network_rbac.rb
251
241
  - lib/fog/openstack/examples/network/network_subnets_routers.rb
252
242
  - lib/fog/openstack/examples/planning/basics.rb
253
243
  - lib/fog/openstack/examples/storage/set-account-quota.rb
@@ -299,6 +289,8 @@ files:
299
289
  - lib/fog/openstack/models/compute/tenant.rb
300
290
  - lib/fog/openstack/models/compute/tenants.rb
301
291
  - lib/fog/openstack/models/compute/volume.rb
292
+ - lib/fog/openstack/models/compute/volume_attachment.rb
293
+ - lib/fog/openstack/models/compute/volume_attachments.rb
302
294
  - lib/fog/openstack/models/compute/volumes.rb
303
295
  - lib/fog/openstack/models/identity_v2/ec2_credential.rb
304
296
  - lib/fog/openstack/models/identity_v2/ec2_credentials.rb
@@ -364,6 +356,8 @@ files:
364
356
  - lib/fog/openstack/models/network/networks.rb
365
357
  - lib/fog/openstack/models/network/port.rb
366
358
  - lib/fog/openstack/models/network/ports.rb
359
+ - lib/fog/openstack/models/network/rbac_policies.rb
360
+ - lib/fog/openstack/models/network/rbac_policy.rb
367
361
  - lib/fog/openstack/models/network/router.rb
368
362
  - lib/fog/openstack/models/network/routers.rb
369
363
  - lib/fog/openstack/models/network/security_group.rb
@@ -374,6 +368,10 @@ files:
374
368
  - lib/fog/openstack/models/network/subnets.rb
375
369
  - lib/fog/openstack/models/network/vpn_service.rb
376
370
  - lib/fog/openstack/models/network/vpn_services.rb
371
+ - lib/fog/openstack/models/nfv/vnf.rb
372
+ - lib/fog/openstack/models/nfv/vnfd.rb
373
+ - lib/fog/openstack/models/nfv/vnfds.rb
374
+ - lib/fog/openstack/models/nfv/vnfs.rb
377
375
  - lib/fog/openstack/models/orchestration/event.rb
378
376
  - lib/fog/openstack/models/orchestration/events.rb
379
377
  - lib/fog/openstack/models/orchestration/resource.rb
@@ -393,6 +391,8 @@ files:
393
391
  - lib/fog/openstack/models/storage/files.rb
394
392
  - lib/fog/openstack/models/volume/availability_zone.rb
395
393
  - lib/fog/openstack/models/volume/availability_zones.rb
394
+ - lib/fog/openstack/models/volume/snapshot.rb
395
+ - lib/fog/openstack/models/volume/snapshots.rb
396
396
  - lib/fog/openstack/models/volume/transfer.rb
397
397
  - lib/fog/openstack/models/volume/transfers.rb
398
398
  - lib/fog/openstack/models/volume/volume.rb
@@ -401,6 +401,8 @@ files:
401
401
  - lib/fog/openstack/models/volume/volumes.rb
402
402
  - lib/fog/openstack/models/volume_v1/availability_zone.rb
403
403
  - lib/fog/openstack/models/volume_v1/availability_zones.rb
404
+ - lib/fog/openstack/models/volume_v1/snapshot.rb
405
+ - lib/fog/openstack/models/volume_v1/snapshots.rb
404
406
  - lib/fog/openstack/models/volume_v1/transfer.rb
405
407
  - lib/fog/openstack/models/volume_v1/transfers.rb
406
408
  - lib/fog/openstack/models/volume_v1/volume.rb
@@ -409,6 +411,8 @@ files:
409
411
  - lib/fog/openstack/models/volume_v1/volumes.rb
410
412
  - lib/fog/openstack/models/volume_v2/availability_zone.rb
411
413
  - lib/fog/openstack/models/volume_v2/availability_zones.rb
414
+ - lib/fog/openstack/models/volume_v2/snapshot.rb
415
+ - lib/fog/openstack/models/volume_v2/snapshots.rb
412
416
  - lib/fog/openstack/models/volume_v2/transfer.rb
413
417
  - lib/fog/openstack/models/volume_v2/transfers.rb
414
418
  - lib/fog/openstack/models/volume_v2/volume.rb
@@ -416,6 +420,7 @@ files:
416
420
  - lib/fog/openstack/models/volume_v2/volume_types.rb
417
421
  - lib/fog/openstack/models/volume_v2/volumes.rb
418
422
  - lib/fog/openstack/network.rb
423
+ - lib/fog/openstack/nfv.rb
419
424
  - lib/fog/openstack/orchestration.rb
420
425
  - lib/fog/openstack/planning.rb
421
426
  - lib/fog/openstack/requests/baremetal/create_chassis.rb
@@ -461,10 +466,11 @@ files:
461
466
  - lib/fog/openstack/requests/compute/create_security_group.rb
462
467
  - lib/fog/openstack/requests/compute/create_security_group_rule.rb
463
468
  - lib/fog/openstack/requests/compute/create_server.rb
469
+ - lib/fog/openstack/requests/compute/create_snapshot.rb
464
470
  - lib/fog/openstack/requests/compute/create_volume.rb
465
- - lib/fog/openstack/requests/compute/create_volume_snapshot.rb
466
471
  - lib/fog/openstack/requests/compute/delete_aggregate.rb
467
472
  - lib/fog/openstack/requests/compute/delete_flavor.rb
473
+ - lib/fog/openstack/requests/compute/delete_flavor_metadata.rb
468
474
  - lib/fog/openstack/requests/compute/delete_image.rb
469
475
  - lib/fog/openstack/requests/compute/delete_key_pair.rb
470
476
  - lib/fog/openstack/requests/compute/delete_meta.rb
@@ -489,6 +495,7 @@ files:
489
495
  - lib/fog/openstack/requests/compute/get_host_details.rb
490
496
  - lib/fog/openstack/requests/compute/get_hypervisor_statistics.rb
491
497
  - lib/fog/openstack/requests/compute/get_image_details.rb
498
+ - lib/fog/openstack/requests/compute/get_key_pair.rb
492
499
  - lib/fog/openstack/requests/compute/get_limits.rb
493
500
  - lib/fog/openstack/requests/compute/get_metadata.rb
494
501
  - lib/fog/openstack/requests/compute/get_quota.rb
@@ -506,6 +513,7 @@ files:
506
513
  - lib/fog/openstack/requests/compute/list_addresses.rb
507
514
  - lib/fog/openstack/requests/compute/list_aggregates.rb
508
515
  - lib/fog/openstack/requests/compute/list_all_addresses.rb
516
+ - lib/fog/openstack/requests/compute/list_availability_zones.rb
509
517
  - lib/fog/openstack/requests/compute/list_flavors.rb
510
518
  - lib/fog/openstack/requests/compute/list_flavors_detail.rb
511
519
  - lib/fog/openstack/requests/compute/list_hosts.rb
@@ -524,6 +532,7 @@ files:
524
532
  - lib/fog/openstack/requests/compute/list_tenants.rb
525
533
  - lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb
526
534
  - lib/fog/openstack/requests/compute/list_usages.rb
535
+ - lib/fog/openstack/requests/compute/list_volume_attachments.rb
527
536
  - lib/fog/openstack/requests/compute/list_volumes.rb
528
537
  - lib/fog/openstack/requests/compute/list_volumes_detail.rb
529
538
  - lib/fog/openstack/requests/compute/list_zones.rb
@@ -557,6 +566,7 @@ files:
557
566
  - lib/fog/openstack/requests/compute/unshelve_server.rb
558
567
  - lib/fog/openstack/requests/compute/update_aggregate.rb
559
568
  - lib/fog/openstack/requests/compute/update_aggregate_metadata.rb
569
+ - lib/fog/openstack/requests/compute/update_flavor_metadata.rb
560
570
  - lib/fog/openstack/requests/compute/update_meta.rb
561
571
  - lib/fog/openstack/requests/compute/update_metadata.rb
562
572
  - lib/fog/openstack/requests/compute/update_quota.rb
@@ -727,6 +737,7 @@ files:
727
737
  - lib/fog/openstack/requests/network/create_lb_vip.rb
728
738
  - lib/fog/openstack/requests/network/create_network.rb
729
739
  - lib/fog/openstack/requests/network/create_port.rb
740
+ - lib/fog/openstack/requests/network/create_rbac_policy.rb
730
741
  - lib/fog/openstack/requests/network/create_router.rb
731
742
  - lib/fog/openstack/requests/network/create_security_group.rb
732
743
  - lib/fog/openstack/requests/network/create_security_group_rule.rb
@@ -743,6 +754,7 @@ files:
743
754
  - lib/fog/openstack/requests/network/delete_network.rb
744
755
  - lib/fog/openstack/requests/network/delete_port.rb
745
756
  - lib/fog/openstack/requests/network/delete_quota.rb
757
+ - lib/fog/openstack/requests/network/delete_rbac_policy.rb
746
758
  - lib/fog/openstack/requests/network/delete_router.rb
747
759
  - lib/fog/openstack/requests/network/delete_security_group.rb
748
760
  - lib/fog/openstack/requests/network/delete_security_group_rule.rb
@@ -763,6 +775,7 @@ files:
763
775
  - lib/fog/openstack/requests/network/get_port.rb
764
776
  - lib/fog/openstack/requests/network/get_quota.rb
765
777
  - lib/fog/openstack/requests/network/get_quotas.rb
778
+ - lib/fog/openstack/requests/network/get_rbac_policy.rb
766
779
  - lib/fog/openstack/requests/network/get_router.rb
767
780
  - lib/fog/openstack/requests/network/get_security_group.rb
768
781
  - lib/fog/openstack/requests/network/get_security_group_rule.rb
@@ -778,6 +791,7 @@ files:
778
791
  - lib/fog/openstack/requests/network/list_lb_vips.rb
779
792
  - lib/fog/openstack/requests/network/list_networks.rb
780
793
  - lib/fog/openstack/requests/network/list_ports.rb
794
+ - lib/fog/openstack/requests/network/list_rbac_policies.rb
781
795
  - lib/fog/openstack/requests/network/list_routers.rb
782
796
  - lib/fog/openstack/requests/network/list_security_group_rules.rb
783
797
  - lib/fog/openstack/requests/network/list_security_groups.rb
@@ -795,9 +809,19 @@ files:
795
809
  - lib/fog/openstack/requests/network/update_network.rb
796
810
  - lib/fog/openstack/requests/network/update_port.rb
797
811
  - lib/fog/openstack/requests/network/update_quota.rb
812
+ - lib/fog/openstack/requests/network/update_rbac_policy.rb
798
813
  - lib/fog/openstack/requests/network/update_router.rb
799
814
  - lib/fog/openstack/requests/network/update_subnet.rb
800
815
  - lib/fog/openstack/requests/network/update_vpn_service.rb
816
+ - lib/fog/openstack/requests/nfv/create_vnf.rb
817
+ - lib/fog/openstack/requests/nfv/create_vnfd.rb
818
+ - lib/fog/openstack/requests/nfv/delete_vnf.rb
819
+ - lib/fog/openstack/requests/nfv/delete_vnfd.rb
820
+ - lib/fog/openstack/requests/nfv/get_vnf.rb
821
+ - lib/fog/openstack/requests/nfv/get_vnfd.rb
822
+ - lib/fog/openstack/requests/nfv/list_vnfds.rb
823
+ - lib/fog/openstack/requests/nfv/list_vnfs.rb
824
+ - lib/fog/openstack/requests/nfv/update_vnf.rb
801
825
  - lib/fog/openstack/requests/orchestration/abandon_stack.rb
802
826
  - lib/fog/openstack/requests/orchestration/build_info.rb
803
827
  - lib/fog/openstack/requests/orchestration/create_stack.rb
@@ -850,11 +874,14 @@ files:
850
874
  - lib/fog/openstack/requests/storage/put_object_manifest.rb
851
875
  - lib/fog/openstack/requests/storage/put_static_obj_manifest.rb
852
876
  - lib/fog/openstack/requests/volume/accept_transfer.rb
877
+ - lib/fog/openstack/requests/volume/action.rb
878
+ - lib/fog/openstack/requests/volume/create_snapshot.rb
853
879
  - lib/fog/openstack/requests/volume/create_transfer.rb
854
880
  - lib/fog/openstack/requests/volume/create_volume.rb
855
- - lib/fog/openstack/requests/volume/create_volume_snapshot.rb
856
881
  - lib/fog/openstack/requests/volume/create_volume_type.rb
882
+ - lib/fog/openstack/requests/volume/delete_metadata.rb
857
883
  - lib/fog/openstack/requests/volume/delete_snapshot.rb
884
+ - lib/fog/openstack/requests/volume/delete_snapshot_metadata.rb
858
885
  - lib/fog/openstack/requests/volume/delete_transfer.rb
859
886
  - lib/fog/openstack/requests/volume/delete_volume.rb
860
887
  - lib/fog/openstack/requests/volume/delete_volume_type.rb
@@ -874,15 +901,23 @@ files:
874
901
  - lib/fog/openstack/requests/volume/list_volumes.rb
875
902
  - lib/fog/openstack/requests/volume/list_volumes_detailed.rb
876
903
  - lib/fog/openstack/requests/volume/list_zones.rb
904
+ - lib/fog/openstack/requests/volume/replace_metadata.rb
877
905
  - lib/fog/openstack/requests/volume/set_tenant.rb
906
+ - lib/fog/openstack/requests/volume/update_metadata.rb
878
907
  - lib/fog/openstack/requests/volume/update_quota.rb
908
+ - lib/fog/openstack/requests/volume/update_snapshot.rb
909
+ - lib/fog/openstack/requests/volume/update_snapshot_metadata.rb
910
+ - lib/fog/openstack/requests/volume/update_volume.rb
879
911
  - lib/fog/openstack/requests/volume/update_volume_type.rb
880
912
  - lib/fog/openstack/requests/volume_v1/accept_transfer.rb
913
+ - lib/fog/openstack/requests/volume_v1/action.rb
914
+ - lib/fog/openstack/requests/volume_v1/create_snapshot.rb
881
915
  - lib/fog/openstack/requests/volume_v1/create_transfer.rb
882
916
  - lib/fog/openstack/requests/volume_v1/create_volume.rb
883
- - lib/fog/openstack/requests/volume_v1/create_volume_snapshot.rb
884
917
  - lib/fog/openstack/requests/volume_v1/create_volume_type.rb
918
+ - lib/fog/openstack/requests/volume_v1/delete_metadata.rb
885
919
  - lib/fog/openstack/requests/volume_v1/delete_snapshot.rb
920
+ - lib/fog/openstack/requests/volume_v1/delete_snapshot_metadata.rb
886
921
  - lib/fog/openstack/requests/volume_v1/delete_transfer.rb
887
922
  - lib/fog/openstack/requests/volume_v1/delete_volume.rb
888
923
  - lib/fog/openstack/requests/volume_v1/delete_volume_type.rb
@@ -904,14 +939,22 @@ files:
904
939
  - lib/fog/openstack/requests/volume_v1/list_zones.rb
905
940
  - lib/fog/openstack/requests/volume_v1/real.rb
906
941
  - lib/fog/openstack/requests/volume_v1/real_mock.rb
942
+ - lib/fog/openstack/requests/volume_v1/replace_metadata.rb
907
943
  - lib/fog/openstack/requests/volume_v1/set_tenant.rb
944
+ - lib/fog/openstack/requests/volume_v1/update_metadata.rb
908
945
  - lib/fog/openstack/requests/volume_v1/update_quota.rb
946
+ - lib/fog/openstack/requests/volume_v1/update_snapshot.rb
947
+ - lib/fog/openstack/requests/volume_v1/update_snapshot_metadata.rb
948
+ - lib/fog/openstack/requests/volume_v1/update_volume.rb
909
949
  - lib/fog/openstack/requests/volume_v2/accept_transfer.rb
950
+ - lib/fog/openstack/requests/volume_v2/action.rb
951
+ - lib/fog/openstack/requests/volume_v2/create_snapshot.rb
910
952
  - lib/fog/openstack/requests/volume_v2/create_transfer.rb
911
953
  - lib/fog/openstack/requests/volume_v2/create_volume.rb
912
- - lib/fog/openstack/requests/volume_v2/create_volume_snapshot.rb
913
954
  - lib/fog/openstack/requests/volume_v2/create_volume_type.rb
955
+ - lib/fog/openstack/requests/volume_v2/delete_metadata.rb
914
956
  - lib/fog/openstack/requests/volume_v2/delete_snapshot.rb
957
+ - lib/fog/openstack/requests/volume_v2/delete_snapshot_metadata.rb
915
958
  - lib/fog/openstack/requests/volume_v2/delete_transfer.rb
916
959
  - lib/fog/openstack/requests/volume_v2/delete_volume.rb
917
960
  - lib/fog/openstack/requests/volume_v2/delete_volume_type.rb
@@ -933,14 +976,20 @@ files:
933
976
  - lib/fog/openstack/requests/volume_v2/list_zones.rb
934
977
  - lib/fog/openstack/requests/volume_v2/real.rb
935
978
  - lib/fog/openstack/requests/volume_v2/real_mock.rb
979
+ - lib/fog/openstack/requests/volume_v2/replace_metadata.rb
936
980
  - lib/fog/openstack/requests/volume_v2/set_tenant.rb
981
+ - lib/fog/openstack/requests/volume_v2/update_metadata.rb
937
982
  - lib/fog/openstack/requests/volume_v2/update_quota.rb
983
+ - lib/fog/openstack/requests/volume_v2/update_snapshot.rb
984
+ - lib/fog/openstack/requests/volume_v2/update_snapshot_metadata.rb
985
+ - lib/fog/openstack/requests/volume_v2/update_volume.rb
938
986
  - lib/fog/openstack/requests/volume_v2/update_volume_type.rb
939
987
  - lib/fog/openstack/storage.rb
940
988
  - lib/fog/openstack/version.rb
941
989
  - lib/fog/openstack/volume.rb
942
990
  - lib/fog/openstack/volume_v1.rb
943
991
  - lib/fog/openstack/volume_v2.rb
992
+ - supported.md
944
993
  - tests/fixtures/introspection.yaml
945
994
  - tests/helper.rb
946
995
  - tests/helpers/collection_helper.rb
@@ -954,8 +1003,6 @@ files:
954
1003
  - tests/helpers/responds_to_helper.rb
955
1004
  - tests/helpers/schema_validator_tests.rb
956
1005
  - tests/helpers/succeeds_helper.rb
957
- - tests/openstack/authenticate_tests.rb
958
- - tests/openstack/identity_version_tests.rb
959
1006
  - tests/openstack/models/compute/images_tests.rb
960
1007
  - tests/openstack/models/compute/security_group_tests.rb
961
1008
  - tests/openstack/models/compute/server_tests.rb
@@ -1000,6 +1047,10 @@ files:
1000
1047
  - tests/openstack/models/network/subnets_tests.rb
1001
1048
  - tests/openstack/models/network/vpn_service_tests.rb
1002
1049
  - tests/openstack/models/network/vpn_services_tests.rb
1050
+ - tests/openstack/models/nfv/vnf_tests.rb
1051
+ - tests/openstack/models/nfv/vnfd_tests.rb
1052
+ - tests/openstack/models/nfv/vnfds_tests.rb
1053
+ - tests/openstack/models/nfv/vnfs_tests.rb
1003
1054
  - tests/openstack/models/planning/.gitkeep
1004
1055
  - tests/openstack/models/planning/plan_tests.rb
1005
1056
  - tests/openstack/models/planning/plans_tests.rb
@@ -1049,6 +1100,8 @@ files:
1049
1100
  - tests/openstack/requests/network/security_group_tests.rb
1050
1101
  - tests/openstack/requests/network/subnet_tests.rb
1051
1102
  - tests/openstack/requests/network/vpn_service_tests.rb
1103
+ - tests/openstack/requests/nfv/vnf_tests.rb
1104
+ - tests/openstack/requests/nfv/vnfd_tests.rb
1052
1105
  - tests/openstack/requests/orchestration/stack_tests.rb
1053
1106
  - tests/openstack/requests/planning/.gitkeep
1054
1107
  - tests/openstack/requests/planning/plan_tests.rb
@@ -1059,9 +1112,6 @@ files:
1059
1112
  - tests/openstack/requests/volume/availability_zone_tests.rb
1060
1113
  - tests/openstack/requests/volume/quota_tests.rb
1061
1114
  - tests/openstack/requests/volume/volume_type_tests.rb
1062
- - tests/openstack/storage_tests.rb
1063
- - tests/openstack/version_tests.rb
1064
- - tests/openstack/volume_tests.rb
1065
1115
  homepage: https://github.com/fog/fog-openstack
1066
1116
  licenses:
1067
1117
  - MIT