This guide explains how to upgrade OnApp Cloud v4.1 to the v4.2 for the cloud where all servers are static.Follow the procedure listed below in the correct order to upgrade your cloud. All packages (Control Panel and Compute resources) must belong to the same major version to ensure the best performance of your cloud.

Xen CentOS 6 compute resources will be upgraded to Xen 4.4.x. This will require the compute resource reboot. Please ensure to migrate VS to another compute resource or stop them prior to each compute resource upgrade. To upgrade a compute resource with minimal downtime (if you have a spare compute resource):

  1. Migrate running VSs from this compute resource to another one.
  2. Update the compute resource and reboot it.
  3. Bring back VSs to this compute resource using cold migration.

On this page:

Search for other docs:



Important Notes

  1. You must be running the latest patch of OnApp 4.1 version to upgrade to 4.2 version. If you are using an earlier version, please upgrade to 4.1. first.
  2. Check the Activity Log in your OnApp CP dashboard if there are no transactions running in your cloud. If so, wait until all transactions are complete.
  3. Make sure no Control Panel files are open for editing under the root user account.

  4. If you are using a third-party billing platform, please ensure that this is compatible with OnApp 4.2 before proceeding with the upgrade! The latest WHMCS modules can be found here.

  5. If you are using WHMCS modules, make sure to update the PHP Wrapper after you update OnApp Cloud. Download the latest wrapper.

  6. We strongly recommend that you test all your custom scripts before upgrading your production environment.

  7. To avoid VNC console issues, make sure that ServerName Apache settings match the SSL certificate.
  8. Note that if you are using Floating IPs in your environment or if you have VS with primary IPs which could respond to your Control Panel server from elsewhere on your network we would recommend to disable the new 'Ping hosted virtual servers before initiating failover' setting to avoid the possibility of a false-positive ICMP result.
  9. Be aware that OnApp does not support UEFI on static compute resources. You should disable UEFI on your compute resources before installing OnApp.
  • Drives assigned for use by Integrated Storage are identified using a disk signature that is generated using SCSI page query mechanism to the device. Please note that disk signatures may change across different kernel versions following an upgrade and reboot. If this occurs, go to the compute resource edit page to re-identify and select the correct drives. Please contact support if you have any concerns regarding this operation.
  • If you are an Accelerator Beta customer, please contact OnApp support to discuss upgrading.

Upgrade Static Compute Resources

At first upgrade your static compute resources.

  1. Make sure your compute resource is visible and online in the Control Panel.

  2. Download and install the latest OnApp YUM repository file:

    bash#> rpm -Uvh
  3. Upgrade OnApp compute resource installer package:

    yum update onapp-hv-install
  4. Update your server OS components (if required):

    For XEN compute resource:

    bash# /onapp/onapp-hv-install/ -y

    For KVM compute resource:

    bash# /onapp/onapp-hv-install/ -y
  5. Run compute resource installer:
    For XEN compute resource:

    bash# /onapp/onapp-hv-install/ 

    For KVM compute resource:

    bash# /onapp/onapp-hv-install/

    Reboot XEN compute resource, which is running on CentOS 6.x, after upgrade to 4.4.3 XEN version.

    Perform the following steps if you plan to deploy Accelerator. Otherwise skip.

  6. Copy file:

    cp /home/mq/onapp/messaging/credentials{_example,}.yml
  7. Open vi /home/mq/onapp/messaging/credentials.yml and check the following details:

    port: 5672  	# RABBITMQ CONNECTION PORT(default: 5672)
    vhost: '/'  	
    user: accelerator-example # RABBITMQ USER NAME
    password: 'e{y31?s8l' # RABBITMQ ACCESS PASSWORD
    queue: 'hv-' # hv-[IP Address of Compute Resource]
      name: 'acceleration'
      type: 'direct'
      durable: True 
  8. Change owner:

    chown -R mq:mq /home/mq
  9. Reboot static compute resources.

Upgrade Static Backup Servers

After you upgraded static compute resources, proceed to static backup servers upgrade.

  1. Download the OnApp repository:

    bash#> rpm -Uvh
  2. Update the package:

    yum update onapp-bk-install
  3. Run the following script:

  4. Update your server OS components (if required):

    bash#> /onapp/onapp-bk-install/ -y



Upgrade Control Panel Server


