deltacloud-core 1.1.0 → 1.1.1

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 (112) hide show
  1. data/Rakefile +10 -12
  2. data/config/drivers/{aruba.yaml → arubacloud.yaml} +2 -2
  3. data/deltacloud-core.gemspec +4 -4
  4. data/lib/cimi/collections/address_templates.rb +1 -1
  5. data/lib/cimi/collections/addresses.rb +2 -2
  6. data/lib/cimi/collections/base.rb +1 -0
  7. data/lib/cimi/collections/credentials.rb +1 -1
  8. data/lib/cimi/collections/forwarding_group_templates.rb +1 -1
  9. data/lib/cimi/collections/forwarding_groups.rb +1 -1
  10. data/lib/cimi/collections/machine_configurations.rb +1 -1
  11. data/lib/cimi/collections/machine_images.rb +1 -1
  12. data/lib/cimi/collections/machine_templates.rb +1 -1
  13. data/lib/cimi/collections/machines.rb +2 -2
  14. data/lib/cimi/collections/network_configurations.rb +1 -1
  15. data/lib/cimi/collections/network_port_configurations.rb +1 -1
  16. data/lib/cimi/collections/network_port_templates.rb +1 -1
  17. data/lib/cimi/collections/network_ports.rb +1 -1
  18. data/lib/cimi/collections/network_templates.rb +1 -1
  19. data/lib/cimi/collections/networks.rb +1 -1
  20. data/lib/cimi/collections/volume_configurations.rb +1 -1
  21. data/lib/cimi/collections/volume_images.rb +1 -1
  22. data/lib/cimi/collections/volume_templates.rb +1 -1
  23. data/lib/cimi/collections/volumes.rb +1 -1
  24. data/lib/cimi/helpers/database_helper.rb +16 -61
  25. data/lib/cimi/helpers/filter_helper.rb +41 -0
  26. data/lib/cimi/helpers/select_helper.rb +62 -0
  27. data/lib/cimi/models.rb +21 -2
  28. data/lib/cimi/models/address.rb +9 -7
  29. data/lib/cimi/models/address_template.rb +4 -4
  30. data/lib/cimi/models/base.rb +62 -197
  31. data/lib/cimi/models/collection.rb +78 -70
  32. data/lib/cimi/models/disk.rb +15 -8
  33. data/lib/cimi/models/machine.rb +27 -29
  34. data/lib/cimi/models/machine_image.rb +10 -13
  35. data/lib/cimi/models/machine_template.rb +3 -3
  36. data/lib/cimi/models/resource.rb +190 -0
  37. data/lib/cimi/models/schema.rb +9 -0
  38. data/lib/cimi/models/volume.rb +10 -13
  39. data/lib/cimi/models/volume_configuration.rb +3 -3
  40. data/lib/cimi/models/volume_template.rb +2 -2
  41. data/lib/cimi/server.rb +1 -0
  42. data/lib/db.rb +15 -0
  43. data/lib/db/address_template.rb +15 -0
  44. data/lib/db/entity.rb +55 -0
  45. data/lib/db/machine_template.rb +15 -0
  46. data/lib/db/provider.rb +40 -0
  47. data/lib/db/volume_configuration.rb +15 -0
  48. data/lib/db/volume_template.rb +15 -0
  49. data/lib/deltacloud/collections/base.rb +1 -0
  50. data/lib/deltacloud/collections/instances.rb +2 -1
  51. data/lib/deltacloud/collections/storage_snapshots.rb +3 -1
  52. data/lib/deltacloud/core_ext/array.rb +5 -0
  53. data/lib/deltacloud/drivers/{aruba/aruba_driver.rb → arubacloud/arubacloud_driver.rb} +3 -6
  54. data/lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb +48 -75
  55. data/lib/deltacloud/drivers/ec2/ec2_driver.rb +18 -3
  56. data/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb +25 -0
  57. data/lib/deltacloud/drivers/fgcp/fgcp_client.rb +1 -1
  58. data/lib/deltacloud/drivers/fgcp/fgcp_driver.rb +34 -14
  59. data/lib/deltacloud/drivers/gogrid/gogrid_driver.rb +2 -0
  60. data/lib/deltacloud/drivers/mock/mock_driver.rb +3 -3
  61. data/lib/deltacloud/drivers/openstack/openstack_driver.rb +93 -33
  62. data/lib/deltacloud/drivers/rackspace/rackspace_driver.rb +2 -0
  63. data/lib/deltacloud/drivers/rhevm/rhevm_driver.rb +2 -2
  64. data/lib/deltacloud/helpers/deltacloud_helper.rb +3 -1
  65. data/lib/deltacloud/helpers/rabbit_helper.rb +1 -2
  66. data/lib/deltacloud/models/address.rb +1 -0
  67. data/lib/deltacloud/models/blob.rb +1 -0
  68. data/lib/deltacloud/models/bucket.rb +1 -0
  69. data/lib/deltacloud/models/firewall.rb +1 -0
  70. data/lib/deltacloud/models/hardware_profile.rb +3 -1
  71. data/lib/deltacloud/models/image.rb +7 -0
  72. data/lib/deltacloud/models/instance.rb +12 -3
  73. data/lib/deltacloud/models/key.rb +1 -0
  74. data/lib/deltacloud/models/load_balancer.rb +1 -0
  75. data/lib/deltacloud/models/metric.rb +1 -0
  76. data/lib/deltacloud/models/realm.rb +10 -1
  77. data/lib/deltacloud/models/storage_snapshot.rb +1 -0
  78. data/lib/deltacloud/models/storage_volume.rb +2 -1
  79. data/lib/deltacloud/runner.rb +2 -1
  80. data/lib/deltacloud/server.rb +1 -0
  81. data/lib/deltacloud/version.rb +1 -1
  82. data/lib/deltacloud_rack.rb +4 -0
  83. data/tests/cimi/collections/machines_test.rb +80 -0
  84. data/tests/cimi/db/database_helper_test.rb +54 -99
  85. data/tests/cimi/db/db_helper.rb +2 -0
  86. data/tests/cimi/db/entity_test.rb +29 -0
  87. data/tests/cimi/model/collection_spec.rb +2 -2
  88. data/tests/cimi/model/credential_spec.rb +2 -2
  89. data/tests/cimi/model/machine_configuration_spec.rb +2 -2
  90. data/tests/cimi/model/machine_image_spec.rb +2 -2
  91. data/tests/cimi/model/machine_spec.rb +4 -4
  92. data/tests/cimi/model/machine_template_spec.rb +2 -2
  93. data/tests/cimi/model/volume_configuration_spec.rb +2 -2
  94. data/tests/cimi/model/volume_image_spec.rb +2 -2
  95. data/tests/cimi/model/volume_spec.rb +2 -2
  96. data/tests/cimi/model/volume_template_spec.rb +2 -2
  97. data/tests/cimi/spec_helper.rb +4 -0
  98. data/tests/deltacloud/collections/instances_collection_test.rb +3 -1
  99. data/tests/deltacloud/launcher_test.rb +3 -5
  100. data/tests/drivers/ec2/images_test.rb +7 -0
  101. data/tests/drivers/gogrid/images_test.rb +7 -0
  102. data/tests/drivers/openstack/instances_test.rb +8 -8
  103. data/tests/drivers/openstack/realms_test.rb +13 -13
  104. data/views/errors/403.xml.haml +2 -1
  105. data/views/images/show.html.haml +4 -1
  106. data/views/images/show.xml.haml +1 -0
  107. data/views/instances/new.html.haml +1 -1
  108. data/views/instances/show.html.haml +3 -0
  109. data/views/realms/index.html.haml +2 -0
  110. data/views/realms/show.html.haml +4 -0
  111. data/views/realms/show.xml.haml +3 -0
  112. metadata +19 -14
