Please follow these upgrade instructions in our Administration Guide:
https://severalnines.com/docs/administration.html#upgrading-clustercontrol
[DEPRECATED - DON'T READ BELOW]
CMON 1.4. has been released!
Below you find an example how to upgrade from 1.2.8 to 1.4.1. You have the option to either to an automatic upgrade or manual (recommended) upgrade.
Choose the installation/upgrade method that applies to your system.
IMPORTANT CHANGE! The controller requires as of 1.2.9 that port 9500 is open between the web server (apache) and the cmon process.
[DEPRECATED] APT Repository (Recommended way to upgrade Debian/Ubuntu based systems)
Even if you have previously installed from our tarball or .deb packages it is possible to switch to our APT repository and upgrade.
Setup the repository ONLY IF YOU HAVE NOT DONE IT BEFORE:
# SETUP THE REPOSITORY
wget http://repo.severalnines.com/severalnines-repos.asc -O- | sudo apt-key add - echo 'deb [arch=amd64] http://repo.severalnines.com/deb ubuntu main' | sudo tee /etc/apt/sources.list.d/s9s-repo.list
New for 1.3.0 and later !! Important !! Create a default /etc/cmon.cnf file.
This applies if and only if you have a '/etc/cmon.cnf' file that contains a parameter with 'cluster_id' then perform these steps before upgrading using apt-get.
# Create the new configuration directory
$ mkdir /etc/cmon.d
# Create the new /etc/cmon.d/cmon_<cluster_id>.cnf file
# Use the cluster_id in /etc/cmon.cnf to name the new configuration file, e.g., /etc/cmon.d/cmon_1.cnf
$ cp /etc/cmon.cnf /etc/cmon.d/cmon_<cluster_id>.cnf
# Create the new default /etc/cmon.cnf file
# Edit /etc/cmon.cnf file and remove all parameters except the following 4:
mysql_port=<controller mysql server's mysql port>
mysql_password=<cmon user password>
mysql_hostname=<controller hostname/ip>
hostname=<controller hostname/ip>
# Your /etc/cmon.cnf file should now only contain above 4 parameters while
# your old configuration file lives in /etc/cmon.d/cmon_<cluster_id>.cnf
Install the software:
# INSTALL THE SOFTWARE
sudo apt-get update
sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install clustercontrol clustercontrol-cmonapi clustercontrol-controller clustercontrol-nodejs
Upgrade the schema (showing from version v 1.2.8):
# APPLY SCHEMA
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.8-1.2.9.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.9-1.2.10.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.10-1.2.11.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.11-1.2.12.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.12-1.3.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.0-1.3.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.1-1.3.2.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.2-1.4.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.4.0-1.4.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_data.sql
# IF WWWROOT IS /var/www/html/ DO (e.g Ubuntu 14.04 or later):
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/html/clustercontrol/sql/dc-schema.sql
# IF WWWROOT IS /var/www/ DO (e.g Ubuntu 12.04):
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/clustercontrol/sql/dc-schema.sql
Restart the controller:
# CLEAR MODEL CACHE (WWWROOT FOR UBUNTU 12.04 AND EARLIER IS /var/www/)
rm -f /var/www/html/clustercontrol/app/tmp/cache/models/*
rm -rf /var/www/clustercontrol/app/tmp/cache/models/*
# RESTART CMON
sudo service cmon restart
Upgrade is now complete.
YUM Repository (Recommended way to upgrade Redhat/Centos based systems)
Even if you have previously installed from our tarball or .rpm packages it is possible to switch to our YUM repository and upgrade.
Setup the repository ONLY IF YOU HAVE NOT DONE IT BEFORE:
wget http://repo.severalnines.com/severalnines-repos.asc -Oseveralnines-repos.asc
# REQUIRES 'ROOT' USER: rpm --import severalnines-repos.asc # for older distros/yum cat - > /etc/yum.repos.d/s9s-repo.repo <<REPOEND [s9s-repo] name = Severalnines Release Repository baseurl = http://repo.severalnines.com/rpm/os/x86_64 enabled = 1 gpgkey = http://repo.severalnines.com/severalnines-repos.asc gpgcheck = 1 REPOEND
New for 1.3.0 and above !! Important !! Create a default /etc/cmon.cnf file.
This applies if and only if you have a '/etc/cmon.cnf' file that contains a parameter with 'cluster_id' then perform these steps before upgrading using yum.
# Create the new configuration directory
$ mkdir /etc/cmon.d
# Create the new /etc/cmon.d/cmon_<cluster_id>.cnf file
# Use the cluster_id in /etc/cmon.cnf to name the new configuration file, e.g., /etc/cmon.d/cmon_1.cnf
$ cp /etc/cmon.cnf /etc/cmon.d/cmon_<cluster_id>.cnf
# Create the new default /etc/cmon.cnf file
# Edit /etc/cmon.cnf file and remove all parameters except the following 4:
mysql_port=<controller mysql server's mysql port>
mysql_password=<cmon user password>
mysql_hostname=<controller hostname/ip>
hostname=<controller hostname/ip>
# Your /etc/cmon.cnf file should now only contain above 4 parameters while
# your old configuration file lives in /etc/cmon.d/cmon_<cluster_id>.cnf
Install the software:
# INSTALL THE SOFTWARE (as 'root' or 'sudo'):
yum clean all
yum install clustercontrol clustercontrol-cmonapi clustercontrol-controller clustercontrol-nodejs
Upgrade the schema (showing from version v 1.2.8):
# APPLY SCHEMA
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.8-1.2.9.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.9-1.2.10.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.10-1.2.11.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.11-1.2.12.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.12-1.3.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.0-1.3.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.1-1.3.2.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.2-1.4.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.4.0-1.4.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_data.sql
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/html/clustercontrol/sql/dc-schema.sql
Restart the controller:
# CLEAR MODEL CACHE
rm -f /var/www/html/clustercontrol/app/tmp/cache/models/*
# Set owner
chown -R apache.apache /var/www/html/clustercontrol
# RESTART CMON (as 'root' or 'sudo'): service cmon restart
Upgrade is now complete.
Manual Upgrade - DEB install (Ubuntu)
New for 1.3.0 and above !! Important !! Create a default /etc/cmon.cnf file.
This applies if and only if you have a '/etc/cmon.cnf' file that contains a parameter with 'cluster_id' then perform these steps before upgrading using apt-get.
# Create the new configuration directory
$ mkdir /etc/cmon.d
# Create the new /etc/cmon.d/cmon_<cluster_id>.cnf file
# Use the cluster_id in /etc/cmon.cnf to name the new configuration file, e.g., /etc/cmon.d/cmon_1.cnf
$ cp /etc/cmon.cnf /etc/cmon.d/cmon_<cluster_id>.cnf
# Create the new default /etc/cmon.cnf file
# Edit /etc/cmon.cnf file and remove all parameters except the following 4:
mysql_port=<controller mysql server's mysql port>
mysql_password=<cmon user password>
mysql_hostname=<controller hostname/ip>
hostname=<controller hostname/ip>
# Your /etc/cmon.cnf file should now only contain above 4 parameters while
# your old configuration file lives in /etc/cmon.d/cmon_<cluster_id>.cnf
# You must be 'root' or use 'sudo'
# On the Controller do:
wget http://severalnines.com/downloads/cmon/clustercontrol-nodejs_1.4.1-86_x86_64.deb
wget http://severalnines.com/downloads/cmon/clustercontrol_1.4.1-3048_x86_64.deb
wget http://severalnines.com/downloads/cmon/clustercontrol-cmonapi_1.4.1-266_x86_64.deb
wget http://severalnines.com/downloads/cmon/clustercontrol-controller-1.4.1-1856-x86_64.deb
dpkg -i clustercontrol_1.4.1-3048_x86_64.deb clustercontrol-cmonapi_1.4.1-266_x86_64.deb clustercontrol-controller-1.4.1-1856-x86_64.deb clustercontrol-nodejs_1.4.1-86_x86_64.deb
# Stop the controller (issue 'killall -9 cmon' if it fails):
service cmon stop
# Update db schema :
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db.sql
## NOTE: Apply mods files from CMON version you currently use (you can ignore warnings):
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.8-1.2.9.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.9-1.2.10.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.10-1.2.11.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.11-1.2.12.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.12-1.3.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.0-1.3.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.1-1.3.2.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.2-1.4.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.4.0-1.4.1.sql
# Update data:
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_data.sql
# If WWWROOT is /var/www/html/ do (e.g Ubuntu 14.04 or later):
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/html/clustercontrol/sql/dc-schema.sql
# If WWWROOT is /var/www/ do (e.g Ubuntu 12.04):
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/clustercontrol/sql/dc-schema.sql
rm -f /var/www/html/clustercontrol/app/tmp/cache/models/*
rm -rf /var/www/clustercontrol/app/tmp/cache/models/*
apachectl restart
# Restart CMON:
service cmon restart
Upgrade is now complete.
Manual Upgrade - RPM install (Redhat)
New for 1.3.0 and above !! Important !! Create a default /etc/cmon.cnf file.
This applies if and only if you have a '/etc/cmon.cnf' file that contains a parameter with 'cluster_id' then perform these steps before upgrading using apt-get.
# Create the new configuration directory
$ mkdir /etc/cmon.d
# Create the new /etc/cmon.d/cmon_<cluster_id>.cnf file
# Use the cluster_id in /etc/cmon.cnf to name the new configuration file, e.g., /etc/cmon.d/cmon_1.cnf
$ cp /etc/cmon.cnf /etc/cmon.d/cmon_<cluster_id>.cnf
# Create the new default /etc/cmon.cnf file
# Edit /etc/cmon.cnf file and remove all parameters except the following 4:
mysql_port=<controller mysql server's mysql port>
mysql_password=<cmon user password>
mysql_hostname=<controller hostname/ip>
hostname=<controller hostname/ip>
# Your /etc/cmon.cnf file should now only contain above 4 parameters while
# your old configuration file lives in /etc/cmon.d/cmon_<cluster_id>.cnf
RPM is default for Galera and MySQL Replication. For MySQL Cluster, using RPMs is optional. If you did not tick the Use RPM checkbox go to TAR.GZ install in the next section.
# You must be 'root' or use 'sudo'
# On the Controller do:
wget http://severalnines.com/downloads/cmon/clustercontrol-cmonapi-1.4.1-266-x86_64.rpm
wget http://severalnines.com/downloads/cmon/clustercontrol-controller-1.4.1-1856-x86_64.rpm wget http://severalnines.com/downloads/cmon/clustercontrol-nodejs-1.4.1-86-x86_64.rpm
wget http://severalnines.com/downloads/cmon/clustercontrol-1.4.1-3048-x86_64.rpm
yum localinstall clustercontrol-*
# Stop the controller (issue 'killall -9 cmon' if it fails):
service cmon stop
# Update db schema:
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db.sql
## NOTE: Apply mods files from CMON version you currently use (you can ignore warnings):
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.8-1.2.9.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.9-1.2.10.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.10-1.2.11.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.11-1.2.12.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.2.12-1.3.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.0-1.3.1.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.1-1.3.2.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.3.2-1.4.0.sql
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_db_mods-1.4.0-1.4.1.sql
# Update data:
mysql -f -h127.0.0.1 -ucmon -p cmon < /usr/share/cmon/cmon_data.sql
# If WWWROOT is /var/www/html/ do (e.g Ubuntu 14.04 or later):
mysql -f -h127.0.0.1 -ucmon -p dcps < /var/www/html/clustercontrol/sql/dc-schema.sql
rm -f /var/www/html/clustercontrol/app/tmp/cache/models/*
rm -rf /var/www/clustercontrol/app/tmp/cache/models/*
chown -R apache.apache /var/www/html/clustercontrol
# Restart CMON:
service cmon restart
Upgrade is now complete. If you need to upgrade from an older version please let us know here.
Comments
47 comments
Thanks,
We will also update the instructions shortly to accomodate for upgrade to 1.1.36.
Best regards,
Johan
Hello,
I'm on 1.1.36a version. Are there any db_mods to upgrade from this version??
Thanks,
Hello,
Yes, this one:
cmon_db_mods-1.1.36-1.2.0.sql
Best regards,
Johan
The file does not exist: http://www.severalnines.com/downloads/cmon/cmon_db_mods-1.1.36-1.2.0.sql
Where would it be instead ?
Hi Marc,
It is included in the cmon-controller RPM or the cmon tar ball:
/usr/share/cmon/cmon_db_mods-1.1.36-1.2.0.sql
or for the tar ball (when unpacked and installed in std location):
/usr/local/cmon/sql/cmon_db_mods-1.1.36-1.2.0.sql
I have followed instructions above, I confirm that cmon_db_mods-1.1.36-1.2.0.sql is not in /usr/share/cmon/ or /usr/local/cmon/sql/ after verifying, I found out your post has an error; You are missing the R in controller. Here is the correct syntax.
rpm -Uvh cmon-controller-1.2.0-1.x86_64.rpm
Johan,
We're still running 1.1.14. How many of the intermediate DB mods do I need to run to bring us up to current?
Thanks!
Ethan
There are is a minor error with your schema upgrade commands, there should be no space between the -p and the password, for example the first command should read:
mysql -f -h127.0.0.1 -u cmon -pcmon < /usr/share/cmon/cmon_db.sql
Additionally I'm having problems adding an existing cluster; There are a number of issues:
1) There is no documentation on how to add an existing cluster
2) Using an IP address for the Cluster Control Node results in an Alert "Invalid 'ClusterControl Controller Hostname/IP'. Please use different IP address for the Controller" Changing this to a hostname (to which that IP address belongs) makes the error go away.
3) It's not clear what I should be providing for the Select SSH Key field. I already established and SSH key pair when I did the initial cluster control configuration for the first cluster and I provide the path to that in the SSH Key Path field. I guess I don't understand the need to add a keypair when I want to use already established credentials. If I try uploading the private key used by the root user I get a message saying "Please wait... Saving..." and it just sits there.
Graham,
The line should read "mysql -f -h127.0.0.1 -u cmon -p cmon < /usr/share/cmon/cmon_db.sql" .
-p is there for the user to enter the password when prompted. The subsequent 'cmon' is not the password but the cmon database.
Regarding 1) we have done:
http://support.severalnines.com/entries/45804993-Add-Existing-Cluster and we have simplified the "adding an existing cluster" a lot. This simplification render 2) and 3) obsolete. Please give it a try.
BR
johan
Interesting re the password, I got failures until I removed the space (after looking at the.sql file and seeing it had a use statement for the database). Perhaps I was typing the password incorrectly.
Since posting my initial post I have a new problem. The UI was working fine for me after the upgrade, however I closed the browser tab and I'm now presented with an error: "Table ldap_group_roles for model LdapGroupRole was not found in datasource default." when I try to access the GUI.
I have checked for the existence of that table and found in the database dcps which I believe was created as part of the upqrade. Any clues as to what might be happening here? I have not tried to configure the system to use LDAP.
Hi
Can you try this:
1) Logout the CC application
2) rm -f <your www root dir>/clustercontrol/app/tmp/cache/models/*
3) Clear the browser cache and login again
Did that work?
Best Regards,
Alex
I am no longer getting the error but the GUI is not listing my existing cluster (see attached screenshot)
Hi
Can you provide the content of the browser debug console? For example in Chrome you have to go to View->Developer->Javascript Console.
Also these logs
Thanks.
Best Regards,
Alex
Here is the output of the developer console in Chrome
Uncaught TypeError: Cannot read property 'length' of null production.js?t=1398270342:31
Failed to load resource: the server responded with a status of 404 (Not Found) http://galeracc01/clustercontrol/js/ClusterControl.js?_dc=1398295139197
Uncaught TypeError: object is not a function (index):3
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
The error log is quite large (I have included the tailed entries after I tried loading the page again) if you need more let me know.
The tar file for the cc-ui 1.2.6 upgrade doesn't contain ClusterControl.js. That file also does not exist on another install of CC which is running CC 1.2.5.
Thanks for the logs. The web team is still offline and we'll update you as soon as they have some time to look into this.
The ClusterControl.js is compiled into the production.js so that's OK. I haven't seen that error message is showing up in the console before though.
What version of Chrome are you using?
Thanks.
Best Regards,
Alex
I was able to re-produce this. It seems to be a browser cache issue.
Can you try this:
1) Logout of the CC application
2) Press shift+reload on the login page then login.
3) You should see a 'search' button in the new version. Is there? If not try shift+reload on the page.
4) If you get the same issue try 1-3) again.
Did that work for you?
Best Regards,
Alex
Please sign in to leave a comment.