Message-ID: <663661366.8437.1711661558728.JavaMail.confluence@host3.pipelinefx.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8436_1107705087.1711661558728" ------=_Part_8436_1107705087.1711661558728 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html Qube 6.10-0 Complete Release Notes

Qube 6.10-0 Complete Release Notes

################################################################= ##############

@RELEASE: 6.10-1

########################################################################= ######

=3D=3D=3D=3D CL 20025 =3D=3D=3D=3D

@FIX: extremely inaccurate cumulative cpu time for agenda items

JIRA: QUBE-3375
ZD: 18841

=3D=3D=3D=3D CL 20014 =3D=3D=3D=3D
@FIX: worker is added to the wor= ker_dim dimension table as many times as there are expired entries for that= same worker

=3D=3D=3D=3D CL 19931 =3D=3D=3D=3D
@FIX:Fix relative movie paths in= images_to_move.py

=3D=3D=3D=3D CL 19897 =3D=3D=3D=3D
@FIX: auto_remove worker flag mi= ssing from worker config dialogs

=3D=3D=3D=3D CL 19834 =3D=3D=3D=3D
@FIX: supe/worker RPMs should be= installable onto a system with core of the same major.minor mode installed=

JIRA: QUBE-3332

=3D=3D=3D=3D CL 19478 =3D=3D=3D=3D
@FIX: workers are always "a= uto-remove"d, even if "auto_remove" is not set in worker_fla= gs.

ZD: 18512
JIRA: QUBE-3174

=3D=3D=3D=3D CL 19475 =3D=3D=3D=3D
@FIX: issue where instances woul= d be stuck in "QB_PREEMPT_MODE_FAIL", causing the supervisor to t= ell instances to "wait and retry later" in response to retryWork(= ) indefinitely.

Issue was caused when the preemptJobNetwork() routine determines that th= e
instance has started but has NOT yet started working on an agenda it= em, in
which case it would mark the QB_PREEMPT_MODE_FAIL in order to i= nterrupt
(i.e. aggressively preempt) the instance; However, the interr= upt was not
being triggered properly.

Issue was apparently introduced in CL19126.

=3D=3D=3D=3D CL 19436 =3D=3D=3D=3D
@FIX: "down" workers n= ot always detected properly

JIRA: QUBE-3155
ZD: 18425

=3D=3D=3D=3D CL 19425 =3D=3D=3D=3D
@FIX: issue when supe thread doe= sn't hear back from worker during a dispatch. Related to CL19243.

Also fixed an issue (probably harmless) where an extra call to queue.rel= easeJob() was sometimes made in the findSubjobAndReserveJob() method.

=3D=3D=3D=3D CL 19263 =3D=3D=3D=3D
@FIX: log directories for jobs s= ubmitted after the utility has been started but before the orphaned log rem= oval is begun are erroneously removed

=3D=3D=3D=3D CL 19258 =3D=3D=3D=3D
@FIX: not running --use-frm when= first-pass repair fails when message has different line-endings than OS X<= /p>

=3D=3D=3D=3D CL 19243 =3D=3D=3D=3D
@FIX: add code to avoid mixed-up= job instance status when worker-supervisor communications are dropped duri= ng job dispatch on an intermittently unreliable network

It was found that network hiccups can cause a worker to not respond to t= he
supervisor during the dispatch of a job instance, but still start r= unning
the instance anyway. The worker would send the "running&qu= ot; instance report to
the supervisor, which is processed by a separat= e thread, which updates the
DB, causing a status mix-up.

Added code to detect such situations, and allowed the system to let the = job
run (instead of force-removing it from the duty table) on the work= er in
question.

Also added error-checking code on the worker side-- if worker detects th= at
it couldn't respond to the supe for a dispatch order, it will give = up on
that job and release resources that it had just reserved for it.=

ZD: 17868

=3D=3D=3D=3D CL 19236 =3D=3D=3D=3D
@FIX: jobs submitted by non-admi= n user without a specified priority attempt to submit at priority -1

JIRA: QUBE-3015

=3D=3D=3D=3D CL 19209 =3D=3D=3D=3D
@FIX: "down" workers w= ould not be detected properly by the supervisor even when the supervisor_he= artbeat_timeout expired.

