RELEASE NOTES FOR SLURM VERSION 17.11
6 February 2017

IMPORTANT NOTES:
THE MAXJOBID IS NOW 67,108,863. ANY PRE-EXISTING JOBS WILL CONTINUE TO RUN BUT
NEW JOB IDS WILL BE WITHIN THE NEW MAXJOBID RANGE. Adjust your configured
MaxJobID value as needed to eliminate any confusion.

If using the slurmdbd (Slurm DataBase Daemon) you must update this first.
The 17.11 slurmdbd will work with Slurm daemons of version 16.05 and above.
You will not need to update all clusters at the same time, but it is very
important to update slurmdbd first and having it running before updating
any other clusters making use of it.  No real harm will come from updating
your systems before the slurmdbd, but they will not talk to each other
until you do.  Also at least the first time running the slurmdbd you need to
make sure your my.cnf file has innodb_buffer_pool_size equal to at least 64M.
You can accomplish this by adding the line

innodb_buffer_pool_size=64M

under the [mysqld] reference in the my.cnf file and restarting the mysqld. The
buffer pool size must be smaller than the size of the MySQL tmpdir. This is
needed when converting large tables over to the new database schema.

Slurm can be upgraded from version 16.05 or 17.02 to version 17.02 without loss
of jobs or other state information. Upgrading directly from an earlier version
of Slurm will result in loss of state information.

If using SPANK plugins that use the Slurm APIs, they should be recompiled when
upgrading Slurm to a new major release.

NOTE: The slurmctld is now set to fatal if there are any problems with
      any state files.  To avoid this use the new '-i' flag.

NOTE: systemd services files are installed automatically, but not enabled.
      You will need to manually enable them on the appropriate systems:
      - Controller: systemctl enable slurmctld
      - Database: systemctl enable slurmdbd
      - Compute Nodes: systemctl enable slurmd

NOTE: If you are not using Munge, but are using the "service" scripts to
      start Slurm daemons, then you will need to remove this check from the
      etc/slurm*service scripts.

NOTE: If you are upgrading with any jobs from 14.03 or earlier
      (i.e. quick upgrade from 14.03 -> 15.08 -> 17.02) you will need
      to wait until after those jobs are gone before you upgrade to 17.02
      or 17.11.

NOTE: If you interact with any memory values in a job_submit plugin, you will
      need to test against NO_VAL64 instead of NO_VAL, and change your printf
      format as well.



HIGHLIGHTS
==========
 -- Add the configure option --with-shared-libslurm which will link to
    libslurm.so instead of libslurm.o thus reducing the footprint of all the
    binaries.
 -- In switch plugin, added plugin_id symbol to plugins and wrapped
    switch_jobinfo_t with dynamic_plugin_data_t in interface calls in
    order to pass switch information between clusters with different switch
    types.
 -- Changed default ProctrackType to cgroup.

RPMBUILD CHANGES
================

CONFIGURATION FILE CHANGES (see man appropriate man page for details)
=====================================================================
Added FederationParameters=fed_display to display federated view by default if
	the local cluster is a member of a federation. Defaults to 0.

COMMAND CHANGES (see man pages for details)
===========================================
The '-q' option to srun has changed from being the short form of
	'--quit-on-interrupt' to '--qos'.

OTHER CHANGES
=============

API CHANGES
===========

Changed members of the following structs
========================================

Added members to the following struct definitions
=================================================
In slurmbdb_cluster_fed_t: Added feature_list to hold cluster features.
In job_desc_msg_t: Added cluster_features for passing cluster features to
	controller.
		   Renamed fed_siblings to fed_siblings_active.
		   Added fed_siblings_viable.
In job_info_t: Added cluster_features for passing back a job's cluster features
	from the controller.
               Renamed fed_siblings[_str] fed_siblings_active[_str]
	       Added fed_siblings_viable[_str].
In struct job_details: Added cluster_features to hold requestsed cluster
	features.
In job_fed_details_t: Rename siblings to siblings_active.
		      Added siblings_viable.
In job_info_request_msg: Added job_ids to be able to request job info for
		       specific jobs.
In job_step_kill_msg_t: Added sibling string to remove active sibling job.

Added the following struct definitions
======================================
In job_alloc_info_msg_t: add req_cluster to indicate where the request is coming
	from.
Added reroute_msg_t to route a message to a different cluster.

Removed members from the following struct definitions
=====================================================

Changed the following enums and #defines
========================================

Added the following API's
=========================
Added slurm_kill_job_msg: to send prepared job_step_kill_msg_t.

Changed the following API's
============================

Removed the following API's
===========================
Removed unused slurm_allocation_lookup() and rename slurm_allocation_lookup_lite() to
	slurm_allocation_lookup().
