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
################################################################= ##############
@RELEASE: 6.10-1
########################################################################= ######
@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.
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= p>
* 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=
p>
* 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