You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by ma...@redhat.com on 2012/04/06 18:01:17 UTC
[PATCH 02/11] CIMI: Adds CIMI::Network create for Deltacloud mock driver
From: marios <ma...@redhat.com>
Signed-off-by: marios <ma...@redhat.com>
---
server/lib/deltacloud/drivers/mock/mock_client.rb | 5 ++++
.../drivers/mock/mock_driver_cimi_methods.rb | 21 ++++++++++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/server/lib/deltacloud/drivers/mock/mock_client.rb b/server/lib/deltacloud/drivers/mock/mock_client.rb
index 248cc49..b27b84d 100644
--- a/server/lib/deltacloud/drivers/mock/mock_client.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_client.rb
@@ -91,6 +91,11 @@ module Deltacloud::Drivers::Mock
FileUtils.rm(fname) if File::exists?(fname)
end
+ def store_cimi(collection, obj)
+ raise "Why no obj[\"name\"] ?" unless obj["name"]
+ File::open(cimi_file(collection, obj["name"]), "w") { |f| f.write(JSON.generate(obj)) }
+ end
+
def load_all_cimi(model_name)
model_files = Dir[File::join(cimi_dir(model_name), "*.json")]
model_files.map{|f| File.read(f)}
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
index bebc45c..1330d84 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
@@ -32,6 +32,27 @@ module Deltacloud::Drivers::Mock
end
end
+ def create_network(credentials, opts={})
+ check_credentials(credentials)
+ id = "#{opts[:env].send("networks_url")}/#{opts[:name]}"
+ network = { "id"=> id,
+ "name" => opts[:name],
+ "description" => opts[:description],
+ "created" => Time.now,
+ "state" => "STARTED",
+ "access" => opts[:network_config].access,
+ "bandwithLimit" => opts[:network_config].bandwidth_limit,
+ "trafficPriority" => opts[:network_config].traffic_priority,
+ "maxTrafficDelay" => opts[:network_config].max_traffic_delay,
+ "maxTrafficLoss" =>opts[:network_config].max_traffic_loss,
+ "maxTrafficJitter" =>opts[:network_config].max_traffic_jitter,
+ "routingGroup"=> { "href" => opts[:routing_group].id },
+ "operations" => [{"rel"=>"edit", "href"=> id},
+ {"rel"=>"delete", "href"=> id}] }
+ @client.store_cimi(:network, network)
+ CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:name]))
+ end
+
def network_configurations(credentials, opts={})
check_credentials(credentials)
if opts[:id].nil?
--
1.7.6.5