source: trunk/pbs_swig/distro/CHANGES @ 85

Last change on this file since 85 was 85, checked in by bas, 19 years ago

Preparing for 2.7.10 release

  • Property svn:keywords set to Id
File size: 7.4 KB
Line 
1=========== Version 2.7.10
2
3PBSQuery.py:
4        Fixed an error. You always got all resources from eg nodes
5        even when you supplied an attribute list where you only
6        requested the 'state' of the node.
7
8        Updated the inline python documentation
9
10=========== Version 2.7.9
11
12Fixed an error the previous version was in DEBUG mode. So
13you get an lot undesired output on the screen.
14
15debian package now also generated a package with the write
16version info.
17
18=========== Version 2.7.8
19
20Setup.py:
21        Can also handle ROCKS installations + the version
22        info is now the same as pbs.py
23        Thanks to: Roy Dragseth
24
25=========== Version 2.7.7
26
27PBSQuery module:
28  It can now be used in daemon programs. The pbs_server closes
29  the connection after an certain amount of time. This is fixed,
30  before every query there is an new connection and if the query
31  is finished the connection is closed.
32 
33=========== Version 2.7.6
34
35Now setup.py can also handle old Oscar Installations.
36Thanks To: Robin Humble
37
38Fixed an print statement fix in new_interface.py:
39Thanks To: Robin Humble
40
41Made some improvements for PBSQuery module:
42        - Updated the documentation
43        - Added the has_key() function to all
44          PBSObjects. So that the behaviour is similar to
45          an dictionary
46          Suggested By: Ramon Bastiaans
47       
48=========== Version 2.7.5
49 Added PBSQuery module.  This module requires pbs.py and it a simple module
50 for querying the pbs server. The documentation is in the module. Use for
51 example ipython to read it.
52
53 Written By: Roy Dragseth
54             Bas van der Vlies
55
56 eg: ( see also examples/new_interface.py)
57
58 from PBSQuery import PBSQuery
59 p = PBSQuery()
60
61 jobs = p.getjobs()
62 for name, job in jobs.items()
63        print job
64
65=========== Version 2.7.4
66 New versions fixes an bug in function pbs.pbs_statnode().
67 Reported by: Keith Poirier
68
69 Configure support:
70 Contributed By: Yaroslav Halchenko
71
72 Debian package support:
73 Contributed By: Yaroslav Halchenko
74
75 Added Support for Debuging the interface, You must edit pbs_wrap.c
76 and search for SARA_DEBUG:
77        #define SARA_DEBUG 1
78 Implemented by: Ramon Bastiaans
79
80 examples/pbsmon.py:
81        - Fixed an error when regex fails to determine node number,
82          no status was displayed
83        - It will now display and 'j' if the node is free for the batch
84          system and a job runs on the node (SMP-systems).
85 Changed by: Bas van der Vlies
86
87 examples/rack_pbsmon.py:
88        - An pbsmon that display node info per rack
89        - Edit the rack_pbsmon.py to adjust the values. It requires
90          that hostname contains rack and node id's,
91          eg: gb-r<number>n<number>
92 Contributed by: Walter de Jong
93
94=========== Version 2.7.3
95 The name SPBS is changed to the new name TORQUE (Tera-scale Open-source
96 Resource and QUEing manager).
97
98 The interface support OPENPBS and TORQUE.
99
100=========== Version 2.7.2
101 Some minor changes to include files. Now the Scalable PBS keywords
102 are also supported ( server attribute names: node_ping_rate and
103 node_check_rate). This does not interfere with the openpbs software.
104
105 pbsmon.py could not handle an one node cluster. Fixed it.
106
107=========== Version 2.7
108 Forgot to wrap the pbs_statfree() function. So we could not free
109 allocated memory from functions that return 'struct batch_status *'
110 like pbs_statjob().
111
112 pbsmon.py can now handle 2 and 3 digit hostnames. Patch supplied by
113 Daniel Olson
114
115=========== Version 2.6.1
116 Setup.py now checks if all openpbs libraries are installed to compile the
117 package.
118
119=========== Version 2.6
120
121 Fixed a bug in the pbs python module. Forgot to map the pbs_statjob()
122 function. This bug prevented to pass 'struct attrl' variables to this
123 function. Thanks to Evelyn Shiu for reporting this bug.
124
125
126=========== Version 2.5
127 Added the OpenPbs logging functions (log.h and liblog.a). There
128 is an example in the examples directory: logpbs.py
129
130 Fixed a bug in examples/resmom_info.py used the default port for
131 pbs_resmon if getservbyname fails.
132
133 Fixed a bug in resmom code. If the user has no permissions to query
134 the pbs_mom daemon a empty string is returned. Now we check for
135 the empty string. So we do not get a python exception.
136
137 Fixed a bug in setup.py forgot the exit statement when we did not
138 find the pbs libraries.
139
140=========== Version 2.3
141 Bugfix in the pbsnodes-a.py. Forgot to import the sys module.
142
143 Removed some obsolete code.
144
145 As for now we make use of the distutils module. So the package
146 is automatically compiled and installed in proper directories, usage:
147    python setup.py install
148 This requires that the package 'distutils' must be installed. As for
149 version 1.6 and higher it is in the distribution.
150
151 Added a function that prints the pbs python interface version. So we
152 can check if we have the right interface version:
153 import pbs
154 print pbs.version()
155 
156
157=========== Version 2.2
158
159In this release we can query the pbs_mom daemon with the aid of
160resource management functions:
161   pbs.openrm()
162   pbs.closerm()
163   pbs.downrm()
164   pbs.configrm()
165   pbs.addreq()
166   pbs.allreq()
167   pbs.flushreq()
168   pbs.activereq()
169   pbs.fullresp()
170   pbs.getreq()
171
172There is also a python function:
173   pbs.get_mom_values(id, [list]):
174     id   - connection id of pbs.openrm(node-name, port-number)
175     list - Is a optional paramter. A list of resource keywords
176
177   If 'list' is not supplied then this function will get the values
178   for the standard resource keywords, eg uname, loadave, .. + 'arch'
179   depended keywords. The arch feature is only implemented for linux,
180   but it can easily be ported to other oses.
181
182   if 'list' is supplied then we only fetch values for the keywords
183   that are in the list.
184
185   The function returns a dictonary. The keys are the resource keywords.
186
187   See 'resmom_info.py' for a example of this new feature.
188
189=========== Version 2.0
190
191The previous version was a simple interface above the PBS C API LIB.  This
192interface has gone a major changes. The most noticeable change is  that
193the functions accept/return Python lists instead of C-lists.  So you can now
194use standard Python syntax for manipulating Python lists. If you are familar
195with the Python syntax then you will appreciate this new interface.
196
197NOTE:
198  This interface is NOT compatible with the old one
199
200Here are some guidelines to convert your code to the new one:
201
202The constructors for the struct has gone a major change:
203  old code:
204    temp = pbs.new_attrl();
205    attrl_p = pbs.attrlPtr(temp)
206    attrl_p.name = 'state'
207
208  new_code:
209     attr_l = pbs.new_attrl(1)   // Creates a list of attrl structs length 1
210     attr_l[0].name = 'state'
211
212
213The pbs_stat functions returns Python lists instead of C-lists. There is
214NO next field anymore:
215  old_code:
216    temp = pbs.new_attrl();
217    attrl_p = pbs.attrlPtr(temp)
218    attrl_p.this = 'NULL'
219
220    nodes = pbs.pbs_statnode(con, "", attrl_p, "NULL")
221
222    while nodes.this != 'NULL':
223      print nodes.name
224
225      node_attrl = nodes.attribs
226      while node_attrl.this != 'NULL':
227        print '\t', node_attrl.name, '=', node_attrl.value
228        node_attrl = node_attrl.next
229
230    nodes = nodes.next
231
232
233  new_code:
234    nodes = pbs.pbs_statnode(con, "", "NULL", "NULL")
235    for node in nodes:
236      print node.name
237      for attrib in node.attribs:
238        print '\t', attrib.name, '=', attrib.value
239
240Another advantage is you can use the print statement to show the
241connect of attrl and attropl classes:
242   attr_l = pbs.new_attrl(2)
243   attr_l[0].name = 'bas'
244   attr_l[0].value = 'van der Vlies'
245
246   print  attr_l[0]
247   >> (bas,,van der Vlies)
248   
249I hope these examples illustrate the changes. If you specify a wrong type
250for a function then function wil raise a Python exception.
Note: See TracBrowser for help on using the repository browser.