@@ -1,5 +1,7 @@
1
1
  # Memory database
2
2
  if RUBY_PLATFORM == 'java'
3
+ require 'jdbc/sqlite3'
4
+ Jdbc::SQLite3.load_driver
3
5
  ENV['DATABASE_LOCATION'] = 'jdbc:sqlite::memory:'
4
6
  else
5
7
  ENV['DATABASE_LOCATION'] = 'sqlite:/'
@@ -0,0 +1,29 @@
1
+ require 'rubygems'
2
+ require 'require_relative' if RUBY_VERSION < '1.9'
3
+ require 'minitest/autorun'
4
+
5
+ require_relative 'db_helper.rb'
6
+ require_relative '../spec_helper.rb'
7
+ require_relative './../collections/common.rb'
8
+
9
+ describe "Deltacloud::Database::Entity" do
10
+ Provider = Deltacloud::Database::Provider
11
+ Entity = Deltacloud::Database::Entity
12
+ BaseModel = CIMI::Model::Base
13
+
14
+ before do
15
+ ENV['RACK_ENV'] = 'development'
16
+ @prov = Provider::lookup
17
+ end
18
+
19
+ it 'newly created entities have valid ent_properties' do
20
+ model = BaseModel.new(:id => "/base/42")
21
+ ent = Entity.retrieve(model)
22
+ ent.properties = nil
23
+ ent.exists?.must_equal false
24
+ ent.save
25
+
26
+ ent = Entity.retrieve(model)
27
+ ent.exists?.must_equal true
28
+ end
29
+ end
@@ -35,8 +35,8 @@ describe "Collection class" do
35
35
 
