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/03/09 18:42:46 UTC

[PATCH 1/4] CIMI - Adds mock data for network and network_configs for mock driver

From: marios <ma...@redhat.com>


Signed-off-by: marios <ma...@redhat.com>
---
 .../drivers/mock/data/cimi/network/network1.json   |    6 ++++
 .../drivers/mock/data/cimi/network/network2.json   |    6 ++++
 .../network_configuration/network_config1.json     |   15 ++++++++++++
 .../network_configuration/network_config2.json     |   15 ++++++++++++
 server/lib/deltacloud/drivers/mock/mock_driver.rb  |   25 ++++++++++++++-----
 5 files changed, 60 insertions(+), 7 deletions(-)
 create mode 100644 server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
 create mode 100644 server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json

diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json b/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
index f3af747..165ef8a 100644
--- a/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
+++ b/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
@@ -4,6 +4,12 @@
   "created": "Thu Jan 12 15:25:41 EET 2012",
   "state": "STARTED",
   "access": "Public",
+  "bandwidthLimit": 2,
+  "trafficPriority": 1,
+  "maxTrafficDelay": 500000,
+  "maxTrafficLoss": 100,
+  "maxTrafficJitter": 100000,
+  "routingGroup": { "href": "http://cimi.example.org/routinggroups/group1" },
   "operations": [
     { "rel": "edit", "href": "http://cimi.example.org/networks/network1" },
     { "rel": "delete", "href": "http://cimi.example.org/networks/network1" }
diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json b/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
index f6c7faf..3bd264e 100644
--- a/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
+++ b/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
@@ -4,6 +4,12 @@
   "created": "Fri Jan 13 17:30:34 EET 2012",
   "state": "STARTED",
   "access": "Public",
+  "bandwidthLimit": 3,
+  "trafficPriority": 2,
+  "maxTrafficDelay": 600000,
+  "maxTrafficLoss": 100,
+  "maxTrafficJitter": 200000,
+  "routingGroup": { "href": "http://cimi.example.org/routinggroups/group1" },
   "operations": [
     { "rel": "edit", "href": "http://cimi.example.org/networks/network2" },
     { "rel": "delete", "href": "http://cimi.example.org/networks/network2" }
diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
new file mode 100644
index 0000000..f767de9
--- /dev/null
+++ b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
@@ -0,0 +1,15 @@
+{ "uri": "http://cimi.example.org/network_configurations/network_config1",
+  "name": "network_config1",
+  "description": "a network configuration",
+  "created": "Fri Mar 9 11:57:39 EET 2012",
+  "access": "Public",
+  "bandwidthLimit": 2,
+  "trafficPriority": 1,
+  "maxTrafficDelay": 500000,
+  "maxTrafficLoss": 100,
+  "maxTrafficJitter": 100000,
+  "operations": [
+    { "rel": "edit", "href": "http://cimi.example.org/network_configurations/network_config1" },
+    { "rel": "delete", "href": "http://cimi.example.org/network_configurations/network_config1" }
+  ]
+}
diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json
new file mode 100644
index 0000000..b22d837
--- /dev/null
+++ b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json
@@ -0,0 +1,15 @@
+{ "uri": "http://cimi.example.org/network_configurations/network_config2",
+  "name": "network_config2",
+  "description": "a network configuration",
+  "created": "Fri Mar 9 12:01:53 EET 2012",
+  "access": "Public",
+  "bandwidthLimit": 3,
+  "trafficPriority": 2,
+  "maxTrafficDelay": 600000,
+  "maxTrafficLoss": 100,
+  "maxTrafficJitter": 200000,
+  "operations": [
+    { "rel": "edit", "href": "http://cimi.example.org/network_configurations/network_config2" },
+    { "rel": "delete", "href": "http://cimi.example.org/network_configurations/network_config2" }
+  ]
+}
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
index 765338d..e522926 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
@@ -455,10 +455,21 @@ module Deltacloud::Drivers::Mock
       check_credentials(credentials)
       if opts[:id].nil?
         networks = @client.load_all_cimi(:network).map{|net| CIMI::Model::Network.from_json(net)}
-        networks.map{|net|convert_cimi_network(net,opts[:env])}.flatten
+        networks.map{|net|convert_cimi_mock_urls(:network, net ,opts[:env])}.flatten
       else
         network = CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:id]))
-        convert_cimi_network(network, opts[:env])
+        convert_cimi_mock_urls(:network, network, opts[:env])
+      end
+    end
+
+    def network_configurations(credentials, opts={})
+      check_credentials(credentials)
+      if opts[:id].nil?
+        network_configs = @client.load_all_cimi(:network_configuration).map{|net_config| CIMI::Model::NetworkConfiguration.from_json(net_config)}
+        network_configs.map{|net_config|convert_cimi_mock_urls(:network_configuration, net_config, opts[:env])}.flatten
+      else
+        network_config = CIMI::Model::NetworkConfiguration.from_json(@client.load_cimi(:network_configuration, opts[:id]))
+        convert_cimi_mock_urls(:network_configuration, network_config, opts[:env])
       end
     end
 
