From d2d3f3e7f69998a12de7fa6d374192850ae72b91 Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Fri, 22 May 2009 03:55:18 +0000 Subject: [PATCH] v4.2 backwards compatibility --- PLC/Methods/GetSlices.py | 19 ++++++++++++++++++- PLC/Methods/GetSlivers.py | 31 ++++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/PLC/Methods/GetSlices.py b/PLC/Methods/GetSlices.py index d235ef18..eed38df8 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 781f2d08..5405d5f7 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 -- 2.47.0