5.315 Configuration

These properties can be modified by setting the appropriate values in the mws-config.groovy file. This file is located in MWS_HOME/etc/ or /opt/mws/etc/ by default as explained in Configuring Moab Web Services.

For documentation clarity, "/opt/mws/" is used in the file names instead of "MWS_HOME".

The configuration file is read not only on startup, but also each time it is changed. Several properties, including those for Moab Workload Manager (moab), Moab Accounting Manager (mam), Mongo (grails.mongo), and authentication (auth) are processed after each change and can affect the runtime behavior of MWS.

Configuration files can also be placed in the /opt/mws/etc/mws.d directory. Any configuration files here get merged with /opt/mws/etc/mws-config.groovy. In case of conflict, the configuration in /opt/mws/etc/mws.d takes precedence.

Configuration reference

For all possible values that can be set, please see the Grails reference guide. For project specific settings (usually the only ones you'll need to change), you may set the following properties:

Property Type Default Description
auth.defaultUser.password String changeme! Unencoded password of the default admin user.
auth.defaultUser.username String moab-admin Username of the default admin user (only created if no other users exist).
grails.mime.use.accept.header Boolean false When enabled, uses the HTTP Content-Accept header to determine the content type used for return data (JSON only for now).
grails.mongo.databaseName String mws The MongoDB database name to use.
grails.mongo.host String 127.0.0.1 The MongoDB host to use (Note that MongoDB runs on 127.0.0.1 and not localhost by default).
grails.mongo.options.autoConnectRetry Boolean true Controls whether the system retries automatically on connection errors.
grails.mongo.options.connectionsPerHost Integer 50 The number of connections allowed per host.
grails.mongo.options.threadsAllowedToBlockForConnectionMultiplier Integer 5 The number of threads per connection allowed to wait for an available connection.
grails.mongo.options.ssl Boolean false Specifies whether the driver should use an SSL connection to MongoDB.
grails.mongo.password String - (Optional) The password to use when connecting to MongoDB.
grails.mongo.port Integer 27017 The MongoDB port to use.
grails.mongo.replicaSet List of Strings n/a The MongoDB replica set servers to use (for example, ["moab1:27017","moab2:27017"]); note that grails.mongo.host must be set to null to use this option.
grails.mongo.username String - (Optional) The username to use when connecting to MongoDB.
grails.plugins.springsecurity.active Boolean true Enables or disables security for MWS as a whole, including all providers.
grails.plugins.springsecurity.basic.realmName String Moab Web Services The HTTP realm used when using basic auth.
grails.plugins.springsecurity.oauthProvider.active Boolean true Enables or disables the OAuth2 provider.
grails.plugins.springsecurity.useBasicAuth Boolean true Enables or disables basic auth with a simple username/password.
insight.command.port Integer 5568 The port on which Insight accepts commands.
insight.command.timeout.seconds Integer 5 Number of seconds MWS waits for Insight to respond.
insight.server String localhost The Insight server's host name or IP address.
ldap.baseDNs List of Strings - A list of distinguished names that are the root entries for LDAP searches.
ldap.bindUser String - The distinguished name of the LDAP bind user.
ldap.directory.type String - The type of LDAP directory (for example, "Microsoft Active Directory"). See Configuring Moab Web Services for valid values..
ldap.password String - The password of the LDAP bind user
ldap.port Integer - LDAP server's port
ldap.security.type String -

How the connection between MWS and LDAP is secured. See Setting up MWS Security for more information.

ldap.server String - LDAP server hostname or IP address
mam.messageDigestAlgorithm String SHA-1 The message digest algorithm that MWS uses to communicate with Moab Accounting Manager. For now, MAM supports only SHA-1.
mam.port Integer 7112 Moab Accounting Manager server's port
mam.secretKey String mamsecret Secret key used to communicate with Moab Accounting Manager
mam.server String localhost Moab Accounting Manager server hostname or IP address
moab.databaseName String moab The name of the MongoDB database to use to retrieve current Moab data; this should match the database setting in Moab.
moab.messageDigestAlgorithm String SHA1

The message digest algorithm that MWS uses to communicate with Moab Workload Manager. Possible values are SHA-1 and SHA-512.

If the Moab parameter SERVERCSALGO is set to HMAC64, then moab.messageDigestAlgorithm must be set to SHA-1. Likewise, if SERVERCSALGO is set to HMACSHA2, then moab.messageDigestAlgorithm must be set to SHA-512.

moab.messageQueue.port Integer 5570 The port on which Moab publishes ZeroMQ messages.
moab.messageQueue.secretKey String -

Used to encrypt and decrypt messages on the message queue using AES.

Must be a Base64-enoded 128-bit (16-byte) key. For example: "1r6RvfqJa6voezy5wAx0hw=="

moab.port Integer 42559 Moab server's port
moab.secretKey String moabsecret Secret key used to communicate with Moab. See Moab Configuration.
moab.server String localhost Moab server hostname or IP address
mws.cache.duration.default Integer 60 The default number of seconds to use for caching objects from Moab. This is only supported in certain objects such as policies.
mws.cache.duration.policy Integer 180 The number of seconds that the cache for policies is valid. If set to null, the default is used.
mws.certificates.location String etc/ssl.crt The directory (relative or absolute) where plugin certificates are stored. See the Managing SSL Connections.
mws.events.expireAfterSeconds Integer 2592000 Events older than this many seconds (30 days by default) will be deleted from the database. Effective only with MongoDB 2.2 or later.
mws.health.check.period Integer 30 The number of seconds in between health checks. Used in creating notification conditions if problems exist in configuration or connections. For more information, see Notification Conditions.
mws.hooks.location String hooks The directory (relative or absolute) where Hooks are stored. See Pre- and Post-Processing Hooks for more information.
mws.messageQueue.address String - The IP address on which MWS publishes ZeroMQ messages.
mws.messageQueue.port Integer 5564 The port on which MWS publishes ZeroMQ messages.
mws.plugins.location String plugins The directory (relative or absolute) where Plugins are stored. See About Moab Web Services Plugins for more information.
mws.services.hooks.syncInterval Integer 30 The number of seconds between each time MWS checks for service phase transition hooks that completed or timed out.
mws.services.phases.syncInterval Integer 14400 The number of seconds between each time MWS checks with Moab Workload Manager to verify that the service phases are correctly synchronized.
mws.suite String CLOUD The suite or context that MWS is running in (see Suite for valid values)
pam.configuration.service String - The PAM service to authenticate against. For example, login. For more information, see PAM (Pluggable Authentication Module) Configuration Using /opt/mws/etc/mws-config.groovy.
plugins.autoStart Boolean true Default configuration value for the plugin autoStart field (see Setting Default Plugin Configuration).
plugins.config Map - Default configuration value for the plugin config field (see Setting Default Plugin Configuration).
plugins.defaultHypervisorType String ESX This is reported to Moab when a node report references a hypervisor image that does not have the hypervisorType or extensions.xcat.hvType fields set. See Fields: Images.
plugins.loadInitialPlugins Boolean true If true, loads the initial plugins defined for uploaded or built-in plugin types (see Plugin Projects and Metadata).
plugins.pluginType String - Default configuration value for the plugin pluginType field (see Setting Default Plugin Configuration).
plugins.pollInterval Integer 30 Default configuration value for the plugin pollInterval field (see Setting Default Plugin Configuration).
plugins.stateConsolidationPolicy NodeStatePolicy null If "optimistic", treats state data optimistically. If "pessimistic", treats state state pessimistically. May be null. See Data Consolidation for more information.

Logging reference

The following loggers are available to use for debugging purposes:

Logger Default Description
com.ace.mws debug The base logger for MWS specific functionality not included in other loggers (this comprises very few classes).
com.ace.mws.gapi warn Base logger for all Moab connections, requests, and responses.
com.ace.mws.gapi.Connection info Logger which controls all requests and responses from Moab.
com.ace.mws.gapi.parsers info Loggers for parsers of Moab's data.
com.ace.mws.gapi.serializers info Loggers for all serialization from MWS to Moab Wire Protocol.
com.ace.mws.hooks.HookUtils debug Helper class for loading hooks during startup process.
com.ace.mws.plugins debug MWS plugin helper class, used to create and initialize plugins.
grails.app debug Most classes in the main MWS application.
grails.app.bootstrap.BootStrap debug Handles startup and initialization of MWS.
grails.app.service.grails.plugins.reloadconfig info Handles dynamic reloading of configuration files.
grails.app.services.com.ace.mws.plugins.PluginUtilityService debug Class for initializing and helper methods of plugins.
net.sf.json error JSON and XML processing library.
org.codehaus.groovy.grails.commons error Core application and classloading.
org.codehaus.groovy.grails.plugins error All grails plugins (MWS internal).
org.codehaus.groovy.grails.web.servlet error Loggers for request handlers.
org.codehaus.groovy.grails.web.mapping error URL mapping.
org.codehaus.groovy.grails.web.mapping.filter error URL mapping.
org.springframework.security info Authentication/authorization logger.
plugins debug All MWS plugins (see About Moab Web Services Plugins).

Related Topics 

© 2016 Adaptive Computing