Dalibo released today a new temBoard bugfixing release with some minor adjustments. The main scope of this release, is to make temBoard Python 3 and CentOS 8 ready. You might will notice the that a package called python future will be installed along with temBoard 7.7. (python2-future-0.18.2-2.el7.noarch). Python future is the missing compatibility layer between Python 2 and Python 3. It allows you to use a single, clean Python 3.x-compatible codebase to support both Python 2 and Python 3 with minimal overhead. It case you want to learn more about the python future project, take a look a the following website: http://python-future.org/
The new verions are temBoard version 7.7 and temBoard agent version 7.7.
The latest version for Red Hat/CentOS 7.x can be found here: https://yum.dalibo.org/labs/CentOS7-x86_64/
temboard-7.7-1.el7.noarch.rpm
temboard-agent-7.7-1.el7.noarch.rpm
Fortunately, the upgrade from 7.6 to 7.7 is quite simply. In general, you need only to stop the service, upgrade the rpm package, and start the service again.
$ sudo systemctl stop temboard.service $ sudo systemctl stop temboard-agent@12-pg58888.service $ sudo systemctl reset-failed $ sudo systemctl is-system-running $ cd /var/log/temboard/ $ sudo mv temboard.log temboard.log.before_upgrade_to_7.7 $ cd /app/lib/postgres/pgproduct/stage/temboard/7/ $ sudo yum localupdate temboard-7.7-1.el7.noarch.rpm $ sudo yum localupdate temboard-agent-7.7-1.el7.noarch.rpm
Upgrade the temBoard (UI) from 7.6 to 7.7
$ sudo yum localupdate temboard-7.7-1.el7.noarch.rpm Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager Examining temboard-7.7-1.el7.noarch.rpm: temboard-7.7-1.el7.noarch Marking temboard-7.7-1.el7.noarch.rpm as an update to temboard-7.6-1.el7.noarch Resolving Dependencies --> Running transaction check ---> Package temboard.noarch 0:7.6-1.el7 will be updated ---> Package temboard.noarch 0:7.7-1.el7 will be an update --> Processing Dependency: python-future for package: temboard-7.7-1.el7.noarch epel/x86_64/metalink | 31 kB 00:00:00 epel | 4.7 kB 00:00:00 rhel-7-server-extras-rpms | 2.0 kB 00:00:00 rhel-7-server-optional-rpms | 2.0 kB 00:00:00 rhel-7-server-rh-common-rpms | 2.1 kB 00:00:00 rhel-7-server-rpms | 2.0 kB 00:00:00 rhel-7-server-satellite-tools-6.8-rpms | 2.1 kB 00:00:00 rhel-7-server-supplementary-rpms | 2.3 kB 00:00:00 rhel-server-rhscl-7-rpms | 2.3 kB 00:00:00 (1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (2/2): epel/x86_64/primary_db | 6.9 MB 00:00:00 --> Running transaction check ---> Package python2-future.noarch 0:0.18.2-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================== Updating: temboard noarch 7.7-1.el7 /temboard-7.7-1.el7.noarch 3.9 M Installing for dependencies: python2-future noarch 0.18.2-2.el7 epel 806 k Transaction Summary ============================================================================================================================================================================== Install ( 1 Dependent package) Upgrade 1 Package Total size: 4.7 M Total download size: 806 k Is this ok [y/d/N]: y Downloading packages: python2-future-0.18.2-2.el7.noarch.rpm | 806 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : python2-future-0.18.2-2.el7.noarch 1/3 Updating : temboard-7.7-1.el7.noarch 2/3 Cleanup : temboard-7.6-1.el7.noarch 3/3 Uploading Package Profile Loaded plugins: langpacks, product-id, subscription-manager Verifying : temboard-7.7-1.el7.noarch 1/3 Verifying : python2-future-0.18.2-2.el7.noarch 2/3 Verifying : temboard-7.6-1.el7.noarch 3/3 Dependency Installed: python2-future.noarch 0:0.18.2-2.el7 Updated: temboard.noarch 0:7.7-1.el7 Complete! Uploading Enabled Repositories Report Loaded plugins: langpacks, product-id, subscription-manager
Upgrade the temBoard agent from 7.6 to 7.7.
$ sudo yum localupdate temboard-agent-7.7-1.el7.noarch.rpm Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager Examining temboard-agent-7.7-1.el7.noarch.rpm: temboard-agent-7.7-1.el7.noarch Marking temboard-agent-7.7-1.el7.noarch.rpm as an update to temboard-agent-7.6-1.el7.noarch Resolving Dependencies --> Running transaction check ---> Package temboard-agent.noarch 0:7.6-1.el7 will be updated ---> Package temboard-agent.noarch 0:7.7-1.el7 will be an update --> Finished Dependency Resolution rhel-7-server-extras-rpms/x86_64 | 2.0 kB 00:00:00 rhel-7-server-optional-rpms/x86_64 | 2.0 kB 00:00:00 rhel-7-server-rh-common-rpms/x86_64 | 2.1 kB 00:00:00 rhel-7-server-rpms/x86_64 | 2.0 kB 00:00:00 rhel-7-server-satellite-tools-6.8-rpms/x86_64 | 2.1 kB 00:00:00 rhel-7-server-supplementary-rpms/x86_64 | 2.3 kB 00:00:00 rhel-server-rhscl-7-rpms/x86_64 | 2.3 kB 00:00:00 Dependencies Resolved ============================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================== Updating: temboard-agent noarch 7.7-1.el7 /temboard-agent-7.7-1.el7.noarch 945 k Transaction Summary ============================================================================================================================================================================== Upgrade 1 Package Total size: 945 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : temboard-agent-7.7-1.el7.noarch 1/2 No units found for temboard-agent. Too few arguments. Cleanup : temboard-agent-7.6-1.el7.noarch 2/2 Uploading Package Profile Loaded plugins: langpacks, product-id, subscription-manager Verifying : temboard-agent-7.7-1.el7.noarch 1/2 Verifying : temboard-agent-7.6-1.el7.noarch 2/2 Updated: temboard-agent.noarch 0:7.7-1.el7 Complete! Uploading Enabled Repositories Report Loaded plugins: langpacks, product-id, subscription-manager
Now run the database upgrade as the temboard OS user.
$ su - temboard $ temboard-migratedb upgrade INFO: Starting temboard-migratedb 7.7. INFO: Found config file /etc/temboard/temboard.conf. INFO: Context impl PostgresqlImpl. INFO: Will assume transactional DDL. INFO: Running upgrade d2120f410bb5 -> 9fe3bfb83329, Grant privileges on statements objects INFO: Database up to date.
I usually adjust the temboard service as well with the nice value of -19. (Nice=-19). This is an optional step and not mandatory. I do it only to give the temBoard service the highest CPU priority.
$ cd /etc/systemd/system/multi-user.target.wants/ $ sudo vi temboard.service $ cat temboard.service [Unit] Description=temBoard Web UI After=network.target [Service] Type=simple User=temboard Group=temboard ExecStart=/usr/bin/env SYSTEMD=1 temboard -c /etc/temboard/temboard.conf Nice=-19 [Install] WantedBy=multi-user.target
Startup the temBoard UI and the agent.
$ sudo systemctl daemon-reload $ sudo systemctl start temboard.service $ sudo systemctl start temboard-agent@12-pg58888.service
Check if the services are running correctly.
$ sudo systemctl status temboard.service ● temboard.service - temBoard Web UI Loaded: loaded (/usr/lib/systemd/system/temboard.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/temboard.service.d └─override.conf Active: active (running) since Tue 2021-06-01 14:41:46 CEST; 23s ago Main PID: 5334 (temboard) CGroup: /system.slice/temboard.service ├─5334 temboard: web ├─5348 temboard: worker pool ├─5349 temboard: scheduler ├─5362 temboard: worker pool ├─5917 temboard: worker pool ├─5928 temboard: worker pool ├─5937 temboard: worker pool $ sudo systemctl status temboard-agent@12-pg58888.service ● temboard-agent@12-pg58888.service - PostgreSQL Remote Control Agent 12/pg58888 Loaded: loaded (/usr/lib/systemd/system/temboard-agent@.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2021-06-01 14:42:55 CEST; 16s ago Main PID: 6971 (temboard-agent) CGroup: /system.slice/system-temboard\x2dagent.slice/temboard-agent@12-pg58888.service ├─6971 temboard-agent: 12/pg58888: main process ├─7006 temboard-agent: 12/pg58888: worker pool └─7007 temboard-agent: 12/pg58888: scheduler
Ready. 🙂
Conclusion
The temBoard 7.7 is a quite small bug fixing release which makes temBoard ready for Python 3 and CentOS 8 (which comes with Python 3 per default).