Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Released on October 7, 2015.

Upgrade Instructions

If you are using Squirro in a Box, then there are additional steps involved. In this case, please contact support.

On all servers (storage and cluster nodes), update the squirro yum repo path to use the major OS version and to point to the "latest" stable version, by running:

[squirro@storagenode01 ~] sudo sed -e 's/6\.[56]/6/' -i /etc/yum.repos.d/squirro-stable.repo
[squirro@storagenode01 ~] sudo sed -e "s/^\(baseurl=.*\/\$basearch\/\)$/\1latest\//" -i squirro-stable.repo

2. Upgrade storage nodes

If your storage node runs in the same Virtual Machine or Operating System as your cluster node, skip this step. Otherwise upgrade all storage nodes one at a time by running:

[squirro@storagenode01 ~] sudo yum upgrade -y
[squirro@storagenode01 ~] sudo reboot

3. Install new users

Release 2.2.0 reintroduces data providers and squirro services that require new users to be installed before the upgrade. If you rely on squirro-cluster-node-users as recommended, this is done by running the following on all cluster nodes:

Install users using squirro-cluster-node-users
[squirro@clusternode01 ~] sudo yum upgrade -y squirro-cluster-node-users

If you instead need to create the users manually, e.g. because your company policy forbids creating users from inside upgrade packages, ensure you add the following users such that /etc/passwd has the following entries:

/etc/passwd containing new users
sqbing:x:467:500:Squirro Bing Provider Service:/var/lib/squirro/bing:/sbin/nologin
sqdifbot:x:466:500:Squirro Diffbot Provider Service:/var/lib/squirro/diffbot:/sbin/nologin
sqemails:x:468:500:Squirro Email Sender Service:/var/lib/squirro/emailsender:/sbin/nologin
sqfb:x:465:500:Squirro Facebook Provider Service:/var/lib/squirro/facebook:/sbin/nologin
sqgnip:x:464:500:Squirro Gnip Provider Service:/var/lib/squirro/gnip:/sbin/nologin
sqinstag:x:463:500:Squirro Instagram Provider Service:/var/lib/squirro/instagram:/sbin/nologin
sqmailer:x:469:500:Squirro Digest Mailer Service:/var/lib/squirro/digestmailer:/sbin/nologin
sqreddit:x:462:500:Squirro Reddit Provider Service:/var/lib/squirro/reddit:/sbin/nologin
sqtwtr:x:461:500:Squirro Twitter Provider Service:/var/lib/squirro/twitter:/sbin/nologin
sqyoutub:x:460:500:Squirro YouTube Provider Service:/var/lib/squirro/youtube:/sbin/nologin
[..]

You can verify that all new users have been correctly added with. If all users have been added, the script prints nothing.

Check that all new users exist
[squirro@localhost clusternode01 ~] sudo su
[root@localhost clusternode01 ~] for SQ_USER in sqmailer sqemails sqbing sqdifbot sqfb sqgnip sqinstag sqreddit sqtwtr sqyoutub; do grep -q $SQ_USER /etc/passwd; if [ "$?" -ne "0" ]; then echo Missing $SQ_USER; fi; done

4. Upgrade all squirro cluster nodes

The following step upgrades cluster nodes (and if run locally storage nodes too). This step takes about 20 minutes on a reasonably good network connection.

[squirro@clusternode01 ~] sudo yum upgrade -y

5. Resolve configurations

The Squirro packages attempt to upgrade *.ini and *.conf configuration files automatically. However if you have made local modifications, the upgrade results in *.rpmnew files that you would need to merge manually. We recommend

  1. backing up the previous *.ini and *.conf files to *.ini.orig and *.conf.orig,
  2. renaming the *.ini.rpmnew and *.conf.rpmnew files to *.ini and *.conf respectively
  3. inspecting all the *.orig files individually and porting any settings manually

Use the following scripts to look for and resolve unresolved configuration files on each cluster node:

# 1. First remember all *.rpmnew because we are about to rename them, but we want to remember the list for step 3 below
sudo su
FILES_TO_RESOLVE=`ls /etc/squirro/*.ini.rpmnew /etc/nginx/conf.d/*.conf.rpmnew /etc/monit.d/*.rpmnew 2> /dev/null | sed -e "s/\.rpmnew//"`
 
# 2. Back up original config files and make the *.rpmnew files the real configuration files
# (\cp and \rm are used to avoid interactive alias of the commands and to ensure that the config file retains the ownership of the original config file)
for CONFIG_FILE in ${FILES_TO_RESOLVE}; do \cp ${CONFIG_FILE} ${CONFIG_FILE}.orig; \cp ${CONFIG_FILE}.rpmnew ${CONFIG_FILE}; \rm ${CONFIG_FILE}.rpmnew; done
 
# 3. Finally merge the commands. Exit vim via :q<enter>:q<enter> to accept a new config files verbatim
for CONFIG_FILE in ${FILES_TO_RESOLVE}; do vim -O ${CONFIG_FILE}.orig ${CONFIG_FILE}; done

6. Reboot

Reboot every cluster node like so:

[squirro@clusternode01 ~] sudo reboot

7. Start the new services

This is only necessary in single-node clusters in which monit is tasked with monitoring services.

On single cluster node systems only
[squirro@clusternode01 ~] sudo monit -g all-manual start

 

New Features

Dashboard

 

Improvements

Dashboard

Search

Data

Bug Fixes

Deprecated functions/features

  • No labels