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.
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 intoSiteController.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
- The customer needs access to the corresponding azeti Control Panel and admin-rights for her / his account
- The customers needs ssh-access for the system, which is to be updated.
- 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
- Installer-Tar.gz for SiteController-1.3 (can be requested in the online Service Desk)
- 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
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:.
Connect to the system, which will be updated.
ssh user@systemIP
If you are not root yet, become root.
user@ubuntu1404MaxVM1:~$ sudo su [sudo] password for user: root@ubuntu1404MaxVM1:/home/user#
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/
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
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
Stop the running Site Controller - doing this with root-rights is important!
root@ubuntu1404MaxVM1:/opt/azeti/SiteController# ./run_SiteController.py stop
Change to the directory where the installer-Tar.gz resides.
root@ubuntu1404MaxVM1:/opt/azeti/SiteController# cd /home/user/
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/
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
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.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.Navigate to the installation-directory of the new Site Controller.
root@ubuntu1404MaxVM1:/home/user# cd /opt/azeti/SiteController/
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:- Serial (This is already set, since it was entered by the customer during the installation)
- External-Broker host (e.g. broker.company.example)
- organizationsShortName (e.g. QA)
- user_id (username of user with gateway-permissions in cloud)
- password (password of said user)
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 upSiteController.cfg
After your changes have been done, save and close the file
Connecting to the azeti Control Panel and redeploying the SensorConfig
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#
- Navigate to the corresponding azeti Control Panel and log in with an account, which has admin-rights.
- Go to Organization → Locations. Since we assigned the same serial to the new installation, we can just redeploy the existing SensorConfig.
- Click on the arrow next to the button "Edit" to activate the dropdown-menu.
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.
- In the deployments-page click on the Shedule-button, to redeploy the SensorConfig.
- Execute the deployment (which in reality is a redeployment)
- You can check
log/ConfigProvider.log
for the success of the deployment on your Site Controller
- You can check
- The procedure is now complete. Your system now has the newest version of Site Controller installed and is (re)connected to the azeti Engine.
Related articles