NOTE: These upgrade steps are applicable for SENTIENT version 3.0. In order to upgrade to 3.0.1 you need to upgrade to 3.0 first.
Important note before upgrading to SENTIENT 3.0
SENTIENT UI was rewritten from AngularJS 1.5.8 to use Angular 9.
What does it mean?
Generally speaking, it means: state of the art application, easier development of front-end elements, performance improvements and more flexibility with UI customizations.
How to upgrade?
You are safe to upgrade if you do NOT use custom widgets or custom actions in the dashboards.
New JS framework may not support your current code — custom widgets and custom actions, so they need to be refactored a bit. Thus we encourage you to test your customizations using our cloud environments or your dev instances.
Migration from pure Cassandra to Hybrid DB Approach
We still support Cassandra for storing telemetry data but not the entities like devices, customers, tenants, etc.
What does it mean?
This will simplify maintenance and future improvements that will enable advanced search capabilities in v3.1.
How to upgrade?
If you are using pure PostgreSQL setup or PostgreSQL (for entities) + Cassandra (for telemetry), you are not affected.
If you are using pure Cassandra - the upgrade procedure is automatic but takes some time. The downtime depends on the number of devices, attributes, alarms and relations. If you have less than 10 million of those entities the upgrade should take a few minutes and depends on the database performance.
Since SENTIENT 3.0 only PostgreSQL database is supported for entities data
If you are using Cassandra database for entities data please install PostgreSQL database before proceeding upgrade procedure using the following guide:
NOTE: Package installer will ask you to merge your sentient configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.ts.type parameter value (in the file /etc/sentient/conf/sentient.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
1
2
3
4
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE: If you were using Cassandra database for entities data execute the following migration script:
1
2
# Execute migration script from Cassandra to PostgreSQLsudo /usr/share/sentient/bin/install/upgrade.sh --fromVersion=2.5.0-cassandra
If you use Redis for caching, you need to flush all stored keys before starting the SENTIENT.
Connect to your Redis instance (or container/pod, depending on your setup) and run the command:
redis-cli flushall
Please note that this command is applicable only if you use Redis exclusively for SENTIENT. If other applications use Redis, you need to locate the SENTIENT database and flush only that. The default database index is 0, configurable with REDIS_DB SENTIENT environment value.
redis-cli
select 0
flushdb
1
sudo service sentient start
Upgrading SENTIENT to 3.0
Important note before upgrading to SENTIENT 3.0
SENTIENT UI was rewritten from AngularJS 1.5.8 to use Angular 9.
What does it mean?
Generally speaking, it means: state of the art application, easier development of front-end elements, performance improvements and more flexibility with UI customizations.
How to upgrade?
You are safe to upgrade if you do NOT use custom widgets or custom actions in the dashboards.
New JS framework may not support your current code — custom widgets and custom actions, so they need to be refactored a bit. Thus we encourage you to test your customizations using our cloud environments or your dev instances.
Migration from pure Cassandra to Hybrid DB Approach
We still support Cassandra for storing telemetry data but not the entities like devices, customers, tenants, etc.
What does it mean?
This will simplify maintenance and future improvements that will enable advanced search capabilities in v3.1.
How to upgrade?
If you are using pure PostgreSQL setup or PostgreSQL (for entities) + Cassandra (for telemetry), you are not affected.
If you are using pure Cassandra - the upgrade procedure is automatic but takes some time. The downtime depends on the number of devices, attributes, alarms and relations. If you have less than 10 million of those entities the upgrade should take a few minutes and depends on the database performance.
Since SENTIENT 3.0 only PostgreSQL database is supported for entities data
If you are using Cassandra database for entities data please install PostgreSQL database before proceeding upgrade procedure using the following guide:
NOTE: Package installer will ask you to merge your sentient configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.ts.type parameter value (in the file /etc/sentient/conf/sentient.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
1
2
3
4
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE: If you were using Cassandra database for entities data execute the following migration script:
1
2
# Execute migration script from Cassandra to PostgreSQLsudo /usr/share/sentient/bin/install/upgrade.sh --fromVersion=2.5.0-cassandra
If you use Redis for caching, you need to flush all stored keys before starting the SENTIENT.
Connect to your Redis instance (or container/pod, depending on your setup) and run the command:
redis-cli flushall
Please note that this command is applicable only if you use Redis exclusively for SENTIENT. If other applications use Redis, you need to locate the SENTIENT database and flush only that. The default database index is 0, configurable with REDIS_DB SENTIENT environment value.
redis-cli
select 0
flushdb
1
sudo service sentient start
Next steps
Getting started guides - These guides provide quick overview of main SENTIENT features. Designed to be completed in 15-30 minutes.
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
Data visualization - These guides contain instructions on how to configure complex SENTIENT dashboards.
Our website uses cookies to ensure site security and optimize your experience on our website. By continuing to browse this site, you agree to the use of these cookies, in accordance with our Cookie Policy. For details on managing cookies, please adjust your browser settings.