ZD: 18057
JIRA: QUBE-3018

=3D=3D=3D=3D CL 19178 =3D=3D=3D=3D
@FIX: timing issue causing worke= rs to get stuck with job instances.

Issue was seen on a very busy farm with intermittently drops in network<= br />communications, when many supe threads would try to dispatch a single<= br />instance at the same time.

ZD: 17868

=3D=3D=3D=3D CL 19163 =3D=3D=3D=3D
@FIX: fix an issue where a worke= r can sometimes get stuck with a job instance that it's not running any lon= ger

* Issue was seen when job instances are migrated and there are intermitt= ent
networking issues between the supe and worker causing job updates= to NO
come thur in an expected, orderly fashion.

ZD: 17868

=3D=3D=3D=3D CL 19126 =3D=3D=3D=3D
@FIX: on a network with intermit= tent worker-supe commnuication issues, bad timing can cause job instances t= o get stuck in "running" state

* In a bunch of routines that handle job-command executions (i.e., migra= te,
kill, etc.) in QbSupervisorCommand, add code to do one last check= when a
worker is unreachable, to see if the instance still belongs t= o the worker
before updating the instance on DB. It was found that, s= ince a thread
dealing with down workers can spend quite a long time, = sometimes
instances that a worker was processing can be moved off of = it and the DB
updated by another thread (for example, assigned and ru= nning on another
worker)-- the check is designed to prevent our threa= d from overwriting
such updates.

ZD: 17868

=3D=3D=3D=3D CL 19121 =3D=3D=3D=3D

@FIX: job instances cane get into an odd state when dispatch routine doe= sn't hear back from the worker ("found dead").

Networking hiccups can cause this communication drop, which in turn may<= br />cause job instances to be "stuck" in the running state on a = worker, and be
unkillable.

ZD: 17868

=3D=3D=3D=3D CL 19118 =3D=3D=3D=3D
@FIX: Systemctl unit files for w= orker and supervisor not installed into correct location

=3D=3D=3D=3D CL 19109 =3D=3D=3D=3D
@FIX: optimize job cleanup scrip= t
@CHANGE: only scan log directories if log removal necessary
@CH= ANGE: removal of large number of orphaned log directories does not require = skipping sanity checks

=3D=3D=3D=3D CL 18985 =3D=3D=3D=3D
@FIX: 'No database selected' MyS= QL error when removing ghost jobs
ZD: 17882

=3D=3D=3D=3D CL 18351 =3D=3D=3D=3D
@CHANGE: background helper threa= d improvements

* limit the number of workers that are potentially recontacted by the ba= ckground helper routine to 50 per iteration.

* background thread exits and refreshes after running for approximately = 1 hour, as opposed to 24 hours

ZD: 17124

 

########################################################################= ######
@RELEASE: 6.10-0a
########################################= ######################################

@SUMMARY: This is a supervisor-only patch release of 6.10-0 that include= s the following key fixes.

NOTE regarding dependencies on Linux: 

Installation of this updated super= visor package on a linux system requires the use of rpm with the

 --nodeps argument; the y= um utility does not support disa= bling the dependency checks during

installation, only removal.=


=3D=3D=3D=3D CL 18910 =3D=3D=3D=3D
@INTERNAL FIX: supervisor patche= s to help cut down on the number of threads, and reduce chances
of rep= eated worker rejections on some farms due to race-conditions/timing issues.=

ZD17713


=3D=3D=3D=3D CL 18822 =3D=3D=3D=3D
@FIX: a bug in the startHo= st() dispatch routine causing the supervisor NOT to always dispatch jobs to=
workers when they became available.

ZD: 17713


=3D=3D=3D=3D CL 18717 =3D=3D=3D=3D
@FIX: Job instances can be= come unkill-able with QB_PREEMPT_MODE_FAIL internal status
JIRA: QUBE-= 2819

########################################################################= ######

@RELEASE: 6.10-0

########################################################################= ######

