(Quick Reference)

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 the configuration guide.

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

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:

PropertyTypeDefaultDescription
grails.mongo.hostString127.0.0.1The MongoDB host to use (Note that MongoDB runs on 127.0.0.1 and not localhost by default)
grails.mongo.portInteger27017The MongoDB port to use
grails.mongo.replicaSetList of Stringsn/aThe MongoDB replica set servers to use (e.g. ["moab1:27017","moab2:27017"]); note that grails.mongo.host must be set to null to use this option
grails.mongo.databaseNameStringmwsThe MongoDB database name to use
grails.mongo.usernameString-(Optional) The username to use when connecting to MongoDB
grails.mongo.passwordString-(Optional) The password to use when connecting to MongoDB
grails.mongo.options.connectionsPerHostInteger50The number of connections allowed per host
grails.mongo.options.threadsAllowedToBlockForConnectionMultiplierInteger5The number of threads per connection allowed to wait for an available connection
grails.mongo.options.autoConnectRetryBooleantrueControls whether the system retries automatically on connection errors
grails.mime.use.accept.headerBooleanfalseWhen enabled, uses the HTTP Content-Accept header to determine the content type used for return data (JSON only for now)
auth.defaultUser.usernameStringadminUsername of the default admin user (only created if no other users exist)
auth.defaultUser.passwordStringadminpwUnencoded password of the default admin user, must be different from username
grails.plugins.springsecurity.basic.realmNameStringMoab Web ServicesThe HTTP realm used when using basic auth
grails.plugins.springsecurity.activeBooleantrueEnables or disables security for MWS as a whole, including all providers
grails.plugins.springsecurity.useBasicAuthBooleantrueEnables or disables basic auth with a simple username/password
grails.plugins.springsecurity.oauthProvider.activeBooleantrueEnables or disables the OAuth2 provider
ldap.baseDNsList of Strings-A list of distinguished names that are the root entries for LDAP searches
ldap.bindUserString-The distinguished name of the LDAP bind user
ldap.directory.typeString-The type of LDAP directory (e.g. "Microsoft Active Directory"). See Configuration for valid values.
ldap.passwordString-The password of the LDAP bind user
ldap.portInteger-LDAP server's port
ldap.security.server.certificateString-The filename of the LDAP server's PEM encoded X.509 certificate. See Security for more information.
ldap.security.typeString-How the connection between MWS and LDAP is secured. See Security for more information.
ldap.serverString-LDAP server hostname or IP address
moab.serverStringlocalhostMoab server hostname or IP address
moab.portInteger42559Moab server's port
moab.secretKeyStringmoabsecretSecret key used to communicate with Moab, see Moab Configuration
moab.databaseNameStringmoabThe name of the MongoDB database to use to retrieve current MWM data; this should match the database setting in MWM
mam.serverStringlocalhostMoab Accounting Manager server hostname or IP address
mam.portInteger7112Moab Accounting Manager server's port
mam.secretKeyStringmamsecretSecret key used to communicate with Moab Accounting Manager
mws.suiteStringCLOUDThe suite or context that MWS is running in (see Suite for valid values)
mws.hooks.locationStringhooksThe directory (relative or absolute) where Hooks are stored. See the hooks section for more information.
mws.plugins.locationStringpluginsThe directory (relative or absolute) where Plugins are stored. See the plugins section for more information.
mws.certificates.locationStringetc/ssl.crtThe directory (relative or absolute) where plugin certificates are stored. See the Managing SSL Connections section for more information.
mws.docs.maxResultsInteger100Maximum number of results to return for a single search in the documentation
mws.cache.duration.defaultInteger60The default number of seconds to use for caching objects from Moab. This is only supported in certain objects such as policies.
mws.cache.duration.policyInteger180The number of seconds that the cache for policies is valid. If set to null, the default is used.
plugins.pluginTypeString-Default configuration value for the plugin pluginType field (see Setting Default Plugin Configuration).
plugins.autoStartBooleantrueDefault configuration value for the plugin autoStart field (see Setting Default Plugin Configuration).
plugins.pollIntervalInteger30Default configuration value for the plugin pollInterval field (see Setting Default Plugin Configuration).
plugins.configMap-Default configuration value for the plugin config field (see Setting Default Plugin Configuration).
plugins.loadInitialPluginsBooleantrueIf true, loads the initial plugins defined for uploaded or built-in plugin types (see Plugin Projects and Metadata).
plugins.stateConsolidationPolicyNodeStatePolicynullIf "optimistic", treats state data optimistically. If "pessimistic", treats state state pessimistically. May be null. See Plugin Data Consolidation for more information.
plugins.defaultHypervisorTypeStringESXThis is reported to MWM when a node report references a hypervisor image that does not have the hypervisorType or extensions.xcat.hvType fields set. See ImageHypervisorType.

Logging Reference

The following loggers are available to use for debugging purposes:

LoggerDefaultDescription
grails.appdebugMost classes in the main MWS application
grails.app.bootstrap.BootStrapdebugHandles startup and initialization of MWS
com.ace.mwsdebugThe base logger for MWS specific functionality not included in other loggers (this comprises very few classes)
grails.app.services.com.ace.mws.plugins.PluginUtilityServicedebugClass for initializing and helper methods of plugins
com.ace.mws.hooks.HookUtilsdebugHelper class for loading hooks during startup process
pluginsdebugAll MWS plugins
com.ace.mws.pluginsdebugMWS plugin helper class, used to create and initialize plugins
com.ace.mws.gapiwarnBase logger for all Moab connections, requests, and responses
com.ace.mws.gapi.ConnectioninfoLogger which controls all requests and responses from Moab
com.ace.mws.gapi.parsersinfoLoggers for parsers of Moab's data
com.ace.mws.gapi.serializersinfoLoggers for all serialization from MWS to Moab Wire Protocol
grails.app.service.grails.plugins.reloadconfiginfoHandles dynamic reloading of configuration files
net.sf.jsonerrorJSON and XML processing library
org.springframework.securityinfoAuthentication/authorization logger
org.codehaus.groovy.grails.web.servleterrorLoggers for request handlers
org.codehaus.groovy.grails.web.mappingerrorURL mapping
org.codehaus.groovy.grails.web.mapping.filtererrorURL mapping
org.codehaus.groovy.grails.pluginserrorAll grails plugins (MWS internal)
org.codehaus.groovy.grails.commonserrorCore application and classloading