@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:


    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.


    * 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):

    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()".


    ==== 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)


    ==== 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


    ==== 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


    ==== 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.

    • No labels