=3D=3D=3D=3D CL 18422 =3D=3D=3D=3D
@UPDATE: Shotgun API from v3.0.1= to v3.0.32
@CHANGE: images_to_movie.py - simplified options and synta= x
@CHANGE: qube_imagesToMovie.py - simplified options and syntax
= @CHANGE: simplecmd.py - Add "Upload Movie" option to Shotgun para= meters
@CHANGE: shotgun_submitVersion.py - fixed movie upload function= ality, general code cleanup

=3D=3D=3D=3D CL 18356 =3D=3D=3D=3D
@FIX: QBDIR set to null-string i= n job runtime environment

JIRA: QUBE-2611

=3D=3D=3D=3D CL 18351 =3D=3D=3D=3D
@CHANGE: background helper threa= d improvements

* limit the number of workers that are potentially recontacted by the ba= ckground helper routine to 50 per iteration.

* background thread exits and refreshes after running for approximately = 1 hour, as opposed to 24 hours

ZD: 17124

=3D=3D=3D=3D CL 18340 =3D=3D=3D=3D
@FIX: allow special characters i= n job name field at submissions

JIRA: QUBE-2748

=3D=3D=3D=3D CL 18324 =3D=3D=3D=3D
@CHANGE: output of "qbadmin= s -config" and "qbadmin w -config hostname" now sorted alph= abetically.

JIRA: QUBE-2654

=3D=3D=3D=3D CL 18285 =3D=3D=3D=3D
@FIX: add better error-checks in= cmdrange jobtype's log-parsing code, in case the log file is not readable.=

In some situations, fseek() was causing crashes in the parseFileStream()= routine.

ZD: 17442

=3D=3D=3D=3D CL 18221 =3D=3D=3D=3D
@FIX: prevent "host.process= ors" to be unset when jobs are modified.

JIRA: QUBE-2649

=3D=3D=3D=3D CL 18185 =3D=3D=3D=3D
@CHANGE: make deferred table cre= ation ON by default for all submissions via the APIs (C++: qbsubmit() , Pyt= hon: qb.submit())

JIRA: QUBE-2603

=3D=3D=3D=3D CL 18157 =3D=3D=3D=3D
@FIX: shortened the timeout for = "qbreportwork" when it reports a "failed" work that has= migrate_on_frame_retry from 600 seconds to 20.

This was causing long 10-minute pauses on the job instance when a frame<= br />fails after exhausting all of its retry counts.

Original change was made in CL17206, for QUBE-2202/ZD16553.

ZD: 17447

=3D=3D=3D=3D CL 18147 =3D=3D=3D=3D
@FIX: Windows worker wouldn't pr= operly release automounted drives at the end of running a job instance

ZD: 17400

=3D=3D=3D=3D CL 18107 =3D=3D=3D=3D
@FIX: memory leak in a DB-queryi= ng supervisor routine.

=3D=3D=3D=3D CL 18001 =3D=3D=3D=3D
@FIX: Pytnon API's qb.ping(asDic= t=3DTrue) was broken when metered licensing was unauthorized, because of th= e minus sign

=3D=3D=3D=3D CL 17984 =3D=3D=3D=3D
@CHANGE: add description of &quo= t;disable_submit_check" flag to qb.conf.template comment

JIRA: QUBE-2560

=3D=3D=3D=3D CL 17982 =3D=3D=3D=3D
@CHANGE: Python API: license_pro= vider_name and license_provider_key added to data returned by qb.hostinfo()=

JIRA: QUBE-2549

=3D=3D=3D=3D CL 17944 =3D=3D=3D=3D
@CHANGE: Disable the two free wo= rker licenses for any Qube installation.

JIRA: QUBE-2554

=3D=3D=3D=3D CL 17942 =3D=3D=3D=3D
@FIX: Some agenda item's "t= imestart" field doesn't reset when they are killed and then later retr= ied.

JIRA: QUBE-2555

=3D=3D=3D=3D CL 17938 =3D=3D=3D=3D
@CHANGE: added verbosity in log = entries about jobs that are "modified"

JIRA: QUBE-1473

=3D=3D=3D=3D CL 17898 =3D=3D=3D=3D
@NEW: add "no_defaults"= ; job flag support to Python API files

JIRA: QUBE-2365

