fog-xenserver 0.2.3 → 0.3.0

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.
@@ -1,3 +1,6 @@
1
+ before_install:
2
+ - gem install bundler
3
+
1
4
  matrix:
2
5
  include:
3
6
  - rvm: 1.8.7
@@ -8,7 +11,13 @@ matrix:
8
11
  gemfile: gemfiles/Gemfile.1.9.2+
9
12
  - rvm: 2.0.0
10
13
  gemfile: gemfiles/Gemfile.1.9.2+
11
- - rvm: 2.1.4
14
+ - rvm: 2.1.10
15
+ gemfile: gemfiles/Gemfile.1.9.2+
16
+ - rvm: 2.2.6
17
+ gemfile: gemfiles/Gemfile.1.9.2+
18
+ - rvm: 2.3.3
19
+ gemfile: gemfiles/Gemfile.1.9.2+
20
+ - rvm: 2.4.0
12
21
  gemfile: gemfiles/Gemfile.1.9.2+
13
22
  env: COVERAGE=true
14
23
  - rvm: ree
@@ -24,11 +24,19 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency 'fog-xml'
26
26
  spec.add_dependency 'fog-core'
27
- spec.add_development_dependency 'rake'
27
+ spec.add_dependency 'xmlrpc' if RUBY_VERSION =~ /^2\.[^0-3].*$/
28
+
29
+ spec.add_development_dependency 'coveralls'
30
+ spec.add_development_dependency 'json' if RUBY_VERSION =~ /^1\.8.*$/
28
31
  spec.add_development_dependency 'minitest'
29
- spec.add_development_dependency 'turn'
32
+ spec.add_development_dependency 'rake'
30
33
  spec.add_development_dependency 'pry'
31
- spec.add_development_dependency 'vcr'
34
+ spec.add_development_dependency 'turn'
32
35
  spec.add_development_dependency 'webmock'
33
- spec.add_development_dependency 'coveralls' if RUBY_VERSION.to_f >= 1.9
36
+
37
+ if RUBY_VERSION =~ /^1\.(8.*|9.[0-2])$/
38
+ spec.add_development_dependency 'vcr', '< 3.0.0'
39
+ else
40
+ spec.add_development_dependency 'vcr'
41
+ end
34
42
  end
@@ -24,6 +24,8 @@ module Fog
24
24
  collection :crash_dumps
25
25
  model :dr_task
26
26
  collection :dr_tasks
27
+ model :event
28
+ collection :events
27
29
  model :gpu_group
28
30
  collection :gpu_groups
29
31
  model :guest_metrics
@@ -87,6 +89,14 @@ module Fog
87
89
 
88
90
  request_path "fog/compute/xen_server/requests"
89
91
 
92
+ # event
93
+ request :from_event
94
+ request :get_current_id_event
95
+ request :inject_event
96
+ request :next_event
97
+ request :register_event
98
+ request :unregister_event
99
+
90
100
  # host
91
101
  request :apply_edition_host
92
102
  request :assert_can_evacuate_host
@@ -142,6 +152,7 @@ module Fog
142
152
  request :set_default_locking_mode_network
143
153
 
144
154
  # PBD
155
+ request :create_pbd
145
156
  request :plug_pbd
146
157
  request :set_device_config_pbd
147
158
  request :unplug_pbd
@@ -14,6 +14,8 @@ module Fog
14
14
  autoload :CrashDumps, File.expand_path("../models/crash_dumps", __FILE__)
15
15
  autoload :DrTask, File.expand_path("../models/dr_task", __FILE__)
16
16
  autoload :DrTasks, File.expand_path("../models/dr_tasks", __FILE__)
17
+ autoload :Event, File.expand_path("../models/event", __FILE__)
18
+ autoload :Events, File.expand_path("../models/events", __FILE__)
17
19
  autoload :GpuGroup, File.expand_path("../models/gpu_group", __FILE__)
18
20
  autoload :GpuGroups, File.expand_path("../models/gpu_groups", __FILE__)
19
21
  autoload :GuestMetrics, File.expand_path("../models/guest_metrics", __FILE__)
