Migration to 3.0

Version 3.0.0 of QCG-Notification introduced some major changes in files and configuration layout, namely:

  • the layout of the directories adheres now general packages guidances, i.e. service is not installed anymore in /opt/plgrid but in standard paths (whit a few minor exceptions):
    • configuration is now stored in /etc/qcg/qcg-ntf/,
    • logs can be found in /var/log/qcg/qcg-ntf/,
    • the services and client binaries can be found in /usr/sbin/ and /usr/bin respectively.
  • the dependency to the qcg-dep package was removed (in place of qcg-dep we have now separate packages, of which qcg-loudmouth, qcg-curl and qcg-libxml2 are significant for qcg-ntf).

This guide aims to help with migration from 2.X version.

Stop the service

/etc/init.d/qcg-ntfd stop

Update the qcg-ntf packges

yum clean all
yum update qcg-ntf

Remove old dependencies (optional)

If no other package requires it (particularly the qcg-comp package in version < 3.0.0), remove the old dependency package:

yum erase qcg-dep

Update configuration file

Upon update the old configuration files should be stored as .rpmsave files. Instead of configuring the service from scratch its easier to copy old configuration files and modify just paths in order to adjust to the new directory layout:

  • archive and copy
    #save dist file for reference
    cp /etc/qcg/qcg-ntf/qcg-ntfd.xml /etc/qcg/qcg-ntf/qcg-ntfd.xml.dist
    #copy old configuration files
    cp /opt/plgrid/qcg/etc/qcg-ntf/qcg-ntfd.xml.rpmsave /etc/qcg/qcg-ntf/qcg-ntfd.xml 
    
  • modify /etc/qcg/qcg-ntf/qcg-ntfd.xml by replacing:
                    <sm:ModuleManager>
                            <sm:Directory>/opt/plgrid/qcg/lib/qcg-core/modules/</sm:Directory>
                            <sm:Directory>/opt/plgrid/qcg/lib/qcg-ntf/modules/</sm:Directory>
                    </sm:ModuleManager>
    ...
                            <sm:Logger>
                                    <sm:Filename>/opt/plgrid/var/log/qcg-ntf/qcg-ntfd.log</sm:Filename>
                                    <sm:Level>INFO</sm:Level>
                            </sm:Logger>
    ...
                    <smn:TopicNsDir>/opt/plgrid/qcg/etc/qcg-ntf/topicns</smn:TopicNsDir>
    ...
    
    
  • with:
                    <sm:ModuleManager>
                            <sm:Directory>/usr/lib64/qcg-core/modules/</sm:Directory>
                            <sm:Directory>/usr/lib64/qcg-ntf/modules/</sm:Directory>
                    </sm:ModuleManager>
    ...
                            <sm:Logger>
                                    <sm:Filename>/var/log/qcg/qcg-ntf/qcg-ntfd.log</sm:Filename>
                                    <sm:Level>INFO</sm:Level>
                            </sm:Logger>
    ...
                    <smn:TopicNsDir>/etc/qcg/qcg-ntf/topicns</smn:TopicNsDir>
    ...
    
    
  • now you are ready to start the service
    /etc/init.d/qcg-ntfd start