=3D=3D=3D=3D CL 17897 =3D=3D=3D=3D
@NEW: add no_defaults job flag, = which tells the system to bypass the supervisor_job_flags.

If a job is submitted with no_defaults set in the job flag, the supervis= or will NOT apply supervisor_job_flags.

JIRA: QUBE-2365

=3D=3D=3D=3D CL 17889 =3D=3D=3D=3D
@CHANGE: job queries requesting = for subjob and/or work details now must explicitly provide job IDs.

Both qbjobinfo() C++ and qb.jobinfo() Python APIs now reject such submis= sions and return an error.

For example, the Python call "qb.jobinfo(subjobs=3DTrue)" will= raise a runtime exception. It must be now called like "qb.jobinfo(sub= jobs=3DTrue, id=3D12345)" or "qb.jobinfo(subjobs=3DTrue, id=3D[12= 34,5678])"

JIRA: QUBE-244

=3D=3D=3D=3D CL 17863 =3D=3D=3D=3D
@FIX: Qube language callback com= mand "mail-status" wasn't working properly, setting the smtp &quo= t;TO" field to an incorrect string.

=3D=3D=3D=3D CL 17858 =3D=3D=3D=3D
@FIX: qb.deleteworkerproperties(= ) and qb.deleteworkerresources() fn should return an error when used with t= he wrong 2nd arg (must be a list)

ZD: 16932
JIRA: QUBE-2381

=3D=3D=3D=3D CL 17856 =3D=3D=3D=3D
@FIX: misleading "invalid k= ey" error message in supelog when supervisor_max_metered_licenses set = to 0

JIRA: QUBE-2397

=3D=3D=3D=3D CL 17821 =3D=3D=3D=3D
@FIX: data warehouse worker tabl= e updates throttled to a single record at a time when multiple workers simu= ltaneously change their defined slot counts

=3D=3D=3D=3D CL 17797 =3D=3D=3D=3D
@FIX: ignore any ethernet interf= ace with "virutal" in its description when detecting the primary = MAC address on Windows.

ZD 17072

=3D=3D=3D=3D CL 17790 =3D=3D=3D=3D
@FIX: issue where the background= helper thread frequently sends 2 or more update requests (QB_MESSAGE_REQUE= ST_UPDATE) to a single "questionable" worker (i.e., one that has = missed enough heartbeats, and potentially down) at once.

ZD: 17124

=3D=3D=3D=3D CL 16491 =3D=3D=3D=3D
@NOTES:Add support for AfterEffe= cts point release scheme (2015.3)

=3D=3D=3D=3D CL 17763 =3D=3D=3D=3D
Supervisor and worker now use co= rrect startup scripts for CentOS 7+, untested yet on CentOS 6.

=3D=3D=3D=3D CL 17744 =3D=3D=3D=3D
@CHANGE: Add a third paramter, &= quot;user", to Custom Policy's qb_approve_modify() routine, so the pol= icy script can allow/disallow modification to a job based on the user name = of the requestor.

For example, the routine can now allow certain users to only change prio= rity between 7000 and 8000.

Note that ordinary users are still only allowed to modify his/her own jo= bs, while admins are allowed to modify anybody's jobs in any way, and are N= OT subject to the "approve modify" custom policy routine.

With user groups defined (via "qbusers"), group admins are all= owed to modify any job within its group. In that case, the "approve mo= dify" routine does come into play.

JIRA: QUBE-2277

=3D=3D=3D=3D CL 17737 =3D=3D=3D=3D
@NEW: add 'pgrp' to job data sto= red in the data warehouse job_fact table.

=3D=3D=3D=3D CL 17735 =3D=3D=3D=3D
@FIX: badlogin jobs can't be ret= ried or killed (previously fixed in CL15011, but regressed)

JIRA: QUBE-642
ZD: 12699, 17010

=3D=3D=3D=3D CL 17696 =3D=3D=3D=3D
@UPDATE: add explanation for &qu= ot;deferTableCreation" to the python qb.submit() API routine.

JIRA: QUBE-2400