To upgrade your Control Panel server:

  1. Stop the Monit service:

    # service monit stop
  2. Run the following command from the CP server to stop the OnApp service:

    service onapp stop
  3. Download and install the latest OnApp YUM repository file:

    bash#> rpm -Uvh
  4. Upgrade OnApp Control Panel installer package:

    bash#> yum update onapp-cp-install

  5. Update your server OS components (if required):

    bash# /onapp/onapp-cp-install/ -y
  6. (Optional) If you need some custom Control Panel configuration, set the values before the installer script runs.

    Template server URL


    # IPs (separated with coma) list for the snmp to trap


    # OnApp Control Panel custom version


    # OnApp MySQL/MariaDB connection data (database.yml)


    # MySQL/MariaDB server configuration data (in case of local server)


    # Use MariaDB instead of MySQL as OnApp database server (Deprecated parameter. If you set any values for this parameter, they will not take effect)


    # Configure the database server relative amount of available RAM (Deprecated parameter. If you set any values for this parameter, they will not take effect)


    # The number of C data structures that can be allocated before triggering the garbage collector. It defaults to 8 million


    # sysctl.conf net.core.somaxconn value


    # The root of OnApp database dump directory (on the Control Panel box)


    # Remote server's (to store database dumps) IP, user, path, openssh connection options ans number of dumps to keep

    DB_DUMP_SERVER_SSH_OPT="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o PasswordAuthentication=no"
    DB_DUMP_CRON='40 * * * *'

    # Enable monit - tool for managing and monitoring Unix systems


    # If enabled (the 1 value is set) - install (if local box) and configures RabbitMQ Server (messaging system) for the vCloud support. (Deprecated parameter. If you set any values for this parameter, they will not take effect)




    # Rotate transactions' log files created more than TRANS_LOGS_ROTATE_TIME day(s) ago




    # Maximum allowed for uploading file size in bytes, from 0 (meaning unlimited) to 2147483647 (2GB). Default is 1GB




    # Timeout before ping Redis Server to check if it is started. Default is 5 sec.



    # OnApp Control Panel SSL certificates (please do not change if you aren't familar with SSL certificates)
    # * The data below to generate self-signed PEM-encoded X.509 certificate

    SSL_CERT_COMMON_NAME=`hostname --fqdn 2>/dev/null`


    #   SSLCertificateFile, SSLCertificateKeyFile Apache directives' values
    #   ssl_certificate, ssl_certificate_key Nginx directives' values


    # * PEM-encoded CA Certificate (if custom one exists)

    #   SSLCACertificateFile, SSLCertificateChainFile Apache directives' values
    #   ssl_client_certificate Nginx directives' values


    #   SSLCipherSuite, SSLProtocol Apache directives' values
    #   ssl_ciphers, ssl_protocols Nginx directives' values



    bash# vi /onapp/onapp-cp.conf

    If the onapp-cp.conf file is not configured correctly, it will replace the SSL files with a self-signed even if a legitimate certificate is already installed.

  7. Run Control Panel installer:

    bash#> /onapp/onapp-cp-install/

    Customers running vCloud integration, run Control Panel installer with specified rake task:

    # /onapp/onapp-cp-install/ --rake='vcloud:resync'




    /onapp/onapp-cp-install/ [-c CONFIG_FILE] [--mariadb | --percona | --percona-cluster] [-m MYSQL_HOST] [-p MYSQL_PASSWD] [-d MYSQL_DB] [-u MYSQL_USER] [-U ADMIN_LOGIN] [-P ADMIN_PASSWD] [-F ADMIN_FIRSTNAME] [-L ADMIN_LASTNAME] [-E ADMIN_EMAIL] [-v ONAPP_VERSION] [-i SNMP_TRAP_IPS] [--redis-host=REDIS_HOST] [--redis-passwd[=REDIS_PASSWD] [--redis-port=REDIS_PORT] [--redis-sock=REDIS_PATH] [--rbthost RBT_HOST] [--vcdlogin VCD_LOGIN] [--vcdpasswd VCD_PASSWD] [--vcdvhost VCD_VHOST] [--rbtlogin RBT_LOGIN] [--rbtpasswd RBT_PASSWD] [-a] [-y] [-D] [-t] [--noservices] [-h]



     Database server options:Default database SQL server is MySQL Server. Please use one of the following option to install LOCALLY.
    --mariadbMariaDB Server
    --perconaPercona Server
    --percona-clusterPercona Cluster
    MYSQL_*Options are useful if MySQL is already installed and configured.
    -m MYSQL_HOSTMySQL host. Default is 'localhost'
    -p MYSQL_PASSWDMySQL password. Random is generated if is not set or specified.
    -d MYSQL_DBOnApp MySQL database name. Default is 'onapp'
    -u MYSQL_USERMySQL user
    REDIS_*Options are useful if Redis Server is already installed and configured.

    IP address/FQDN where Redis Server runs.
    The Redis Server will be installed and configured on the current box if localhost/ or box's public IP address (listed in SNMP_TRAP_IPS) is specified.
    If local Redis, it will serve as well on the unix socket '/tmp/redis.sock'.
    Default value is
    --redis-port=REDIS_PORTRedis Server listen port.
    Defaults are:
    0 - if local server
    6379 - if remote server
    --redis-passwd[=REDIS_PASSWD]Redis Server password to authentificate.
    Random password is generated if the option's argument isn't specified.
    By default no password is used for local Redis.
    --redis-sock=REDIS_PATH :Path to the Redis Server's socket. Used if local server only.
    Default is /tmp/redis.sock
    ADMIN_*Options are used to configure OnApp Control Panel administrator data.
    Please note, that these options are for NEW INSTALL only and not for upgrade
    -P ADMIN_PASSWD CP administrator password
    -F ADMIN_FIRSTNAMECP administrator first name
    -L ADMIN_LASTNAMECP administrator last name
    -E ADMIN_EMAILCP administrator e-mail
      --rbthost   RBT_HOST  IP address/FQDN where RabbitMQ Server runs. The RabbitMQ will be installed and configured on the current box if localhost/ or box's public IP address (enlisted in SNMP_TRAP_IPS) Default values are
    VCD_*Options are usefull if vCloud/RabbitMQ are already installed and configured.
    --vcdlogin  VCD_LOGINRabbitMQ/vCloud user. Default value is 'rbtvcd'.
    --vcdpasswd VCD_PASSWDRabbitMQ/vCloud user password. The random password is generated if isn't specified.
    --vcdvhost  VCD_VHOSTRabbitMQ/vCloud vhost. Default value is '/'
    RBT_*  Options are used to configure RabbitMQ manager account. If local RabbitMQ server.
    --rbtlogin  RBT_LOGIN RabbitMQ manager login. The default value is 'rbtmgr'.
    --rbtpasswd RBT_PASSWDRabbitMQ manager password. The random password is generated if isn't specified.
    -v ONAPP_VERSIONInstall custom OnApp CP version

    IP addresses separated with coma for snmp to trap

    The '-i' option has higher priority than 'on_app.yml'/'onapp-cp.conf' files.
    In case of the Control Panel upgrade with the '-i' option the snmp address will be overwritten in the 'on_app.yml'/'onapp-cp.conf' files.

    During the Control Panel upgrade without the '-i' option the 'on_app.yml' file has higher priority than the 'onapp-cp.conf' file.
    In this case the snmp address will be taken from the 'on_app.yml' file and the 'onapp-cp.conf' file will be overwritten.


    -c CONFIG_FILECustom installer configuration file. Otherwise, preinstalled one is used.
    -yupdate OS packages (except of OnApp provided) on the box with 'yum update'.
    -aDo not be interactive. Process with automatic installation. Please note, this will continue OnApp Control Panel install/upgrade even if there is transaction currently running.
    -tAdd to the database and download Base Templates. For new installs only. If this option is not used, then only the following mandatory System Templates will be added by default during fresh install: OnApp CDN Appliance; Load Balancer Virtual Appliance; Application Server Appliance.

    Do not start OnApp services: monit, onapp and httpd
    Please note, crond and all OnApp's cron tasks remain running. They could be disabled by stopping crond service manually for your own risk.

    -Ddo not make database dump, and make sure it is disabled in the cron and not running at the moment
    -hprint this info

    You may wish to reboot your Control Panel server to take advantage of a new kernel if it is installed. It is not required immediately as a part of the upgrade process though.

    Customers running vCloud integration pay attention that upgrade process can take some time, as vCloud and OnApp synchronization is running along with OnApp upgrade.


    Perform the following steps if you plan to deploy Accelerator. Otherwise skip.


  8. See the installer options below for details.

  9. Specify user name and password for rabbitmq-server:

    rabbitmqctl add_user username 'userpass'
  10. Set permissions for this user:
    rabbitmqctl set_permissions -p '/' username ".*" ".*" ".*"
  11. Restart OnApp service:


    service onapp restart

    Compute Resources and Control Panel must use the same rabbitmq-server.

Getting support for your upgrade

You can use the information in this document to perform your own upgrade to the 4.2 version of the OnApp Cloud. However, if you have a full OnApp Cloud license, you are entitled to free upgrade support from the OnApp Support team.

If you would prefer to have the Support team perform the upgrade for you, just raise a ticket in the normal way. Please be aware, however, that there may be a queue! For help with your upgrade, visit the OnApp community forum:

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels