Submits live reconfiguration requests, updating configuration settings in active memory without restarting daemons.
bconf is enabled when LSF_LIVE_CONFDIR is defined in lsf.conf.
bconf allows configuration changes without restarting LSF or any daemons. Changes are made in active LSF memory, and updated configuration files are written to the directory defined by parameter LSF_LIVE_CONFDIR. Original configuration files are not changed. However, LSF will reload any files found in LSF_LIVE_CONFDIR during restart or reconfiguration in place of permanent configuration files.
Configuration changes made using bconf cannot be rolled back. Undo unwanted configuration changes by undoing configuration changes with reverse bconf requests or by manually removing or replacing configuration files in LSF_LIVE_CONFDIR before restart or reconfiguration.
The first bconf command executed after restart or reconfiguration backs up the files that were loaded into memory. All files that bconf can change are backed up in LSF_LIVE_CONFDIR as *.bak files. The backup files always represent the configuration before any bconf commands were executed.
Only cluster administrators can run all bconf commands. All users can run bconf hist queries. All bconf requests must be made from static servers. All configuration files should be free from warning messages when running badmin reconfig before enabling live reconfiguration, and multiple sections in configuration files should be merged where possible. It is recommended that the order of sections and the syntax used in the configuration file templates be maintained in all configuration files used with live reconfiguration.
Adjust user shares
Adjust both user shares and group members
Delete the user group
Create new user groups
User group administrators with full rights can only add a user group member to the user group if they also have full rights for the member user group. User group administrators adding a new user group through bconf create are automatically added to GROUP_ADMIN with full rights for the new user group.
Remove LSF_LIVE_CONFDIR configuration files or merge files into LSF_CONFDIR before upgrading LSF or applying patches to LSF.
bconf supports common configuration changes; not all configuration changes can be made using bconf. When using time-based configuration, changes to global configuration are changed globally, and changes to configuration for the active time window are changed only for the time window.
Configuration files changed by bconf:
lsb.resources
lsb.queues
lsb.users
lsb.hosts
lsf.cluster.clustername
lsb.serviceclasses
Making manual changes to the configuration files above while bconf is enabled automatically disables this feature and further live reconfiguration requests will be rejected.
bconf makes changes to objects, or configuration blocks enclosed in Begin and End statements in the configuration files. One bconf request can affect several configured objects. For example, deleting a user group that appears in the configuration for a limit and a queue also changes the limit and queue configuration, and returns the following confirmation messages:
bconf delete usergroup=ug1
bconf: Request to delete usergroup <ug1> impacts the following:
<USERS> in limit <limit1>
<USERS FAIRSHARE > in queue <big_mem_queue>
Are you sure you want to delete usergroup <ug1> (y/n)?
The API corresponding to the bconf command is lsb_liveconfig. See the LSF API Reference for details.
action is the requested action supported by live reconfiguration. It can be one of: addmember, rmmember, update, create, add, delete.
addmember: Adds a member to the group or list of an existing key (field) in an object, or updates the value of an existing member.
Cannot be used with reserved words such as all, excluded elements such as ~user1 or !host1, or members defined by regular expressions such as hostA[01-10] or hostA*.
When used with an existing member, the value of the member is updated within the object.
rmmember: Removes a member from the group or list of an existing key (field) in an object.
Groups and lists cannot have all members removed (except USER_SHARES), be left only containing reserved words such as others, all, or allremote, or be left only containing excluded members.
Cannot be used with reserved words such as all, excluded elements such as ~user1 or !host1, or members defined by regular expressions such as hostA[01-10] or hostA*. Hosts added using badmin hghostadd cannot be removed with bconf rmmember.
update: Updates by replacing the old value with the new value, or adding the field if it is not already configured.
Use update usergroup=group_name or update hostgroup=group_name to reload an egroup.
create: Creates a new object.
add: Adds a new host.
delete: Deletes an existing object.
A user group cannot be deleted if it contains running or pending jobs (run busers to check), appears in a MultiCluster UserMap section in lsb.users or is DEFAULT_USER_GROUP defined in lsb.params. Deleted user groups are counted towards the maximum allowed number of user groups until the next restart or reconfig command is run, and may still show in busers output.
object_type is any block (BeginSection… EndSection) in a configuration file changed by a bconf request. An object includes a type and identity (or name) and has attributes called keys, which are fields defined in the object section of the file. The object_type can be one of: user, usergroup, host, hostgroup, queue, limit, gpool. Not all actions apply to all object types.
user can be used with:
action update
value_pair keywords in lsb.users: MAX_JOBS, JL/P, MAX_PEND_JOBS
usergroup can be used with:
action addmember, rmmember, update, create, delete
value_pair keywords in lsb.users: MAX_JOBS, JL/P, MAX_PEND_JOBS, GROUP_MEMBER, USER_SHARES, GROUP_ADMIN
host can be used with:
action update, add
value_pair keywords in lsb.hosts: MXJ, JL/U, EXIT_RATE, io, it, ls, mem, pg, r15s, r1m, r15m, swp, tmp, ut
value_pair keywords in lsf.cluster.clustername: model, type, resources
hostgroup can be used with:
action addmember, rmmember, update
value_pair keywords in lsb.hosts: GROUP_MEMBER
queue can be used with:
action addmember, rmmember, update
value_pair keywords in lsb.queues: UJOB_LIMIT, PJOB_LIMIT, QJOB_LIMIT, HJOB_LIMIT, FAIRSHARE
limit can be used with:
action addmember, rmmember, update, create, delete
value_pair keywords in lsb.resources: QUEUES, PER_QUEUE, USERS, PER_USER, HOSTS, PER_HOST, PROJECTS, PER_PROJECT, SLOTS, SLOTS_PER_PROCESSOR, MEM, TMP, SWP, JOBS, RESOURCE
gpool can be used with:
action addmember, rmmember, update
value_pair keywords in lsb.resources: DISTRIBUTION
object_name is the name of the existing object, or object being created.
value_pair is the key (object attribute) and allowed values used in a bconf request. It is of the form keyword=value, using the same keywords and syntax as in LSF configuration files. Not all LSF configuration keywords can be used with all actions.
Use a semicolon to separate multiple value_pair entries. Reset keywords to default values using ’-’ or ’()’, as applies to the keyword in the LSF configuration files.
For more information about allowed actions, objects, and keywords, use the help command bconf -h action object.
Examples:
bconf -h addmember hostgroup
bconf addmember hostgroup=hgroupA "GROUP_MEMBER = host1"
bconf rmmember hostgroup=hgroupA "GROUP_MEMBER=host1 host2"
bconf update host=host1 "MXJ=10; JL/U=5"
bconf create usergroup=groupA "GROUP_MEMBER=(elaine tina toby); USER_SHARES=([elaine,10]
[default,5]); MAX_JOBS=500; MAX_PEND_JOBS=10000"
bconf rmmember queue=normal "FAIRSHARE=USER_SHARES[[joe, 10]]"
Logs the text of comment as an administrator comment in liveconf.hist. The maximum length of the comment string is 512 characters. Embed comment in double quotes, and do not include the new line character ’\n’.
Disables interaction and forces bconf delete requests to proceed without confirmation. Only applies to the delete action.
Queries the bconf history file liveconf.hist located under $LSB_SHAREDIR/cluster_name/logdir, or queries history_file if specified. Displayed output is filtered by the specified criteria. By default only bconf requests made by the current user are displayed.
Long display format
Wide display format
Displays entries including the object_type specified, where object_type is one of: user, usergroup, host, hostgroup, queue, limit, gpool
Displays entries for requests made by the user specified. To display bconf request from all users specify -u all.
Displays entries within the specified time period. For syntax, see "Time Interval Format" in the bhist command reference.
Displays entries including the action specified, where action is one of: addmember, rmmember, update, create, add, delete.
Displays entries including the config_file specified, where config_file is one of: lsb.resources, lsb.queues, lsb.users, lsb.hosts, lsf.cluster.clustername, or lsb.serviceclasses.
Displays entries from the specified history file. By default, the history file is liveconf.hist.
Blocks all bconf requests until the next reconfiguration or restart of daemons using badmin reconfig, badmin mbdrestart, or lsadmin reconfig (for manual changes to lsf.cluster file). Use the disable option before making manual changes to the configuration files to ensure that you are editing files corresponding to the current configuration. Note that only the primary cluster administrator can disable live reconfiguration.
Prints command usage to stderr and exits. Use for more information about allowed actions, objects, and the keywords that can be used with each object type.
bconf -h action lists allowed object types for the action specified.
bconf -h action object_type lists allowed value pairs for the action and object_type specified. The -h option can be omitted if the action object-type are both specified.
Prints LSF release version to stderr and exits.
bconf hist displays bconf events in shortened form, without comments or details of affected objects. Column content is truncated as required and marked with ’*’.
Time of bconf request.
The type of object specified.
The name of the object specified.
Action performed on the object.
User who made the bconf request.
All objects changed as a result of the bconf request.
For example:
bconf hist -u all
TIME OBJECT NAME ACTION USER IMPACTED_OBJ
Nov 9 15:19:50 2010 limit aaa create ellen limit=aaa
Nov 9 15:19:46 2010 limit aaa update leyang limit=aaa
Nov 9 15:19:37 2010 usergroup ug1 delete ellen queue=normal owners*
limit=bbb
usergroupr=ug1
Nov 9 15:19:28 2010 queue normal update leyang queue=normal
Nov 9 15:19:10 2010 host host1 update ellen host=host1
Wide output displays the same columns, but without truncating column contents.
bconf hist -w
TIME OBJECT NAME ACTION USER IMPACTED_OBJ
Nov 9 15:19:50 2011 limit aaa create ellen limit=aaa
Nov 9 15:19:46 2011 limit aaa update leyang limit=aaa
Nov 9 15:19:37 2011 usergroup ug1 delete ellen queue=normal owners q1 q2 q3; limit=bbb;
usergroup=ug1
Long output displays all details of the requested bconf events, including the new value of each impacted object. Names of changed configuration files are included. For example:
bconf hist -l
Mon Nov 18 15:19:45 2009: Limit <aaa> created by user <admin1> with requested values
<PER_HOST=all; RESOURCE=[A,5]; USERS=ug1 ug2 ug3> and comments <This is an example of a create
action on a limit object named aaa.>
Changes made:
Limit <aaa> created in lsb.resources with <PER_HOST=all; RESOURCE=[A,5]; USERS=ug1 ug2 ug3>
---------------------------------------------------------
Mon Nov 18 15:19:45 2009: Usergroup <ug1> deleted by user <admin1> with comments <This is an
example of a delete action on a usergroup object named ug1.>
Changes made:
Usergroup <ug1> deleted in lsb.users
Limit <aaa> updated in lsb.resources with <USERS=ug2>
Queue <owners> updated in lsb.queues with <USERS=ug2 ug3>
---------------------------------------------------------
Mon Nov 18 15:19:45 2009: Queue <q1> updated by user <admin2> with requested values
<FAIRSHARE=USERSHARE[[ellen, 2]];QJOB_LIMIT=10> and comments <This is an example of an update
action on a queue object named q1.>
Changes made:
Queue <q1> updated in lsb.queues with <QJOB_LIMIT=10>
---------------------------------------------------------
Mon Nov 18 15:19:45 2009: Limit <aaa> member added by user <admin2> with requested values
<USERS=julie> and comments <This is an example of an addmember action on a limit object named
aaa.>
Changes made:
Limit <aaa> updated in lsb.resources with <USERS=ellen user4 julie>
---------------------------------------------------------
Wed Jul 28 17:16:28 2010: Host <host78> added by user <usr9> with requested value <mem=500/100>
Changes made:
Host <host78> added in <lsf.cluster.x123> with <hostname=host78>
Host <host78> added in <lsb.hosts> with <HOST_NAME=host78; MXJ=!; mem=500/100>
---------------------------------------------------------
Wed Jul 28 17:17:08 2010: Host <host78> updated by user <usr9> with requested value <mem=500/100>
Changes made:
Host <host78> updated in <lsb.hosts> with <mem=500/100>
The exit code is 0 if command executed properly; otherwise the exit code is negative and indicates the number of key-value pairs containing errors.
lsb.queues, lsb.hosts, lsb.resources, lsb.users, lsf.cluster, lsf.conf