You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by lu...@redhat.com on 2012/11/08 05:05:34 UTC
[PATCH 08/10] CIMI: define order of toplevel resources explicitly
From: David Lutterkort <lu...@redhat.com>
This allows us to load models in models.rb in the order in which they are
needed by the code
---
server/lib/cimi/models.rb | 12 +++++-------
server/lib/cimi/models/cloud_entry_point.rb | 17 +++++++++++++++++
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/server/lib/cimi/models.rb b/server/lib/cimi/models.rb
index 3f5dace..3e7027d 100644
--- a/server/lib/cimi/models.rb
+++ b/server/lib/cimi/models.rb
@@ -27,23 +27,21 @@ require_relative './models/action'
require_relative './models/machine_volume'
require_relative './models/disk'
-# Toplevel entities; order matters as it determines the order
-# in which the entities appear in the CEP
require_relative './models/cloud_entry_point'
require_relative './models/resource_metadata'
+require_relative './models/volume'
+require_relative './models/volume_template'
+require_relative './models/volume_configuration'
+require_relative './models/volume_image'
require_relative './models/machine'
require_relative './models/machine_template'
require_relative './models/machine_configuration'
require_relative './models/machine_image'
require_relative './models/credential'
-require_relative './models/volume'
-require_relative './models/volume_template'
-require_relative './models/volume_configuration'
-require_relative './models/volume_image'
+require_relative './models/network_port'
require_relative './models/network'
require_relative './models/network_template'
require_relative './models/network_configuration'
-require_relative './models/network_port'
require_relative './models/network_port_template'
require_relative './models/network_port_configuration'
require_relative './models/address'
diff --git a/server/lib/cimi/models/cloud_entry_point.rb b/server/lib/cimi/models/cloud_entry_point.rb
index 55b0a21..c03c524 100644
--- a/server/lib/cimi/models/cloud_entry_point.rb
+++ b/server/lib/cimi/models/cloud_entry_point.rb
@@ -15,8 +15,25 @@
class CIMI::Model::CloudEntryPoint < CIMI::Model::Base
+ # All possible CIMI collections, in the order in which they should appear
+ # in the CEP
+ COLLECTIONS = [ "resourceMetadata", "systems", "systemTemplates",
+ "machines" , "machineTemplates", "machineConfigs",
+ "machineImages", "credentials", "credentialTemplates",
+ "volumes", "volumeTemplates", "volumeConfigs", "volumeImages",
+ "networks", "networkTemplates", "networkConfigs", "networkPorts",
+ "networkPortTemplates", "networkPortConfigs",
+ "addresses", "addressTemplates", "forwardingGroups",
+ "forwardingGroupTemplates",
+ "jobs", "meters", "meterTemplates", "meterConfigs",
+ "eventLogs", "eventLogTemplates" ]
+
text :base_uri, :xml_name => "baseURI", :json_name => "baseURI"
+ COLLECTIONS.each do |coll|
+ href coll.underscore
+ end
+
def self.create(context)
self.new(entities(context).merge({
:name => context.driver.name,
--
1.7.7.6