Return-Path: Delivered-To: apmail-incubator-deltacloud-dev-archive@minotaur.apache.org Received: (qmail 62735 invoked from network); 21 Mar 2011 20:10:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Mar 2011 20:10:18 -0000 Received: (qmail 25392 invoked by uid 500); 21 Mar 2011 20:10:18 -0000 Delivered-To: apmail-incubator-deltacloud-dev-archive@incubator.apache.org Received: (qmail 25369 invoked by uid 500); 21 Mar 2011 20:10:18 -0000 Mailing-List: contact deltacloud-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: deltacloud-dev@incubator.apache.org Delivered-To: mailing list deltacloud-dev@incubator.apache.org Received: (qmail 25361 invoked by uid 99); 21 Mar 2011 20:10:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Mar 2011 20:10:18 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of felipe.cardoso.martins@gmail.com designates 209.85.218.47 as permitted sender) Received: from [209.85.218.47] (HELO mail-yi0-f47.google.com) (209.85.218.47) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Mar 2011 20:10:11 +0000 Received: by yia13 with SMTP id 13so2579136yia.6 for ; Mon, 21 Mar 2011 13:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:date:message-id:x-mailer; bh=i7GeD95hgI6ZEKtqhPPI+maZ+8V7+dT0KytoNEgqVdQ=; b=hL114O4M3vjWAWENoe8hx7pMCRHCRmoU3vce9dDeLZuagwc4Op73/LRIiW+V+uTH/x vp2qxGW5BnXn0NB/0CwE30h30mr1gyTe3M9bOA/H/J8rt/kAA/zEB/Z5vIR/PTgvdeOy 6QxLCZg2xkaZ6+r2znWjVMkJUpwLYiUwH1498= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:message-id:x-mailer; b=cETHi+7vMsnoQpx+rZP/b/iqwOhREK3011MTR7uIULr0stYIEud+Q7b5mEp8U8QC6O dVdCS0W6jOl4PWQmtb3EDg47/j9K0aXuJkUQy+AZjgBv05y6G7JZ5oTUB/QNdwjZ0L16 kMYlPpBkccmIZ0kpch6Qmbxx6Y+IvlavqETQk= Received: by 10.151.17.5 with SMTP id u5mr4369148ybi.55.1300738190100; Mon, 21 Mar 2011 13:09:50 -0700 (PDT) Received: from localhost.localdomain (200-221-129-67.corp.uolinc.com [200.221.129.67]) by mx.google.com with ESMTPS id d3sm1337883ybi.20.2011.03.21.13.09.48 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 21 Mar 2011 13:09:49 -0700 (PDT) From: felipe.cardoso.martins@gmail.com To: deltacloud-dev@incubator.apache.org Subject: [PATCH] - Added the basic feature of create storage volumes at mock driver Date: Mon, 21 Mar 2011 17:06:57 -0300 Message-Id: <1300738017-26734-1-git-send-email-felipe.cardoso.martins@gmail.com> X-Mailer: git-send-email 1.7.1 From: Felipe Cardoso Martins --- server/lib/deltacloud/drivers/mock/mock_driver.rb | 38 +++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb index 7d229c4..b18b5c9 100644 --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb @@ -282,6 +282,44 @@ class MockDriver < Deltacloud::BaseDriver volumes end + def create_storage_volume(credentials, opts=nil) + check_credentials(credentials) + + ids = Dir[ "#{@storage_root}/storage_volumes/*.yml" ].collect{|e| File.basename( e, ".yml" )} + + count = 0 + while true + next_id = "vol" + count.to_s + if not ids.include?(next_id) + break + end + count = count + 1 + end + + opts ||= {} + opts[:capacity] ||= "1" + opts[:realm_id] ||= realms(credentials).first.id + + volume = { + :owner_id => credentials.user, + :created => Time.now, + :state => 'AVAILABLE', + :capacity => opts[:capacity], + :realm_id => opts[:realm_id], + :device => '', + :instance_id => '', + :actions => [:attach, :detach, :destroy] + } + + File.open( "#{@storage_root}/storage_volumes/#{next_id}.yml", 'w' ) {|f| + YAML.dump( volume, f ) + } + + volume[:id] = next_id + + StorageVolume.new( volume ) + end + # # Storage Snapshots # -- 1.7.1