36
36
  before do
37
37
  @models = ["m1", "m2"].map { |s| Model.new(:text => s) }
38
- @xml = IO::read(File::join(DATA_DIR, "container.xml"))
39
- @json = IO::read(File::join(DATA_DIR, "container.json"))
38
+ @xml = read_data_file("container.xml")
39
+ @json = read_data_file("container.json")
40
40
  end
41
41
 
42
42
  describe "XML serialization" do
@@ -24,8 +24,8 @@ end
24
24
  describe "Credential model" do
25
25
 
26
26
  before do
27
- @xml = IO::read(File::join(DATA_DIR, "credential.xml"))
28
- @json = IO::read(File::join(DATA_DIR, "credential.json"))
27
+ @xml = read_data_file("credential.xml")
28
+ @json = read_data_file("credential.json")
29
29
  end
30
30
 
31
31
  it "can be constructed from XML and JSON" do
@@ -20,8 +20,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
20
20
  describe "MachineConfiguration model" do
21
21
 
22
22
  before do
23
- @xml = IO::read(File::join(DATA_DIR, "machine_configuration.xml"))
24
- @json = IO::read(File::join(DATA_DIR, "machine_configuration.json"))
23
+ @xml = read_data_file("machine_configuration.xml")
24
+ @json = read_data_file("machine_configuration.json")
25
25
  end
26
26
 
27
27
  it "can be constructed from XML and JSON" do
@@ -21,8 +21,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "MachineImage model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "machine_image.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "machine_image.json"))
24
+ @xml = read_data_file("machine_image.xml")
25
+ @json = read_data_file("machine_image.json")
26
26
  end
27
27
 
28
28
  it "can be constructed from XML and JSON" do
@@ -21,10 +21,10 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "Machine model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "machine.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "machine.json"))
26
- @xml_minimal = IO::read(File::join(DATA_DIR, "machine-minimal.xml"))
27
- @json_minimal = IO::read(File::join(DATA_DIR, "machine-minimal.json"))
24
+ @xml = read_data_file("machine.xml")
25
+ @json = read_data_file("machine.json")
26
+ @xml_minimal = read_data_file("machine-minimal.xml")
27
+ @json_minimal = read_data_file("machine-minimal.json")
28
28
  end
29
29
 
30
30
  it "can be constructed from XML and JSON" do
@@ -21,8 +21,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "MachineTemplate model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "machine_template.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "machine_template.json"))
24
+ @xml = read_data_file("machine_template.xml")
25
+ @json = read_data_file("machine_template.json")
26
26
  end
27
27
 
28
28
  it "can be constructed from XML and JSON" do
@@ -22,8 +22,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
22
22
  describe "Volume Configuration model" do
23
23
 
24
24
  before do
25
- @xml = IO::read(File::join(DATA_DIR, "volume_configuration.xml"))
26
- @json = IO::read(File::join(DATA_DIR, "volume_configuration.json"))
25
+ @xml = read_data_file("volume_configuration.xml")
26
+ @json = read_data_file("volume_configuration.json")
27
27
  end
28
28
 
29
29
  it "can be constructed from XML and JSON" do
@@ -21,8 +21,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "Volume Image model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "volume_image.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "volume_image.json"))
24
+ @xml = read_data_file("volume_image.xml")
25
+ @json = read_data_file("volume_image.json")
26
26
  end
27
27
 
28
28
  it "can be constructed from XML and JSON" do
@@ -21,8 +21,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "Volume model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "volume.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "volume.json"))
24
+ @xml = read_data_file("volume.xml")
25
+ @json = read_data_file("volume.json")
26
26
  end
27
27
 
28
28
  it "can be constructed from XML and JSON" do
@@ -21,8 +21,8 @@ require_relative '../spec_helper.rb' if require 'minitest/autorun'
21
21
  describe "Volume Template model" do
22
22
 
23
23
  before do
24
- @xml = IO::read(File::join(DATA_DIR, "volume_template.xml"))
25
- @json = IO::read(File::join(DATA_DIR, "volume_template.json"))
24
+ @xml = read_data_file("volume_template.xml")
25
+ @json = read_data_file("volume_template.json")
26
26
  end
27
27
 
28
28
  it "can be constructed from XML and JSON" do
@@ -32,6 +32,10 @@ def parse_xml(xml, opts = {})
32
32
  XmlSimple.xml_in(xml, opts)
33
33
  end
34
34
 
35
+ def read_data_file(name)
36
+ IO::read(File::join(DATA_DIR, name))
37
+ end
38
+
35
39
  class HashCmp
36
40
 
37
41
  IGNORED_KEYS = [ "resourceURI" ]
@@ -69,8 +69,10 @@ describe Deltacloud::Collections::Instances do
69
69
  json['instance'].wont_be_empty
70
70
  Instance.attributes.each do |attr|
71
71
  attr = attr.to_s.gsub(/_id$/,'') if attr.to_s =~ /_id$/
72
- next if ['authn_error', 'firewalls', 'keyname', 'username', 'password'].include?(attr.to_s)
72
+ next if ['launch_time', 'authn_error', 'firewalls', 'keyname', 'username', 'password', 'instance_profile'].include?(attr.to_s)
73
73
  json['instance'].keys.must_include attr.to_s
74
+ json['instance'].keys.must_include 'create_image'
75
+ json['instance'].keys.must_include 'hardware_profile'
74
76
  end
75
77
  end
76
78
  end
@@ -1,5 +1,3 @@
1
- =begin
2
-
3
1
  # TODO: This test require full access to 'kill' command and also
4
2
  # ability to execute the actual launcher.
5
3
  #
@@ -39,9 +37,10 @@ def wait_for_port_open(port)
39
37
  end
40
38
 
41
39
  def kill_process(pid)
42
- Process.kill('TERM', pid) rescue ''
43
40
  # Die!
41
+ puts "Sending KILL to #{pid}"
44
42
  Process.kill('KILL', pid) rescue ''
43
+ sleep(1)
45
44
  end
46
45
 
47
46
  describe "deltacloudd" do
@@ -104,5 +103,4 @@ describe "deltacloudd" do
104
103
  @pids.map { |pid| kill_process(pid) }
105
104
  end
106
105
 
107
- end
108
- =end
106
+ end unless ENV['TRAVIS']
@@ -45,4 +45,11 @@ describe 'Ec2Driver Images' do
45
45
  @driver.image(:id => 'unknown').must_be_nil
