fog-openstack 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/Rakefile +25 -15
  4. data/{lib/fog/openstack/docs → docs}/compute.md +0 -0
  5. data/{lib/fog/openstack/docs → docs}/getting_started.md +0 -0
  6. data/{lib/fog/openstack/docs → docs}/introspection.md +0 -0
  7. data/{lib/fog/openstack/docs → docs}/metering.md +0 -0
  8. data/{lib/fog/openstack/docs → docs}/network.md +0 -0
  9. data/{lib/fog/openstack/docs → docs}/nfv.md +0 -0
  10. data/{lib/fog/openstack/docs → docs}/orchestration.md +0 -0
  11. data/{lib/fog/openstack/docs → docs}/planning.md +0 -0
  12. data/{lib/fog/openstack/docs → docs}/storage.md +0 -0
  13. data/{lib/fog/openstack/examples → examples}/compute/basics.rb +0 -0
  14. data/{lib/fog/openstack/examples → examples}/compute/block_device_mapping_v2.rb +0 -0
  15. data/{lib/fog/openstack/examples → examples}/identity/basics.rb +0 -0
  16. data/{lib/fog/openstack/examples → examples}/image/upload-test-image.rb +0 -0
  17. data/{lib/fog/openstack/examples → examples}/introspection/basics.rb +0 -0
  18. data/{lib/fog/openstack/examples → examples}/network/network_add_port.rb +0 -0
  19. data/{lib/fog/openstack/examples → examples}/network/network_rbac.rb +0 -0
  20. data/{lib/fog/openstack/examples → examples}/network/network_subnets_routers.rb +0 -0
  21. data/{lib/fog/openstack/examples → examples}/planning/basics.rb +0 -0
  22. data/{lib/fog/openstack/examples → examples}/storage/set-account-quota.rb +0 -0
  23. data/fog-openstack.gemspec +1 -1
  24. data/lib/fog/openstack.rb +6 -0
  25. data/lib/fog/openstack/models/compute/aggregate.rb +3 -2
  26. data/lib/fog/openstack/models/monitoring/alarm.rb +48 -0
  27. data/lib/fog/openstack/models/monitoring/alarm_count.rb +17 -0
  28. data/lib/fog/openstack/models/monitoring/alarm_counts.rb +16 -0
  29. data/lib/fog/openstack/models/monitoring/alarm_definition.rb +56 -0
  30. data/lib/fog/openstack/models/monitoring/alarm_definitions.rb +42 -0
  31. data/lib/fog/openstack/models/monitoring/alarm_state.rb +32 -0
  32. data/lib/fog/openstack/models/monitoring/alarm_states.rb +20 -0
  33. data/lib/fog/openstack/models/monitoring/alarms.rb +30 -0
  34. data/lib/fog/openstack/models/monitoring/measurement.rb +20 -0
  35. data/lib/fog/openstack/models/monitoring/measurements.rb +16 -0
  36. data/lib/fog/openstack/models/monitoring/metric.rb +27 -0
  37. data/lib/fog/openstack/models/monitoring/metrics.rb +28 -0
  38. data/lib/fog/openstack/models/monitoring/notification_method.rb +40 -0
  39. data/lib/fog/openstack/models/monitoring/notification_methods.rb +38 -0
  40. data/lib/fog/openstack/models/monitoring/statistic.rb +20 -0
  41. data/lib/fog/openstack/models/monitoring/statistics.rb +16 -0
  42. data/lib/fog/openstack/monitoring.rb +116 -0
  43. data/lib/fog/openstack/requests/compute/attach_volume.rb +1 -0
  44. data/lib/fog/openstack/requests/compute/create_aggregate.rb +1 -1
  45. data/lib/fog/openstack/requests/compute/create_server.rb +2 -2
  46. data/lib/fog/openstack/requests/compute/detach_volume.rb +1 -0
  47. data/lib/fog/openstack/requests/compute/update_aggregate.rb +1 -1
  48. data/lib/fog/openstack/requests/monitoring/create_alarm_definition.rb +19 -0
  49. data/lib/fog/openstack/requests/monitoring/create_metric.rb +29 -0
  50. data/lib/fog/openstack/requests/monitoring/create_metric_array.rb +19 -0
  51. data/lib/fog/openstack/requests/monitoring/create_notification_method.rb +19 -0
  52. data/lib/fog/openstack/requests/monitoring/delete_alarm.rb +18 -0
  53. data/lib/fog/openstack/requests/monitoring/delete_alarm_definition.rb +18 -0
  54. data/lib/fog/openstack/requests/monitoring/delete_notification_method.rb +18 -0
  55. data/lib/fog/openstack/requests/monitoring/find_measurements.rb +22 -0
  56. data/lib/fog/openstack/requests/monitoring/get_alarm.rb +22 -0
  57. data/lib/fog/openstack/requests/monitoring/get_alarm_counts.rb +22 -0
  58. data/lib/fog/openstack/requests/monitoring/get_alarm_definition.rb +18 -0
  59. data/lib/fog/openstack/requests/monitoring/get_notification_method.rb +18 -0
  60. data/lib/fog/openstack/requests/monitoring/list_alarm_definitions.rb +22 -0
  61. data/lib/fog/openstack/requests/monitoring/list_alarm_state_history_for_all_alarms.rb +22 -0
  62. data/lib/fog/openstack/requests/monitoring/list_alarm_state_history_for_specific_alarm.rb +22 -0
  63. data/lib/fog/openstack/requests/monitoring/list_alarms.rb +22 -0
  64. data/lib/fog/openstack/requests/monitoring/list_metric_names.rb +22 -0
  65. data/lib/fog/openstack/requests/monitoring/list_metrics.rb +22 -0
  66. data/lib/fog/openstack/requests/monitoring/list_notification_methods.rb +22 -0
  67. data/lib/fog/openstack/requests/monitoring/list_statistics.rb +22 -0
  68. data/lib/fog/openstack/requests/monitoring/patch_alarm.rb +19 -0
  69. data/lib/fog/openstack/requests/monitoring/patch_alarm_definition.rb +19 -0
  70. data/lib/fog/openstack/requests/monitoring/update_alarm.rb +19 -0
  71. data/lib/fog/openstack/requests/monitoring/update_alarm_definition.rb +19 -0
  72. data/lib/fog/openstack/requests/monitoring/update_notification_method.rb +19 -0
  73. data/lib/fog/openstack/version.rb +1 -1
  74. metadata +65 -42
  75. data/tests/openstack/models/identity/ec2_credential_tests.rb +0 -41
  76. data/tests/openstack/models/identity/ec2_credentials_tests.rb +0 -58
  77. data/tests/openstack/models/identity/role_tests.rb +0 -31
  78. data/tests/openstack/models/identity/roles_tests.rb +0 -21
  79. data/tests/openstack/models/identity/tenant_tests.rb +0 -33
  80. data/tests/openstack/models/identity/tenants_tests.rb +0 -31
  81. data/tests/openstack/models/identity/user_tests.rb +0 -47
  82. data/tests/openstack/models/identity/users_tests.rb +0 -46
  83. data/tests/openstack/requests/baremetal/chassis_tests.rb +0 -48
  84. data/tests/openstack/requests/baremetal/driver_tests.rb +0 -40
  85. data/tests/openstack/requests/baremetal/node_tests.rb +0 -83
  86. data/tests/openstack/requests/baremetal/port_tests.rb +0 -56
  87. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +0 -41
  88. data/tests/openstack/requests/identity/helper.rb +0 -21
  89. data/tests/openstack/requests/identity/role_tests.rb +0 -48
  90. data/tests/openstack/requests/identity/tenant_tests.rb +0 -57
  91. data/tests/openstack/requests/identity/user_tests.rb +0 -46
  92. data/tests/openstack/requests/introspection/introspection_tests.rb +0 -297
  93. data/tests/openstack/requests/introspection/rules_tests.rb +0 -46
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 266dcbc5dc6dbde51beb0aeb2e2b8caacb3a9a68
4
- data.tar.gz: a1b4dadc45afb05a56967d2d22c93bba19206ca1
3
+ metadata.gz: 31a9071364facb7a54109c5a95e7c9b712c6f78a
4
+ data.tar.gz: 81f2374694077b420e017aad70ad1c52268c01ec
5
5
  SHA512:
6
- metadata.gz: 2cb29370444ea727a5ddcb831bd43247110015485ce100451ec3cfb98a819b94f89ef819cd54b4c152f34a0b9aec511428601ccc3a3b473c77ff6fa44c7c4322
7
- data.tar.gz: 6905cd3f139d98cbb958b37401737f977af61a0b6deac8519aedc8c73f4ea84566f8e1dc2e486572cbe47b10be01fa4cc4db770f3caa416b9ad13a530843dfe5
6
+ metadata.gz: 6c2f0405c2e7356ebd64426c7e4878a7526504180eb3bf5bfffb1556df985228688c74f6b9f93a253bc4eacd5441238dc2ff1d72c22d944938bc6720f79d5c94
7
+ data.tar.gz: 41c0cc5fbd768ba1fffb0729609fe1504daed6a746a3c6d9b744f90693443fe3c599eab228438a0e56e613883c070e1d89fa38200895d2d6ecb13379dac71283
data/.gitignore CHANGED
@@ -7,4 +7,6 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
- gemfiles/Gemfile-1.9.lock
10
+ gemfiles/Gemfile-1.9.lock
11
+ .DS_Store
12
+ .idea/
data/Rakefile CHANGED
@@ -6,26 +6,36 @@ RuboCop::RakeTask.new
6
6
 
