##############################################################################
@RELEASE: 6.9-0
##############################################################################
==== CL 16804 ====
@TWEAK: added code to print what operation was requested, when printing out "permission granted to user..."
==== CL 16776 ====
@FIX: Python API should handle exception for when gethostbyname() doesn't work in mysqlConnect
JIRA: QUBE-1965
==== CL 16770 ====
@CHANGE: Ensure that the pending reasons returned by qb.hostorder (or qbhostorder command) take metered licensing into account
JIRA: QUBE-1986
==== CL 16696 ====
@NEW: add supervisor_max_metered_licenses support to qb.conf, which enables site-admins to customize the effective limit of metered licenses that can be used at any given time.
This number must be smaller than the metered account's limit, or it will be
capped at the account limit.
Setting this to 0 effectively disables metered licensing, while setting it
to -1 (default), allows usage up to the metered account's limit .
JIRA: QUBE-1867
==== CL 16668 ====
@NEW: made available some frame-padding related environment variables during the execution of job instances and pre/postflights:
QB_FRAME_PADDING
QB_PADDED_FRAME_NUMBER
QB_PADDED_FRAME_START
QB_PADDED_FRAME_END
QB_PADDED_FRAME_STEP
JIRA: QUBE-1841
==== CL 16665 ====
@CHANGE: All "subjob" sections in qbsummary output show "instance" in the title
@CHANGE: renamed "*vs" options to "*vi" (such as "pvi" or "cvi"). For
compatibility, the older names still work, just not advertised in the
"help" output
@FIX: const-ness of QbString::replacevalue() method
JIRA: QUBE-1617
==== CL 16643 ====
@FIX: added dependency on mysql-libs (or mariadb-libs) to the supervisor RPM
JIRA: QUBE-1784
==== CL 16642 ====
@CHANGE: automatic capping of priorities to supervisor_highest_user_priority
if an ordinary (non-admin) user tries to submit jobs at a higher priority (i.e. lower numerical value) than supervisor_highest_user_priority, the jobs will be accepted but with the priority automatically (and silently, except for a WARNING message in the supelog) capped at supervisor_highest_user_priority
JIRA: QUBE-1804
==== CL 16629 ====
@CHANGE: "kill work" on a running agenda item will now put the instance processing the agenda item back to "pending", instead of also killing it.
JIRA: QUBE-627
==== CL 16628 ====
@FIX: "qb_default_string()" warning printed during linux qube-core installation
Corrected code so that warnings like the following won't print any more:
WARNING: qb_default_string() unknown value[1001]
WARNING: qb_default_string() unknown value[1002]
JIRA: QUBE-1894
==== CL 16602 ====
@FIX: misleading database name printed in error handler for MySQL stored procedures PFX_CALC_CPU_TIME() and PFX_CALC_AVG_WORK_TIME(); "ERROR: TABLE NOT FOUND IN DB pfx_dw.<actual_database_name>"
==== CL 16517 ====
@FIX: C4D appFinder jobs don't apply path translation properly on Windows, backslashes are converted too early
==== CL 16407 ====
@NEW: add SMTP Auth support over SSL and TLS connections.
@CHANGE:
* add new mail config qb.conf parameters: mail_user, mail_password, mail_connection_type
* modified mail_port to be 0 by default, which means use the standard port depending on connection type: 25, 465 (SSL), or 587 (TLS)
==== CL 16389 ====
@FIX: calls to qb.reportwork that happen very close together can cause the supervisor to deadlock on a single frame's status
==== CL 16379 ====
@FIX: case-insensitive parsing of template names in qbwrk.conf when listed for template inheritance
The following now works (hostA will be in the "big" group):
[BigNode]
worker_groups = "big"
[hostA] : bignode
JIRA: QUBE-1809
==== CL 16369 ====
@FIX: don't mark the instance as failed if there is one more command to run, the child process has already exited, and the command is sys.exit(0); happens when maya is shut down with its native quit() function.
==== CL 16338 ====
@CHANGE: database checks script splits logging levels between stdout and stderr
==== CL 16308 ====
@CHANGE: fixed every reference to "subjob" to "instance"
JIRA: QUBE-1768
==== CL 16303 ====
@CHANGE: add supervisor mode settings (such as "disable_metered") to display in qbping output, and be returned in the qb.ping(asDict=True) Pyhon API invocation
JIRA: QUBE-1759
==== CL 16286 ====
@FIX: checkDiskUsage fails when --mysql option is used and root can't authenticate
==== CL 16269 ====
@FIX: properly support timeouts on socket connections
@NEW: add "-timeout N" option to the qbping command, and the API qbping(), qbworkerping(), and qbhostping() API routines now honor the timeout set via "qbsettimeout()".
QUBE-1746
==== CL 16266 ====
@NEW: a new command-line utility for performing both database health checks and data integrity checks
==== CL 16247 ====
@FIX: fixed qb.workid() in callbacks to return the correct workid of the current callback context (it had been always returning None)
Also changed qb.jobstatus(), workstatus(), and subjobstatus() so that, if
invoked in a callback giving no args (like a jobid and workid or subjobid),
they return the status of the respective thing (job, work, or subjob) of
the current callback context.
JIRA: QUBE-1763
ZD: 16105
==== CL 16235 ====
@FIX: a problem with the filtering added to avoid jobs with an ID of 0, in CL15821
This was causing preemption to not function in many cases.
ZD: 16006
==== CL 16229 ====
@FIX: On Windows, daemons (supe, worker) now ignore VMWare Virtual Ethernet Adapters when trying to pick a primary mac address (QbConnection.cpp) for the host, which is used to uniquely identify hosts
ZD: 14481
==== CL 16214 ====
@FIX: aerender AppFinder mangling first path conversion on Windows when using UNC
==== CL 16177 ====
@NEW: add metered_max and metered_used fields to the dict returned by qb.ping(asDict=True)
JIRA: QUBE-1745
==== CL 16145 ====
@NEW: add support for Metered Licensing
==== CL 16139 ====
@FIX: Fixed the duplicate instance of "stop_activity" (i.e., it was listed twice), to "enforce_password" in qb_supervisor_mode_flag_string(), which was causing string to int conversion of the mode flags to be incorrect
==== CL 16064 ====
@FIX: when job 'dev' attribute True, printing the job package with regex_errors causes the logParser to generate a false positive for the regex_errors match
==== CL 16049 ====
@NEW: add 'outputPath match required' to python-based jobs, frame/work is failed if no match is found
==== CL 15974 ====
@CHANGE: add support for "-conf PATH" to specify qb.conf for worker (phase 1)
QUBE-253
==== CL 15970 ====
@FIX: modified (un)install_supervisor scripts to properly support CentOS/RHEL 7+ with mariadb and systemd.
Also modified configure_mysql script (for Linux) to be able to detect the
version of mysql installed on the system, even when the server is not
running
QUBE-1663
==== CL 15964 ====
@NEW: changes to code that generates/modifies my.cnf
@CHANGE: some refactoring of the configure_mysql script (run on linux on
(un)installation of the supervisor to modify my.cnf.
@NEW: make sure "default-storage-engine=MyISAM" is set on Linux too
@NEW: add "query_cache_type=0" to my.cnf on all platforms
JIRA: QUBE-1663
==== CL 15960 ====
@FIX: jobs submitted with pgrp set to a (null) string end up having a pgrp of 0
JIRA: QUBE-1668
==== CL 15957 ====
@FIX: use of single-quotes in job dependency "info-*" syntax results in hung job instances
JIRA: QUBE-1571
==== CL 15947 ====
@CHANGE: adding "default-storage-engine=MYISAM" to the my.cnf generated for Linux/OSX supe installations
JIRA: QUBE-1663
==== CL 15936 ====
@CHANGE: add InnoDB to MyISAM conversion code in upgrade_supervisor program for all "qube" tables
JIRA: QUBE-1664
==== CL 15909 ====
@CHANGE: change flaw in auto-wrangling logic in which it sometimes won't detect a bad worker, and allows it to fail many job agendas.
When a single job instance/worker has failed all of its assigned frames (at
least aw_activation_work_count frames) for a job, while other workers are
still processing their first frame (i.e., no other worker/instance has
finished a frame), the system deems this worker "bad", locks it, and
migrates the failed frames and instance, and notify the admin.
JIRA: QUBE-1475
ZD: 15219
==== CL 15865 ====
@CHANGE: Made section headers (such as "[default]" or "[node[001-199]]") case-insensitive in config files such as qbwrk.conf
JIRA: QUBE-1356
==== CL 15821 ====
@FIX: add code to the DB routines and doPreemption() routine to silently ignore job records with job ID of 0 (likely due to corrupt DB records), which was spewing out many warning messages into the supelog
ZD:15739
==== CL 15809 ====
@FIX: backslashed characters in VRED jobs get treated as escape characters
==== CL 15700 ====
@NEW: add "--conf filename" option to supervisor to specify an alternate location and name for the qb.conf file
JIRA: QUBE-253
==== CL 15673 ====
@FIX: orphaned job processes left behind on Windows workers, especially when the proxy.exe program dies unexpectedly
ZD: 15518
==== CL 15653 ====
@FIX: setting jobss "pgrp" value prior to submission is ignored for all but the first job when submitting a list of jobs via a single call to the qbsubmit() API routine
JIRA: QUBE-1536
ZD: 15528
==== CL 15650 ====
@FIX: Explicitly setting "host.memory" in worker_resources broken on Linux
ZD: 15505
JIRA: QUBE-1531
==== CL 15642 ====
@FIX: Unix (Linux/OSX) workers, when running a cleanup process for a teminating job instance (via removeJob()), would sometimes inadvertently kill processes belonging to other job instances, due to process IDs once owned by the terminating job being reused by the system.
ZD: 15548
==== CL 15567 ====
@FIX: supervisor_default_max_cpus value was not being applied properly
ZD: 15503
JIRA: QUBE-1528
==== CL 15560 ====
@CHANGE: "modify" operation will print, into the supelog and the job's .hst file, the values of the newly modified parameters
JIRA: QUBE-1318
ZD: 14979
==== CL 15531 ====
@NEW: add run_program_and_convert_encoding.pl script, which is a wrapper to run any given program and convert its stdout from and to specified encodings (like UTF-16le to UTF-8).
Added to support 3dsmax batch (i.e., "cmdrange") submissions.
JIRA: QUBE-1210
==== CL 15462 ====
@FIX: removed submission-time check for jobtype existence on the farm, as it was causing false negatives in certain cases and disallowing submissions
ZD: 15328, 15831
==== CL 15423 ====
@FIX: KeyError: "regex_outputPaths" is raised when min file size check is specifiec, but no outputPath regular expression is defined
==== CL 15384 ====
@NEW: add Mac OS X 10.11, aka "El Capitan" support
==== CL 15380 ====
@CHANGE: modification now allowed on "done" jobs
ZD: 15281
==== CL 15351 ====
@FIX: Windows issue where wireless network interfaces are ignored when licenses are verified, causing license keys bound to such interfaces to not work.
==== CL 15347 ====
@FIX: Windows issue where wireless network interfaces are ignored when licenses are verified, causing license keys bound to such interfaces to not work.
==== CL 15324 ====
@CHANGE: supervisor on Win32 to build against Perl 5.8 (upgraded from 5.6) to avoid build issues on new build platform.