46
46
  end
47
47
 
48
+ it 'must advertise the image storage_type' do
49
+ VCR.insert_cassette 'test_0004_must_allow_to_retrieve_single_image'
50
+ @driver.image(:id => 'ami-aecd60c7').wont_be_nil
51
+ @driver.image(:id => 'ami-aecd60c7').root_type.wont_be_nil
52
+ @driver.image(:id => 'ami-aecd60c7').root_type.must_equal 'persistent'
53
+ end
54
+
48
55
  end
@@ -5,6 +5,13 @@ require_relative 'common'
5
5
 
6
6
  describe 'GoGridDriver Images' do
7
7
 
8
+ def credentials
9
+ {
10
+ :user => "04825b9fb0826b0b",
11
+ :password => "gogrid_deltacloud_te"
12
+ }
13
+ end
14
+
8
15
  before do
9
16
  @driver = Deltacloud::new(:gogrid, credentials)
10
17
  VCR.insert_cassette __name__
@@ -8,7 +8,7 @@ describe 'OpenStackDriver Instances' do
8
8
  {
9
9
  :user => "foo@fakedomain.eu+foo@fakedomain.eu-default-tenant",
10
10
  :password => "1234fake56789",
11
- :provider => "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/"
11
+ :provider => "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/;az-1.region-a.geo-1"
12
12
  }
13
13
  end
14
14
 
@@ -33,20 +33,20 @@ describe 'OpenStackDriver Instances' do
33
33
  end
34
34
 
35
35
  it 'must allow to filter instances' do
36
- instances = @driver.instances :id => '806837'
36
+ instances = @driver.instances :id => '815215'
37
37
  instances.wont_be_empty
38
38
  instances.must_be_kind_of Array
39
39
  instances.size.must_equal 1
40
40
  puts instances.inspect
41
- instances.first.id.must_equal '806837'
41
+ instances.first.id.must_equal '815215'
42
42
  @driver.instances(:id => 'unknown').must_be_empty
43
43
  end
44
44
 
45
45
  it 'must allow to retrieve single instance' do
46
- instance = @driver.instance :id => '806837'
46
+ instance = @driver.instance :id => '815215'
47
47
  instance.wont_be_nil
48
- instance.id.must_equal '806837'
49
- instance.name.must_equal 'Server-1355225740-az-2-region-a-geo-1'
48
+ instance.id.must_equal '815215'
49
+ instance.name.must_equal 'server2013-02-13 13:06:46 +0200'
50
50
  instance.state.wont_be_empty
51
51
  instance.owner_id.must_equal 'foo@fakedomain.eu'
52
52
  instance.realm_id.wont_be_empty
@@ -56,9 +56,9 @@ describe 'OpenStackDriver Instances' do
56
56
  end
57
57
 
58
58
  it 'must allow to create and destroy an instance' do
59
- instance = @driver.create_instance '47940', :hwp_id => '100'
59
+ instance = @driver.create_instance '78265', :hwp_id => '100', :realm_id => "az-1.region-a.geo-1"
60
60
  instance.wont_be_nil
61
- instance.image_id.must_equal '47940'
61
+ instance.image_id.must_equal '78265'
62
62
  instance.name.wont_be_empty
63
63
  instance.wait_for!(@driver, record_retries('inst_launch')) { |i| i.is_running? }
64
64
  puts @driver.destroy_instance(instance.id).inspect
@@ -5,6 +5,15 @@ require_relative 'common.rb'
5
5
 
6
6
  describe 'OpenStackDriver Realms' do
7
7
 
8
+ def credentials
9
+ {
10
+ :user => "foo@fakedomain.eu+foo@fakedomain.eu-default-tenant",
11
+ :password => "1234fake56789",
12
+ :provider => "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/"
13
+ }
14
+ end
15
+
16
+
8
17
  before do
9
18
  @driver = Deltacloud::new(:openstack, credentials)
10
19
  VCR.insert_cassette __name__