=3D=3D=3D=3D CL 17692 =3D=3D=3D=3D
@FIX: another memory leak plugge= d in the startHost()-related routine, startQualifiedJobsOnHost(). This was = causing successful itereations of startHost() (i.e., an instance was dispat= ched to a worker) to cause memory bloats. Among other places, it was affect= ing the background helper thread (when it does the "requeuing host&quo= t; routine.

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17649 =3D=3D=3D=3D
@FIX: memory leak in preemption = code, especially when preemption policy is set to passive or is disabled by= the algorithm.

QUBE: JIRA-2382

=3D=3D=3D=3D CL 17634 =3D=3D=3D=3D
@FIX: memory leak in one of the = host-triggered dispatch routines
startQualifiedJobsOnHost(), which is = called from startHost().

Among other things, this was bloating the memory usage inside the helper=
routine running in a background thread/process (cleanermain()).

JIRA: QUBE-2382
ZD: 16952

=3D=3D=3D=3D CL 17610 =3D=3D=3D=3D
@FIX: memory corruption that wou= ld cause python or perl to crash when the function was called inside jobs.<= /p>

JIRA: QUBE-2389

=3D=3D=3D=3D CL 17595 =3D=3D=3D=3D
@FIX: fixed memory leak in QbPac= k::store() and storeXML() methods, which were causing, among other things, = supervisor threads to bloat when processing large job submissions

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17594 =3D=3D=3D=3D
@FIX: plugged a potential memory= leak in QbDaemon communication code, affecting all server (supervisor, wor= ker) programs

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17593 =3D=3D=3D=3D
@FIX: plugged memory leak in dis= patch code

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17592 =3D=3D=3D=3D
@FIX: plugged potential memory l= eak in user permission-check routine, specifically in the group-access chec= k code

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17566 =3D=3D=3D=3D
@NEW: qbwrk.conf loading optimiz= ation (and thus "qbadmin w -reconfig" speed up) by explictly list= ing template names and non-existing hostnames in the new [global_config] se= ction

* added [global_config] section to the qbwrk.conf file, and allow new co= nfig parameters "templates" to list all qbwrk.conf template secti= on names, and "non_existent" to list all non-existent hostnames

* supe skips ip-address resolution for all section names included in &qu= ot;templates" and "non_existent", and all reserved names, i.= e.: "global_config", "default", "linux", &quo= t;osx", and "winnt", thus speeding up the loading of qbwrk.c= onf file, which in turn speeds up supervisor boot time and "qbadmin w = -reconfig" operation.

JIRA: QUBE-2346

=3D=3D=3D=3D CL 17540 =3D=3D=3D=3D
@CHANGE: removed unnecessary sub= mit-time check/rejection of omithosts and omitgroups.

ZD: 16907, 16908
JIRA: QUBE-2366

=3D=3D=3D=3D CL 17450 =3D=3D=3D=3D
@INTEG: rel-6.9 -> main
= -----
@FIX: directory deletion during log cleanup can fail if the supe= rvisor is updating the job history file at the same time

=3D=3D=3D=3D CL 17449 =3D=3D=3D=3D
@FIX: directory deletion during = log cleanup can fail if the supervisor is updating the job history file at = the same time

=3D=3D=3D=3D CL 17435 =3D=3D=3D=3D
@FIX: supervisor process handlin= g a qbping request should always reread the license file before replying

There was a code path that instructs the supe thread to force-read thelicense file, but the read was not happening under certain conditions; = the
code was returning the old cached data if available, or the defaul= t count
of 2 if the cache isn't available.

* add a few more informational lines to print to the supelog at license<= br /> re-reading.

JIRA: QUBE-2317

=3D=3D=3D=3D CL 17422 =3D=3D=3D=3D
@FIX: make formatting and object= instantiation compatible with Python 2.6

=3D=3D=3D=3D CL 17416 =3D=3D=3D=3D
@FIX: remove unnecessary error m= essage in the schema upgrade routine

JIRA: QUBE-2283

=3D=3D=3D=3D CL 17414 =3D=3D=3D=3D
@CHANGE: Add more text to descri= be the subtle yet significant difference between "retry" and &quo= t;requeue" Python API routines

JIRA: QUBE-2049

=3D=3D=3D=3D CL 17403 =3D=3D=3D=3D
@FIX: jobs with status "reg= istering" appears when submissions are rejected due to incorrect requi= rements specifications

ZD: 16408
JIRA: QUBE-2034

=3D=3D=3D=3D CL 17402 =3D=3D=3D=3D
@FIX: intermittent bug where som= e supe threads won't properly read the supervisor license key from qb.lic

* add warning message to print to supelog when the license file reader returns zero-length data

ZD: 16828
JIRA: QUBE-2317

=3D=3D=3D=3D CL 17399 =3D=3D=3D=3D
@CHANGE: MSI no longer starting = the worker service, qubeInstaller will start if required

=3D=3D=3D=3D CL 17390 =3D=3D=3D=3D
@FIX: post-flight should only be= run when qbreportwork() is invoked with an agenda-item with terminal-state=

JIRA: QUBE-2032
ZD: 16412

=3D=3D=3D=3D CL 17376 =3D=3D=3D=3D
@FIX: Triggers incorrectly execu= ting multiple times

When a composite (i.e, using && or ||) trigger is specified for = a job's callback, such as "done-job-job1 && done-job-job2"= ;,
the callback would erroneously get run multiple times.

ZD: 16282
JIRA: QUBE-1881

=3D=3D=3D=3D CL 17375 =3D=3D=3D=3D
LEGACY>>>>
@REL= NOTES : NO
@INTERNAL: remove even more left-over files from initial me= tered license tracking

=3D=3D=3D=3D CL 17374 =3D=3D=3D=3D
LEGACY>>>>
@REL= NOTES : NO
@INTERNAL: remove even more left-over files from initial me= tered license tracking

=3D=3D=3D=3D CL 17373 =3D=3D=3D=3D
LEGACY>>>>
@REL= NOTES : NO
@INTERNAL: remove more left-over files from initial metered= license tracking, where db was local to each machine

=3D=3D=3D=3D CL 17369 =3D=3D=3D=3D
@FIX: issue introduced in 6.9 wh= ere requestwork() jobtype backend routine will crash when frame padding is = 40 or greater.

Python jobtype backend, in particular, was found to crash during a call = to
the API routine qb.requestwork(), with a "*** stack smashing d= etected ***:"
error message and a backtrace.

ZD: 16759
JIRA: QUBE-2318

=3D=3D=3D=3D CL 17290 =3D=3D=3D=3D
@TWEAK: license-reading routine = prints the total license count to the supelog

JIRA: QUBE-2003

=3D=3D=3D=3D CL 17289 =3D=3D=3D=3D
@TWEAK: "ping" handler= to print out more info to supelog

Every "qbping" will print out something like the following sup= elog now:

[Nov 18, 2016 16:25:55] shinyambp[11662]: INFO: responded to ping reques= t from [127.0.0.1]: 6.9-0 bld-custom osx - - host - 0/11 unlimited licenses= (metered=3D0/0) - mode=3D0 (0)

JIRA: QUBE-2002

=3D=3D=3D=3D CL 17286 =3D=3D=3D=3D
@NEW: exposed Python's qb.adminc= ommand() API routine, and add support for "reverify"

---- Sample Usage ----

cmd =3D {}
cmd['action'] =3D qb.CONST("QB_ADMIN_ORDER_ACTION_= REVERIFY_WORKERS")
cmd['workers'] =3D ["shinyambp"] # = optional

ret =3D qb.admincommand(cmd);
if(ret =3D=3D None) :
print &q= uot;ERROR: qb.admincommand() returned None";
else:
print &= quot;INFO: successfully sent admin order";

----

JIRA: QUBE-2159

=3D=3D=3D=3D CL 17285 =3D=3D=3D=3D
@NEW: add support for "reve= rify" in Perl's qb::admincommand() API routine

---- Sample Usage ----

my $command =3D
{
"action" =3D> qb::CONST("= QB_ADMIN_ORDER_ACTION_REVERIFY_WORKERS"),
"workers" = =3D> ["shinyambp"] # optional;
};
my $result =3D qb:= :admincommand($command);
if(not defined($result)) {
print STDERR= "ERROR: qb::admincommand() returned undef\n";
} else {
print "INFO: successfully sent admin order\n";
}

----

JIRA: QUBE-2159

=3D=3D=3D=3D CL 17281 =3D=3D=3D=3D
@NEW: add 'qbadmin w -reverify [= worker,...]' option to force the supervisor to reverify workers' license pr= ovider info.

JIRA: QUBE-2159

=3D=3D=3D=3D CL 17231 =3D=3D=3D=3D
@FIX: disabled verbose option fo= r logging libcurl actions

=3D=3D=3D=3D CL 17208 =3D=3D=3D=3D
@CHANGE: Popluate the subjob (in= stance) objects with more data (like status), and not just the IDs, when su= bjob info is requested via "qbhostinfo" (qb.hostinfo(subjobs=3DTr= ue) for python API)

Previously, only jobid, subid, and host info (name, address, macaddress)=
were filled. Now, things like "status", "timestart&quo= t;, "allocations",
etc. are properly filled in.

JIRA: QUBE-2073
ZD: 16541

=3D=3D=3D=3D CL 17206 =3D=3D=3D=3D
@FIX: When "migrate_on_fram= e_retry" job flag is set, prevent backend from doing further processin= g (especially another requestwork()) after a work failed

This was causing race-conditions that will get agenda items to be stuck = in
"retrying" state, while there are no instances processing= them.

Now the reportwork() API routine is modified so that if it's invoked to<= br />report that a work "failed", and the "migrate_on_frame_= retry" is set on the
job, it will stop processing (does a long sl= eep), and let the worker/proxy
do the process clean up.

JIRA: QUBE-2202
ZD: 16553

=3D=3D=3D=3D CL 17199 =3D=3D=3D=3D
@NEW: add "auto_remove"= ; worker_flag, which indicates to the supervisor that this worker should be= automatically removed when it goes "down"

JIRA: QUBE-1058

=3D=3D=3D=3D CL 17198 =3D=3D=3D=3D
@NEW: add Partner Licensing supp= ort to supervisor

JIRA: QUBE-1911, QUBE-1912, QUBE-1913, QUBE-1914, QUBE-1915

=3D=3D=3D=3D CL 17186 =3D=3D=3D=3D
@FIX: "VirtualBox Host-Only= Ethernet Adapter" now when daemons (supe, worker) try to pick a prima= ry mac address

JIRA: QUBE-2149
ZD: 16561

=3D=3D=3D=3D CL 17182 =3D=3D=3D=3D
@CHANGE: all classes that inheri= t from QbObject print as a regular dictionary, no longer have a __repr__ wh= ich prints the job data as a single flat string
@NEW: add qb.validatej= ob() function to python API, help find malformed jobs that crash the user i= nterfaces

=3D=3D=3D=3D CL 17141 =3D=3D=3D=3D
@FIX: Any job submitted from wit= hin a running job picks up the pgrp of the submitting job

By design, if the submission environment has QBGRPID and QBJOBID set, th= e
API's submission routine will set the job's pgrp and pid, respective= ly to
the values specified in the environment variables.

One couldn't override this "inheritance" behavior even by expl= icitly
specifying "pgrp" or "pid" in the job being= submitted, for instance with
the "-pgrp" command-line optio= n of qbsub.

Fixed, so that setting "pgrp" to 0 on submission means that th= e job should
generate its own pgrp instead of inheriting it from the e= nvironment.

JIRA: QUBE-2141
ZD: 16545

=3D=3D=3D=3D CL 17101 =3D=3D=3D=3D
@NEW: add "-dying" and= "-registering" options to qbjobs.
@CHANGE: also add dying a= nd registering jobs to the "-active" filter.

JIRA: QUBE-2091
ZD: 16469

=3D=3D=3D=3D CL 17083 =3D=3D=3D=3D
@FIX: Python API: qbping(asDict= =3DTrue) crashes when used against older (pre-6.9) supe

Among other things, this was causing WV to crash and AV to note an
= exception (but not crash) when starting up with an older supervisro.

JIRA: QUBE-2084

 

------=_Part_8436_1107705087.1711661558728--