@@ -0,0 +1,32 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ module Models
5
+ class Event < Model
6
+ # API Reference here:
7
+ # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=event
8
+
9
+ provider_class :event
10
+ collection_name :events
11
+
12
+ identity :reference
13
+
14
+ attribute :klass, :aliases => :class, :as => :class
15
+ attribute :id
16
+ attribute :obj_uuid
17
+ attribute :operation
18
+ attribute :ref
19
+ attribute :timestamp
20
+
21
+ def register(classes)
22
+ service.register_event(classes)
23
+ end
24
+
25
+ def next
26
+ service.next_event
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ module Models
5
+ class Events < Collection
6
+ model Fog::Compute::XenServer::Models::Event
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -40,6 +40,10 @@ module Fog
40
40
  def connection_host
41
41
  hosts.find { |x| x.address == host }
42
42
  end
43
+
44
+ def event
45
+ @event ||= Fog::Compute::XenServer::Models::Event.new(service: self)
46
+ end
43
47
  end
44
48
  end
45
49
  end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def create_pbd(host_uuid, sr_uuid, device_config = {})
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "PBD.create" }, host_uuid, sr_uuid, device_config)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def from_event(classes, token, timeout)
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.from" }, classes, token, timeout)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def get_current_id_event()
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.get_current_id" })
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def inject_event(klass, object_ref)
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.inject" }, klass, object_ref)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def next_event()
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.next" })
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def register_event(classes)
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.register" }, classes)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Fog
2
+ module Compute
3
+ class XenServer
4
+ class Real
5
+ def unregister_event(classes)
6
+ @connection.request({ :parser => Fog::Parsers::XenServer::Base.new, :method => "event.unregister" }, classes)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,7 @@
1
1
  class Hash
2
2
  def symbolize_keys!
3
3
  keys.each do |key|
4
- self[(key.to_sym rescue key)] = delete(key) if key.respond_to?(:to_sym) && !key.is_a?(Fixnum)
4
+ self[key.to_sym] = delete(key) if key.respond_to?(:to_sym)
5
5
  end
6
6
  self
7
7
  end
@@ -29,6 +29,8 @@ module Fog
29
29
  response = @factory.call(method, @credentials, params.first)
30
30
  elsif params.length.eql?(2) and params.last.is_a?(Array)
31
31
  response = @factory.call(method, @credentials, params.first, params.last)
32
+ elsif params.length.eql?(1) and params.last.is_a?(Array)
33
+ response = @factory.call(method, @credentials, params.first)
32
34
  else
33
35
  response = eval("@factory.call('#{method}', '#{@credentials}', #{params.map {|p| p.is_a?(String) ? "'#{p}'" : p}.join(',')})")
34
36
  end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module XenServer
3
- VERSION = "0.2.3"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
@@ -0,0 +1,56 @@
1
+ require 'minitest_helper'
2
+
3
+ describe Fog::Compute::XenServer::Models::Event do
4
+ let(:event_class) do
5
+ class Fog::Compute::XenServer::Models::Event
6
+ def self.read_identity
7
+ instance_variable_get('@identity')
8
+ end
9
+ end
10
+ Fog::Compute::XenServer::Models::Event
11
+ end
12
+
13
+ it 'should associate to a provider class' do
14
+ event_class.provider_class.must_equal('event')
15
+ end
16
+
17
+ it 'should have a collection name' do
18
+ event_class.collection_name.must_equal(:events)
19
+ end
20
+
21
+ it 'should have an unique id' do
22
+ event_class.read_identity.must_equal(:reference)
23
+ end
24
+
25
+ it 'should have 7 attributes' do
26
+ event_class.attributes.must_equal([ :reference,
27
+ :klass,
28
+ :id,
29
+ :obj_uuid,
30
+ :operation,
31
+ :ref,
32
+ :timestamp ])
33
+ end
34
+
35
+ it 'should have 7 masks' do
36
+ event_class.masks.must_equal(:reference => :reference,
37
+ :klass => :class,
38
+ :id => :id,
39
+ :obj_uuid => :obj_uuid,
40
+ :operation => :operation,
41
+ :ref => :ref,
42
+ :timestamp => :timestamp)
43
+ end
44
+
45
+ it "shouldn't have aliases" do
46
+ event_class.aliases.must_equal({ :class=>:klass })
47
+ end
48
+
49
+ it "shouldn't have default values" do
50
+ event_class.default_values.must_equal({})
51
+ end
52
+
53
+ it "shouldn't require attributes before save" do
54
+ event_class.require_before_save.must_equal([])
55
+ end
56
+ end
@@ -0,0 +1,9 @@
1
+ require 'minitest_helper'
2
+
3
+ describe Fog::Compute::XenServer::Models::Events do
4
+ let(:events_class) { Fog::Compute::XenServer::Models::Events }
5
+
6
+ it 'should be a collection of Blobs' do
7
+ events_class.model.must_equal(Fog::Compute::XenServer::Models::Event)
8
+ end
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-xenserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo Henrique Lopes Ribeiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-12 00:00:00.000000000 Z
11
+ date: 2017-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog-xml
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: coveralls
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: turn
70
+ name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: vcr
98
+ name: turn
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: coveralls
126
+ name: vcr
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -142,8 +142,9 @@ executables: []
142
142
  extensions: []