@@ -498,11 +509,11 @@ module Deltacloud::Drivers::Mock
       StorageVolume.new(volume)
     end
 
-    def convert_cimi_network(network, context)
-      uri=context.network_url(network.name)
-      network.uri=uri
-      network.operations.each{|op| op.href=uri}
-      network
+    def convert_cimi_mock_urls(model_name, cimi_object, context)
+      uri=context.send(:"#{model_name}_url", cimi_object.name)
+      cimi_object.uri=uri
+      cimi_object.operations.each{|op| op.href=uri}
+      cimi_object
     end
 
     exceptions do
-- 
1.7.6.5


Re: [PATCH 1/4] CIMI - Adds mock data for network and network_configs for mock driver

Posted by "marios@redhat.com" <ma...@redhat.com>.
On 12/03/12 11:55, Michal Fojtik wrote:
> ACK.
> 
> Small minor nit/suggestion below.
> 
>   -- Michal
> 
> On Mar 9, 2012, at 6:42 PM, marios@redhat.com wrote:
> 
>> From: marios <ma...@redhat.com>
>>
>>
>> Signed-off-by: marios <ma...@redhat.com>
>> ---
>> .../drivers/mock/data/cimi/network/network1.json   |    6 ++++
>> .../drivers/mock/data/cimi/network/network2.json   |    6 ++++
>> .../network_configuration/network_config1.json     |   15 ++++++++++++
>> .../network_configuration/network_config2.json     |   15 ++++++++++++
>> server/lib/deltacloud/drivers/mock/mock_driver.rb  |   25 ++++++++++++++-----
>> 5 files changed, 60 insertions(+), 7 deletions(-)

{snip---8<--------------}

>> -    def convert_cimi_network(network, context)
>> -      uri=context.network_url(network.name)
>> -      network.uri=uri
>> -      network.operations.each{|op| op.href=uri}
>> -      network
>> +    def convert_cimi_mock_urls(model_name, cimi_object, context)
>> +      uri=context.send(:"#{model_name}_url", cimi_object.name)
> 
> We should wrap this ^^ construction to some method, since I know
> we use this .send on many places. Some decent helper will prevent us
> from the pain when we change this 'url_for' in future:


ok, am going to push these as is for now - since I need to send fresh
patches to deal with new 'table' views for network index/show - I'll
include fixes in new patches. But not entirely sure what you mean here
though... like you want a new definition like cimi_url_for
in server/lib/sinatra/url_for.rb?


marios


> 
> def url_for(model, id) # url_for model_name, cimi_object.name
> 
> 
>> +      cimi_object.uri=uri
>> +      cimi_object.operations.each{|op| op.href=uri}
>> +      cimi_object
>>     end
>>
>>     exceptions do
>> -- 
>> 1.7.6.5
>>
> 


Re: [PATCH 1/4] CIMI - Adds mock data for network and network_configs for mock driver

Posted by Michal Fojtik <mi...@mifo.sk>.
ACK.

Small minor nit/suggestion below.

  -- Michal

On Mar 9, 2012, at 6:42 PM, marios@redhat.com wrote:

> From: marios <ma...@redhat.com>
> 
> 
> Signed-off-by: marios <ma...@redhat.com>
> ---
> .../drivers/mock/data/cimi/network/network1.json   |    6 ++++
> .../drivers/mock/data/cimi/network/network2.json   |    6 ++++
> .../network_configuration/network_config1.json     |   15 ++++++++++++
> .../network_configuration/network_config2.json     |   15 ++++++++++++
> server/lib/deltacloud/drivers/mock/mock_driver.rb  |   25 ++++++++++++++-----
> 5 files changed, 60 insertions(+), 7 deletions(-)
> create mode 100644 server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
> create mode 100644 server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json
> 
> diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json b/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
> index f3af747..165ef8a 100644
> --- a/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
> +++ b/server/lib/deltacloud/drivers/mock/data/cimi/network/network1.json
> @@ -4,6 +4,12 @@
>   "created": "Thu Jan 12 15:25:41 EET 2012",
>   "state": "STARTED",
>   "access": "Public",
> +  "bandwidthLimit": 2,
> +  "trafficPriority": 1,
> +  "maxTrafficDelay": 500000,
> +  "maxTrafficLoss": 100,
> +  "maxTrafficJitter": 100000,
> +  "routingGroup": { "href": "http://cimi.example.org/routinggroups/group1" },
>   "operations": [
>     { "rel": "edit", "href": "http://cimi.example.org/networks/network1" },
>     { "rel": "delete", "href": "http://cimi.example.org/networks/network1" }
> diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json b/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
> index f6c7faf..3bd264e 100644
> --- a/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
> +++ b/server/lib/deltacloud/drivers/mock/data/cimi/network/network2.json
> @@ -4,6 +4,12 @@
>   "created": "Fri Jan 13 17:30:34 EET 2012",
>   "state": "STARTED",
>   "access": "Public",
> +  "bandwidthLimit": 3,
> +  "trafficPriority": 2,
> +  "maxTrafficDelay": 600000,
> +  "maxTrafficLoss": 100,
> +  "maxTrafficJitter": 200000,
> +  "routingGroup": { "href": "http://cimi.example.org/routinggroups/group1" },
>   "operations": [
>     { "rel": "edit", "href": "http://cimi.example.org/networks/network2" },
>     { "rel": "delete", "href": "http://cimi.example.org/networks/network2" }
> diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
> new file mode 100644
> index 0000000..f767de9
> --- /dev/null
> +++ b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config1.json
> @@ -0,0 +1,15 @@
> +{ "uri": "http://cimi.example.org/network_configurations/network_config1",
> +  "name": "network_config1",
> +  "description": "a network configuration",
> +  "created": "Fri Mar 9 11:57:39 EET 2012",
> +  "access": "Public",
> +  "bandwidthLimit": 2,
> +  "trafficPriority": 1,
> +  "maxTrafficDelay": 500000,
> +  "maxTrafficLoss": 100,
> +  "maxTrafficJitter": 100000,
> +  "operations": [
> +    { "rel": "edit", "href": "http://cimi.example.org/network_configurations/network_config1" },
> +    { "rel": "delete", "href": "http://cimi.example.org/network_configurations/network_config1" }
> +  ]
> +}
> diff --git a/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json
> new file mode 100644
> index 0000000..b22d837
> --- /dev/null
> +++ b/server/lib/deltacloud/drivers/mock/data/cimi/network_configuration/network_config2.json
> @@ -0,0 +1,15 @@
> +{ "uri": "http://cimi.example.org/network_configurations/network_config2",
> +  "name": "network_config2",
> +  "description": "a network configuration",
> +  "created": "Fri Mar 9 12:01:53 EET 2012",
> +  "access": "Public",
> +  "bandwidthLimit": 3,
> +  "trafficPriority": 2,
> +  "maxTrafficDelay": 600000,
> +  "maxTrafficLoss": 100,
> +  "maxTrafficJitter": 200000,
> +  "operations": [
> +    { "rel": "edit", "href": "http://cimi.example.org/network_configurations/network_config2" },
> +    { "rel": "delete", "href": "http://cimi.example.org/network_configurations/network_config2" }
> +  ]
> +}
> diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
> index 765338d..e522926 100644
> --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
> +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
> @@ -455,10 +455,21 @@ module Deltacloud::Drivers::Mock
>       check_credentials(credentials)
>       if opts[:id].nil?
>         networks = @client.load_all_cimi(:network).map{|net| CIMI::Model::Network.from_json(net)}
> -        networks.map{|net|convert_cimi_network(net,opts[:env])}.flatten
> +        networks.map{|net|convert_cimi_mock_urls(:network, net ,opts[:env])}.flatten
>       else
>         network = CIMI::Model::Network.from_json(@client.load_cimi(:network, opts[:id]))
> -        convert_cimi_network(network, opts[:env])
> +        convert_cimi_mock_urls(:network, network, opts[:env])
> +      end
> +    end
> +
> +    def network_configurations(credentials, opts={})
> +      check_credentials(credentials)
> +      if opts[:id].nil?
> +        network_configs = @client.load_all_cimi(:network_configuration).map{|net_config| CIMI::Model::NetworkConfiguration.from_json(net_config)}
> +        network_configs.map{|net_config|convert_cimi_mock_urls(:network_configuration, net_config, opts[:env])}.flatten
> +      else
> +        network_config = CIMI::Model::NetworkConfiguration.from_json(@client.load_cimi(:network_configuration, opts[:id]))
> +        convert_cimi_mock_urls(:network_configuration, network_config, opts[:env])
>       end
>     end
> 
> @@ -498,11 +509,11 @@ module Deltacloud::Drivers::Mock
>       StorageVolume.new(volume)
>     end
> 
> -    def convert_cimi_network(network, context)
> -      uri=context.network_url(network.name)
> -      network.uri=uri
> -      network.operations.each{|op| op.href=uri}
> -      network
> +    def convert_cimi_mock_urls(model_name, cimi_object, context)
> +      uri=context.send(:"#{model_name}_url", cimi_object.name)

We should wrap this ^^ construction to some method, since I know
we use this .send on many places. Some decent helper will prevent us
from the pain when we change this 'url_for' in future:

def url_for(model, id) # url_for model_name, cimi_object.name


> +      cimi_object.uri=uri
> +      cimi_object.operations.each{|op| op.href=uri}
> +      cimi_object
>     end
> 
>     exceptions do
> -- 
> 1.7.6.5
>