Documentation


Configuration

The Remote Services agent has a number of configuration properties that affect its behavior. These can be controlled using a grb_rs.cnf configuration file. By default, this file must be located in the same directory as the grb_rs executable. The installation package includes a predefined configuration file that can be used as a starting point (<installdir>/bin/grb_rs.cnf).

You can edit the default configuraton file or override it as grb_rs will use the following precedence rules:

  • command line flag --config
  • current directory
  • shared directory (C:\gurobi, /opt/gurobi, /Library/gurobi depending on windows, linux and mac platforms respectively)
  • directory where grb_rs is located

The configuration file contains a list of properties of the form PROPERTY=value. Lines that begin with the # symbol are treated as comments and are ignored. Here is an example:

# grb_rs.cnf configuration file
PASSWORD=abcd1234
ADMINPASSWORD=1234abcd
While you could create this file from scratch, we recommend you start with the version of this file that is included with the product and modify it instead.

Examples of properties that are configured through this file are client and administrator passwords, communication options, and job processing options. The command grb_rs properties lists all the available properties, the default values, and provides documentation for each. Some properties can be overriden on the command line of grb_rs; the name of the command-line flag you would use to do so is provided as well.

Some properties are important and must be changed for a production deployment:

HOSTNAME
This must be the DNS name of the node that can be resolved from the other nodes or the clients in your network. grb_rs tries to get a reasonable default value, but this value may still not be resolved by clients and could generate connection errors. It this case, you need to override this name in the configuration file with a fully qualified name of your node, for example:
HOSTNAME=server1
If the names cannot be resolved by clients, another option is to use IP addresses directly, in this case set this property to the IP address of the node.

CLUSTER_TOKEN
The token is a private key that enables different nodes to join the same cluster. All nodes of a cluster must have the same token. We recommended that you generate a brand new token when you set up your cluster. The grb_rs token command will generate a random token, which you can copy into the configuration file.

PASSWORD
This is the password that clients must supply in order to access the cluster. It can be stored in clear text or hashed. We recommended that you create your own password, and that you store it in hashed form. You can use the grb_rs hash command to compute the hashed value for your chosen password.
grb_rs hash newpass
$$ppEieKZExlBR-pCSUMlmc4oWlG8nZsUOE2IM0hJbzsmV_Yjj
Then copy and paste the value in the configuration file:
PASSWORD=$$ppEieKZExlBR-pCSUMlmc4oWlG8nZsUOE2IM0hJbzsmV_Yjj

The default password is pass.

ADMINPASSWORD
This is the password that clients must supply in order to run restricted administrative job commands. It can be stored in clear text or hashed. We recommended that you create your own password, and that you store it in hashed form. You can use the grb_rs hash command to compute the hashed value for your chosen password. The default password is admin.

CLUSTER_ADMINPASSWORD
This is the password that clients must supply in order to run restricted administrative cluster commands. It can be stored in clear text or hashed. We recommended that you create your own password, and that you store it in hashed form. You can use the grb_rs hash command to compute the hashed value for your chosen password. The default password is cluster.

JOBLIMIT
This property sets the maximum number of jobs that can run concurrently when using Compute Server on a specific node. The limit can be changed on a running cluster using the grbcluster config command, in which case the new value will persist and the value in the configuration file will be ignored from that point on (even if you stop and restart the cluster).

HARDJOBLIMIT
Certain jobs (those with priority 100) are allowed to ignore the JOBLIMIT, but they aren't allowed to ignore this limit. Client requests beyond this limit are queued. This limit is set to 0 by default which means that it is disabled.

CLIENT_DETAILS_ADMIN
When a job is submitted, the client hostname, IP, and process ID are recorded. By default, this information is displayed to any user running the command line tool grbcluster or the REST API. If this property is set to true, only the administrator will be able to access this information.

USERNAME_ADMIN
When a job is submitted, the client process username is recorded. By default, this information is displayed to any user running the command line tool grbcluster or the REST API. If this property is set to true, only the administrator will be able to access this information.

The configuration file is only read once, when grb_rs first starts. Subsequent changes to the file won't affect parameter values on a running server.