143
143
  extra_rdoc_files: []
144
144
  files:
145
+ - ".codeclimate.yml"
145
146
  - ".gitignore"
146
- - ".rubocop"
147
+ - ".rubocop.yml"
147
148
  - ".ruby-gemset"
148
149
  - ".ruby-version"
149
150
  - ".travis.yml"
@@ -172,6 +173,8 @@ files:
172
173
  - lib/fog/compute/xen_server/models/crash_dumps.rb
173
174
  - lib/fog/compute/xen_server/models/dr_task.rb
174
175
  - lib/fog/compute/xen_server/models/dr_tasks.rb
176
+ - lib/fog/compute/xen_server/models/event.rb
177
+ - lib/fog/compute/xen_server/models/events.rb
175
178
  - lib/fog/compute/xen_server/models/gpu_group.rb
176
179
  - lib/fog/compute/xen_server/models/gpu_groups.rb
177
180
  - lib/fog/compute/xen_server/models/guest_metrics.rb
@@ -274,6 +277,7 @@ files:
274
277
  - lib/fog/compute/xen_server/requests/create_new_blob_pool.rb
275
278
  - lib/fog/compute/xen_server/requests/create_new_blob_server.rb
276
279
  - lib/fog/compute/xen_server/requests/create_new_blob_sr.rb
280
+ - lib/fog/compute/xen_server/requests/create_pbd.rb
277
281
  - lib/fog/compute/xen_server/requests/create_server.rb
278
282
  - lib/fog/compute/xen_server/requests/create_sr.rb
279
283
  - lib/fog/compute/xen_server/requests/create_vbd.rb
@@ -323,9 +327,11 @@ files:
323
327
  - lib/fog/compute/xen_server/requests/forget_pif.rb
324
328
  - lib/fog/compute/xen_server/requests/forget_sr.rb
325
329
  - lib/fog/compute/xen_server/requests/forget_vdi.rb
330
+ - lib/fog/compute/xen_server/requests/from_event.rb
326
331
  - lib/fog/compute/xen_server/requests/get_allowed_vbd_devices_server.rb
327
332
  - lib/fog/compute/xen_server/requests/get_allowed_vif_devices_server.rb
328
333
  - lib/fog/compute/xen_server/requests/get_boot_record_server.rb
334
+ - lib/fog/compute/xen_server/requests/get_current_id_event.rb
329
335
  - lib/fog/compute/xen_server/requests/get_data_sources_host.rb
330
336
  - lib/fog/compute/xen_server/requests/get_data_sources_server.rb
331
337
  - lib/fog/compute/xen_server/requests/get_license_state_pool.rb
@@ -348,6 +354,7 @@ files:
348
354
  - lib/fog/compute/xen_server/requests/hard_reboot_server.rb
349
355
  - lib/fog/compute/xen_server/requests/hard_shutdown_server.rb