7
7
  task :default => :test
8
8
 
9
- desc 'Run fog-openstack unit tests'
9
+ # To be removed once after Minitest migration
10
+ desc 'Run fog-openstack unit tests with Shindo'
10
11
  task :test do
11
12
  mock = ENV['FOG_MOCK'] || 'true'
12
13
  sh("export FOG_MOCK=#{mock} && bundle exec shindont")
13
14
  end
14
15
 
15
- # The following is transition period until all shindo tests in /tests have been
16
- # migrated over minitest /test
17
- desc "Run fog-openstack unit tests for /test"
18
- Rake::TestTask.new do |t|
19
- t.name = 'minitest'
20
- t.libs.push [ "lib", "test" ]
21
- t.test_files = FileList['test/openstack/*.rb']
22
- t.verbose = true
16
+ desc 'Run fog-openstack unit tests with Minitest'
17
+ task :minitest do
18
+ mock = ENV['FOG_MOCK'] || 'true'
19
+ sh("export FOG_MOCK=#{mock} && bundle exec rake tests:unit")
23
20
  end
24
21
 
25
- desc "Run fog-openstack unit tests for /spec"
26
- Rake::TestTask.new do |t|
27
- t.name = 'spec'
28
- t.libs.push [ "lib", "spec" ]
29
- t.pattern = 'spec/**/*_spec.rb'
30
- t.verbose = true
22
+ desc 'Run fog-openstack spec/ tests (VCR)'
23
+ task :spec => "tests:spec"
24
+
25
+ namespace :tests do
26
+ desc "Run fog-openstack test/"
27
+ Rake::TestTask.new do |t|
28
+ t.name = 'unit'
29
+ t.libs.push [ "lib", "test" ]
30
+ t.test_files = FileList['test/**/*.rb']
31
+ t.verbose = true
32
+ end
33
+
34
+ desc "Run fog-openstack spec/"
35
+ Rake::TestTask.new do |t|
36
+ t.name = 'spec'
37
+ t.libs.push [ "lib", "spec" ]
38
+ t.pattern = 'spec/**/*_spec.rb'
39
+ t.verbose = true
40
+ end
31
41
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency 'fog-core', '>= 1.39'
22
+ spec.add_dependency 'fog-core', '>= 1.40'
23
23
  spec.add_dependency 'fog-json', '>= 1.0'
24
24
  spec.add_dependency 'ipaddress', '>= 0.8'
25
25
 
data/lib/fog/openstack.rb CHANGED
@@ -15,6 +15,7 @@ require 'fog/openstack/storage'
15
15
  require 'fog/openstack/volume_v1'
16
16
  require 'fog/openstack/volume_v2'
17
17
  require 'fog/openstack/planning'
18
+ require 'fog/openstack/monitoring'
18
19
 
19
20
  module Fog
20
21
  module Compute
