- 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.
- 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.
Make sure no Control Panel files are open for editing under the root user account.
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.
If you are using WHMCS modules, make sure to update the PHP Wrapper after you update OnApp Cloud. Download the latest wrapper.
We strongly recommend that you test all your custom scripts before upgrading your production environment.
- To avoid VNC console issues, make sure that ServerName Apache settings match the SSL certificate.
- 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.
- Be aware that OnApp does not support UEFI on static compute resources. You should disable UEFI on your compute resources before installing OnApp.
Upgrade Static Compute Resources
At first upgrade your static compute resources.
- Make sure your compute resource is visible and online in the Control Panel.
Download and install the latest OnApp YUM repository file:
bash#> rpm -Uvh http://rpm.repo.onapp.com/repo/onapp-repo-4.2.noarch.rpm
Upgrade OnApp compute resource installer package:
yum update onapp-hv-install
Update your server OS components (if required):
For XEN compute resource:
bash# /onapp/onapp-hv-install/onapp-hv-xen-install.sh -y
For KVM compute resource:
bash# /onapp/onapp-hv-install/onapp-hv-kvm-install.sh -y
Run compute resource installer:
For XEN compute resource:
bash# /onapp/onapp-hv-install/onapp-hv-xen-install.sh
For KVM compute resource:
bash# /onapp/onapp-hv-install/onapp-hv-kvm-install.sh
Perform the following steps if you plan to deploy Accelerator. Otherwise skip.
Copy file:
cp /home/mq/onapp/messaging/credentials{_example,}.yml
Open vi /home/mq/onapp/messaging/credentials.yml
and check the following details:
---
host: 10.0.50.4 # RABBITMQ SERVER IP/FQDN
port: 5672 # RABBITMQ CONNECTION PORT(default: 5672)
vhost: '/'
user: accelerator-example # RABBITMQ USER NAME
password: 'e{y31?s8l' # RABBITMQ ACCESS PASSWORD
queue: 'hv-10.0.50.102' # hv-[IP Address of Compute Resource]
exchange:
name: 'acceleration'
type: 'direct'
durable: True
Change owner:
Reboot static compute resources.
Upgrade Static Backup Servers
After you upgraded static compute resources, proceed to static backup servers upgrade.
Download the OnApp repository:
bash#> rpm -Uvh http://rpm.repo.onapp.com/repo/onapp-repo-4.2.noarch.rpm
Update the package:
yum update onapp-bk-install
Run the following script:
bash#>/onapp/onapp-bk-install/onapp-bk-install.sh
Update your server OS components (if required):
bash#> /onapp/onapp-bk-install/onapp-bk-install.sh -y
Upgrade Control Panel Server
To upgrade your Control Panel server:Stop the Monit service:
Run the following command from the CP server to stop the OnApp service:
Download and install the latest OnApp YUM repository file:
bash#> rpm -Uvh http://rpm.repo.onapp.com/repo/onapp-repo-4.2.noarch.rpm
Upgrade OnApp Control Panel installer package:
bash#> yum update onapp-cp-install
Update your server OS components (if required):
bash# /onapp/onapp-cp-install/onapp-cp-install.sh -y
(Optional) If you need some custom Control Panel configuration, set the values before the installer script runs.
Edit the /onapp/onapp-cp.conf file to set Control Panel custom values
Template server URL
TEMPLATE_SERVER_URL='http://templates-manager.onapp.com';
# IPs (separated with coma) list for the snmp to trap # OnApp Control Panel custom version # OnApp MySQL/MariaDB connection data (database.yml)
ONAPP_CONN_WAIT_TIMEOUT=15
ONAPP_CONN_POOL=30
ONAPP_CONN_RECONNECT='true'
ONAPP_CONN_ENCODING='utf8'
ONAPP_CONN_SOCKET='/var/lib/mysql/mysql.sock'
# MySQL/MariaDB server configuration data (in case of local server)
MYSQL_WAIT_TIMEOUT=604800
MYSQL_MAX_CONNECTIONS=500
MYSQL_PORT=3306
# 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
RUBY_GC_MALLOC_LIMIT=16000000
# 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=""
DB_DUMP_USER="root"
DB_DUMP_SERVER_ROOT="/onapp/backups"
DB_DUMP_SERVER_SSH_OPT="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o PasswordAuthentication=no"
KEEP_DUMPS=168
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
TRANS_LOGS_ROTATE_TIME=30
# Maximum allowed for uploading file size in bytes, from 0 (meaning unlimited) to 2147483647 (2GB). Default is 1GB
MAX_UPLOAD_SIZE=1073741824
# 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_COUNTRY_NAME=UK
SSL_CERT_ORGANIZATION_NAME='OnApp Limited'
SSL_CERT_ORGANIZATION_ALUNITNAME='OnApp Cloud'
SSL_CERT_COMMON_NAME=`hostname --fqdn 2>/dev/null`
# SSLCertificateFile, SSLCertificateKeyFile Apache directives' values # ssl_certificate, ssl_certificate_key Nginx directives' values
SSLCERTIFICATEFILE=/etc/pki/tls/certs/ca.crt
SSLCERTIFICATECSRFILE=/etc/pki/tls/private/ca.csr
SSLCERTIFICATEKEYFILE=/etc/pki/tls/private/ca.key
# * PEM-encoded CA Certificate (if custom one exists)# SSLCACertificateFile, SSLCertificateChainFile Apache directives' values# ssl_client_certificate Nginx directives' values
SSLCACERTIFICATEFILE=
SSLCERTIFICATECHAINFILE=
# SSLCipherSuite, SSLProtocol Apache directives' values # ssl_ciphers, ssl_protocols Nginx directives' values
SSLCIPHERSUITE=
SSLPROTOCOL=
|
---|
bash# vi /onapp/onapp-cp.conf
Run Control Panel installer:
bash#> /onapp/onapp-cp-install/onapp-cp-install.sh
The full list of Control Panel installer options:
Usage:
/onapp/onapp-cp-install/onapp-cp-install.sh [-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]
|
---|
Where: | |
---|
Database server options: | Default database SQL server is MySQL Server. Please use one of the following option to install LOCALLY. |
---|
--mariadb | MariaDB Server |
---|
--percona | Percona Server |
---|
--percona-cluster | Percona Cluster |
---|
| |
---|
MYSQL_* | Options are useful if MySQL is already installed and configured. |
---|
-m MYSQL_HOST | MySQL host. Default is 'localhost' |
---|
-p MYSQL_PASSWD | MySQL password. Random is generated if is not set or specified. |
---|
-d MYSQL_DB | OnApp MySQL database name. Default is 'onapp' |
---|
-u MYSQL_USER | MySQL user |
---|
| |
---|
REDIS_* | Options are useful if Redis Server is already installed and configured. |
---|
--redis-host=REDIS_HOST
| IP address/FQDN where Redis Server runs. The Redis Server will be installed and configured on the current box if localhost/127.0.0.1 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 127.0.0.1. |
---|
--redis-port=REDIS_PORT | Redis 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_FIRSTNAME | CP administrator first name |
---|
-L ADMIN_LASTNAME | CP administrator last name |
---|
-E ADMIN_EMAIL | CP 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/127.0.0.1 or box's public IP address (enlisted in SNMP_TRAP_IPS) Default values are 127.0.0.1. |
---|
VCD_* | Options are usefull if vCloud/RabbitMQ are already installed and configured. |
---|
--vcdlogin VCD_LOGIN | RabbitMQ/vCloud user. Default value is 'rbtvcd'. |
---|
--vcdpasswd VCD_PASSWD | RabbitMQ/vCloud user password. The random password is generated if isn't specified. |
---|
--vcdvhost VCD_VHOST | RabbitMQ/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_PASSWD | RabbitMQ manager password. The random password is generated if isn't specified. |
---|
| |
---|
-v ONAPP_VERSION | Install custom OnApp CP version |
---|
-i SNMP_TRAP_IPS | IP addresses separated with coma for snmp to trap |
---|
-c CONFIG_FILE | Custom installer configuration file. Otherwise, preinstalled one is used. |
---|
-y | update OS packages (except of OnApp provided) on the box with 'yum update'. |
---|
-a | Do not be interactive. Process with automatic installation. Please note, this will continue OnApp Control Panel install/upgrade even if there is transaction currently running. |
---|
-t | Add 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. |
---|
--noservices | 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. |
---|
-D | do not make database dump, and make sure it is disabled in the cron and not running at the moment |
---|
-h | print 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.
Perform the following steps if you plan to deploy Accelerator. Otherwise skip.
See the installer options below for details.
Specify user name and password for rabbitmq-server:
rabbitmqctl add_user username 'userpass'
Set permissions for this user:
rabbitmqctl set_permissions -p '/' username ".*" ".*" ".*"
Restart OnApp service:
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: http://forum.onapp.com.
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))