From: Marc Fiuczynski Date: Fri, 22 May 2009 03:55:18 +0000 (+0000) Subject: v4.2 backwards compatibility X-Git-Tag: PLCAPI-4.3-15~9 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d2d3f3e7f69998a12de7fa6d374192850ae72b91;p=plcapi.git v4.2 backwards compatibility --- diff --git a/PLC/Methods/GetSlices.py b/PLC/Methods/GetSlices.py index d235ef1..eed38df 100644 --- a/PLC/Methods/GetSlices.py +++ b/PLC/Methods/GetSlices.py @@ -7,7 +7,7 @@ from PLC.Persons import Person, Persons from PLC.Sites import Site, Sites from PLC.Slices import Slice, Slices -class GetSlices(Method): +class v43GetSlices(Method): """ Returns an array of structs containing details about slices. If slice_filter is specified and is an array of slice identifiers or @@ -74,3 +74,20 @@ class GetSlices(Method): del slice['slice_id'] return slices + +class v42GetSlices(v43GetSlices): + + def call(self, auth, slice_filter = None, return_fields = None): + # convert nodenetwork_ids -> interface_ids + if slice_filter <> None and \ + slice_filter.has_key('slice_attribute_ids') and \ + not slice_filter.has_key('slice_tag_ids'): + slice_filter['slice_tag_ids']=slice_filter['slice_attribute_ids'] + slices = v43GetSlices.call(self,auth,slice_filter,return_fields) + # add in a slice_tag_ids -> slice_attribute_ids + for slice in slices: + if slice.has_key('slice_tag_ids'): + slice['slice_attribute_ids']=slice['slice_tag_ids'] + return slices + +GetSlices=v42GetSlices diff --git a/PLC/Methods/GetSlivers.py b/PLC/Methods/GetSlivers.py index 781f2d0..5405d5f 100644 --- a/PLC/Methods/GetSlivers.py +++ b/PLC/Methods/GetSlivers.py @@ -103,7 +103,7 @@ def get_slivers(api, slice_filter, node = None): return slivers -class GetSlivers(Method): +class v43GetSlivers(Method): """ Returns a struct containing information about the specified node (or calling node, if called by a node and node_id_or_hostname is @@ -226,3 +226,32 @@ class GetSlivers(Method): 'initscripts': initscripts, 'slivers': slivers } + +class v42GetSlivers(v43GetSlivers): + """ + Returns a struct containing information about the specified node + (or calling node, if called by a node and node_id_or_hostname is + not specified), including the current set of slivers bound to the + node. + + All of the information returned by this call can be gathered from + other calls, e.g. GetNodes, GetInterfaces, GetSlices, etc. This + function exists almost solely for the benefit of Node Manager. + """ + + def call(self, auth, node_id_or_hostname = None): + result = v43GetSlivers.call(self,auth,node_id_or_hostname) + networks = result['networks'] + + for i in range(0,len(networks)): + network = networks[i] + if network.has_key("interface_id"): + network['nodenetwork_id']=network['interface_id'] + if network.has_key("interface_tag_ids"): + network['nodenetwork_setting_ids']=network['interface_tag_ids'] + networks[i]=network + + result['networks']=networks + return result + +GetSlivers = v42GetSlivers