1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465
|
2.11
- removed deprecated functions; PeerName, IPAddressMachine and
IPAddressImage
- added time command to nws_ctrl
- fixed a problem with timestamp when nameserver started to syncronize
- be sure that -i won't override the pid when the servers couldn't get
a port (probably another server already running)
- reworked some of the priority for the logged messages
- added performance number to the nws_memory and reworked the ones in
the nameserver
- removed obsolete functions in nws_api.c relatives to the forecaster
- AutoFetchCheck had a wrong unsigned argument: fixed
- Changed the signature of GetOptionValue and made it thread-safe
- rewrote the internal nws_api.c to be able to hanlde multiple
nameservers (UseNameserver adds nameservers now)
- added mutexes to nws_api.c: first attempt to make it thread-safe
- added AutoFetchAlready to check if we already are autofetching a
series.
- added AutoFetchError to get a list of series which have been
disconnected (since last time AutoFetchError has been called)
- the measurement returned in ForecastCollection with ComputeForecast
is now the last known measurement (wasn't used before)
- added AutoFetchMessage for now to be used internally
- added IsResourceValid to check a resource name
- added SetDiagnosticsLevel to be used with our daemons
- removed a spurios backtick in nws-hostadmin (thanks Laura)
- answer to NS_SEARCH forking when dataset is too big
- fix a non-terminating string in GetObject
- changed the functions to talk to the nameserver to have a *Timeout
version
- added -t option for nws_search
- fixed an off by one in array assignemt in register.c
- more work in the AutoFetch* family
- memory and nameserver now can poll instead of waiting for a very
small amount of time
- fixed a possible race condition on disconnection (and new
connections) when using threads
- fixed a possible lock in the daemons waiting for messages (timeout
was set to 0 by accident)
- added FindNwsAttribute to nws_api
- modified SearchForName to add capability to search for just initial
matching (ie cisa can now match cisa.cs.ucsb.edu:8090)
- removed obsolete nws_forecaster daemon
- NameOf* are now thread-friendly: they return a newly allocated
memory that needs to be freed by the caller.
- Fixed ObjectToSeries
- EstablishAnEar now can deals with NULL parameters
- Added GET_FORECASTS message for the proxy
- Removed unused Experiment structure: using FORECASTAPI_Measurement
instead
- added 'proxy' command to query the nws_proxy
- nws_ctrl proxy print xml snippet
- removed atoi for strtol
- removed obsolete nws_mirror.c
- GetEnvironmentValue now returns malloc'd string
- added NWSAPI_GetDefaultPort to nws_api.c
- added --enable-experimental-forecasts
- 25% improve in the Forecast memory footprint
- removed MAX_OBJECT_SIZE and relative checks
- Forecast contains now both errors (MAE and MSE)
- fixed the memory sensor to deal with the new linux kernel (2.6)
and be more robust if we don't understand what we've read
- removed ForecastStateStruct typedef: useless
- promoted the experimental sensors into the normal build
- in register.c we weren't changing the host_cookie when dropping
a socket
- moved the handler for SIGPIPE (SocketFailure) into EstablishAnEar
- SocketFailure is now a private function
- added AutoFetchBeginObjects, AddObject and restructure some
internals in nws_api.c
- added NWSAPI_StartFetching to interact with the proxy
- added proxyFetch command to nws_ctrl
- implemented START_FETCHING message in the proxy
- removed the check for double object in AddObject:
RegisterObject already does that
- exported ConditionSocket from protocol.c: it returns the
multiply factor for the socket buffer
- in the tcp experiments we now determine if the OS allocate
double buffers (ie linux)
- removed dependency on nws_forecast_api.h; nws_api.h does it all
- the memory will attempt to unregister the series it's
responsible for
- removed unused struct Skill and functions using it
- removed not-so-useful struct Series, Activity and Control and
modified functions that generates the object from them
- the freeMemory uses active and passive as type instead of 'a'
and 'p'
- the new sensor won't be able to talk to an older memory
(removed StoreExperiment)
- fixed a long lasting problem related to the CPU sensor not
reporting the right values: it was due to the (wrong) parsing
of the uptime output
- AutoFetchEnd can now remove multiple series in one call
- the proxy stop the autofetching before starting for each given
series
- slightly reworked the build system
- added nws(7) man page
- removed ctrl_host and ctrl_mem
- worked on the order we resolve inet address (we were running
into problems with very broken DNS)
- moved ToggleDiagnostics to where it belongs: diagnostic.c
- added RetrieveFromMyNameserver
- Removed RecvMsgType (basically useless) and added RecvHeader,
still not so used, but more useful
- added ack/nack for adding/removing member message
- added more checks when receiving nacks
- renamed CLIQUE_TOKEN_ACK to CLIQUE_ACK
- added check in StartCliqueActivity that we indeed have at least
2 members after resolving the names
- the new clique_protocol showed already to be more resilient and
stable than the old one: trying now to get even more stable and
better timing (closer to what the user asked)
- we are more discriminating when there are multiple series with
the same name: nws_api.c tries now to get the active one first.
2.10.1
- fixes from Mike Closson: thanks!! Should fix some of the misterious
segfaults received by some users.
- fixes from some valgrind-found error (or complaints)
- released with NMI R5.1
2.10
- hopefully got the uint32_t thing resolved
- fixes to compile on AIX 5.2
- removed C++ style comment from the Nwslapd
- autoconf wasn't recurse properly when using --with-globus-flavor
- fixed wrong logic in nws_ctrl.c using GETTOK
- added missing signal handler while DoExpTcp
- removed some EINTR check: EINTR is needed when using sigalarm
- the network sensor could hang when using nonblocking socket
(ironic?). Fixed.
- Added new message to report a timeout feedback back to the parent
(the child is the one to do the network experiment hence it's the
one to know how long it took).
- Send/RecvBytes now returns the # of bytes succesfully moved across
the network.
- Adjusted the automatic timeout discovery to be more aggressive on
host that are unresponsive.
- Send/RecvBytes now they are called *Wait and, when used with
non-blocking socket, can return whenver the socket is not ready
(returning the # of bytes sent/received).
- fixed a bug in autofetch introduced with the new message
STORE_AND_REGISTER.
- the memory now adds the attribute 'target' for the old series.
- changes in the clique protocol to have a reliable stop.
- added nws_ctrl(.1) to filelist.in
- fixed a race condition in the clique protocol that prevented the
clique to be registered with the nameserver.
- fixed behaviour of nws_extract.
- added a 3rd values for the default timeouts: the 'use this timeout
if nothing could be send/recv' timeout.
- fixed some missing dependencies during build
- re-implemented the clique logic: we should be able to reliably
start/stop the clique and to take measurement at the given time.
- the nameserver now uses the new registration even if we have an old
equivalent one (the clique reigstration wasn't properly updated)
- fixed a missing ! in the HOST_REGISTER handling (host_protocol.c)
- fixed a possible deadlock when terminating the sensor using SIGINT
- if we are forking send the token in a separate process
- randomized the sequence of hosts when we are taking experiments
2.9
- changed the way we used the SUBDIRS in the build process: make dist
was failing to include directories we needed
- added some static information to the host registration
- added functions to return values from uname(2) and from sysconf
about type or machine and memory installed.
- added compilation flags for the host registration
- fixed some memory leak in the nameserver
- removed old pimple code
- nws_extract works now with series that have hosts without a domain
(ie bean.cs.ucsb.edu:9786.bandwidthTcp.32.16.256.aeonflux:9786)
- nws_extract prints now the port with the hostname
- added new message STORE_AND_REGISTER: now the sensor can send the
experiment to the memory with the registration object and the memory
will take care of it
- exposed RegisterWithNameServer because we may want to register an
object without having it in our registration list (ie the memory
doesn't use the normal registration procedure for the series)
- moved struct registrations into register.{c.h} so that both the
memory and the nameserver can use it: created InsertRegistration(),
DeleteRegistration(), CheckRegistrations(), SearchForName(),
SearchForObject and InitRegistrations() to access the structure
- the memory now register the series and tries to re-register orphaned
series (ie when the memory starts looks for older states and comes
up with some trimmed down registrarion)
- removed NameOfCookieHost since HostCImage does the same thing
- added RemoteHostSkill to access UseSkill remotely
- added nws_ctrl: it will eventually substitute most of the binaries
(start/halt_activity, nws_ping, ctrl_host, ctrl_mem).
- nws_memory when restarted tries to re-register series in its
storage
- added experimental support for database in nws_memory
- optimized WriteStateRec
- reorganize nws_memory to make it easy to add different backend
- fixed a bug when using SkillResources in periodic.c and
clique_protocol.c
- added StoreNewExperiment to deal with the new STORE_AND_REGISTER
message: the sensor can talk to both new and old memories.
- fixed some memory leaks in host_protocol.c and register.c
- better check in some Portability functions
- added memorySpeed sensor
- timestamp is now the time the record arrived: added expiration field
to indicate for how long the record is valid
- added NotifyOnNewConnection() function to register call-back
whenever an accept is done
- fixed race condition when registering with old memory (thanks
larry!)
- make the build system happier in case of cross-compilation
- fixed a configuration bug that lead to compilation warnings
- nws_extract return 0 on success and 1 on failure
2.8.1
- removed code in configure.in to look for programs we don't use
- fixed the way that UPTIME_PATH and VMSTAT_PATH is used (before it
was never failing to find them)
- removed call to getpgid to avoid a core dump on exit (only on cray)
2.8
- changed RegistrationSet(): it now returns a string that needs to be
freed by the caller
- host_protocol.c should now be thread safe, register.c should
naturally be thread safe (a part from the deprecated functions)
- be more anal retentive for threads in osutils.c and protocol.c
- HOST_CHANGE_MEMORY was not yet implemented: done.
- changed forecast_api.h to nws_forecast_api.h to avoid name
collision/pollution.
- fixed a wrong order for skills and units of measurements
- fixed wrong number for RESOURCE_COUNT
- SkillAvailable (still available) extended to be
SkillAvailableForControl
- started to work on rationalizing the addition of a new sensor
experiment (need to modify only skill.{c|h})
- made periodic.c and clique_protocol.c thread safe
- host_protocol.c implements all the calls needed to interact with a
host: started to change all client to use those
- from this version, the NS_[UN]REGISTERED message is considered
redundant and received asynchronoulsy in host_protocol.c. With this
change the nameserver doens't need anynore to deal directly with
these message, but will let host_protocol.c to do that
- nameserver doesn't send anymore *REGISTERED message if it detects a
new sensor
- revamped SameHost
- struct host_desc is no more
- removed Lookup: was somewhat redundant and barely used in the code
- the functions oprating on the cookie are now mainly in register
- some cleanup to avoid compiler warnings
- WaitChild is now defined in osutil.c (used by the sensor)
- removed traces of ldap from IncomingRequest
- Added SkillOptionDefault which returns the system default for the
option and for the skill
- a lot of work in the way a new experiment is integrated into NWS: it
should be easier or at least more in the hands of the experiment
writer: all the old sensors have been converted
- added SkillOptionFormat
- removed any knowledge of low-level sensor from skills.c (now tcp
experiment are handled completely at the low level sensor)
- fixed the -d option of the memory
- grouped all the experimental sensor under one configure flag
- Made SkillOptions more secure: it won't write all over the memory if
*toWhere is not big enough
- fixed some unchecked string received on the network
- we spawn a single process to do all the clique experiment for a
certain skill
- added -x options to the sensor to force a specific port when doing
network experiment (closes #55).
- we are a bit more tolerant when one of the periodic childreen dies
- NWSAPI_GetMeasurement deals better with having both nameserver and
memory set
- optimized nws_extract to go and ask directly to the sensor for the
memory it uses
- -w in nws_extract is now more persistent
2.7
- fixed --enable-debug (failed to disable debugging in few particular
cases)
- GetHostInfo is now in host_protocol.c
- Added HostHalt, HostMemoryInfo and HostNameServerInfo functions to
host_protocol.c
- Added HostChangeNameServer function to host_protocol.c
- Added HostChangeMemory function in host_protocol.c: it's not
completely functional yet because the children of nws_sensor don't
know hot to change memory
- non-blocking sockets work on bluehorizon (AIX)
- removed obsolete -L from nws_extract
- fixed typo in nws_forecast.1 (thanks Martin Quinson)
- clean up make dist (thanks Martin Quinson)
- fixed make install (was forgetting an include file)
- Fixed IncomingRequest: bad things could have happened when timeOut
was 0
- IPAddress is now a structure (needed to compile on CRAY SV1 and
perhaps more)
- PERIODIC_SERIES is now obsolete, substituted by PERIODIC_EXPERIMENT
(periodic.c: modification needed in order to be able to change
dynamically the memory of the sensor)
- CLIOQUE_SERIES is now obsolete, substituted by CLIQUE_EXPERIMENT
- fixed glitches on IA64 (size_t was the culprit in the message header)
- IncomingRequest can now be used in a polling fashion (using a
negative timeout). Used at least by Martin Quinson.
- got working on alpha (problem with va_list and our old friend
SIG_FPE)
- Fixed a pretty obscure bug in RecvBytes that got the code to spin
for timeOut before returning failure.
- added an experimental -f option to the sensor (don't fork to run
experiment)
- all the experiments should be saved into memory using
RegisterExperiment (in host_protocol.c) since the memory can change
dynamically. Modified periodic.c and clique.c to do just that.
- started to remove host_desc from the source code
- got to work on FreeBSD 4.7 (lotsa warning but ...)
- sensors funcitons are now in sensor.c (and defined in nws_sensor.h):
this would allow to run a sensor in a thread of a running process
- added the START sensor for condor (rich)
- fixed a socket leak when --enable-treads was configured
- added PortabilitySelect as a wrap on select for EINTR
- added CLIQUE_NEW_MEMBER and CLIQUE_REMOVE_MEMBER messages (highly
experimental)
- fixed a wrong resource reported by the clique registrations (thanks
Vladimir)
- added SKILL_EXPERIMENT, SKILL_RESULT and SKILL_FAILED messages.
SKILL_EXPERIMENT will allow to exercise remotely any skill and get a
SKILL_RESULT back.
- UseSkill doens't use anymore global variables. SkillResults need to
be freed.
- added nws.3 manpage to explain the nws API. Still in its infancy but
hopefully already usefull.
- modified the network sensor to be able to deal with non-blocking
sockets.
- default experiment size is now 256kB
- we do generate a single NMI bundle (and we included the SDK into it)
- install includes and libraries with flavor when installing with
globus
- globus flavor (when compiling with globus) will override
--enable-debug and --enable-threasd
- removed old WITH_THREAD flags (old threads locking is obsolete)
- thread locks now uses condition variables to avoid busy spin
- added NWSAPI_GetMemory and removed ldap stuff from nws_api.c and
rationalize the settings of the default servers (NS and memory,
formerly only NS was set correctly).
- nws_extract now works even without specifying the nameserver.
- added HOST_REGISTARTION and HOST_MY_REGISTRATION message in
host_protocol.c Added HostGetRegistration to get the registrations.
- availability sensor should be portable now.
- provided a default passive memory sensor for Solaris (and OSes which
provides sysconf)
2.6
- Slightly changed the way -n works: now it really overrides the host
name
- Added GetHostInfo function to register module
- more LDAP cleaning
- now every host tries to unregister before exiting
- Cleaned up the code to register with a nameserver and the failover
code in case the primary nameserver is unresponsive
- RegisterObject deals with failover nameservers
- UnregisterObject deals with failover nameservers
- nameserver answers to HOST_REGISTER registering with another
nameserver (it will force the mirroring option on)
- optimized the Lookup query to reduce internal load to the nameserver
- optimized most common Unregister filter
- Fixed the UnregisterObject bug for real
- nws_search changed the command line
2.5.1
- Fixed a bug in UnregisteredObject where too many objectes were
removed
2.5
- Fixed missing #include in memory sensor
- added -n options to memory, nameserver and sensor to force a
hostname (useful when gethostname returns something funky)
- added UnregisterListener function
- added non blocking socket as a configure option
- fixed getopt() usage in few places (whattime comes to mind)
- fixed nws_extract -w (thanks Rodrigo Real and Luciano Cavalheiro da
Silva)
- REALLOC defines now a local function (avoid problem on AIX)
- REALLOC is defined in osutil.h only
- added PreferredInterface in host_protocol and used when starting a
clique (useful to force a inet address in a clique for multi-homed
hosts in combination with -a)
2.4
- LDAP as internal protocol is been declared dead: starting to remove
dead code
- Fixed MicroTime to not overflow
- Fixed more timeout problems
- Removed SetNameServer
- Added replication awareness code in host_protocol.c
- Changed EstablishedHost signature
- NameServer has mirroring capabilities plus some optimizations
- Added HOST_GET_MEMORY and HOST_GOT_MEMORY messages
- Added -i option (write pid to file). Thanks Martin Quinson.
2.3
- this is the version in NMI 3.0. No changes from Beta.
2.3beta
- added experimental availability sensor
- fixed timeouts bugs in Recv/SendBytes
- fixed busy loop bug in IncomingRequest
- using singinterrupt when available
- added hooks for nameserver replicas
- modified ListenFunction to be able to handle versioning
2.3alpha
- removed obsolete files (NEWS, INSTALL and COPYING)
- fixed some inconsistencies in the build process (make dist
complaining about LDIF_objects.txt not been there etc ...)
- dnutils.{h.c} now are thread-safe: you have to free the allocate
memory returned by IPAddress{Image,Machine}_r
- dnsutils.c now can use inet_aton if available
- added a loose timeout to re-fresh the dns cache (30 minutes)
- fixed a possible problem configuring due to the lack of a link to
filelist.in (thanks martin quinson)
- fixed $? in the makefiles (thanks martin quinson)
- compiling with optimization by default (we don't use -O2 and -g at
the same time: debugger got confused)
- added experimental NFS sensor
- moved the forecast library to Portability
- removed Portability/Include/messages.h.in and added messages.h: no
need anymore to have it as config file
- IPAddress is now uint32_t (when available)
2.2.1
- added vo-grid into the Nwslapd for real
- fixed the error that a succesfull start_activity was throwing
- fixed the error when GetMeasurement was asking for more than ...
objects
- fixed a memory leak in the nws_nameserver
- fixed an error calling SetPktTimeout
- simplified the build (consolidated 2 main target: servers and clients)
- fixed the usage of the Hash in protocol.c
- NextNws{attribute,object} weren't checking for the return value of
strstr: fixed.
- the nameserver return NS_FAILED now if the registration didn't make
it (bad registration or out of memory)
2.2
- packaged for NMI-R2: there are 2 packages now, nws-client and
nws-server (nws-sdk to appear)
- the Portability library can now be compiled to be thread safe (at
least the core functionality): more to go for nws itself (this is
not used for NMI and it's still experimental)
- added a script (NMIbuild) to generate gpt packages of nws-client and
nws-server
- fixed bits and pieces of the build process (extra messages, extra or
poor checking etc...)
- fixed a sarch string that wasn't parsed correctly (we were ignoring
the trailing '*')
- moved some of the headers files to have a better division between
Portabolity and NWS
- the nws_nameserver registers itself to itself (you can see its
registration with nws_search) to be consistent
- fixed various inconsistencies in register.c
- Nwslapd (LDAP backend/Globus GRIS) updated to support VO-grids and
use internal NWS forecasters
2.1
- packaged for NMI-R1 (gpt metafile etc ...)
2.0
- Initial Release, well at least for this ChangeLog
|