You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by ma...@apache.org on 2013/02/20 18:32:46 UTC
git commit: Restore mock network operations removed by commit
d4d8e38897152671a2f99edeab95c3a146a231cf
Updated Branches:
refs/heads/master 58db7bd2e -> 324ef9535
Restore mock network operations removed by commit d4d8e38897152671a2f99edeab95c3a146a231cf
part of DTACLOUD-470 https://issues.apache.org/jira/browse/DTACLOUD-470
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/324ef953
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/324ef953
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/324ef953
Branch: refs/heads/master
Commit: 324ef95352ebe67743a093be7081478a9c8cf301
Parents: 58db7bd
Author: marios <ma...@redhat.com>
Authored: Mon Feb 18 15:53:17 2013 +0200
Committer: marios <ma...@redhat.com>
Committed: Wed Feb 20 19:32:24 2013 +0200
----------------------------------------------------------------------
server/lib/deltacloud/drivers/mock/mock_client.rb | 14 ++++
.../drivers/mock/mock_driver_cimi_methods.rb | 52 +++++++++++++++
2 files changed, 66 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/324ef953/server/lib/deltacloud/drivers/mock/mock_client.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/mock/mock_client.rb b/server/lib/deltacloud/drivers/mock/mock_client.rb
index eb37176..d3ac437 100644
--- a/server/lib/deltacloud/drivers/mock/mock_client.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_client.rb
@@ -93,6 +93,17 @@ 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(obj.to_json) }
+ end
+
+ def destroy_cimi(collection, id)
+ fname = cimi_file(collection, id)
+ raise "No such object: #{id} in #{collection} collection" unless File::exists?(fname)
+ FileUtils.rm(fname)
+ end
+
def load_all_cimi(model_name)
model_files = Dir[File::join(cimi_dir(model_name), "*.json")]
model_files.map{|f| File.read(f)}
@@ -110,6 +121,9 @@ module Deltacloud::Drivers::Mock
File::join(@storage_root, "cimi", collection.to_s)
end
+
+
+
private
def collection_name(klass)
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/324ef953/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
----------------------------------------------------------------------
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 336f77b..e410c5a 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver_cimi_methods.rb
@@ -20,6 +20,7 @@
module Deltacloud::Drivers::Mock
class MockDriver < Deltacloud::BaseDriver
+
def networks(credentials, opts={})
check_credentials(credentials)
if opts[:id].nil?
@@ -31,6 +32,48 @@ module Deltacloud::Drivers::Mock
end
end
+ def create_network(credentials, opts={})
+ check_credentials(credentials)
+ id = "#{opts[:env].send("networks_url")}/#{opts[:name]}"
+ net_hsh = { "id"=> id,
+ "name" => opts[:name],
+ "description" => opts[:description],
+ "created" => Time.now,
+ "state" => "STARTED",
+ "networkType" => opts[:network_config].network_type,
+ "mtu" => opts[:network_config].mtu,
+ "classOfService" => opts[:network_config].class_of_service,
+
+
+ "forwardingGroup"=> { "href" => opts[:forwarding_group].id },
+ "operations" => [{"rel"=>"edit", "href"=> id},
+ {"rel"=>"delete", "href"=> id}] }
+ network = CIMI::Model::Network.from_json(JSON.generate(net_hsh))
+
+ @client.store_cimi(:network, network)
+ network
+ end
+
+ def delete_network(credentials, id)
+ check_credentials(credentials)
+ @client.destroy_cimi(:network, id)
+ end
+
+ def start_network(credentials, id)
+ check_credentials(credentials)
+ update_object_state(id, "Network", "STARTED")
+ end
+
+ def stop_network(credentials, id)
+ check_credentials(credentials)
+ update_object_state(id, "Network", "STOPPED")
+ end
+
+ def suspend_network(credentials, id)
+ check_credentials(credentials)
+ update_object_state(id, "Network", "SUSPENDED")
+ end
+
def network_configurations(credentials, opts={})
check_credentials(credentials)
if opts[:id].nil?
@@ -163,6 +206,15 @@ module Deltacloud::Drivers::Mock
end
end
+ def update_object_state(id, object, new_state)
+ klass = CIMI::Model.const_get("#{object}")
+ symbol = object.to_s.downcase.singularize.intern
+ obj = klass.from_json(@client.load_cimi(symbol, id))
+ obj.state = new_state
+ @client.store_cimi(symbol, obj)
+ obj
+ end
+
end
end