(Click to open topic with navigation)
This topic provides instructions to upgrade Moab Web Services to the latest release version using the RPM upgrade method.
These instructions assume you are upgrading MWS from version 8.0 or later. If you are upgrading MWS from a version prior to 8.0, contact your Adaptive Computing account manger for more information.
Because many system-level files and directories are accessed during the installation, the instructions in this guide should be executed with root privileges.
You will see that the instructions execute commands as the root user. Please note that the same commands will work for a non-root user with the sudo command.
Do the following:
Oracle Java 8 Runtime Environment is the recommended Java environment, but Oracle Java 7 is also supported. All other versions of Java, including OpenJDK/IcedTea, GNU Compiler for Java, and so on cannot run MWS.
If you wish to upgrade to Java 8, refer to the 2.5.2.A Install Java instructions.
You must complete all the previous upgrade steps in this topic before upgrading MWS server. See the list of steps at the beginning of this topic.
The MWS RPM automatically creates a backup of all relevant files. These backups are stored in /var/tmp/backup-<rpmName>-<timestamp>.tar.gz.
If changes are detected between any existing configuration files and new configuration files, a version of the new configuration file will be saved under <configurationFileLocation>/<fileName>.rpmnew.
On the MWS Server Host, do the following:
If your prior MWS Server version used Tomcat 6, disable the tomcat 6 service.
[root]# service tomcat6 stop
[root]# chkconfig tomcat6 off
Tomcat 6 is not supported for MWS 9.0 and after. The MWS RPM will automatically install Tomcat 7.
If your prior MWS Server version used Tomcat 7, stop the tomcat 7 service.
[root]# service tomcat stop
Back up the MWS home directory.
[root]# cp -r /opt/mws /opt/mws-<version>-backup
Where <version> if the product version being backed up.
[root]# yum update moab-web-services*
Depending on your current MWS version, do the following as needed:
Version 9.1 removed the Insight PostreSQL database.
insight.server is the DNS name of the host on which the Insight Server is running.
Edit the grails.plugin.springsecurity.oauthProvider.clients array in /opt/mws/etc/mws-config.groovy and specify a client id and a client secret. Leave the authorizedGrantTypes field unchanged.
The following is a suggested script for generating the client secret:
dd if=/dev/urandom count=24 bs=1 2>/dev/null | base64
[root]# vi /opt/mws/etc/mws-config.groovy grails.plugin.springsecurity.oauthProvider.clients = [ [ clientId: "viewpoint", clientSecret: "<ENTER-CLIENTSECRET-HERE>", authorizedGrantTypes: ["password"] ] ]
// Any settings in this file may be overridden by any // file in the mws.d directory. // Change these to be whatever you like. auth.defaultUser.username = "moab-admin" auth.defaultUser.password = "changeme!" // Moab Workload Manager configuration. moab.secretKey = "<ENTER-KEY-HERE>" moab.server = "localhost" moab.port = 42559 moab.messageDigestAlgorithm = "SHA-1" // MongoDB configuration. // grails.mongo.username = "mws_user" // grails.mongo.password = "<ENTER-KEY-HERE>" // Insight configuration. // insight.server = "localhost" // insight.command.port = 5568 // insight.command.timeout.seconds = 5 // Message bus configuration. moab.messageQueue.port = 5570 // moab.messageQueue.secretKey = "<ENTER-KEY-HERE>" mws.messageQueue.address = "*" mws.messageQueue.port = 5564 // Sample OAuth Configuration grails.plugin.springsecurity.oauthProvider.clients = [ [ clientId : "viewpoint", clientSecret : "<ENTER-CLIENTSECRET-HERE>", authorizedGrantTypes: ["password"] ] ] // Sample LDAP Configurations // Sample OpenLDAP Configuration //ldap.server = "192.168.0.5" //ldap.port = 389 //ldap.baseDNs = ["dc=acme,dc=com"] //ldap.bindUser = "cn=Manager,dc=acme,dc=com" //ldap.password = "*****" //ldap.directory.type = "OpenLDAP Using InetOrgPerson Schema" // Sample Active Directory Configuration //ldap.server = "192.168.0.5" //ldap.port = 389 //ldap.baseDNs = ["CN=Users,DC=acme,DC=com","OU=Europe,DC=acme,DC=com"] //ldap.bindUser = "cn=Administrator,cn=Users,DC=acme,DC=com" //ldap.password = "*****" //ldap.directory.type = "Microsoft Active Directory" log4j = { // Configure an appender for the events log. def eventAppender = new org.apache.log4j.rolling.RollingFileAppender( name: 'events', layout: pattern(conversionPattern: "%m%n")) def rollingPolicy = new org.apache.log4j.rolling.TimeBasedRollingPolicy( fileNamePattern: '/opt/mws/log/events.%d{yyyy-MM-dd}', activeFileName: '/opt/mws/log/events.log') rollingPolicy.activateOptions() eventAppender.setRollingPolicy(rollingPolicy) // Configure an appender for the audit log. def auditAppender = new org.apache.log4j.rolling.RollingFileAppender( name: 'audit', layout: new com.ace.mws.logging.ACPatternLayout("%j\t\t\t%c{1}\t\t\t%m%n")) def auditRollingPolicy = new org.apache.log4j.rolling.TimeBasedRollingPolicy( fileNamePattern: '/opt/mws/log/audit.%d{yyyy-MM-dd}', activeFileName: '/opt/mws/log/audit.log') auditRollingPolicy.activateOptions() auditAppender.setRollingPolicy(auditRollingPolicy) appenders { rollingFile name: 'stacktrace', file: '/opt/mws/log/stacktrace.log', maxFileSize: '100MB' rollingFile name: 'rootLog', file: '/opt/mws/log/mws.log', maxFileSize: '100MB', //The maximum file size for a single log file maxBackupIndex: 10, //Retain only the 10 most recent log files, delete older logs to save space layout: new com.ace.mws.logging.ACPatternLayout(), //Configures the output format of each log entry threshold: org.apache.log4j.Level.ERROR //Ignore any logging entries less verbose than this threshold appender eventAppender appender auditAppender } // NOTE: This definition is a catch-all for any logger not defined below root { error 'rootLog' } // Individual logger configurations debug 'com.ace.mws', 'grails.app.conf.BootStrap', 'grails.app.controllers.com.ace.mws', 'grails.app.domain.com.ace.mws', 'grails.app.filters.com.ace.mws', 'grails.app.services.com.ace.mws', 'grails.app.tagLib.com.ace.mws', 'grails.app.jobs.com.ace.mws', 'grails.app.gapiParsers', 'grails.app.gapiRequests', 'grails.app.gapiSerializers', 'grails.app.translators', 'plugins' // MWS plugins info 'com.ace.mws.gapi.Connection', 'com.ace.mws.gapi.parsers', 'grails.app.service.grails.plugins.reloadconfig', 'com.ace.mws.gapi.serializers' off 'org.codehaus.groovy.grails.web.errors' // Logs event information to the events log, not the rootLog trace additivity: false, events: 'com.ace.mws.events.EventFlatFileWriter' // Logs audit information to the audit log, not the rootLog trace additivity: false, audit: 'mws.audit' }
The following is an example of the merged /opt/mws/etc/mws-config.groovy file for MWS 9.0:
[root]# cd /opt/mws/plugins [root]# rm *.jar
CATALINA_OPTS="-DMWS_HOME=/opt/mws -Xms256m -Xmx3g -XX:MaxPermSize=384m -Dfile.encoding=UTF8" JAVA_HOME="/usr/java/latest"
MaxPermSize is ignored using Java 8; and therefore can be omitted.
[root]# service tomcat start