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.
1. Update repository links
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\.[567]/6/' -i /etc/yum.repos.d/squirro-stable.repo [squirro@storagenode01 ~] sudo sed -e "s/^\(baseurl=.*\/\$basearch\/\)$/\1latest\//" -i /etc/yum.repos.d/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:
[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:
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.
[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
- backing up the previous *.ini and *.conf files to *.ini.orig and *.conf.orig,
- renaming the *.ini.rpmnew and *.conf.rpmnew files to *.ini and *.conf respectively
- 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.
[squirro@clusternode01 ~] sudo monit -g all-manual start
New Features
Dashboard
Search