@@ -14,7 +23,7 @@ describe 'OpenStackDriver Realms' do
14
23
  VCR.eject_cassette
15
24
  end
16
25
 
17
- it 'must throw error when wrong credentials' do
26
+ it 'must throw error when GET Realms with wrong credentials' do
18
27
  Proc.new do
19
28
  @driver.backend.images(OpenStruct.new(:user => 'unknown+wrong', :password => 'wrong'))
20
29
  end.must_raise Deltacloud::Exceptions::AuthenticationFailure, 'Authentication Failure'
@@ -25,20 +34,11 @@ describe 'OpenStackDriver Realms' do
25
34
  @driver.realms.first.must_be_kind_of Realm
26
35
  end
27
36
 
28
- it 'must allow to filter realms' do
29
- realms = @driver.realms :id => 'default'
30
- realms.wont_be_empty
31
- realms.must_be_kind_of Array
32
- realms.size.must_equal 1
33
- realms.first.id.must_equal 'default'
34
- @driver.realms(:id => 'unknown').must_be_empty
35
- end
36
-
37
37
  it 'must allow to retrieve single realm' do
38
- realm = @driver.realm :id => 'default'
38
+ realm_id = @driver.realms.first.id
39
+ realm = @driver.realm :id => realm_id
39
40
  realm.wont_be_nil
40
- realm.id.must_equal 'default'
41
- realm.limit.wont_be_empty
41
+ realm.id.must_equal realm_id
42
42
  realm.state.must_equal 'AVAILABLE'
43
43
  @driver.realm(:id => 'unknown').must_be_nil
44
44
  end
@@ -1,6 +1,7 @@
1
1
  %error{:url => "#{request.env['REQUEST_URI']}", :status => "#{response.status}"}
2
2
  %backend{ :driver => driver_symbol, :provider => "#{Thread::current[:provider] || ENV['API_PROVIDER'] || 'default'}" }
3
- %backtrace=cdata(@error.backtrace.join("\n"))
3
+ - if @error.respond_to?(:backtrace) and !@error.backtrace.nil?
4
+ %backtrace=cdata(@error.backtrace.join("\n"))
4
5
  - if params
5
6
  %request
6
7
  - params.each do |k, v|
@@ -21,11 +21,14 @@
21
21
  %li{ :'data-role' => 'list-divider'} Creation Time
22
22
  %li
23
23
  %p{ :'data-role' => 'fieldcontain'}=@image.creation_time
24
+ %li{ :'data-role' => 'list-divider'} Root Device Type
25
+ %li
26
+ %p{ :'data-role' => 'fieldcontain'}=@image.root_type
24
27
  %li{ :'data-role' => 'list-divider'} Architecture
25
28
  %li
26
29
  %p{ :'data-role' => 'fieldcontain'}=@image.architecture
27
30
  - if @image.hardware_profiles
28
- %li{ :'data-role' => 'list-divider'} Hardware Profiles
31
+ %li{ :'data-role' => 'list-divider'} Compatible Hardware Profiles
29
32
  %li
30
33
  %div{ :'data-role' => 'controlgroup', :'data-type' => "horizontal" }
31
34
  - @image.hardware_profiles.each do |hwp|
@@ -13,6 +13,7 @@
13
13
  %hardware_profiles
14
14
  - @image.hardware_profiles.each do |profile|
15
15
  %hardware_profile{ :href => hardware_profile_url(profile.id), :id => profile.id, :rel => :hardware_profile }
16
+ %root_type=@image.root_type
16
17
  %actions
17
18
  %link{ :rel => 'create_instance', :method => :post, :href => "#{instances_url};image_id=#{@image.id}"}
18
19
  - if driver.respond_to? :destroy_image
@@ -2,7 +2,7 @@
2
2
  =subheader "#{@image.id}"
3
3
 
4
4
  .hidden_content
5
- - @hardware_profiles.each do |profile|
5
+ - @image.hardware_profiles.each do |profile|
6
6
  %div{ :'data-role' => :fieldcontain, :id => "hwp_properties_#{profile.name}", :class => 'property_block'}
7
7
  - profile.properties.reject { |prop| prop.fixed? }.each do |prop|
8
8
  %label{ :for => "#{prop.param}_#{profile.name}", :class => 'ui-input-text' }=prop.name
@@ -12,6 +12,9 @@
12
12
  %li{ :'data-role' => 'list-divider'} State
13
13
  %li
14
14
  %p{ :'data-role' => 'fieldcontain'}=@instance.state
15
+ %li{ :'data-role' => 'list-divider'} Launch Time
16
+ %li
17
+ %p{ :'data-role' => 'fieldcontain'}=@instance.launch_time
15
18
  %li{ :'data-role' => 'list-divider'} Image
16
19
  %li
17
20
  %a{ :href => image_url(@instance.image_id), :'data-ajax' => 'false' }=@instance.image_id
@@ -10,4 +10,6 @@
10
10
  %img{ :class => 'ui-link-thumb', :src => '/images/realm.png'}
11
11
  %h3= realm.name
12
12
  %p=[realm.id, realm.limit].join(', ')
13
+ -if realm.resource_types
14
+ %p=realm.resource_types.join(",")
13
15
  %span{ :class => 'ui-li-count'}=realm.state
@@ -15,3 +15,7 @@
15
15
  %li{ :'data-role' => 'list-divider'} Limit
16
16
  %li
17
17
  %p{ :'data-role' => 'fieldcontain'}=@realm.limit
18
+ - if @realm.resource_types
19
+ %li{ :'data-role' => 'list-divider'} Resource Types
20
+ %li
21
+ %p{ :'data-role' => 'fieldcontain'}=@realm.resource_types
@@ -9,3 +9,6 @@
9
9
  %limit<
10
10
  =cdata do
11
11
  =@realm.limit
12
+ - @realm.resource_types.each do |r|
13
+ %resource_type<
14
+ =r
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deltacloud-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-05 00:00:00.000000000 Z
12
+ date: 2013-02-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -108,13 +108,13 @@ dependencies:
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
- name: json
111
+ name: json_pure
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
115
  - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
- version: 1.1.9
117
+ version: 1.5.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
- version: 1.1.9
125
+ version: 1.5.0
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: net-ssh
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -210,7 +210,7 @@ dependencies:
210
210
  requirements:
211
211
  - - ! '>='
212
212
  - !ruby/object:Gem::Version
213
- version: 0.0.16
213
+ version: 0.0.17
214
214
  type: :runtime
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
@@ -218,7 +218,7 @@ dependencies:
218
218
  requirements:
219
219
  - - ! '>='
220
220
  - !ruby/object:Gem::Version
221
- version: 0.0.16
221
+ version: 0.0.17
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: aws
224
224
  requirement: !ruby/object:Gem::Requirement
@@ -226,7 +226,7 @@ dependencies:
226
226
  requirements:
227
227
  - - ! '>='
228
228
  - !ruby/object:Gem::Version
229
- version: 2.6.0
229
+ version: 2.7.0
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
@@ -234,7 +234,7 @@ dependencies:
234
234
  requirements:
235
235
  - - ! '>='
236
236
  - !ruby/object:Gem::Version
237
- version: 2.6.0
237
+ version: 2.7.0
238
238
  - !ruby/object:Gem::Dependency
239
239
  name: waz-storage
240
240
  requirement: !ruby/object:Gem::Requirement
@@ -354,7 +354,7 @@ dependencies:
354
354
  requirements:
355
355
  - - ! '>='
356
356
  - !ruby/object:Gem::Version
357
- version: 1.0.7
357
+ version: 1.0.9
358
358
  type: :runtime
359
359
  prerelease: false
360
360
  version_requirements: !ruby/object:Gem::Requirement
@@ -362,7 +362,7 @@ dependencies:
362
362
  requirements:
363
363
  - - ! '>='
364
364
  - !ruby/object:Gem::Version
365
- version: 1.0.7
365
+ version: 1.0.9
366
366
  - !ruby/object:Gem::Dependency
367
367
  name: savon
368
368
  requirement: !ruby/object:Gem::Requirement
@@ -410,7 +410,7 @@ files:
410
410
  - Rakefile
411
411
  - deltacloud-core.gemspec
412
412
  - config.ru
413
- - config/drivers/aruba.yaml
413
+ - config/drivers/arubacloud.yaml
414
414
  - config/drivers/azure.yaml
415
415
  - config/drivers/ec2.yaml
416
416
  - config/drivers/rackspace.yaml
@@ -454,8 +454,10 @@ files:
454
454
  - lib/cimi/server.rb
455
455
  - lib/cimi/dependencies.rb
456
456
  - lib/cimi/models.rb
457
+ - lib/cimi/helpers/select_helper.rb
457
458
  - lib/cimi/helpers/cimi_helper.rb
458
459
  - lib/cimi/helpers/database_helper.rb
460
+ - lib/cimi/helpers/filter_helper.rb
459
461
  - lib/cimi/models/volume_image.rb
460
462
  - lib/cimi/models/network_port_configuration.rb
461
463
  - lib/cimi/models/network.rb
@@ -468,6 +470,7 @@ files:
468
470
  - lib/cimi/models/machine_template.rb
469
471
  - lib/cimi/models/network_port.rb
470
472
  - lib/cimi/models/forwarding_group_template.rb
473
+ - lib/cimi/models/resource.rb
471
474
  - lib/cimi/models/machine.rb
472
475
  - lib/cimi/models/volume_configuration.rb
473
476
  - lib/cimi/models/cloud_entry_point.rb
@@ -589,6 +592,7 @@ files:
589
592
  - lib/deltacloud/drivers/mock/mock_driver.rb
590
593
  - lib/deltacloud/drivers/rimuhosting/rimuhosting_client.rb
591
594
  - lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb
595
+ - lib/deltacloud/drivers/arubacloud/arubacloud_driver.rb
592
596
  - lib/deltacloud/drivers/ec2/aws_vpc_monkey_patch.rb
593
597
  - lib/deltacloud/drivers/ec2/ec2_driver.rb
594
598
  - lib/deltacloud/drivers/rackspace/rackspace_driver.rb
@@ -605,7 +609,6 @@ files:
605
609
  - lib/deltacloud/drivers/cimi_features.rb
606
610
  - lib/deltacloud/drivers/exceptions.rb
607
611
  - lib/deltacloud/drivers/terremark/terremark_driver.rb
608
- - lib/deltacloud/drivers/aruba/aruba_driver.rb
609
612
  - lib/sinatra.rb
610
613
  - lib/db/volume_template.rb
611
614
  - lib/db/machine_template.rb
@@ -671,6 +674,7 @@ files:
671
674
  - tests/cimi/collections/machines_test.rb
672
675
  - tests/cimi/collections/machine_images_test.rb
673
676
  - tests/cimi/collections/url_helper_test.rb
677
+ - tests/cimi/db/entity_test.rb
674
678
  - tests/cimi/db/schema_test.rb
675
679
  - tests/cimi/db/database_helper_test.rb
676
680
  - tests/cimi/db/db_helper.rb
@@ -945,7 +949,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
945
949
  version: '0'
946
950
  segments:
947
951
  - 0
948
- hash: -2467979139256162930
952
+ hash: -2269388389884938239
949
953
  requirements: []
950
954
  rubyforge_project:
951
955
  rubygems_version: 1.8.23
@@ -959,6 +963,7 @@ test_files:
959
963
  - tests/cimi/collections/machines_test.rb
960
964
  - tests/cimi/collections/machine_images_test.rb
961
965
  - tests/cimi/collections/url_helper_test.rb
966
+ - tests/cimi/db/entity_test.rb
962
967
  - tests/cimi/db/schema_test.rb
963
968
  - tests/cimi/db/database_helper_test.rb
964
969
  - tests/helpers/rack/rack_etag_test.rb