@@ -57,6 +58,10 @@ module Fog
57
58
  autoload :OpenStack, File.expand_path('../openstack/introspection', __FILE__)
58
59
  end
59
60
 
61
+ module Monitoring
62
+ autoload :OpenStack, File.expand_path('../fog/openstack/monitoring', __FILE__)
63
+ end
64
+
60
65
  module OpenStack
61
66
  extend Fog::Provider
62
67
 
@@ -72,6 +77,7 @@ module Fog
72
77
  service(:baremetal, 'Baremetal')
73
78
  service(:planning, 'Planning')
74
79
  service(:introspection, 'Introspection')
80
+ service(:monitoring, 'Monitoring')
75
81
 
76
82
  @@token_cache = {}
77
83
 
@@ -29,17 +29,18 @@ module Fog
29
29
  end
30
30
 
31
31
  def update
32
+ requires :id
32
33
  merge_attributes(service.update_aggregate(self.id, self.attributes).body['aggregate'])
33
34
  self
34
35
  end
35
36
 
36
37
  def add_host(host_uuid)
37
- requires :id,
38
+ requires :id
38
39
  service.add_aggregate_host(self.id, host_uuid)
39
40
  end
40
41
 
41
42
  def remove_host(host_uuid)
42
- requires :id,
43
+ requires :id
43
44
  service.remove_aggregate_host(self.id, host_uuid)
44
45
  end
45
46
 
@@ -0,0 +1,48 @@
1
+ require 'fog/openstack/models/model'
2
+
3
+ module Fog
4
+ module Monitoring
5
+ class OpenStack
6
+ class Alarm < Fog::OpenStack::Model
7
+ identity :id
8
+
9
+ attribute :name
10
+ attribute :links
11
+ attribute :link
12
+ attribute :alarm_definition
13
+ attribute :metrics
14
+ attribute :state
15
+ attribute :lifecycle_state
16
+ attribute :state_updated_timestamp
17
+ attribute :updated_timestamp
18
+ attribute :created_timestamp
19
+
20
+ def update(attr = nil)
21
+ requires :id
22
+ merge_attributes(
23
+ service.update_alarm(id, attr || attributes).body
24
+ )
25
+ self
26
+ end
27
+
28
+ def patch(attr = nil)
29
+ requires :id
30
+ merge_attributes(
31
+ service.patch_alarm(id, attr || attributes).body
32
+ )
33
+ self
34
+ end
35
+
36
+ def destroy
37
+ requires :id
38
+ service.delete_alarm(id)
39
+ true
40
+ end
41
+
42
+ def to_s
43
+ name
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,17 @@
1
+ require 'fog/openstack/models/model'
2
+
3
+ module Fog
4
+ module Monitoring
5
+ class OpenStack
6
+ class AlarmCount < Fog::OpenStack::Model
7
+ attribute :links
8
+ attribute :columns
9
+ attribute :counts
10
+
11
+ def to_s
12
+ name
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ require 'fog/openstack/models/collection'
2
+ require 'fog/openstack/models/monitoring/alarm_count'
3
+
4
+ module Fog
5
+ module Monitoring
6
+ class OpenStack
7
+ class AlarmCounts < Fog::OpenStack::Collection
8
+ model Fog::Monitoring::OpenStack::AlarmCount
9
+
10
+ def get(options = {})
11
+ load_response(service.get_alarm_counts(options))
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,56 @@
1
+ require 'fog/openstack/models/model'
2
+
3
+ module Fog
4
+ module Monitoring
5
+ class OpenStack
6
+ class AlarmDefinition < Fog::OpenStack::Model
7
+ identity :id
8
+
9
+ attribute :links
10
+ attribute :name
11
+ attribute :description
12
+ attribute :expression
13
+ attribute :expression_data
14
+ attribute :match_by
15
+ attribute :severity
16
+ attribute :actions_enabled
17
+ attribute :alarm_actions
18
+ attribute :ok_actions
19
+ attribute :undetermined_actions
20
+
21
+ def create
22
+ requires :name, :expression
23
+ merge_attributes(
24
+ service.create_alarm_definition(attributes).body
25
+ )
26
+ self
27
+ end
28
+
29
+ def update(attr = nil)
30
+ requires :name, :expression
31
+ merge_attributes(
32
+ service.update_alarm_definition(id, attr || attributes).body
33
+ )
34
+ end
35
+
36
+ def patch(attr = nil)
37
+ requires :id
38
+ merge_attributes(
39
+ service.patch_alarm_definition(id, attr || attributes).body
40
+ )
41
+ self
42
+ end
43
+
44
+ def destroy
45
+ requires :id
46
+ service.delete_alarm_definition(id)
47
+ true
48
+ end
49
+
50
+ def to_s
51
+ name
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,42 @@
1
+ require 'fog/openstack/models/collection'
2
+ require 'fog/openstack/models/monitoring/alarm_definition'
3
+
4
+ module Fog
5
+ module Monitoring
6
+ class OpenStack
7
+ class AlarmDefinitions < Fog::OpenStack::Collection
8
+ model Fog::Monitoring::OpenStack::AlarmDefinition
9
+
10
+ def create(attributes)
11
+ super(attributes)
12
+ end
13
+
14
+ def update(attributes)
15
+ super(attributes)
16
+ end
17
+
18
+ def patch(attributes)
19
+ super(attributes)
20
+ end
21
+
22
+ def all(options = {})
23
+ load_response(service.list_alarm_definitions(options), 'elements')
24
+ end
25
+
26
+ def find_by_id(id)
27
+ cached_alarm_definition = detect { |alarm_definition| alarm_definition.id == id }
28
+ return cached_alarm_definition if cached_alarm_definition
29
+ alarm_definition_hash = service.get_alarm_definition(id).body
30
+ Fog::Monitoring::OpenStack::AlarmDefinition.new(
31
+ alarm_definition_hash.merge(:service => service)
32
+ )
33
+ end
34
+
35
+ def destroy(id)
36
+ alarm_definition = find_by_id(id)
37
+ alarm_definition.destroy
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,32 @@
1
+ require 'fog/openstack/models/model'
2
+
3
+ module Fog
4
+ module Monitoring
5
+ class OpenStack
6
+ class AlarmState < Fog::OpenStack::Model
7
+ identity :id
8
+
9
+ attribute :alarm_id
10
+ attribute :metrics
11
+ attribute :old_state
12
+ attribute :new_state
13
+ attribute :reason
14
+ attribute :reason_data
15
+ attribute :timestamp
16
+ attribute :sub_alarms
17
+
18
+ def patch(options)
19
+ requires :id
20
+ merge_attributes(
21
+ service.list_alarm_state_history_for_specific_alarm(id, options)
22
+ )
23
+ self
24
+ end
25
+
26
+ def to_s
27
+ name
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ require 'fog/openstack/models/collection'
2
+ require 'fog/openstack/models/monitoring/alarm_state'
3
+
4
+ module Fog
5
+ module Monitoring
6
+ class OpenStack
7
+ class AlarmStates < Fog::OpenStack::Collection
8
+ model Fog::Monitoring::OpenStack::AlarmState
9
+
10
+ def all(options = {})
11
+ load_response(service.list_alarm_state_history_for_all_alarms(options), 'elements')
12
+ end
13
+
14
+ def list_alarm_state_history(id, options = {})
15
+ load_response(service.list_alarm_state_history_for_specific_alarm(id, options), 'elements')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ require 'fog/openstack/models/collection'
2
+ require 'fog/openstack/models/monitoring/alarm'
3
+
4
+ module Fog
5
+ module Monitoring
6
+ class OpenStack
7
+ class Alarms < Fog::OpenStack::Collection
8
+ model Fog::Monitoring::OpenStack::Alarm
9
+
10
+ def all(options = {})
11
+ load_response(service.list_alarms(options), 'elements')
12
+ end
13
+
14
+ def find_by_id(id)
15
+ cached_alarm = detect { |alarm| alarm.id == id }
16
+ return cached_alarm if cached_alarm
17
+ alarm_hash = service.get_alarm(id).body
18
+ Fog::Identity::OpenStack::Alarm.new(
19
+ alarm_hash.merge(:service => service)
20
+ )
21
+ end
22
+
23
+ def destroy(id)
24
+ alarm = find_by_id(id)
25
+ alarm.destroy
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end