350
356
  - lib/fog/compute/xen_server/requests/import_convert_server.rb
357
+ - lib/fog/compute/xen_server/requests/inject_event.rb
351
358
  - lib/fog/compute/xen_server/requests/insert_vbd.rb
352
359
  - lib/fog/compute/xen_server/requests/introduce_pif.rb
353
360
  - lib/fog/compute/xen_server/requests/introduce_sr.rb
@@ -361,6 +368,7 @@ files:
361
368
  - lib/fog/compute/xen_server/requests/maximise_memory_server.rb
362
369
  - lib/fog/compute/xen_server/requests/migrate_receive_host.rb
363
370
  - lib/fog/compute/xen_server/requests/migrate_send_server.rb
371
+ - lib/fog/compute/xen_server/requests/next_event.rb
364
372
  - lib/fog/compute/xen_server/requests/open_database_vdi.rb
365
373
  - lib/fog/compute/xen_server/requests/pause_server.rb
366
374
  - lib/fog/compute/xen_server/requests/plug_pbd.rb
@@ -386,6 +394,7 @@ files:
386
394
  - lib/fog/compute/xen_server/requests/recover_server.rb
387
395
  - lib/fog/compute/xen_server/requests/recover_slaves_pool.rb
388
396
  - lib/fog/compute/xen_server/requests/refresh_pack_info_host.rb
397
+ - lib/fog/compute/xen_server/requests/register_event.rb
389
398
  - lib/fog/compute/xen_server/requests/remove_ipv4_allowed_vif.rb
390
399
  - lib/fog/compute/xen_server/requests/remove_ipv6_allowed_vif.rb
391
400
  - lib/fog/compute/xen_server/requests/reset_cpu_features_host.rb
@@ -472,6 +481,7 @@ files:
472
481
  - lib/fog/compute/xen_server/requests/unplug_pbd.rb
473
482
  - lib/fog/compute/xen_server/requests/unplug_vbd.rb
474
483
  - lib/fog/compute/xen_server/requests/unplug_vif.rb
484
+ - lib/fog/compute/xen_server/requests/unregister_event.rb
475
485
  - lib/fog/compute/xen_server/requests/update_sr.rb
476
486
  - lib/fog/compute/xen_server/requests/update_vdi.rb
477
487
  - lib/fog/parsers/xen_server.rb
@@ -520,6 +530,8 @@ files:
520
530
  - spec/fog/compute/xen_server/models/crash_dumps_spec.rb
521
531
  - spec/fog/compute/xen_server/models/dr_task_spec.rb
522
532
  - spec/fog/compute/xen_server/models/dr_tasks_spec.rb
533
+ - spec/fog/compute/xen_server/models/event_spec.rb
534
+ - spec/fog/compute/xen_server/models/events_spec.rb
523
535
  - spec/fog/compute/xen_server/models/gpu_group_spec.rb
524
536
  - spec/fog/compute/xen_server/models/gpu_groups_spec.rb
525
537
  - spec/fog/compute/xen_server/models/guest_metrics_spec.rb
@@ -610,7 +622,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
610
622
  version: '0'
611
623
  requirements: []
612
624
  rubyforge_project:
613
- rubygems_version: 2.4.8
625
+ rubygems_version: 2.2.2
614
626
  signing_key:
615
627
  specification_version: 4
616
628
  summary: This library can be used as a module for `fog` or as standalone provider
@@ -650,6 +662,8 @@ test_files:
650
662
  - spec/fog/compute/xen_server/models/crash_dumps_spec.rb
651
663
  - spec/fog/compute/xen_server/models/dr_task_spec.rb
652
664
  - spec/fog/compute/xen_server/models/dr_tasks_spec.rb
665
+ - spec/fog/compute/xen_server/models/event_spec.rb
666
+ - spec/fog/compute/xen_server/models/events_spec.rb
653
667
  - spec/fog/compute/xen_server/models/gpu_group_spec.rb
654
668
  - spec/fog/compute/xen_server/models/gpu_groups_spec.rb
655
669
  - spec/fog/compute/xen_server/models/guest_metrics_spec.rb