mO SharemO Share

How to upgrade Site Controller Version 1.2 to 1.3

Introduction

This guide describes what steps have to be taken when a customer wants to install Site Controller Version 1.3 on a running system, which is already connected to the azeti Engine. There is no automatic upgrade for version 1.2 to 1.3. Instead the customer has to do a fresh installation and migrate the existing configuration, as there have been structural changes in 1.3 that avoid an automatic approach. This guide explains the steps necessary and gives some guidelines on things to keep in mind. 

 

This update guide is intended for standard linux OS like Ubuntu. Other platforms, like Cisco IOX and GOS,  require different steps to do the upgrade.

On this page:

Related pages:

  • Filter by label

    There are no items with the selected labels at this time.

Major Changes

Some of the major changes in 1.3.0 include:

  • The file azeti_logging.cfg is obsolete. All logging-related settings are now integrated into SiteController.cfg
  • As a result SiteController.cfg is not compatible between 1.2 and 1.3 - hence a real upgrade is not possible

  • Modules can be defined to autostart in SiteController.cfg or the SensorConfig
  • A new major module is the data_store. This module now takes over the tasks of hd2cloud exporter & cloud connector
  • Status-Command of Site Controller does now include the status of the connection to the external broker and port used / configured
  • Various bugfixes and improved stability 
    • data_store is able to repair a single DB-corruption (Please note: second DB-corruption will break the Site Controller and a manual restart is mandatory)
    • XML-parsing is more robust

Abstract

This guide describes how to remove the currently installed Site Controller in version 1.2 and do a fresh install with the version 1.3 of the Site Controller. After the new version has been installed, the customer will re-apply custom changes from the old installation. An automated approach has not yet been tested to a statisfactory result, therefore the manual approach has to be taken.

This guide will focus on SSH as the means of connecting to system which runs Site Controller. Other means are of course possible and this guide should also apply to them. 

Please note, that this guide assumes you have already used the azeti Control Panel in combination with Site Controller. If you are absolutely new to these topics, please refer to this guide instead: Quick Start to the Engine

Prerequisites

  1. The customer needs access to the corresponding azeti Control Panel and admin-rights for her / his account
  2. The customers needs ssh-access for the system, which is to be updated.
    1. It is also possible to transfer data (e.g. the installer) via other methods, depending on the system, but this guide will focus on SSH-based access
  3. Installer-Tar.gz for SiteController-1.3 (can be requested in the online Service Desk)
  4. The customer needs to know, where the current version of Site Controller is installed. By default this should be /opt/azeti/SiteController/, but some systems might differ.

Step-by-step guide

Preparing for the new installation

  1. Copy the installer-Tar.gz for Site Controller in version 1.3 onto the system, which will be upgraded.

    scp Installer.tar.gz user@systemIP:.
  2. Connect to the system, which will be updated. 

    ssh user@systemIP
  3. If you are not root yet, become root.

    user@ubuntu1404MaxVM1:~$ sudo su  
    [sudo] password for user:  
    root@ubuntu1404MaxVM1:/home/user# 
  4. Change into the directory where the current Site Controller (v1.2) is installed. By default this should be /opt/azeti/SiteController/

    root@ubuntu1404MaxVM1:/home/user# cd /opt/azeti/SiteController/ 
  5. Copy the current SiteController.cfg to a location outside of this directory, because we are going to delete this directory later on.

    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# cp config/SiteController.cfg /home/user/old_SC.cfg
    
  6. If you made any changes to azeti_logging.cfg you might also want to backup this file as well. 

    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# cp config/azeti_logging.cfg /home/user/old_azeti_logging.cfg
  7. Stop the running Site Controller - doing this with root-rights is important!

    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# ./run_SiteController.py stop
  8. Change to the directory where the installer-Tar.gz resides.

    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# cd /home/user/
  9. Remove the old directory of the 1.2-installation (keep in mind, that the location might be different for your system)

    root@ubuntu1404MaxVM1:/home/user# rm -fr /opt/azeti/SiteController/
  10. Extract the archive and change into the resulting new directory

    root@ubuntu1404MaxVM1:/home/user# tar xf SiteController-install_1.3.0.tar.gz && cd SiteController-install/

Executing the new Installation and configuring Site Controller

  1. Execute the script setup.sh

    root@ubuntu1404MaxVM1:/home/user/SiteController-install# sh ./setup.sh
    Minor errors can be ignored. Should the installation completely stop, please inspect the output for errors. Otherwise it appears to be save to ignore them.
  2. During the Installation, you will be asked to provide a serial for the new installation.

    Please make sure, that this serial is the same across both versions of SC.

    If in doubt, please have a look at the serial defined in old_SC.cfg which you backed up in Step 5.

  3. Navigate to the installation-directory of the new Site Controller. 

    root@ubuntu1404MaxVM1:/home/user# cd /opt/azeti/SiteController/ 
  4. Use your preferred editor to open the file config/SiteController.cfg.

    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# vim config/SiteController.cfg 


    The following values have to be present, for any Site Controller to start and work:

    1. Serial (This is already set, since it was entered by the customer during the installation)
    2. External-Broker host (e.g. broker.company.example)
    3. organizationsShortName (e.g. QA)
    4. user_id (username of user with gateway-permissions in cloud)
    5. password (password of said user) 

     

  5. Depending on your Site Controller configuration it can be necessary to add or tweak more aspects of the config (eg. RemoteExecutionJobs or which Serial-Interfaces to use for ModBus-devices). Please reference your previously backed up SiteController.cfg

  6. After your changes have been done, save and close the file

Connecting to the azeti Control Panel and redeploying the SensorConfig

  1. Restart the Site Controller (issue the command run_SiteController.py restart with root privileges).

    root@ubuntu1404MaxVM1:/home/user# cd /opt/azeti/SiteController/ 
    root@ubuntu1404MaxVM1:/opt/azeti/SiteController# 
  2.  Navigate to the corresponding azeti Control Panel and log in with an account, which has admin-rights.
  3. Go to Organization → Locations. Since we assigned the same serial to the new installation, we can just redeploy the existing SensorConfig.
  4. Click on the arrow next to the button "Edit" to activate the dropdown-menu.
  5. From the dropdown-menu select "Deployments"

    Please ignore the fact that the cloud shows an already running SensorConfig for your newly installed Site Controller. The Site Controller only communicates his running config-revision to the cloud, when a new SensorConfig is deployed (new; changed or upgrade) only then sends a message to the cloud, that it has a running config. If the Site Controller is installed fresh, such a communication does not occur and hence the cloud assumes, that the old SensorConfig is still running. The cloud only takes into considaration the serial of the System not eg. the running version of SC.

  6. In the deployments-page click on the Shedule-button, to redeploy the SensorConfig.
  7. Execute the deployment (which in reality is a redeployment)
    1. You can check log/ConfigProvider.log for the success of the deployment on your Site Controller
  8. The procedure is now complete. Your system now has the newest version of Site Controller installed and is (re)connected to the azeti Engine.